/*---------------------------------------------------------------------------------------*/ 
/*---Funcin	 : revisarDigito()                                                    ---*/
/*---Parmetros  : Ninguno.                                                           ---*/
/*---Retorno     : Ninguno.                                                           ---*/
/*---Descripcin : Revisa caracter ingresado para digito verficador del rut.          ---*/
/*---Bitcora	 : 03/06/2007 Daniel Bastian: Creacin y programacin.                ---*/
/*---------------------------------------------------------------------------------------*/
function revisarDigito( dvr )
{	
	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 vlido");		
		window.document.frm.strRut.focus();		
		window.document.frm.strRut.select();		
		return false;	
	}	
	return true;
}

/*---------------------------------------------------------------------------------------*/ 
/*---Funcin	 : revisarDigito2()                                                   ---*/
/*---Parmetros  : Ninguno.                                                           ---*/
/*---Retorno     : Ninguno.                                                           ---*/
/*---Descripcin : Valida digito verficador.                                          ---*/
/*---Bitcora	 : 03/06/2007 Daniel Bastian: Creacin y programacin.                ---*/
/*---------------------------------------------------------------------------------------*/
function revisarDigito2( crut )
{	
	largo = crut.length;	
	if ( largo < 2 )	
	{		
		alert("Ingrese su rut")		
		window.document.frm.strRut.focus();		
		window.document.frm.strRut.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("Debe ingresar un rut vlido")		
		window.document.frm.strRut.focus();		
		window.document.frm.strRut.select();		
		return false	
	}

	return true
}

function Rut(texto)
{	
	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("Ingrese su rut")		
		window.document.frm.strRut.focus();		
		window.document.frm.strRut.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("Debe ingresar un rut vlido");			
			window.document.frm.strRut.focus();			
			window.document.frm.strRut.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);	

	window.document.frm.strRut.value = invertido.toUpperCase()		

	if ( revisarDigito2(texto) )		
		return true;	

	return false;
}
function ltrim(s){ 
	return s.replace( /^\s*/,"") 
} 

function rtrim(s){ 
	return s.replace( /\s*$/,""); 
} 

function trim(s){ 
	return rtrim(ltrim(s)); 
}

/*VALIDACION DE E-MAILS*/
function email (emailStr) {
var f = document.frm;
emailStr=trim(emailStr);
var emailPat=/^(.+)@(.+)$/
var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
var validChars="\[^\\s"+specialChars+"\]"
var firstChars=validChars
var quotedUser="(\"[^\"]*\")"
var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
var atom="("+firstChars+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("Correo electronico invalido ");
		/*f.strMail.focus();		*/
		return false;
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		alert("Correo electronico invalido ");
		/*f.strMail.focus();		*/
		return false
	}
	var IPArray=domain.match(ipDomainPat)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Correo Electronico sobrepasa el largo permitido");
				/*f.strMail.focus();		*/			
				return false
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		alert("Correo electronico invalido.");
		/*f.strMail.focus();		*/
		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>4){
		alert("Correo electronico invalido ");
		/*f.strMail.focus();		*/
		return false
	}
	if (domArr[domArr.length-1].length >= 2 && len < 2){
		var errStr="Correo electronico invalido "
		
		return false
	}
return true;
}


