/****************************************************************
Hoja de funciones genericas para la validacion de los formularios
****************************************************************
Creador: Angelo Terrile
Fecha: 15-May-2007
Modificaciones:
****************************************************************/

/**************************+
 * fncNotEmpty : Valida si el campo field tiene un valor en blanco.
 * Utiliza el title para desplegar el mensaje
 */
function fncIsEmpty(field)
{
	if (field.value=="")
	{
 		alert("Debe ingresar el campo " + field.title);
 		field.select();
 		return true;
	}
	return false;
}

// Funcion que permite el ingreso solo de numeros
////////////////////////////////////////////////////////////
function fncSoloNros()
{
	if(event.keyCode < 48 || event.keyCode > 57)
	{
	   alert("Ingrese solo numeros");
	   event.returnValue = false;
	}
	else
	event.returnValue = true;
}



/*Funcion que valida que el email tenga el formato correcto
Recibe como parametro el email comppleto */
////////////////////////////////////////////////////////////
function fncIsEmail(str) {
	var supported = 0;
	  if (window.RegExp)
	  {
		  var tempStr = "a";
		  var tempReg = new RegExp(tempStr);
		  if (tempReg.test(tempStr)) supported = 1;
	  }
	  if (!supported)
		  return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
	  var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
	  var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
	  return (!r1.test(str) && r2.test(str));
}


/*Funcion que valida que los campos numericos tengan solo numeros
Recibe como parametro el campo y el nombre de campo 					*/
////////////////////////////////////////////////////////////
function fncIsNumber(obj, strCampo)
{
	strCadena = /^[0-9]*$/ ;

	if (!strCadena.test(obj.value))//si hay un caracter que no este en strCadena
	{
 		alert("El campo " + strCampo +  " debe contener s\xF3lo n\xFAmeros.");
 		obj.select();
 		return false;
	}

return true;
}



/*Funcion que extrae el digito verificador de un rut
Recibe como parametro el rut y devuelve el Digito Verificador*/
//////////////////////////////////////////////////////////////
function fncDV(T)
{
	var M=0,S=1;
	for(;T;T=Math.floor(T/10))
		S=(S+T%10*(9-M++%6))%11;
	return S?S-1:'k';
}



/*Funcion que valida el rut
Recibe como parametro el RUT completo desde el formulario  */
////////////////////////////////////////////////////////////
function fncValidaRut(strRut)
{
  arrRut = strRut.split('-');
  if( (arrRut[0] != null )&&(arrRut[1] != null ) )
  {
    if( fncDV(arrRut[0]) != arrRut[1])
    {
        alert("Run No Valido");
        return false;
    } 
  }
  if( (arrRut[0] == null )||(arrRut[1] == null ) )
  {
    if( fncDV(strRut.substring(0,strRut.length-1)) != strRut.charAt(strRut.length-1)   )
    {
      alert("Rut no valido");
      return false; 
    }
  }


return true;
}


/*Funcion que valida caracteres en el ingreso de rut        */
/////////////////////////////////////////////////////////////
function fncCaracteresRut()
{
	if(event.keyCode == 107 || event.keyCode == 75 || event.keyCode == 46 || event.keyCode == 45) 
	{
		event.returnValue = true;
		return;
	}

    else if(event.keyCode < 48 || event.keyCode > 57)
    {
        alert("Ingrese el RUT en el formato correcto\n(Ej: 89862200-2)");
        event.returnValue = false;
    }

}

/*Funcion que valida la cantidad de caracteres en los textareas */
//////////////////////////////////////////////////////////////////
function fncLargoTextarea(objTextaera)
{
    var intLargo = 250;
    if(objTextaera.value.length > intLargo)
    {
        alert("Ha superado el tama\xF1o m\xE1ximo permitido");
        objTextaera.value = objTextaera.value.substring(0,251);
        event.returnValue = false;
    }
}

/*Funcion que valida la cantidad de caracteres en los textareas */
//////////////////////////////////////////////////////////////////
function fncLargoDeTextArea(objTextaera, intLargo)
{
    //var intLargo = 250;
    if(objTextaera.value.length > intLargo)
    {
        alert("Ha superado el tama\xF1o m\xE1ximo permitido");
        objTextaera.value = objTextaera.value.substring(0,intLargo);
        event.returnValue = false;
    }
}



















