/*------------------------------------------------------------------

--------------------------------------------------------------------*/
function esCero(Dato) {
  var CadenaNumeros="0";
  var EsteCaracter;
  var Contador = 0;
  for (var i=0; i < Dato.length; i++) {
    EsteCaracter = Dato.substring(i, i+1);
    if (CadenaNumeros.indexOf(EsteCaracter) != -1)
      Contador ++;
    }
    if (Contador == Dato.length) {
    // ¡Todos los caracteres son números!
     return(true);
    }
    else
     return(false);
}

function ltrim(valor) {
  /* Esta función borra los espacios en blanco
     de la parte izquierda de una cadena */

  while (1) {
    if (valor.substring(0, 1) != " ")
      break;
    valor = valor.substring(1, valor.length);
  }

  return valor;
}



function rtrim(valor) {

 /* Esta función borra los espacios en blanco
     de la parte derecha de una cadena */

  while (1) {
    if (valor.substring(valor.length - 1, valor.length) != " ")
      break;
    valor = valor.substring(0, valor.length - 1);
  }

  return valor;
}


function trim(valor) {
/* Esta función borra los espacios en blanco
     de la parte izquierda y derecha de una cadena */
  var tmpstr = ltrim(valor);

  return rtrim(tmpstr);

}

function trimString(valor) {
/* Esta función borra los espacios en blanco,, retornos de carro
   cambios de línea etc. de la parte izquierda y derecha de una cadena */
   
	var retString;
	var iniPos;
	var endPos;
	var ch;

	// blancos del comienzo
	iniPos = 0;
	ch = valor.charAt(iniPos);
	while ((ch == " ") || (ch == "\b") || (ch == "\f") || (ch == "\n") || (ch == "\r") || (ch == "\n")) {
		iniPos++;
		ch = valor.charAt(iniPos);
	}

	// blancos del final
	endPos = valor.length - 1;
	ch = valor.charAt(endPos);
	while ((ch == " ") || (ch == "\b") || (ch == "\f") || (ch == "\n") || (ch == "\r") || (ch == "\n")) {
		endPos--;
		ch = valor.charAt(endPos);
	}

	
	retString = valor.substring(iniPos, endPos + 1);

	return retString;
}


function comparaFechas(fech1,fech2)
 {
   /* Esta función compara dos fechas y devuelve
      true si fech1 es mayor o igual que fech2 */
   
   //alert("fech1 es " + fech1);
   //alert("fech2 es " + fech2);
   return(fech1.getTime() >= fech2.getTime());
 
 }


function esVacio(valor)

 {
    /* Esta función valida si un valor es vacio */
    
    var valorn;
    
    valorn = trim(valor);
    return(valorn == null || valorn.length == 0);
     
 }


function esNumerico(valor)
   {
     /* Esta función valida si un valor es entero */
     
    var numero_regex = /^\d+$/;

     if (!numero_regex.test(valor))
         {
             
             return(false);
         }
     return(true);
   }

function esReal(valor)
 {
   /* Esta función valida si un valor es real
      ej (0.2  .2  2.  5.2  2 )
      
   */
   
   var numero_regex = /^((\d+(\.\d*)?)|((\d*\.)?\d+))$/
   
   if (!numero_regex.test(valor))
     {
              
         return(false);
     }
        return(true);
 }



function validaformato(fech, tip)
{
  /* Esta función valida si una fecha es valida según el formato tip
     si tip es 1 entonces se valida DD/MM/YYYY 
     si tip es 2 entonces se valida MM/DD/YYYY
     
     El separador puede ser cualquier caracter  */
     
  var retorno
  var dia
  var mes
  var anio
  var sep1
  var sep2
  var dian
  var mesn
  var anion
  
  fecha=String(fech);
  tipo=String(tip);

  
   retorno = true;
   anio = fecha.substring(6);
   sep1 = fecha.substring(2,3); 
   sep2 = fecha.substring(5,6);
   
  if (tipo == "1")
  
   {
     
     dia = fecha.substring(0, 2);
     mes = fecha.substring(3, 5);
    }
      else
      
    {
       
       dia = fecha.substring(3, 5);
       mes = fecha.substring(0, 2);
       
      }
   
    
    
   //alert(dia+"/"+mes+"/"+anio);    
   //alert(fech);    
      
   if (esNumerico(dia) && esNumerico(mes) && esNumerico(anio) && anio.length == 4  && sep1=="/" && sep2=="/")
     {
      
     
     
     dian = dia;
     mesn = mes;
     anion= anio;
     
     if (dian > 0) 
     
     { 
        
      
         switch(mesn)
         
         {

             case 1:
             case 3:
             case 5:
             case 7:
             case 8:
             case 10:
             case 12:
               if (dian > 31)
                 {
                   
                   retorno = false;
                   return(retorno);
                 } 
                 break;  
            case 4:
            case 6:
            case 9:
            case 11:
               if (dian > 30) 
                 { 
                   
                   retorno = false;
                   return(retorno);
                 } 
            
                 break;
            case 2:
               if (((anion % 4 == 0) && (anion % 100 != 0)) || (anion % 400 == 0))
                 {
                   
                   if (dian > 29)
                     {
                       
                       retorno = false;
                       return(retorno);
                     } 
                 }
                       else
                         if (dian > 28)
                           {  
                              
                              retorno = false
                              return(retorno);
                            } 
                
                 
                 break;
          
           default:
               { 
                 
                 retorno = false
                 return(retorno);
               }
        } // switch(mesn)
        
        } // if (dian > 0)
       
          else
           {
             retorno = false;
             return(retorno);
           } 
    }  // (validación de mes,dia y anio)
      else
       {
         retorno = false;
         return(retorno);
       } 

   


  return(retorno);


 } // fin función






function esEmail(nombre)
   { 
   
     /* Esta función valida si un nombre es una dirección de email válida
        ej: elkinmarenco@yahoo.com
            pepito.perez@citicorp.com
            pepito@cmba.umb.edu
            pepito-pablito.martinez@citicorp.com
            
    */
    
    //var email_regex = /^\w+\.{0,1}\w+@\w+\.\w+$/;
    //var email_regex = /^\w+\.{0,1}\w+@\w+(\.\w+)+$/;
    var email_regex = /^\w+(-\w+)*\.{0,1}\w+@\w+(\.\w+)+$/;
    
     if (!email_regex.test(nombre))
         {
             
             
             return(false);
         }
     return(true);
   }


function valtexto(valor) {
/* Esta función borra los espacios en blanco,, retornos de carro
   cambios de línea etc. de la parte izquierda y derecha de una cadena */
   
	var retString;
	var iniPos;
	var endPos;
	var ch;

	// blancos del comienzo
	iniPos = 0;
	ch = valor.charAt(iniPos);
	while (ch == "'") {
		iniPos++;
		ch = valor.charAt(iniPos);
	}

	
	retString = valor.substring(iniPos);

	return retString;
}

