/*
Website de Importadora ACIProSalud - http://www.aciprosalud.com/
Programación: Ing. Miguel A. Palazzo G. <miguel@actimedia.com.ve>
*/

<!--
// Función para validar ingreso de datos en formaLogin
vLogin=new Array();
vLogin[0]="email|Disculpe, debe especificar su e-mail.|@";
vLogin[1]="clave|Disculpe, debe especificar su contraseña.|";

function validarLogin(){
	d=document.formaLogin;
	for(i=0;i<d.elements.length;i++){
		obj=d.elements[i];
		checkValue=checkString(obj.value);
		for(k=0;k<vLogin.length;k++){
			tempArray=vLogin[k].split("|");
			if(obj.name==tempArray[0]){
				case1="(tempArray[2]=='' && obj.value.length==0)";
				case2="(tempArray[2]==0 && obj.value==0)";
				case3="(tempArray[2]=='@' && emailCheck(obj.value)==false)";
				if(eval(case1) || eval(case2) || eval(case3))
				{
					obj.focus();
					if(tempArray[2]!='@'){alert(tempArray[1])};
					return false;
				}
			}
		}
	}
	return true;
}

// Función para validar ingreso de datos en formaRecordar
vRecordar=new Array();
vRecordar[0]="email|Disculpe, debe especificar su e-mail.|@";
vRecordar[1]="empresa|Disculpe, debe especificar su empresa.|";

function validarRecordar(){
	d=document.formaRecordar;
	for(i=0;i<d.elements.length;i++){
		obj=d.elements[i];
		checkValue=checkString(obj.value);
		for(k=0;k<vRecordar.length;k++){
			tempArray=vRecordar[k].split("|");
			if(obj.name==tempArray[0]){
				case1="(tempArray[2]=='' && obj.value.length==0)";
				case2="(tempArray[2]==0 && obj.value==0)";
				case3="(tempArray[2]=='@' && emailCheck(obj.value)==false)";
				if(eval(case1) || eval(case2) || eval(case3))
				{
					obj.focus();
					if(tempArray[2]!='@'){alert(tempArray[1])};
					return false;
				}
			}
		}
	}
	return true;
}

// Función para validar ingreso de datos en formaRegistro
vRegistro=new Array();
vRegistro[0]="nombres|Disculpe, debe especificar su(s) nombres(s).|";
vRegistro[1]="apellidos|Disculpe, debe especificar su(s) apellido(s).|";
vRegistro[2]="empresa|Disculpe, debe especificar su empresa.|";
vRegistro[3]="rif|Disculpe, debe especificar su RIF.|";
vRegistro[4]="rif|Disculpe, el RIF debe estar compuesto por caracteres y números. (Ej. J-00000000-1)|a";
vRegistro[5]="direccion|Disculpe, debe especificar dirección fiscal.|";
vRegistro[6]="ciudad|Disculpe, debe especificar ciudad.|";
vRegistro[7]="codtlf|Disculpe, debe especificar código de área.|";
vRegistro[8]="codtlf|Disculpe, el código de área de su teléfono debe ser numérico.|b";
vRegistro[9]="codtlf|Disculpe, el código de área debe estar compuesto por tres (3) dígitos.|c";
vRegistro[10]="tlf|Disculpe, debe especificar su teléfono.|";
vRegistro[11]="tlf|Disculpe, su teléfono debe ser numérico.|b";
vRegistro[12]="tlf|Disculpe, su teléfono debe estar compuesto por siete (7) dígitos.|d";
vRegistro[13]="email|Disculpe, debe especificar su e-mail.|@";

function validarRegistro(){
	d=document.formaRegistro;
	for(i=0;i<d.elements.length;i++){
		obj=d.elements[i];
		checkValue=checkString(obj.value);
		for(k=0;k<vRegistro.length;k++){
			tempArray=vRegistro[k].split("|");
			if(obj.name==tempArray[0]){
				case1="(tempArray[2]=='' && obj.value.length==0)";
				case2="(tempArray[2]==0 && obj.value==0)";
				case3="(tempArray[2]=='a' && isNaN(obj.value)!=true)";
				case4="(tempArray[2]=='b' && isNaN(obj.value)==true)";
				case5="(tempArray[2]=='c' && verificarLongitud(obj.value,3)!=true)";
				case6="(tempArray[2]=='d' && verificarLongitud(obj.value,7)!=true)";
				case7="(tempArray[2]=='@' && emailCheck(obj.value)==false)";
				if(eval(case1) || eval(case2) || eval(case3) || eval(case4) || eval(case5) || eval(case6) || eval(case7))
				{
					obj.focus();
					if(tempArray[2]!='@'){alert(tempArray[1])};
					return false;
				}
			}
		}
	}
	return true;
}

