﻿// JavaScript Document
function PruebaPrueba() {

	alert("Esto es una prueba");

}

function ValidateNulls(array_fields, array_fields_values, array_fields_names) {
       
    var ret = true;
    
    for (i = 0; i < array_fields.length; i++) {
        if (document.getElementById(array_fields[i]).value == array_fields_values[i]) {
          alert("El campo '" + array_fields_names[i] + "' no puede quedar vacio.");
          document.getElementById(array_fields[i]).focus();
          ret = false;
          break;
        }
    }
    
    return (ret);
}

function NullsToCero(array_fields) {
    
    for (i = 0; i < array_fields.length; i++) {
        if (document.getElementById(array_fields[i]).value == "" || document.getElementById(array_fields[i]).value == "-") {
          document.getElementById(array_fields[i]).value = "0";
        }
    }
    
    //return (ret);
}

function isEmailAddress(email, theElement) {

  var re  = /^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$/;
  if (!re.test(email)) {
      alert ("Dirección de email inválida");
      theElement.focus();
      return false;
  }
  return true;
  
}

function ValidateIsNumeric(array_fields, array_fields_names) {
        
    var ret = true;
    
    for (i = 0; i < array_fields.length; i++) {
    //alert(document.getElementById(array_fields[i]).value);
        var num = document.getElementById(array_fields[i]).value;
        num = num.replace(",", ".");
        if (document.getElementById(array_fields[i]).value != ",") {
        //if ( document.getElementById(array_fields[i]).name != "ctl03$GridView1$ctl03$txtQuarter") {
            if (isNaN(num)) {
              alert("El campo '" + array_fields_names[i] + "' ha de ser numérico.");
              document.getElementById(array_fields[i]).focus();
              ret = false;
              break;
            }
        //}
        }
    }
    
    return (ret);
}

/* Validar fechas */
function esDigito(sChr){
    var sCod = sChr.charCodeAt(0);
    return ((sCod > 47) && (sCod < 58));
   }

   function valSep(oTxt){
    var bOk = false;
    var sep1 = oTxt.value.charAt(2);
    var sep2 = oTxt.value.charAt(5);
    bOk = bOk || ((sep1 == "-") && (sep2 == "-"));
    bOk = bOk || ((sep1 == "/") && (sep2 == "/"));
    return bOk;
   }

   function finMes(oTxt){
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    var nAno = parseInt(oTxt.value.substr(6), 10);
    var nRes = 0;
    switch (nMes){
     case 1: nRes = 31; break;
     case 2: nRes = 28; break;
     case 3: nRes = 31; break;
     case 4: nRes = 30; break;
     case 5: nRes = 31; break;
     case 6: nRes = 30; break;
     case 7: nRes = 31; break;
     case 8: nRes = 31; break;
     case 9: nRes = 30; break;
     case 10: nRes = 31; break;
     case 11: nRes = 30; break;
     case 12: nRes = 31; break;
    }
    return nRes + (((nMes == 2) && (nAno % 4) == 0)? 1: 0);
   }

   function valDia(oTxt){
    var bOk = false;
    var nDia = parseInt(oTxt.value.substr(0, 2), 10);
    bOk = bOk || ((nDia >= 1) && (nDia <= finMes(oTxt)));
    return bOk;
   }

   function valMes(oTxt){
    var bOk = false;
    var nMes = parseInt(oTxt.value.substr(3, 2), 10);
    bOk = bOk || ((nMes >= 1) && (nMes <= 12));
    return bOk;
   }

   function valAno(oTxt){
    var bOk = true;
    var nAno = oTxt.value.substr(6);
    bOk = bOk && ((nAno.length == 2) || (nAno.length == 4));
    if (bOk){
     for (var i = 0; i < nAno.length; i++){
      bOk = bOk && esDigito(nAno.charAt(i));
     }
    }
    return bOk;
   }

   function valFecha(oTxt){
    var bOk = true;
    var ret = true;
    
    if (document.getElementById(oTxt).value != ""){
     bOk = bOk && (valAno(document.getElementById(oTxt)));
     bOk = bOk && (valMes(document.getElementById(oTxt)));
     bOk = bOk && (valDia(document.getElementById(oTxt)));
     bOk = bOk && (valSep(document.getElementById(oTxt)));
     if (!bOk){
      alert("Invalid date, format date dd/mm/yyyy");
      document.getElementById(oTxt).focus();
      ret = false;
     } 
    }
    return ret;
   }
