
/*-------------------*/
function valida_ingreso(e,punto,foco,objeto_actual)
{      
 	 var estado=false;
     var codigoTecla, cadenaTecla;   

      //para permitir o no la digitacion del punto en la caja de texto
	if (punto==1)
	{
      var correctos = new Array("1","2","3","4","5","6","7","8","9","0","-");
	mensaje="Sólo números y/o puntos";
	}
	else if (punto==2)
	{
      var correctos = new Array("1","2","3","4","5","6","7","8","9","0");
	mensaje="Sólo números";
	}
	else if(punto==3)
	{
	var correctos = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3","4","5","6","7","8","9","0"," ","-");
	mensaje="Caracter no valido";
	}
	else if(punto==4)
	{
	var correctos = new Array("1","2","3","4","5","6","7","8","9","0","k","K");
	mensaje="Solo numeros o 'K'";
	}
	else if(punto==5)
	{
	var correctos = new Array("1","2","3","4","5","6","7","8","9","0","a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ñ","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3","4","5","6","7","8","9","0","@",".","_");
	mensaje="Caracter no valido";
	}
	else if(punto==6)
	{
	var correctos = new Array("a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z","ñ","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","1","2","3","4","5","6","7","8","9","0"," ","-","@",".");
	mensaje="Caracter no valido";
	}
	else if (punto==7)
	{
      var correctos = new Array("1","2","3","4","5","6","7","8","9","0","/");
	mensaje="Solo numeros y/o puntos";
	}
	var tecla = window.event.keyCode;
     
          if(document.all)
          {
              codigoTecla = event.keyCode
              cadenaTecla = (String.fromCharCode(event.keyCode));
          }
          else if(document.layers)
          {
              codigoTecla = e.which
              cadenaTecla = String.fromCharCode(e.which);
          }
          else if(document.getElementById)
          {
              codigoTecla = (window.Event) ? e.which : e.keyCode;
              cadenaTecla=(String.fromCharCode(codigoTecla));
          }

          for(i=0;i<correctos.length;i++)
          {
              if(cadenaTecla==correctos[i])
                  estado=true;
          }

          if(estado==false)
          {
               if(document.all)
		  {
			  if (tecla == 13)
			     {
				 foco.focus();
			     }
			  else
			  {				
				alert(mensaje);
				if (objeto_actual.value==0)
				{
				objeto_actual.value="";
				}
				event.returnValue = false;				
			  }
		  }
              else
                  return false;
          }
}



function validar(fecha_funcion,tipo_grabacion)
{
	var rut =document.forma.rut_persona.value;		
	var dig=document.forma.dig.value ;
	var rut_e =document.forma.rut_empresa.value;		
	var dig_e=document.forma.digito_empresa.value ;
	clave=document.forma.clave.value;

	rut = rut*1;
	
	mensaje1="Grabamos";
	
	
	if (
			(document.forma.nombre_usuario.value=="")&&
			(document.forma.clave.value=="")&&
			(rut == 0) 
		)
	{	
	alert("Debe ingresar todos los datos para el ingreso del cliente");
	document.forma.nombre_usuario.focus();
	return(false);
	}
	if (clave.length < 4)
	{
		alert ("La Contrasena debe ser mayor a 4 digitos");
		forma.clave.focus();
		return false;
	}
	if(forma.rut_persona.value==0)
	{		
		alert("Rut debe ser mayor a 0");
		forma.rut_persona.value=="";
		forma.rut_persona.focus();
		return false;
		
	}
	else if(forma.dig.value=="")
	{
		alert("Ingrese digito verificador");
		forma.dig.value=="";
		forma.dig.focus();
		return false;
	}
	else if (!validar_ruti())
	{
		alert("Rut no valido");			
		forma.dig.value = "";
		forma.dig.focus();
		return (false);
	}	
	
	else if (!validar_rut_empresa())
	{
		alert("Rut no valido");			
		forma.digito_empresa.value = "";
		forma.digito_empresa.focus();
		return (false);
	}
	else if(emailCheck(forma.e_mail.value)==false)
	{

	}
	
	else if(confirm(mensaje1))
	{
		forma.submit();
		return (true);
	}
	else
	{
		return (false);
	}
}