/*---------------------------------------------------------------------------------------*/ 
/*---Funcin	 : valida_registroCliente()                                               ---*/
/*---Parmetros  : Ninguno.                                                            ---*/
/*---Retorno     : True or False.                                                     ---*/
/*---Descripcin : Valida el registro de un usuario.                                   ---*/
/*---Bitcora	 : 06/03/2007 Daniel Bastian: Creacion y programacin.                 ---*/
/*---------------------------------------------------------------------------------------*/
function valida_registroCliente()
{
	var f = document.frm;
	
	if(f.strNombre_reg.value == '')
	{
		alert("Debe ingresar su nombre");	
		f.strNombre_reg.focus();
		return 0;
	}
	if(f.strApePat.value == '')
	{
		alert("Debe ingresar su apellido paterno");	
		f.strApePat.focus();
		return 0;
	}
	
	if(f.selPais.selectedIndex == 0)
	{		 
		alert("Debe seleccionar el pais de residencia");	
		f.selPais.focus();
		return 0;
	}
	if(f.selPais.options[f.selPais.selectedIndex].text == 'Chile')
	{
		if(f.strRut.value == '' || !Rut(f.strRut.value))
		{
			alert("Debe ingresar un rut valido");	
			f.strRut.focus();
			return 0;
		}
	}
	
	if(f.selPais.options[f.selPais.selectedIndex].text != 'Chile')
	{
		if(f.strRut.value == '')
		{
			alert("Debe ingresar un numero de documento");	
			f.strRut.focus();
			return 0;
		}
	}	
	if(f.region.selectedIndex == 14 && f.selPais.options[f.selPais.selectedIndex].text == 'Chile')
	{
		alert("Debe seleccionar una region");	
		f.region.focus();
		return 0;
	}	
	if(f.strMail.value == '')
	{
		alert("Debe ingresar un mail valido en la casilla de texto");	
		f.strMail.focus();
		return 0;
	}
	if (email(f.strMail.value)==false)
	{
		f.strMail.focus();
		return 0;
    }
	if(f.strMail_2.value == '')
	{
		alert("Por favor ingrese nuevamente su mail");	
		f.strMail_2.focus();
		return 0;
	}
	if (email(f.strMail_2.value)==false)
	{
		f.strMail_2.focus();
		return 0;
    }
	if(f.strMail.value != f.strMail_2.value)
	{
		alert("Los correos electronicos ingresados no coniciden, intente nuevamente");	
		f.strMail.focus();
		return 0;
	}

	if(f.selPais2.selectedIndex == 0)
	{
		alert("Debe seleccionar el pais de envio");	
		f.selPais2.focus();
		return 0;
	}
	if(f.selRegion2.selectedIndex == 0 && f.selPais2.options[f.selPais2.selectedIndex].text == 'Chile') 
	{
		alert("Debe seleccionar una region");	
		f.selRegion2.focus();
		return 0;
	}
	if(f.selComuna2.options[f.selComuna2.selectedIndex].text == 'Seleccionar' && f.selPais2.options[f.selPais2.selectedIndex].text == 'Chile' )
	{
		alert("Debe seleccionar una comuna");	
		f.selComuna2.focus();
		return 0;
	}
	if(f.strDireccionEnvio.value == '')
	{
		alert("Debe ingresar la direccion de envio");	
		f.strDireccionEnvio.focus();
		return 0;
	}	
	if(f.strNick.value == '')
	{
		alert("Debe ingresar un nick");	
		f.strNick.focus();
		return 0;
	}
	if(f.strClave_reg.value == '')
	{
		alert("Debe ingresar una clave");	
		f.strClave_reg.focus();
		return 0;
	}
	if(f.strClave_reg.value.length < 6)
	{
		alert("El largo de la clave debe tener al menos 6 caracteres");	
		f.strClave_reg.focus();
		return 0;
	}
	if(f.strClave2.value == '')
	{
		alert("Ingrese nuevamente su clave");	
		f.strClave2.focus();
		return 0;
	}
	if(f.strClave_reg.value != f.strClave2.value)
	{
		alert("Las claves ingresadas no coniciden, intente nuevamente");	
		f.strClave_reg.focus();
		return 0;
	}
	if(f.strCiudad.value == '' && f.selPais2.options[f.selPais2.selectedIndex].text != 'Chile') 
	{
		alert("Debe seleccionar una ciudad de envío");	
		f.strCiudad.focus();
		return 0;
	}

if(f.verificationcode.value == '') 
	{
		alert("Debe ingresar el código de verificación");	
		f.verificationcode.focus();
		return 0;
	}



	f.submit();
}

