/* Validate.js, version 1.0.2
*  (c) 2006 achraf bouyakhsass <mutation[at]mutationevent.com>
*
*  This software is licensed under the CC-GNU GPL
*  http://creativecommons.org/licenses/GPL/2.0/
*
*  For more details
*  http://www.mutationevent.com/project/validate.js
*
 +  ****** Version modificada por Pedro Cardoso Junio-Julio 2010  *********** +
*
*  Package to validate various data :
*  isEqual
*  hasValidChars
*  isSimpleIP
*  isAlphaLatin
*  isNotEmpty
*  isIntegerInRange
*  isNum
*  isEMailAddr
*  isZipCode
*  isDate
*  isMD5
*  isURL
*  isGuid
*  isISBN
*  isSSN
*  isDecimal
*  isplatform
*  addRules
*  Apply
--------------------------------------------------------------------------*/


/**Revisa si dos cadenas son iguales*/
function isEqual(string1, string2){
  if(string1 == string2) return true;
  else return false;
}
/**Revisa si una cadena contiene solo caracteres alfanumericos*/
function isAlpha(string){
  alphaRegExp = /^[a-z]+$/i;
  return alphaRegExp.test(string);
}
/**Revisa si una cadena esta vacia*/
function isEmpty(s){
  return !/\S/.test(s);
}
/**Revisa si un numero es entero y esta dentro de un determinado rango*/
function isIntegerInRange(n,Nmin,Nmax){
  var num = Number(n);
  if(isNaN(num)){
    return false;
  }
  if(num != Math.round(num)){
    return false;
  }
  return (num >= Nmin && num <= Nmax);
}
/**Revisa si el argumento es un numero*/
function isNum(number){
  numRegExp = /^[0-9]+$/;
  return numRegExp.test(number);
}
/**Revisa si una cadena tiene formato valido de direccion de correo electronico*/
function isEMailAddr(string){
  emailRegExp = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.([a-z]){2,4})$/;
  return emailRegExp.test(string);
}
/**Revisa si una cadena tiene formato valido de direccion url*/
function isURL(string){
  if(!string) return false;
  string = string.toLowerCase();
  urlRegExp = /^(((ht|f)tp(s?))\:\/\/)([0-9a-zA-Z\-]+\.)+[a-zA-Z]{2,6}(\:[0-9]+)?(\/\S*)?$/;
  return urlRegExp.test(string);
}
/**Revisa si un numero es decimal*/
function isDecimal(number){// positive or negative decimal
  if(!number) return false;
  decimalRegExp = /^-?(0|[1-9]{1}\d{0,})(\.(\d{1}\d{0,}))?$/;
  return decimalRegExp.test(number);
}