function emailCheck (emailStr) 
{

var emailPat=/^(.+)@(.+)$/;
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
var validChars="\[^\\s" + specialChars + "\]";
var quotedUser="(\"[^\"]*\")";
var ipDomainPat=/^[(d{1,3}).(d{1,3}).(d{1,3}).(d{1,3})]$/;
var atom=validChars + '+';
var word="(" + atom + "|" + quotedUser + ")";
var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
var matchArray=emailStr.match(emailPat);
if (matchArray==null) 
{
	//alert("La direccion de correo parece ser invalida (verifique las @ y .)")
	return true
}
else
{
		var user=matchArray[1]
		var domain=matchArray[2]
		
		if (user.match(userPat)==null) {
			alert("El nombre de usuario parece ser invalido.")
			return false
		}
		
		var IPArray=domain.match(ipDomainPat)
		if (IPArray!=null) {
			  for (var i=1;i<=4;i++) {
				if (IPArray[i]>255) {
					alert("La direccion IP de destino es invalida!")
				return false
				}
			}
			return true
		}
		
		var domainArray=domain.match(domainPat)
		if (domainArray==null) {
			alert("El dominio no parece ser valido.")
			return false
		}
		var atomPat=new RegExp(atom,"g")
		var domArr=domain.match(atomPat)
		var len=domArr.length
		if (domArr[domArr.length-1].length<2 || 
			domArr[domArr.length-1].length>3) {
		   alert("Las direcciones deben terminar con dominios de tres letras, o el codigo de pais de dos letras.")
		   return false
		}
		
		if (len<2) {
		   var errStr="Dominio Invalido!";
		   alert(errStr)
		   return false
		}
		
		return true;
	}
}

function validar_ruti()
{
	rut=forma.rut_persona.value;
	var count=0;
	var count2=0;
	var factor=2;
	var suma=0;
	var sum=0;
	var digito=0;
	var digito_2;
	count2=rut.length - 1;
	
	while(count < rut.length)
	{	
		sum=factor * (parseInt(rut.substr(count2,1))); 
		suma=suma + sum;
		sum=0;		
		count=count + 1;
		count2=count2 - 1;
		factor=factor + 1;
		
		if(factor > 7)
		{
			factor=2; 
		} 
	
	}
	
	digito= 11 - (suma % 11)
	
	if(digito==11)
	{
		digito=0;
	}
	
	if(digito==10)
	{
		digito="k";
		digito_2 = "K";
	}
	
	if((digito==forma.dig.value) || (digito_2 ==forma.dig.value))
	{
	
		return true;
	}
	else
	{
		return false;
	}

}


function validar_rut_empresa()
{
	rut=forma.rut_empresa.value;
	var count=0;
	var count2=0;
	var factor=2;
	var suma=0;
	var sum=0;
	var digito=0;
	var digito_2;
	count2=rut.length - 1;
	
	while(count < rut.length)
	{	
		sum=factor * (parseInt(rut.substr(count2,1))); 
		suma=suma + sum;
		sum=0;		
		count=count + 1;
		count2=count2 - 1;
		factor=factor + 1;
		
		if(factor > 7)
		{
			factor=2; 
		} 
	
	}
	
	digito= 11 - (suma % 11)
	
	if(digito==11)
	{
		digito=0;
	}
	
	if(digito==10)
	{
		digito="k";
		digito_2 = "K";
	}
	
	if((digito==forma.digito_empresa.value) || (digito_2 ==forma.digito_empresa.value))
	{
	
		return true;
	}
	else
	{
		return false;
	}

}



function validar_fechasE(fecha_funcion)
{ 
caja = document.forma.fecha_caduca.value;
//alert(caja);
if (caja)
{  
      borrar = caja;
      if ((caja.substr(2,1) == "/") && (caja.substr(5,1) == "/"))
      {      
         for (i=0; i<10; i++)
	     {	
            if (((caja.substr(i,1)< "0") || (caja.substr(i,1)>"9")) && (i != 2) && (i != 5))
			{
               borrar = '/';
               break;  
			}  
         }
	     if (borrar)
	     { 
	        a = caja.substr(6,4);
		    m = caja.substr(3,2);
		    d = caja.substr(0,2);
		    if((a < 2007) || (a > 2010) || (m < 1) || (m > 12) || (d < 1) || (d > 31))
		       borrar = '/';
		    else
		    {
		       if((a%4 != 0) && (m == 2) && (d > 28))	   
		          borrar = '/'; // Año no visiesto y es febrero y el dia es mayor a 28
			   else	
			   {
		          if ((((m == 4) || (m == 6) || (m == 9) || (m==11)) && (d>30)) || ((m==2) && (d>29)))
			         borrar = '/';	      				  	 
			   }  // else
		    } // fin else
         } // if (error)
      } // if ((caja.substr(2,1) == \"/\") && (caja.substr(5,1) == \"/\"))			    			
	  else
	     borrar = '/';
	  if (borrar == '/')
	  {
	     //alert('Fecha erronea');
	     return false;
	  }
	  else
	  {
		return true;  
	  }
   } // if (caja)   
}	