function valida_edicionCliente()
{
	var f = document.frm;
	
	if(f.strNombre_reg.value == '')
	{
		alert("Debe ingresar su nombre");	
		f.strNombre_reg.focus();
		return 0;
	}
	if(f.strApePat.value == '')
	{
		alert("Debe ingresar su apellido paterno");	
		f.strApePat.focus();
		return 0;
	}
	
	if(f.selPais.selectedIndex == 0)
	{		 
		alert("Debe seleccionar el pais de residencia");	
		f.selPais.focus();
		return 0;
	}
	if(f.selPais.options[f.selPais.selectedIndex].text == 'Chile')
	{
		if(f.strRut.value == '' || !Rut(f.strRut.value))
		{
			alert("Debe ingresar un rut valido");	
			f.strRut.focus();
			return 0;
		}
	}
	
	if(f.selPais.options[f.selPais.selectedIndex].text != 'Chile')
	{
		if(f.strRut.value == '')
		{
			alert("Debe ingresar un numero de documento");	
			f.strRut.focus();
			return 0;
		}
	}	
	if(f.region.selectedIndex == 14 && f.selPais.options[f.selPais.selectedIndex].text == 'Chile')
	{
		alert("Debe seleccionar una region");	
		f.region.focus();
		return 0;
	}	
	if(f.strMail.value == '')
	{
		alert("Debe ingresar un mail valido en la casilla de texto");	
		f.strMail.focus();
		return 0;
	}
	if (email(f.strMail.value)==false)
	{
		f.strMail.focus();
		return 0;
    }
	if(f.strMail_2.value == '')
	{
		alert("Por favor ingrese nuevamente su mail");	
		f.strMail_2.focus();
		return 0;
	}
	if (email(f.strMail_2.value)==false)
	{
		f.strMail_2.focus();
		return 0;
    }
	if(f.strMail.value != f.strMail_2.value)
	{
		alert("Los correos electronicos ingresados no coniciden, intente nuevamente");	
		f.strMail.focus();
		return 0;
	}

	if(f.selPais2.selectedIndex == 0)
	{
		alert("Debe seleccionar el pais de envio");	
		f.selPais2.focus();
		return 0;
	}
	if(f.selRegion2.selectedIndex == 0 && f.selPais2.options[f.selPais2.selectedIndex].text == 'Chile') 
	{
		alert("Debe seleccionar una region");	
		f.selRegion2.focus();
		return 0;
	}
	if(f.selComuna2.options[f.selComuna2.selectedIndex].text == 'Seleccionar' && f.selPais2.options[f.selPais2.selectedIndex].text == 'Chile' )
	{
		alert("Debe seleccionar una comuna");	
		f.selComuna2.focus();
		return 0;
	}
	if(f.strDireccionEnvio.value == '')
	{
		alert("Debe ingresar la direccion de envio");	
		f.strDireccionEnvio.focus();
		return 0;
	}	
	if(f.strNick.value == '')
	{
		alert("Debe ingresar un nick");	
		f.strNick.focus();
		return 0;
	}
	if(f.strClave_reg.value == '')
	{
		alert("Debe ingresar una clave");	
		f.strClave_reg.focus();
		return 0;
	}
	if(f.strClave_reg.value.length < 6)
	{
		alert("El largo de la clave debe tener al menos 6 caracteres");	
		f.strClave_reg.focus();
		return 0;
	}
	if(f.strClave2.value == '')
	{
		alert("Ingrese nuevamente su clave");	
		f.strClave2.focus();
		return 0;
	}
	if(f.strClave_reg.value != f.strClave2.value)
	{
		alert("Las claves ingresadas no coniciden, intente nuevamente");	
		f.strClave_reg.focus();
		return 0;
	}
	if(f.strCiudad.value == '' && f.selPais2.options[f.selPais2.selectedIndex].text != 'Chile') 
	{
		alert("Debe seleccionar una ciudad de envío");	
		f.strCiudad.focus();
		return 0;
	}


	f.submit();
}
/*---------------------------------------------------------------------------------------*/ 
/*---Funcin	 : automitiza_combos()                                                ---*/
/*---Parmetros  : Ninguno.                                                           ---*/
/*---Retorno     : True or False.                                                     ---*/
/*---Descripcin : Valida el registro de un usuario.                                  ---*/
/*---Bitcora	 : 06/03/2007 Daniel Bastian: Creacin y programacin.                ---*/
/*---------------------------------------------------------------------------------------*/
function igualapais()
{
var f = document.frm;
    
	  f.selPais2.options[f.selPais.selectedIndex].selected =true;
	
	  	  
	  
    /*f.selPais2.value = f.selPais.options[f.selPais.selectedIndex].text;
  f.text3.value = 
     document.form1.select1.options [document.form1.select1.selectedIndex].value; */
}