// Función para validar ingreso de datos en formaClave
vClave=new Array();
vClave[0]="clave|Disculpe, debe especificar su contraseña actual.|";
vClave[1]="clave|Disculpe, su contraseña actual es incorrecta.|a";
vClave[2]="nueva|Disculpe, debe especificar su nueva contraseña.|";
vClave[3]="nueva|Disculpe, su nueva contraseña no puede coincidir con la actual.|b";
vClave[4]="confirmar|Disculpe, debe repetir su contraseña.|";
vClave[5]="confirmar|Disculpe, su contraseña no coincide con la confirmación de la misma.|c";

function validarClave(){
	d=document.formaClave;
	for(i=0;i<d.elements.length;i++){
		obj=d.elements[i];
		checkValue=checkString(obj.value);
		for(k=0;k<vClave.length;k++){
			tempArray=vClave[k].split("|");
			if(obj.name==tempArray[0]){
				case1="(tempArray[2]=='' && obj.value.length==0)";
				case2="(tempArray[2]==0 && obj.value==0)";
				case3="(tempArray[2]=='a' && compararClaves(obj.value,d.actual.value)!=true)";
				case4="(tempArray[2]=='b' && compararClaves(obj.value,d.clave.value)==true)";
				case5="(tempArray[2]=='c' && compararClaves(obj.value,d.nueva.value)!=true)";
				if(eval(case1) || eval(case2) || eval(case3) || eval(case4) || eval(case5))
				{
					obj.focus();
					alert(tempArray[1]);
					return false;
				}
			}
		}
	}
	return true;
}

// Función para validar ingreso de datos en formaConfirmac
vConfirmac=new Array();
vConfirmac[0]="nombres|Disculpe, debe especificar su(s) nombres(s).|";
vConfirmac[1]="apellidos|Disculpe, debe especificar su(s) apellido(s).|";
vConfirmac[2]="codigo|Disculpe, debe especificar el código para su orden de pedido.|";
vConfirmac[3]="direccion|Disculpe, debe especificar dirección fiscal.|";
vConfirmac[4]="ciudad|Disculpe, debe especificar ciudad.|";
vConfirmac[5]="codtlf|Disculpe, debe especificar código de área.|";
vConfirmac[6]="codtlf|Disculpe, el código de área de su teléfono debe ser numérico.|a";
vConfirmac[7]="codtlf|Disculpe, el código de área debe estar compuesto por tres (3) dígitos.|b";
vConfirmac[8]="tlf|Disculpe, debe especificar su teléfono.|";
vConfirmac[9]="tlf|Disculpe, su teléfono debe ser numérico.|a";
vConfirmac[10]="tlf|Disculpe, su teléfono debe estar compuesto por siete (7) dígitos.|c";
vConfirmac[11]="fecha_despacho|Disculpe, debe especificar fecha para el despacho de su orden.|d";

function validarConfirmac(){
	d=document.formaConfirmac;
	for(i=0;i<d.elements.length;i++){
		obj=d.elements[i];
		checkValue=checkString(obj.value);
		for(k=0;k<vConfirmac.length;k++){
			tempArray=vConfirmac[k].split("|");
			if(obj.name==tempArray[0]){
				case1="(tempArray[2]=='' && obj.value.length==0)";
				case2="(tempArray[2]==0 && obj.value==0)";
				case3="(tempArray[2]=='a' && isNaN(obj.value)==true)";
				case4="(tempArray[2]=='b' && verificarLongitud(obj.value,3)!=true)";
				case5="(tempArray[2]=='c' && verificarLongitud(obj.value,7)!=true)";
				case6="(tempArray[2]=='d' && d.despacho.value=='' && obj.length==0)";
				if(eval(case1) || eval(case2) || eval(case3) || eval(case4) || eval(case5) || eval(case6))
				{
					obj.focus();
					alert(tempArray[1]);
					return false;
				}
			}
		}
	}
	return true;
}