function validaRegistro(objeto){
    var errores="";
    if(isEmpty(objeto.ncomp.value)) errores+="El campo: Nombre completo está vacio\n";
    else if(objeto.ncomp.value.length>150) errores+="El campo: Nombre completo supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.nuser.value)) errores+="El campo: Nombre de usuario está vacio\n";
    else if(objeto.nuser.value.length>45) errores+="El campo: Nombre de usuario supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.pss1.value)) errores+="El campo: Password está vacio\n";
    else if(isEmpty(objeto.pss2.value)) errores+="El campo: Confirmar Password está vacio\n";
    else if(!isEqual(objeto.pss1.value,objeto.pss2.value)) errores+="La confirmacion del password es incorrecta\n";
    if(!isEMailAddr(objeto.correoe.value)) errores+="El campo: Correo electronico no tiene formato de correo valido\n";
    if(!isEMailAddr(objeto.correoe2.value)) errores+="El campo: Confirmar correo no tiene formato de correo valido\n";
    if(!isEqual(objeto.correoe.value,objeto.correoe2.value)) errores+="La confirmacion de correo es invalida\n";
    else if(objeto.correoe.value.length>65) errores+="El campo: Correo Electronico supera el numero de caracteres permitido\n";
    if(objeto.wsite.value.length>0){
       if(!isURL(objeto.wsite.value)) errores+="El campo: Web site no tiene formato de URL valido\n";
       else if(objeto.wsite.value.length>45) errores+="El campo: Web site supera el numero de caracteres permitido\n";
    }
    if(!objeto.conds.checked) errores+="No ha aceptado las condiciones de registro\n";
    if(errores!=""){
      alert('No se puede crear el registro, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validaCromos(){
    var numcr=document.getElementById("numcr");
    for(i=0;i<numcr.value;i++){
       var errores="";
       var idnom="nomcro"+i;
       var nom=document.getElementById(idnom);
       var iddescr="descro"+i;
       var descr=document.getElementById(iddescr);
       var idnumcro="numcro"+i;
       var numcro=document.getElementById(idnumcro);
      if(nom.value.length>105) errores+="El campo: Nombre supera el numero de caracteres permitido\n";
      if(descr.value.length>0){
        if(descr.value.length>255) errores+="El campo: Descripcion supera el numero de caracteres permitido\n";
      }
      if(isEmpty(numcro.value)) errores+="El campo: Numero del cromo esta vacio\n";
      else if(numcro.value.length>25) errores+="El campo: Numero del cromo supera el numero de caracteres permitido\n";
      if(errores!=""){
        alert('No se puede crear el registro, hay datos invalidos en registro '+(i+1)+':\n'+errores);
        return false;
      }
    }
    return true;
}

function validaNumpag(objeto){
    var errores="";
    if(!isIntegerInRange(objeto.pagtam.value,1,999)) errores+="El numero de elementos maximo por lista debe ser un numero mayor a cero\n";
    if(errores!=""){
      alert('No se puede procesar la lista:\n'+errores);
      return false;
    }
    // meter como hidden
    var formenv=document.getElementById("fcolps");
    var valormens=document.getElementById("ftxtmens").value;
    if(formenv){
      var dtsmns=document.createElement("input");
      dtsmns.setAttribute('type', 'hidden');
      dtsmns.setAttribute('name', 'mensaje');
      dtsmns.setAttribute('value', valormens);
      formenv.appendChild(dtsmns);
    }
    return true;
}

function validaCampbusCol(objeto){
    var errores="";
    if(isEmpty(objeto.critbus.value)) errores="Debe indicar una o mas palabras como criterios de busqueda.\n";
    if(errores!=""){
      alert('No se puede buscar coleccion:\n'+errores);
      return false;
    }
    return true;
}

function validaCampbusCro(objeto){
    var errores="";
    if(isEmpty(objeto.critbusc.value)) errores="Debe indicar una o mas palabras como criterios de busqueda.\n";
    if(errores!=""){
      alert('No se puede buscar coleccion:\n'+errores);
      return false;
    }
    return true;
}

function validaEntero(objeto){
    var errores="";
    if(!isIntegerInRange(objeto.numcr.value,1,100)) errores+="Debe indicar el numero de cromos a agregar, el numero debe ser entre 1 y 100.\n";
    if(errores!=""){
      alert('No se puede realizar la accion:\n'+errores);
      return false;
    }
    return true;
}

function preguntasino(objeto){
  return confirm(objeto.advertencia.value);
}

function validaRegUser(objeto){
    var errores="";
    if(objeto.elimreg.checked){
      return confirm("Va a darse de baja como usuario y eliminar su registro, todos sus datos relacionados se perderan. Esta accion no se podra deshacer ¿Desea continuar?");
    }
    if(isEmpty(objeto.nomcom.value)) errores+="El campo: Nombre completo está vacio\n";
    else if(objeto.nomcom.value.length>150) errores+="El campo: Nombre completo supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.pactu.value)) errores+="El campo: Password está vacio, por seguridad debe proporcionar su password actual\n";
    if(!isEqual(objeto.pnew1.value,objeto.pnew2.value)) errores+="La confirmacion del password es incorrecta\n";
    if(isEmpty(objeto.correoe.value)) errores+="El campo: Correo electronico está vacio\n";
    else if(!isEMailAddr(objeto.correoe.value)) errores+="El campo: Correo electronico no tiene formato de correo valido\n";
    else if(objeto.correoe.value.length>65) errores+="El campo: Correo Electronico supera el numero de caracteres permitido\n";
    if(objeto.wsite.value.length>0){
       if(!isURL(objeto.wsite.value)) errores+="El campo: Web site no tiene formato de URL valido\n";
       else if(objeto.wsite.value.length>45) errores+="El campo: Web site supera el numero de caracteres permitido\n";
    }
    if(errores!=""){
      alert('No se puede actualizar el perfil, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validaobser(objeto){
    var errores="";
    if(!isEmpty(objeto.obser.value)){
      if(objeto.obser.value.length>255) errores+="El campo: Observaciones supera el numero de caracteres permitido\n";
    }
    if(errores!=""){
      alert('No se puede actualizar el perfil, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validaopsconf(objeto){
  var errores="";
    if(isEmpty(objeto.mailadmin.value)) errores+="El campo: Direccion de correo de administrador está vacio\n";
    else if(!isEMailAddr(objeto.mailadmin.value)) errores+="El campo: Direccion de correo de administrador no tiene formato de correo valido\n";
    else if(objeto.mailadmin.value.length>65) errores+="El campo: Direccion de correo de administrador supera el numero de caracteres permitido\n";
    if(!isEmpty(objeto.pna1.value)){
      if(!isEqual(objeto.pna1.value,objeto.pna2.value)) errores+="La confirmacion del nuevo password es incorrecta\n";
    }
    if(isEmpty(objeto.sitename.value)) errores+="El campo: Nombre del sitio está vacio\n";
    if(isEmpty(objeto.cbussines.value)) errores+="El campo: Correo pagos paypal está vacio\n";
    else if(!isEMailAddr(objeto.cbussines.value)) errores+="El campo: Correo pagos paypal no tiene formato de correo valido\n";
    if(isEmpty(objeto.promo.value)) errores+="El campo: Texto formulario usuario premium: está vacio\n";
    if(isEmpty(objeto.preciosus1.value)) errores+="El campo: Costo por subscripcion 6 meses está vacio\n";
    else if(!isIntegerInRange(objeto.preciosus1.value,1,400)) errores+="El campo: Costo por subscripcion 6 meses debe ser un numero entre 1 y 400.\n";
    if(isEmpty(objeto.preciosus2.value)) errores+="El campo: Costo por subscripcion 12 meses está vacio\n";
    else if(!isIntegerInRange(objeto.preciosus2.value,1,400)) errores+="El campo: Costo por subscripcion 12 meses debe ser un numero entre 1 y 400.\n";
    if(isEmpty(objeto.preciosus3.value)) errores+="El campo: Costo por subscripcion 24 meses está vacio\n";
    else if(!isIntegerInRange(objeto.preciosus3.value,1,400)) errores+="El campo: Costo por subscripcion 24 meses debe ser un numero entre 1 y 400.\n";
    if(isEmpty(objeto.preciosus4.value)) errores+="El campo: Costo por subscripcion 48 meses está vacio\n";
    else if(!isIntegerInRange(objeto.preciosus4.value,1,400)) errores+="El campo: Costo por subscripcion 48 meses debe ser un numero entre 1 y 400.\n";
    if(isEmpty(objeto.tambase.value)) errores+="El campo: Base preferido está vacio\n";
    else if(!isIntegerInRange(objeto.tambase.value,10,500)) errores+="El campo: Base preferido debe ser un numero entre 10 y 500.\n";
    if(isEmpty(objeto.tamalto.value)) errores+="El campo: Alto preferido está vacio\n";
    else if(!isIntegerInRange(objeto.tamalto.value,10,500)) errores+="El campo: Alto preferido debe ser un numero entre 10 y 500.\n";
    if(isEmpty(objeto.limcolsusern.value)) errores+="El campo: Limite de colecciones para usuario normal está vacio\n";
    else if(!isIntegerInRange(objeto.limcolsusern.value,1,15)) errores+="El campo: Limite de colecciones para usuario normal debe ser un numero entre 1 y 15.\n";
    if(isEmpty(objeto.numatobant.value)) errores+="El campo: Al acumular N amonestaciones para baneao por dias está vacio\n";
    else if(!isIntegerInRange(objeto.numatobant.value,2,25)) errores+="El campo: Al acumular N amonestaciones para baneo por dias debe ser un numero entre 2 y 25.\n";
    if(isEmpty(objeto.dtobanamon.value)) errores+="El campo: Banear N dias por acumulacion de amonestaciones está vacio\n";
    else if(!isIntegerInRange(objeto.dtobanamon.value,1,15)) errores+="El campo: Banear N dias por acumulacion de amonestaciones debe ser un numero entre 1 y 15.\n";
    if(isEmpty(objeto.numatoband.value)) errores+="El campo: Al acumular N amonestaciones para baneo definitivo está vacio\n";
    else if(!isIntegerInRange(objeto.numatoband.value,3,26)) errores+="El campo: Al acumular N amonestaciones para baneo definitivo debe ser un numero entre 3 y 26.\n";
    if(!isIntegerInRange(objeto.diasantbms.value,10,150)) errores+="El campo: Dias de antiguedad para borrar mensajes debe ser un numero entre 10 y 150.\n";
    if(isEmpty(objeto.remitmail.value)) errores+="El campo: Remitente de mail automatico está vacio\n";
    else if(!isEMailAddr(objeto.remitmail.value)) errores+="El campo: Remitente de mail automatico no tiene formato de correo valido\n";
    else if(objeto.remitmail.value.length>65) errores+="El campo: Remitente de mail automatico supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.bsbann1.value)) errores+="El campo: Base de banner UNO está vacio\n";
    else if(!isIntegerInRange(objeto.bsbann1.value,10,750)) errores+="El campo: Base de banner UNO debe ser un numero entre 10 y 750.\n";
    if(isEmpty(objeto.albann1.value)) errores+="El campo: Alto de banner UNO está vacio\n";
    else if(!isIntegerInRange(objeto.albann1.value,10,250)) errores+="El campo: Alto de banner UNO debe ser un numero entre 10 y 250.\n";
    if(isEmpty(objeto.bsbann2.value)) errores+="El campo: Base de banner DOS está vacio\n";
    else if(!isIntegerInRange(objeto.bsbann2.value,10,250)) errores+="El campo: Base de banner DOS debe ser un numero entre 10 y 250.\n";
    if(isEmpty(objeto.albann2.value)) errores+="El campo: Alto de banner DOS está vacio\n";
    else if(!isIntegerInRange(objeto.albann2.value,10,750)) errores+="El campo: Alto de banner DOS debe ser un numero entre 10 y 750.\n";
    if(isEmpty(objeto.bsbann3.value)) errores+="El campo: Base de banner TRES está vacio\n";
    else if(!isIntegerInRange(objeto.bsbann3.value,10,250)) errores+="El campo: Base de banner TRES debe ser un numero entre 10 y 250.\n";
    if(isEmpty(objeto.albann3.value)) errores+="El campo: Alto de banner TRES está vacio\n";
    else if(!isIntegerInRange(objeto.albann3.value,10,750)) errores+="El campo: Alto de banner TRES debe ser un numero entre 10 y 750.\n";
    if(isEmpty(objeto.bsbann4.value)) errores+="El campo: Base de banner CUATRO está vacio\n";
    else if(!isIntegerInRange(objeto.bsbann4.value,10,750)) errores+="El campo: Base de banner CUATRO debe ser un numero entre 10 y 750.\n";
    if(isEmpty(objeto.albann4.value)) errores+="El campo: Alto de banner CUATRO está vacio\n";
    else if(!isIntegerInRange(objeto.albann4.value,10,250)) errores+="El campo: Alto de banner CUATRO debe ser un numero entre 10 y 250.\n";
    if(isEmpty(objeto.cenvnrl.value)) errores+="El campo: Costo de envio normal está vacio\n";
    else if(!isDecimal(objeto.cenvnrl.value)) errores+="El costo de envio normal debe ser un valor monetario\n";
    else if(objeto.cenvnrl.value<0) errores+="El costo de envio normal debe ser un valor mayor o igual a cero\n";
    if(isEmpty(objeto.cenvreg.value)) errores+="El campo: Costo de envio registrado está vacio\n";
    else if(!isDecimal(objeto.cenvreg.value)) errores+="El costo de envio registrado debe ser un valor monetario\n";
    else if(objeto.cenvreg.value<0) errores+="El costo de envio registrado debe ser un valor mayor o igual a cero\n";
    if(isEmpty(objeto.pnactu.value)) errores+="Por seguridad debe proporcionar su password actual de administrador\n";
    if(errores!=""){
      alert('No se puede crear el registro, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validamens(objeto){
    var errores="";
    if(isEmpty(objeto.mensaje.value)) errores+="El campo: Mensaje esta vacio\n";
    else if(objeto.mensaje.value.length>625) errores+="El campo: Mensaje supera el numero de caracteres permitido\n";
    if(errores!=""){
      alert('No se puede enviar el mensaje, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function despliega(sec,btn1,btn2){
  if(document.getElementById(sec).style.display=='none'){
    document.getElementById(sec).style.display='block';
    document.getElementById(btn1).style.display='none';
    document.getElementById(btn2).style.display='inline';
  }
  else{
    document.getElementById(sec).style.display='none';
    document.getElementById(btn1).style.display='inline';
    document.getElementById(btn2).style.display='none';
  }
}

function despliegaelemen(elemenid,tipodes){
  document.getElementById(elemenid).style.display=tipodes;
}

function validarecoverdts(objeto){
  var errores="";
    if(isEmpty(objeto.ncomp.value)) errores+="El campo: Nombre completo esta vacio\n";
    if(!isEMailAddr(objeto.crreo.value)) errores+="El campo: Correo electronico no tiene formato de correo valido\n";
    if(isEmpty(objeto.nuser.value)) errores+="El campo: Nick de usuario esta vacio\n";
    if(errores!=""){
      alert('No se puede procesar, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validacalif(objeto){
    var errores="";
    if(isEmpty(objeto.coment.value)) errores+="El campo: Comentario está vacio\n";
    else if(objeto.coment.value.length>145) errores+="El campo: Comentario supera el numero de caracteres permitido\n";
    if(errores!=""){
      alert('No se puede calificar, hay datos invalidos:\n'+errores);
      return false;
    }
    return confirm(objeto.advertencia.value);
}

function validamultimens(objeto){
    var errores="";
    if(isEmpty(objeto.asunto.value)) errores+="El campo: Asunto está vacio\n";
    else if(objeto.asunto.value.length>95) errores+="El campo: Asunto supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.mensmul.value)) errores+="El campo: Mensaje está vacio\n";
    else if(objeto.mensmul.value.length>625) errores+="El campo: Mensaje supera el numero de caracteres permitido\n";
    if(errores!=""){
      alert('No se puede enviar el mensaje, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function selecciona_checks(formul){
   for (i=0;i<formul.elements.length;i++)
      if(formul.elements[i].type == "checkbox")
         formul.elements[i].checked=1;
}

function validaExis(){
    var lista=document.getElementById("listacroms");
    var listaids=lista.value.split(":");
    for(var i=0;i<listaids.length;i++){
       var errores="";
       var exist="existen_"+listaids[i];
       var precio="precio_"+listaids[i];
       var existencia=document.getElementById(exist);
       var preccio=document.getElementById(precio);
       if(isEmpty(existencia.value)) errores+="El numero de existencias de al menos un cromo esta vacio\n";
       else if(!isIntegerInRange(existencia.value,0,9999)) errores+="El numero de existencias de los cromos debe ser un numero mayor o igual a cero\n";
       if(isEmpty(preccio.value)) errores+="El precio de al menos un cromo esta vacio\n";
       else if(!isDecimal(preccio.value)) errores+="El precio de los cromos debe ser un valor monetario\n";
       else if(preccio.value<0) errores+="El precio de los cromos debe ser un valor mayor o igual a cero\n";
       if(errores!="") break;
    }
    var existcolcomp=document.getElementById("compcolexs");
    var precolcomp=document.getElementById("precompcol");
    var existcolalbs=document.getElementById("albums");
    var precolalb=document.getElementById("prealbumes");
    if(isEmpty(existcolcomp.value)) errores+="El numero de existencias de existencias de colecciones completas esta vacio\n";
    else if(!isIntegerInRange(existcolcomp.value,0,9999)) errores+="El numero de existencias de colecciones completas debe ser un numero mayor o igual a cero\n";
    if(isEmpty(precolcomp.value)) errores+="El precio de coleccion completa esta vacio\n";
    else if(!isDecimal(precolcomp.value)) errores+="El precio de coleccion completa debe ser un valor monetario\n";
    else if(precolcomp.value<0) errores+="El precio de coleccion completa debe ser un valor mayor o igual a cero\n";
    if(isEmpty(existcolalbs.value)) errores+="El numero de existencias de albums esta vacio\n";
    else if(!isIntegerInRange(existcolalbs.value,0,9999)) errores+="El numero de existencias de albums debe ser un numero mayor o igual a cero\n";
    if(isEmpty(precolalb.value)) errores+="El precio de album esta vacio\n";
    else if(!isDecimal(precolalb.value)) errores+="El precio de album debe ser un valor monetario\n";
    else if(precolalb.value<0) errores+="El precio de album debe ser un valor mayor o igual a cero\n";
    if(errores!=""){
      alert('No se puede realizar el registro, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validadtscompra(objeto){
    var errores="";
    if(isEmpty(objeto.nmdestenv.value)) errores+="El campo: Nombre está vacio\n";
    else if(objeto.nmdestenv.value.length>150) errores+="El campo: Nombre supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.dirdestenv.value)) errores+="El campo: Direccion está vacio\n";
    else if(objeto.dirdestenv.value.length>250) errores+="El campo: Direccion supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.cddestenv.value)) errores+="El campo: Ciudad está vacio\n";
    else if(objeto.cddestenv.value.length>100) errores+="El campo: Ciudad supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.provdestenv.value)) errores+="El campo: Provincia está vacio\n";
    else if(objeto.provdestenv.value.length>100) errores+="El campo: Provincia supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.pobdestenv.value)) errores+="El campo: Poblacion está vacio\n";
    else if(objeto.pobdestenv.value.length>100) errores+="El campo: Poblacion supera el numero de caracteres permitido\n";
    if(isEmpty(objeto.codpdestenv.value)) errores+="El campo: Codigo postal está vacio\n";
    else if(objeto.codpdestenv.value.length>10) errores+="El campo: Codigo postal supera el numero de caracteres permitido\n";
    if(errores!=""){
      alert('No se puede procesar, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validarepgraf1(objeto){
    var errores="";
    fechaExp = /((0[1-9])|([1-2][0-9])|(3[0-1]))-((0[1-9])|(1[0-2]))-(2[0-9]{3})$/;
    if(isEmpty(objeto.fecha1.value)) errores+="El campo: Fecha inicial esta vacio\n";
    else if(!fechaExp.test(objeto.fecha1.value)) errores+="El campo: Fecha inicial no tiene formato correcto dd-mm-aaaa o tiene valores incorrectos\n";
    if(isEmpty(objeto.fecha2.value)) errores+="El campo: Fecha final esta vacio\n";
    else if(!fechaExp.test(objeto.fecha2.value)) errores+="El campo: Fecha final no tiene formato correcto dd-mm-aaaa o tiene valores incorrectos\n";
    if(errores==""){
      var aux=objeto.fecha1.value.substring(0,2);
      var d1=parseInt(aux.charAt(0)=='0'?aux[1]:aux);
      var aux=objeto.fecha1.value.substring(3,5);
      var m1=parseInt(aux.charAt(0)=='0'?aux[1]:aux);
      var a1=parseInt(objeto.fecha1.value.substring(6));
      var aux=objeto.fecha2.value.substring(0,2);
      var d2=parseInt(aux.charAt(0)=='0'?aux[1]:aux);
      var aux=objeto.fecha2.value.substring(3,5);
      var m2=parseInt(aux.charAt(0)=='0'?aux[1]:aux);
      var a2=parseInt(objeto.fecha2.value.substring(6));
      if( (a2<a1) || (a1==a2 && m2<m1) || (a1==a2 && m1==m2 && d2<d1) ) errores+="Fecha inicial es posterior a fecha final\n";
    }
    if(!isIntegerInRange(objeto.gbase.value,100,2000)) errores+="El campo: base de grafica debe ser un valor entre 100 y 2000\n";
    if(!isIntegerInRange(objeto.galto.value,100,2000)) errores+="El campo: alto de grafica debe ser un valor entre 100 y 2000\n";
    if(errores!=""){
      alert('No se puede procesar, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validarepgraf2(objeto){
    var errores="";
    if(isEmpty(objeto.usnick.value)) errores+="El campo: nick esta vacio\n";
    if(!isIntegerInRange(objeto.gbase2.value,100,2000)) errores+="El campo: base de grafica debe ser un valor entre 100 y 2000\n";
    if(!isIntegerInRange(objeto.galto2.value,100,2000)) errores+="El campo: alto de grafica debe ser un valor entre 100 y 2000\n";
    if(errores!=""){
      alert('No se puede procesar, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validarepgraf3(objeto){
    var errores="";
    if(isEmpty(objeto.colsname.value)) errores+="El campo: nombre de coleccion esta vacio\n";
    if(!isIntegerInRange(objeto.gbase3.value,100,2000)) errores+="El campo: base de grafica debe ser un valor entre 100 y 2000\n";
    if(!isIntegerInRange(objeto.galto3.value,100,2000)) errores+="El campo: alto de grafica debe ser un valor entre 100 y 2000\n";
    if(errores!=""){
      alert('No se puede procesar, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validarepgraf4(objeto){
    var errores="";
    if(isEmpty(objeto.repsname.value)) errores+="El campo: nombre de coleccion esta vacio\n";
    if(!isIntegerInRange(objeto.gbase4.value,100,2000)) errores+="El campo: base de grafica debe ser un valor entre 100 y 2000\n";
    if(!isIntegerInRange(objeto.galto4.value,100,2000)) errores+="El campo: alto de grafica debe ser un valor entre 100 y 2000\n";
    if(errores!=""){
      alert('No se puede procesar, hay datos invalidos:\n'+errores);
      return false;
    }
    return true;
}

function validaElimusers(){
    var lista=document.getElementById("listausers");
    var listaids=lista.value.split(":");
    var elims=false;
    for(var i=0;i<listaids.length;i++){
       var idelim="elimusid_"+listaids[i];
       var elimuser=document.getElementById(idelim);
       if(elimuser.checked) elims=true;
    }
    if(elims){
      return confirm("Los usuarios marcados para eliminar no se podran recuperar ¿Desea continuar?");
    }
    else{ return true; }
}