/*
function cambiarColor()
{
  document.form1.text1.value = document.form1.select1.selectedIndex; 
  document.form1.text2.value = 
     document.form1.select1.options[document.form1.select1.selectedIndex].text;
  document.form1.text3.value = 
     document.form1.select1.options [document.form1.select1.selectedIndex].value; 
}


*/
function automatiza_combos(opcion)
{
	var f = document.frm;
	
	if(opcion == 1)
	{
		
		if(f.selPais.options[f.selPais.selectedIndex].text == "Otro")
		{
			
			f.region.disabled = true;
			f.region.options[(f.region.length-1)].selected = true;
			
			/* Borro el combo de las comunas */
			/*********************************************/
			f.selComuna.length = 0
			f.selComuna.options[0] = new Option("Seleccionar","0");
			f.selComuna.options[1] = new Option("","1");
			f.selComuna.options[1].selected = true;
			/*********************************************/
			
			f.selComuna.disabled = true;
			
			/* Campo buscar cdigo postal, habilitado slo para clientes de Chile */ 
			document.getElementById('busca_correo').style.display = 'none';
			
		}
		else if(f.selPais.options[f.selPais.selectedIndex].text == "Chile")
		{
			f.region.disabled = false;
			f.region.options[0].selected = true;
			f.selComuna.disabled = false;
			f.selComuna.options[0].selected = true;
			
			/* Campo buscar cdigo postal, habilitado slo para clientes de Chile */ 
			document.getElementById('busca_correo').style.display = '';
		}
		else
		{
			f.region.disabled = false;
			f.selComuna.disabled = false;		
		}
	}
	if(opcion == 2)
	{
		if(f.selPais2.options[f.selPais2.selectedIndex].text != "Chile")
		{
			f.selRegion2.disabled = true;
			f.selRegion2.options[(f.selRegion2.length-1)].selected = true;

			/* Borro el combo de las comunas */
			/*********************************************/
			f.selComuna2.length = 0
			f.selComuna2.options[0] = new Option("Seleccionar","0");
			f.selComuna2.options[1] = new Option("","1");
			f.selComuna2.options[1].selected = true;
			/*********************************************/
			
			f.selComuna2.disabled = true;
			f.intCodigoPostal.disabled = true;
			
			/* Campo buscar cdigo postal, habilitado slo para clientes de Chile */ 
			document.getElementById('busca_correo').style.display = 'none';
			
			f.strCiudad.disabled = false;
		}
		else if(f.selPais2.options[f.selPais2.selectedIndex].text == "Chile")
		{
			f.selRegion2.disabled = false;
			f.selRegion2.options[0].selected = true;
			f.selComuna2.disabled = false;
			f.selComuna2.options[0].selected = true;
			
			/* Campo buscar cdigo postal, habilitado slo para clientes de Chile */ 
			document.getElementById('busca_correo').style.display = '';
		}
		else
		{
			f.selRegion2.disabled = false;
			f.selComuna2.disabled = false;	
			f.intCodigoPostal.disabled = false;
		}
	}
}