// Función para validar ingreso de datos en formaContactos
vContactos=new Array();
vContactos[0]="nombres|Disculpe, debe especificar su(s) nombres(s).|";
vContactos[1]="apellidos|Disculpe, debe especificar su(s) apellido(s).|";
vContactos[2]="codtlf|Disculpe, debe especificar el código de área de su teléfono.|";
vContactos[3]="codtlf|Disculpe, el código de área de su teléfono debe ser numérico.|a";
vContactos[4]="codtlf|Disculpe, el código de área debe estar compuesto por tres (3) dígitos.|b";
vContactos[5]="tlf|Disculpe, debe especificar su teléfono.|";
vContactos[6]="tlf|Disculpe, su teléfono debe ser numérico.|a";
vContactos[7]="tlf|Disculpe, su teléfono debe estar compuesto por siete (7) dígitos.|c";
vContactos[8]="email|Disculpe, debe especificar su e-mail.|@";
vContactos[9]="empresa|Disculpe, debe especificar su empresa.|d";
vContactos[10]="mensaje|Disculpe, debe especificar sus comentarios.|";

function validarContactos(){
	d=document.formaContactos;
	for(i=0;i<d.elements.length;i++){
		obj=d.elements[i];
		checkValue=checkString(obj.value);
		for(k=0;k<vContactos.length;k++){
			tempArray=vContactos[k].split("|");
			if(obj.name==tempArray[0]){
				case1="(tempArray[2]=='' && obj.value.length==0)";
				case2="(tempArray[2]==0 && obj.value==0)";
				case3="(tempArray[2]=='a' && isNaN(obj.value)==true)";
				case4="(tempArray[2]=='b' && verificarLongitud(obj.value,3)!=true)";
				case5="(tempArray[2]=='c' && verificarLongitud(obj.value,7)!=true)";
				case6="(tempArray[2]=='d' && d.persona.value==1 && obj.value.length==0)";
				case7="(tempArray[2]=='@' && emailCheck(obj.value)==false)";
				if(eval(case1) || eval(case2) || eval(case3) || eval(case4) || eval(case5) || eval(case6) || eval(case7))
				{
					obj.focus();
					if(tempArray[2]!='@'){alert(tempArray[1])};
					return false;
				}
			}
		}
	}
	return true;
}

/* Funciones de validación comunes */
// Función para limpiar formulario por completo
function limpiarForma() {
	obj=document.getElementById('oculto');
	document.forms[0].reset();
	document.forms[0].elements[0].focus();
	if(obj.className!='ocultar') obj.className='ocultar';
}

// Función para cambiar al siguiente campo una vez alcanzado el maxlength
function cambiarCampo(campo,camposig){
	if(campo.value.length==campo.maxLength){
		camposig.focus();
	}
}

// Función para mostrar / ocultar cierto bloque de acuerdo a selección de radio buttons
function mostrarBloque(seleccion,campo){
	seleccion=seleccion*1;
	obj=document.getElementById('oculto');
	if(seleccion==0){
		campo.value='';
		obj.className='ocultar';
	} else {
		if(document.all) {
			obj.className='mostrarIE';
		} else if(document.getElementById){
			obj.className='mostrar';
		}
	}
}

// Función para verificar que un campo posea la longitud requerida
function verificarLongitud(campo,longitud){
	if(campo.length!=longitud){
		return false;
	}
	return true;
}

// Función para comparar que una contraseña sea igual a su confirmación
function compararClaves(clave1,clave2){
	if(clave1!=clave2){
		return false;
	}
	return true;
}

// Funciones para verificar estructura de e-mail
function checkString(String){ 
	hasACharacter=false;
	EmailPass=false;
	for(j=0;j<String.length;j++){
		if(String.charCodeAt(i)!=13 && String.charCodeAt(i)!=10 && String.charCodeAt(i)!=32){
			hasACharacter=true
		}
	}
}

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("Disculpe, el E-mail no posee @ y . en el mismo. (usuario@host.com)");
		return false;
	};
	var user=matchArray[1];
	var domain=matchArray[2];
	if (user.match(userPat)==null) {
		alert("Disculpe, el E-mail debe poseer nombre de usuario. (usuario@host.com)");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Disculpe, el E-mail no posee una dirección IP válida.");
				return false;
			}
		}
		return true;
	};
	var domainArray=domain.match(domainPat);
	if (domainArray==null) {
		alert("Disculpe, el E-mail no posee un dominio válido.");
		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("Disculpe, el E-mail debe terminar en dos o tres letras. (com, net, org, ve)");
		return false;
	};
	if (len<2) {
		var errStr="Disculpe, el E-mail debe poseer nombre de host. (usuario@host.com)";
		alert(errStr);
		return false;
	}
	return true;
}
//-->