//-----------------------------------------------------------------------------
// Validation Reference
// _1_      validate_longzero
// _2_      validate_number
// _3_      validate_letter
// _4_      validate_letter_number
// _5_      validate_letter_number_special
// _6_      validate_email
// _7_      validate_length
// _8_      validate_Password     -----|_____
// _9_      validate_confPassword -----|
// _10_
// _11_
// _12_
// _13_
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
// Constants
//-----------------------------------------------------------------------------

 var numbers = "1234567890";
 var letters = "ABCDEFGHIJKLMNÑOPQRSTUVWXYZÁÉÍÓÚ" + "abcdefghijklmnñopqrstuvwxyzáéíóú";
 var specials = ' ' + ',;:-_´*+`^?¿¡!"()/';
 var priceSpa = ',';

//-----------------------------------------------------------------------------
// Function validate_form(form)
//------------------------------------------------------------------------------
   function validate_form(form){
      var i = 0;
      for (i = 0; i < form.elements.length; i++)
      {
        if(form.elements[i].name){                                //veo si en el campo existe el valor name, para evitar submit y reset
          if(form.elements[i].name.indexOf("_1_") != -1)
          {
            var name = form.elements[i].name.split("_1_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_longzero(form.elements[i].value,name);
            if(Error == false)
               return false;
          }
          if(form.elements[i].name.indexOf("_2_") != -1)
          {
            var name = form.elements[i].name.split("_2_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_number(form.elements[i].value,name);
            if(Error == false)
               return false;
          }
          if(form.elements[i].name.indexOf("_3_") != -1)
          {
            var name = form.elements[i].name.split("_3_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_letter(form.elements[i].value,name);
            if(Error == false)
               return false;
          }
          if(form.elements[i].name.indexOf("_4_") != -1)
          {
            var name = form.elements[i].name.split("_4_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_letter_number(form.elements[i].value,name);
            if(Error == false)
               return false;
          }
          if(form.elements[i].name.indexOf("_5_") != -1)
          {
            var name = form.elements[i].name.split("_5_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_letter_number_special(form.elements[i].value,name);
            if(Error == false)
               return false;
          }
          if(form.elements[i].name.indexOf("_6_") != -1)
          {
            var name = form.elements[i].name.split("_6_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_email(form.elements[i].value,name);
            if(Error == false)
               return false;
          }
          if(form.elements[i].name.indexOf("_7_") != -1)
          {
            var name = form.elements[i].name.split("_7_");
            name = name.join("");
            name = name.split("_");
            name = name.join(" ");
            var Error = validate_length(form.elements[i].value,name);
            if(Error == false)
               return false;
          }

          if(form.elements[i].name.indexOf("_8_") != -1)
          {

            var namePass = form.elements[i].name.split("_8_");
            namePass = namePass.join("");
            namePass = namePass.split("_");
            namePass = namePass.join(" ");

            var j = 0;
            for (j = 0; j < form.elements.length; j++){

              if(form.elements[j].name.indexOf("_9_") != -1)
              {
                var nameConfPass = form.elements[j].name.split("_9_");
                nameConfPass = nameConfPass.join("");
                nameConfPass = nameConfPass.split("_");
                nameConfPass = nameConfPass.join(" ");
                var Error = validate_confPassword(form.elements[i].value,form.elements[j].value, namePass, nameConfPass);
                if(Error == false)
                  return false;
              }
            }
          }
        }
      }
      form.submit();
   }// validate_form(form)

//-----------------------------------------------------------------------------
// Function validate_longzero(value, name)
//--------------------  ---------------------------------------------------------
   function validate_longzero(value, name){
    if(value==""){
      alert( "El campo " + name + " se encuentra vacio." );
      return false;}
   }  // validate_longzero(value, name)

//-----------------------------------------------------------------------------
// Function search(checkStr,checkOK)
//-----------------------------------------------------------------------------

   function search( checkStr,checkOK )
   {
      var allValid = true;
      for (i = 0; i < checkStr.length; i++) {
         ch = checkStr.charAt(i);
         for (j = 0; j < checkOK.length; j++)
            if (ch == checkOK.charAt(j))
            break;
         if (j == checkOK.length) {
            allValid = false;
            break;
         }
      }
      return allValid;
   }  // search

//-----------------------------------------------------------------------------
// Function validate_number(value, name)
//-----------------------------------------------------------------------------
   function validate_number(value, name){
    if(value==""){
      alert( "El campo " + name + " se encuentra vacio." );
      return false;}
    else{
      var checkOK = numbers;
      var checkStr = value;
      allValid = search(checkStr,checkOK);
      if (!allValid) {
         alert( "El campo " + name + " debe contener únicamente números.");
         return (false);
      }
     }
     return true;
   }  // validate_number(value, name)

//-----------------------------------------------------------------------------
// Function validate_letter(value, name)
//-----------------------------------------------------------------------------

   function validate_letter(value, name){
    if(value==""){
      alert( "El campo " + name + " se encuentra vacio." );
      return false;}
    else{
      var checkOK = letters;
      var checkStr = value;
      allValid = search(checkStr,checkOK);
      if (!allValid) {
         alert( "El campo " + name + " debe contener únicamente letras.");
         return false;
      }
     }
   }  // validate_letter(value, name)

//-----------------------------------------------------------------------------
// Function validate_latter_number(value, name)
//-----------------------------------------------------------------------------

   function validate_letter_number(value, name){
    if(value==""){
      alert( "El campo " + name + " se encuentra vacio." );
      return false;}
    else{
      var checkOK = letters + numbers;
      var checkStr = value;
      allValid = search(checkStr,checkOK);
      if (!allValid) {
         alert( "El campo " + name + " debe contener únicamente números y letras.");
         return false;
      }
     }
   }  // validate_latter_number(value, name)

//-----------------------------------------------------------------------------
// Function validate_latter_number_special(value, name)
//-----------------------------------------------------------------------------

   function validate_letter_number_special(value, name){
    if(value==""){
      alert( "El campo " + name + " se encuentra vacio." );
      return false;}
    else{
      var checkOK = letters + numbers + specials;
      var checkStr = value;
      allValid = search(checkStr,checkOK);
      if (!allValid) {
         alert( "El campo " + name + " debe contener únicamente números, letras y caracteres especiales.");
         return false;
      }
     }
   }  // validate_latter_number_special(value, name)

//-----------------------------------------------------------------------------
// Function validate_email(value, name)
//-----------------------------------------------------------------------------

   function validate_email(value, name){
    if(value==""){
      alert("El campo " + name + " se encuentra vacio");
      return false;}
    else{
      if((value.indexOf("@") == -1) || (value.indexOf(".") == -1)){
        alert("El campo " + name + " es incorrecto");
        return false;
      }
    }
   }  // validate_email(value)

//-----------------------------------------------------------------------------
// Function validate_length(value, name)
//-----------------------------------------------------------------------------

   function validate_length(value, name){
    if(value.length < 4){
       alert("El campo " + name + " debe tener 4 caracteres como mínimo.");
      return false;
    }
   }  // validate_email(value)

//-----------------------------------------------------------------------------
// Function validate_confPassword(valuePass, valueConfPass, namePass, nameConfPass)
//-----------------------------------------------------------------------------

   function validate_confPassword(valuePass, valueConfPass, namePass, nameConfPass){
     if (valuePass.length < 4) {
       alert("El campo " + namePass + " debe tener 4 caracteres como mínimo.");
       return false;
     }
     if (valueConfPass.length < 4) {
       alert("El campo " + nameConfPass + " debe tener 4 caracteres como mínimo.");
       return false;
     }

     if(valuePass != valueConfPass){
       alert("El password ingresado no coincide.");
       return false;
     }
   }  // validate_confPassword(valuePass, valueConfPass, namePass, nameConfPass)


