/****************************************************************
 * Valida los campos del formulario Contact Us 
 * Pro Structures
 * Ticode
 ***************************************************************/


/**************************************************************** 
 * LLama a todas las funciones de validacion necesarias 
 ****************************************************************/ 

 function formValidation(form_name){
   r = (  validarVacios(form_name.txt_first_name) &&
	  validarVacios(form_name.txt_last_name) &&
	  validarEmail(form_name.txt_email));
   if(!r){
     alert("Invalid Field");
   }
   return r;
 }



/**************************************************************** 
 * Valida un campo de correo electronico
 ****************************************************************/ 

function validarEmail(campo){
  var txt = campo.value;
  var b=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
  if(!b.test(txt)){
    campo.focus();
    return false;
  }
  else{
    return true;
  }
}


/**************************************************************** 
 * Esta funcion valida que un campo no este vacio y no tenga solo
 * espacios
 ****************************************************************/ 

function validarVacios(campo) {
  if(vacio(campo.value)) {
    campo.focus();
    return false;
  } 
  else {
   return true;
  }
}

/**************************************************************** 
 * Busca caracteres que no sean espacio en blanco
 ****************************************************************/ 
function vacio(q) {
  var r = true;
  for ( i = 0; i < q.length; i++ ) {
    if ( q.charAt(i) != " " ) {
      r = false; 
    }
  }
  return r;
}


/**************************************************************** 
 * Valida un campo de correo electronico
 ****************************************************************/ 

function validarEmail(campo){
  var txt = campo.value;
  var b=/^[A-Za-z][A-Za-z0-9_]*@[A-Za-z0-9_]+\.[A-Za-z0-9_.]+[A-za-z]$/;
  if(!b.test(txt)){
    campo.focus();
    return false;
  }
  else{
    return true;
  }
}


/**************************************************************** 
 * Valida que en el campo haya solo digitos, guiones o espacios
 * en blanco, esto para telefonos, cédulas, etc.
 ****************************************************************/ 

function validarDigitos(campo){
  var txt = campo.value;
  var b=/^[0-9\s\+\-]+$/;
  if(!b.test(txt)){
    campo.focus();
    return false;
  }
  else{
    return true;
  }
}


/**************************************************************** 
 ****************************************************************/ 

 function validarFecha(campo){
  var r = true;
  var Fecha= new String(campo.value);	// Crea un string
  var Ano= new String(Fecha.substring(Fecha.lastIndexOf("/")+1,Fecha.length));
  var Mes= new String(Fecha.substring(Fecha.indexOf("/")+1,Fecha.lastIndexOf("/")));
  var Dia= new String(Fecha.substring(0,Fecha.indexOf("/")));

  // Valido el año
  if (isNaN(Ano) || Ano.length<4 || parseFloat(Ano)<1900){
    campo.focus();
    r =  false;
  }
  // Valido el Mes
  if (isNaN(Mes) || parseFloat(Mes)<1 || parseFloat(Mes)>12){
  campo.focus();
  r = false;
  }
  // Valido el Dia
  if (isNaN(Dia) || parseInt(Dia)<1 || parseInt(Dia)>31){
    campo.focus();
    r = false;
  }
  if (Mes==4 || Mes==6 || Mes==9 || Mes==11 || Mes==2) {
    if (Mes==2 && Dia > 28 || Dia>30) {
      campo.focus();
      r = false;
    }
  }
  else{
    r = true;
  }
  return r;
 }


/**************************************************************** 
 * Valida los vacios en los campos opcionales, de manera que si
 * para un colaborador recomendado se llena un campo, los demas
 * deben ser completados tambien
 ****************************************************************/ 
 
function validarOpcionales(){
  var r = true;
 
  if( !vacio(document.form_paniamor.txt_nombre1.value  ) ||
      !vacio(document.form_paniamor.txt_email1.value   ) ||
      !vacio(document.form_paniamor.txt_telefono1.value)) {

      if(!(validarVacios(document.form_paniamor.txt_nombre1) &&
	   validarVacios(document.form_paniamor.txt_email1)    &&
	   validarVacios(document.form_paniamor.txt_telefono1))){
	 r = false;
	 alert('Error: campo requerido');
      }
      else if
	(!(validarEmail(document.form_paniamor.txt_email1) &&
	   validarDigitos(document.form_paniamor.txt_telefono1))){
	 r = false;
	 alert('Error: campo invalido');
      }
  } 


   if(r){
     if( !vacio(document.form_paniamor.txt_nombre2.value  ) ||
	   !vacio(document.form_paniamor.txt_email2.value   ) ||
	   !vacio(document.form_paniamor.txt_telefono2.value)) {

      if(!(validarVacios(document.form_paniamor.txt_nombre2) &&
	   validarVacios(document.form_paniamor.txt_email2)    &&
	   validarVacios(document.form_paniamor.txt_telefono2))){
	 r = false;
	 alert('Error: campo requerido');
      }
      else if
	(!(validarEmail(document.form_paniamor.txt_email2) &&
	   validarDigitos(document.form_paniamor.txt_telefono2))){
	 r = false;
	 alert('Error: campo invalido');
      }
    }
  }
  
  if(r){
    if( !vacio(document.form_paniamor.txt_nombre3.value  ) ||
	   !vacio(document.form_paniamor.txt_email3.value   ) ||
	    !vacio(document.form_paniamor.txt_telefono3.value)) {

      if(!(validarVacios(document.form_paniamor.txt_nombre3) &&
	   validarVacios(document.form_paniamor.txt_email3)    &&
	   validarVacios(document.form_paniamor.txt_telefono3))){
	 r = false;
	 alert('Error: campo requerido');
      }
      else if
	(!(validarEmail(document.form_paniamor.txt_email3) &&
	   validarDigitos(document.form_paniamor.txt_telefono3))){
	 r = false;
	 alert('Error: campo invalido');
      }
    }
  }
  
  return r;
}
/**************************************************************** 
 ****************************************************************/ 


