/*
	==========================================================================
	Modulo: valida.js
	==========================================================================
	Funciones para validar fecha, email, numeros, alfanumericos, alfabeticos.
	
*/
 var nr=0;
 //FUNCION QUE VALIDA EL CUPON Y EL CERTIFICADO....
function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}

function ValidaRadioCupon(Entrada,Mensaje){
ICOK = false;
for (ic=0; ic<2; ic++){
	if (Entrada[ic].checked)
		ICOK=true;
}
if (!ICOK){
	window.alert(Mensaje);
	Entrada[0].focus();
	return (false);
}
}
// Valida que sea Alfabetico y Requerido
function ValCupon(ElInput,ElMensaje){
	if (ElInput.value= 1 ) {
	    ElMensaje=Yes}
    else {
	    ElMensaje=No
	}
}
 function ValAlfReq(ElInput,ElMensaje){
	if (ElInput.value == "" || ElInput.value==null)
	   {
	     window.alert(ElMensaje);
	     return (false);
	   } else {
  nr1=ElInput.value;
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr1.length;i++){
   cmp="abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóúÁÉÍÓÚ_ "
   tst=nr1.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    //arw+="^";
   }
   //else{arw+="_";}
  }
  if (flg!=0){
   if (spc.indexOf(" ")>-1) {
    str+=" and one space";
    }
   alert(nr1+"\r"+"Pleae. Write only letters ");
		  return (false);
  }
 }
}
//Valida la Fecha y que sea Requerido
 function ValFecReq(ElInput,ElMensaje){
	//alert(ElInput);
	window.onerror=null // 
	if (ElInput.value == "")
	   {
	     window.alert(ElMensaje);
	     return (false);
	   } else {
	var err=0
	a=ElInput;
	if (a !== ""){
	if (a.length != 10) err=1
	b = a.substring(0, 2)// dia
	c = a.substring(2, 3)// '/'
	d = a.substring(3, 5)// mes
	e = a.substring(5, 6)// '/'
	f = a.substring(6, 10)// año

	//Chequeos Basicos
	if (b<1 || b>31) err = 1
	if (c != '/') err = 1
	if (d<1 || d>12) err = 1
	if (e != '/') err = 1
	if (f<1880 || f>2000) err = 1
	
	// meses con 30 dias
	if (d==4 || d==6 || d==9 || d==11){
		if (b==31) err=1
	}

	// febrero
	if (d==2){
		// feb
		var g=parseInt(f/4)
		if (isNaN(g)) {
			err=1
		}

		if (b>29) err=1
		if (b==29 && ((f/4)!=parseInt(f/4))) err=1
	}

	if (err==1){
		alert('Invalid Date');
		  return (false);
	}
	}
	}
}

//Valida que sea AlfaNumerico y Requerido
function ValAlfNumReq(ElInput,ElMensaje){
	if (ElInput.value == "")
	   { window.alert(ElMensaje);
	     return (false);
	   } else {
  nr1=ElInput.value;
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr1.length;i++){
  cmp="!@$%&*?#$%1234567890',.;=|(): -.abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóúÁÉÍÓÚ_" + String.fromCharCode(92)+ String.fromCharCode(44)  ;

  tst=nr1.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    //arw+="^";
   }
   //else{arw+="_";}
  }
  if (flg!=0){
   //alert(nr1+"\r"+arw+"\rPor favor. Escriba sólo caracteres alfanumericos, ud tipeo "
   //+flg+" carateres no validos: "+str+".");
   //modificado por Juan Garcia 02/02/2001
   alert(nr1+"\r"+arw+"\rPlease. There are invalid characteres. "
   +str+"  is/are not allowed. ");
		  return (false);
  }
 }
}


// Que sea cualquier character 

function ValCharReq(ElInput,ElMensaje){
	if (ElInput.value == "")
	   {
	     window.alert(ElMensaje);
	     return (false);
	   } else {
  nr1=ElInput.value;
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr1.length;i++){
cmp="!@\$%&*?#$%1234567890'.;=|(): -.abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZáéíóúÁÉÍÓÚ_"
  tst=nr1.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    //arw+="^";
   }
   //else{arw+="_";}
  }
  if (flg!=0){
   //alert(nr1+"\r"+arw+"\rPor favor. Escriba sólo caracteres alfanumericos, ud tipeo "
   //+flg+" carateres no validos: "+str+".");
   //modificado por Juan Garcia 02/02/2001
   alert(nr1+"\r"+arw+"\rPlease. There are invalid characteres. "
   +flg+" Correct them "+str+".");
		  return (false);
  }
 }
}



//
//Que sea Numerico, requerido ENTERO (SIN DECIMALES)
function ValNumReq(ElInput,ElMensaje){
	if (ElInput.value == "")
	   {
	     window.alert(ElMensaje);
	     return (false);
	   } else {
  nr2=ElInput.value;
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr2.length;i++){
   cmp="1234567890."
   tst=nr2.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
    //arw+="^";
   }
   //else{arw+="_";}
  }
  if (flg!=0){
   alert(nr2+"\rPlease. Only numbers");
		  return (false);
  }
 }
}


