// JavaScript Document
	function validar_login(form){
	n=form.elements.lenght;
		for (i=0;i<n;i++)
		{ campo=form.elements[i];
			if (campo.name=="rut"){
				if (Rut(campo.value,campo)){break}
				else {return false;};
			}
		}//for1
		for (i=0;i<n;i++)
		{ campo=form.elements[i];
			if (campo.name=="pass"){
				if (campo.value=="")
				{			
					alert ("Por favor ingrese su clave");
					campo.focus(); 
					return false;
				}//""
			}
		}//for2	
	}
	function validar(form)
	{	n=form.elements.length; 
		var pass='';
		var pass2='';
		for (i=0;i<n;i++)
		{ campo=form.elements[i];
			if (campo.name=="rut"){
				if (Rut(campo.value,campo)){break}
				else {return false;};
			}
		}//for1
		for (i=0;i<n;i++)
		{ campo=form.elements[i];
			if ((campo.name=="nombre")||(campo.name=="ap_pat")||(campo.name=="ap_mat")||(campo.name=="pass")||(campo.name=="pass2")||(campo.name=="dv")||(campo.name=="fono")||(campo.name=="cel")||(campo.name=="calle")||(campo.name=="numero")||(campo.name=="clave")||(campo.name=="msj"))
			{
				if (campo.value=="")
				{			
					alert ("Todos los campos(*) son obligatorios");
					campo.focus(); 
					return false;
				}//""
				
			}//if vacios
			
			//comprobar longitud del password y no vacios
			if (campo.name=="pass"){pass=campo.value;}
			if (campo.name=="pass2"){pass2=campo.value;}
			if ((pass!='')&(pass2!='')){
				if (pass!=pass2){
					alert ("Las contrase&ntilde;as no coinciden"); return false;
				}
				else {
					if (!validaIngreso2(pass)){
						alert ("Longitud o caracteres no validos en el password (solo numeros y letras) [acentos omitidos intensionalmente]"); 
						return false;
					}
				}
			}
			//validar email
			if (campo.name=="umail"){
				if (!validarEmail(campo.value)){return false;}
			}
			//validar combobox
			if ((campo.name=="region")||(campo.name=="comuna")||(campo.name=="mes")||(campo.name=="dia")){				
				if ((campo.value=="0")||(campo.value=="")||(campo.value=="00")||(campo.value==" "))
				{			
					alert ("Todos los campos(*) son obligatorios");
					campo.focus();
					return false;
				}//value=0
			}//if combobox
		}//for
	}//funcion validar
	function validaIngreso2(valor)
	{
		var reg=/(^[a-zA-Z0-9.@ ]{6,15}$)/;
		if(reg.test(valor)) return true;
		else return false;
	}//validaIngreso2
	function validarEmail(valor) {
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
			return true;
		} 
		else {
			alert("Email es incorrecto o mal escrito.");
			return false;
		}
	}//validarEmail
	
	function revisarDigito( dvr,element )
{	
	dv = dvr + ""	
	if ( dv != '0' && dv != '1' && dv != '2' && dv != '3' && dv != '4' && dv != '5' && dv != '6' && dv != '7' && dv != '8' && dv != '9' && dv != 'k'  && dv != 'K')	
	{		
		alert("Debe ingresar un digito verificador v&aacute;lido");		
		element.focus();		
		element.select();		
		return false;	
	}	
	return true;
}

function revisarDigito2( crut,element )
{	
	largo = crut.length;	
	if ( largo < 2 )	
	{		
		alert("Debe ingresar el rut completo")		
		element.focus();		
		element.select();		
		return false;	
	}	
	if ( largo > 2 )		
		rut = crut.substring(0, largo - 1);	
	else		
		rut = crut.charAt(0);	
	dv = crut.charAt(largo-1);	
	revisarDigito( dv );	

	if ( rut == null || dv == null )
		return 0	

	var dvr = '0'	
	suma = 0	
	mul  = 2	

	for (i= rut.length -1 ; i >= 0; i--)	
	{	
		suma = suma + rut.charAt(i) * mul		
		if (mul == 7)			
			mul = 2		
		else    			
			mul++	
	}	
	res = suma % 11	
	if (res==1)		
		dvr = 'k'	
	else if (res==0)		
		dvr = '0'	
	else	
	{		
		dvi = 11-res		
		dvr = dvi + ""	
	}
	if ( dvr != dv.toLowerCase() )	
	{		
		alert("EL rut es incorrecto")		
		element.focus();		
		element.select();		
		return false	
	}

	return true
}

function Rut(texto,element)
{	
	var tmpstr = "";	
	for ( i=0; i < texto.length ; i++ )		
		if ( texto.charAt(i) != ' ' && texto.charAt(i) != '.' && texto.charAt(i) != '-' )
			tmpstr = tmpstr + texto.charAt(i);	
	texto = tmpstr;	
	largo = texto.length;	

	if ( largo < 2 )	
	{		
		alert("Debe ingresar el rut completo")		
		element.focus();		
		element.select();		
		return false;	
	}	

	for (i=0; i < largo ; i++ )	
	{			
		if ( texto.charAt(i) !="0" && texto.charAt(i) != "1" && texto.charAt(i) !="2" && texto.charAt(i) != "3" && texto.charAt(i) != "4" && texto.charAt(i) !="5" && texto.charAt(i) != "6" && texto.charAt(i) != "7" && texto.charAt(i) !="8" && texto.charAt(i) != "9" && texto.charAt(i) !="k" && texto.charAt(i) != "K" )
 		{			
			alert("El valor ingresado no corresponde a un R.U.T v&aacute;lido");			
			element.focus();			
			element.select();			
			return false;		
		}	
	}	

	var invertido = "";	
	for ( i=(largo-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + texto.charAt(i);	
	var dtexto = "";	
	dtexto = dtexto + invertido.charAt(0);	
	dtexto = dtexto + '-';	
	cnt = 0;	

	for ( i=1,j=2; i<largo; i++,j++ )	
	{		
		//alert("i=[" + i + "] j=[" + j +"]" );		
		if ( cnt == 3 )		
		{			
			dtexto = dtexto + '.';			
			j++;			
			dtexto = dtexto + invertido.charAt(i);			
			cnt = 1;		
		}		
		else		
		{				
			dtexto = dtexto + invertido.charAt(i);			
			cnt++;		
		}	
	}	

	invertido = "";	
	for ( i=(dtexto.length-1),j=0; i>=0; i--,j++ )		
		invertido = invertido + dtexto.charAt(i);	

	element.value = invertido.toUpperCase()		

	if ( revisarDigito2(texto,element) )		
		return true;	

	return false;
}