//Que sea Numerico
function ValNum(ElInput,ElMensaje){
	if (ElInput.value == "")
	   {
	     window.alert(ElMensaje);
	     return (false);
	   } else {
  nr2=ElInput.value;
  flg=0;
  str="";
  spc=""
  arw="";
  for (var i=0;i<nr2.length;i++){
   cmp="1234567890"
   tst=nr2.substring(i,i+1)
   if (cmp.indexOf(tst)<0){
    flg++;
    str+=" "+tst;
    spc+=tst;
   }
  }
  if (flg!=0){
   alert(nr2+"\rPlease. Only digits");
		  return (false);
  }
 }
}

// Valida que sea Correo Electronico y no Requerido
function ValCorreo(ElInput){
if (ElInput.value.length > 0){
	 re = /^[A-Z, a-z, 0-9,_,-]+\.{0,1}[A-Z, a-z, 0-9,_,-]+\@[A-Z, a-z, 0-9,_,-]+\.[A-Z, a-z, 0-9,_,-]+/;
	 if (!re.test(ElInput.value)){
	 	alert('Please, Enter your email address correctly.'); 
		return false;
	}
}
}

// Valida que sea Correo Electronico y Requerido
function ValCorReq(Elcorreo,ElMensaje){
if (Elcorreo.value == "")
	   {
	     window.alert(ElMensaje);
	     return (false);
	   }
	 re = /^[A-Z, a-z, 0-9,_,-]+\.{0,1}[A-Z, a-z, 0-9,_,-]+\@[A-Z, a-z, 0-9,_,-]+\.[A-Z, a-z, 0-9,_,-]+/;
	 //alert(re);
	 if (!re.test(Elcorreo.value)){
	 	alert('Please, Enter your email address correctly.'); 
		return false;
	}
}


//Compara que dos Input sean iguales y luegos los blanque de no serlos
function ComInp(ElInput1,ElInput2,mensaje){
if (ElInput1.value != ElInput2.value){
	     window.alert(mensaje);
	     ElInput1.value="";
	     ElInput2.value="";
	     ElInput1.focus();
	     return (false);
	}
}
//Valida los combos para campos requeridos
function ValComReq(Combo,ElMensaje){
if (Combo.selectedIndex == 0)
	{
	 window.alert(ElMensaje);
	 return (false);
	}
}
//Valida los combos para campos requeridos
function ValComReq2(Combo,ElMensaje){
if (Combo.value == "")
	{
	 window.alert(ElMensaje);
	 return (false);
	}
}
function Reset(Form)
		{
			Form.reset();
		}
		
//Valida que introduzca al menos un e-mail
function Valemail(Elinput,Entrada,Mensaje){
var bandera = false
var bande = false
	if (Elinput.value!="" || Entrada.value!=""){
		if (Elinput.value!=""){
			if (ValCorReq(Elinput,"Enter your email address.") == false){
				Elinput.focus();
				return(false)
			}
			else{
				badera = true
			}
		}
		if (Entrada.value!=""){
			if (ValCorReq(Entrada,"Enter your email address.") == false){
				Entrada.focus();
				return (false)
			}
			else{
				bande = true
			}
			
		}	
	}
	else
	{
	 window.alert(Mensaje);
	 return (false);
	}
}
/******************************************************************/
/*******Función que verifica si se seleccionó el sexo**************/
/******************************************************************/
function ValidaRadioSexo(Entrada,Mensaje){
ICOK = false;
for (ic=0; ic<2; ic++){
	if (Entrada[ic].checked)
		ICOK=true;
}
if (!ICOK){
	window.alert(Mensaje);
	Entrada[0].focus();
	return (false);
}
}
function ValidaRadioSexo1(Entrada,Mensaje){
ICOK = false;
for (ic=0; ic<3; ic++){
	if (Entrada[ic].checked)
		ICOK=true;
}
if (!ICOK){
	window.alert(Mensaje);
	Entrada[0].focus();
	return (false);
}
}
function Validagreement(Entrada,Mensaje){
ICOK = false;
for (ic=0; ic<1; ic++){
	if (Entrada[ic].checked)
		ICOK=true;
}
if (!ICOK){
	window.alert(Mensaje);
	Entrada[0].focus();
	return (false);
}
}
function ValidaPago(Entrada,Mensaje){
ICOK = false;
for (ic=0; ic<5; ic++){
	if (Entrada[ic].checked)
		ICOK=true;
}
if (!ICOK){
	window.alert(Mensaje);
	return (false);
}
}
function CenterWindow(u,w1,h1,tp) {
   CenterNamedWindow(u,'',w1,h1,tp);
}

function CenterNamedWindow(u,nm,w1,h1,tp)
{
  	var w=screen.width;
	var h=screen.height;
	var posTop=(h-h1)/2;
	var posLeft=(w-w1)/2;
	var position='left='+posLeft+',top='+posTop+',height='+h1+',width='+w1;

	var listin = null;

  switch (tp){
    case 1:
		 listin = window.open(u,nm,position+'directories=no,status=yes,toolbar=no,menubar=no,location=no');
		break;
	}
	return listin;

 
}
function closeFirstWindow() {
window.close();
}
