// ***************************************************************
//      Indica si el campo tiene texto
// ***************************************************************
function CampoConTexto (cadena)
{
 var i=0;
 var result=false;
 if (cadena.length==0) //cadena vacía
  return result;
 else
 {
  while (cadena.charAt(i)==" " && cadena.length>=i) //elimina blancos iniciales
   i++;
  if ((cadena.length-i)<=0)
   return result;
  else
   return true;
 }
}	
	 
	
// ***************************************************************
//      Verifica que la dirección email tenga apariencia lógica
// ***************************************************************


function ValidarEMail(cadena) {
  
if (Cuenta(cadena,"@") != 1) { 
   return false;
   }
if (Cuenta(cadena,".") == 0) {
   return false;
   }

if (Cuenta(cadena," ") != 0) {
   return false;
   } 
var posArroba = Posicion(cadena,"@");
var posPunto = Ultimo(cadena,".");
if (posArroba > posPunto || posArroba + 1 == posPunto || posPunto + 3 > cadena.length){
    return false;    
    }
return true;
}

function Cuenta(cadena,car) 
{
var count = 0;
var i;
for (i = 0;i < cadena.length;i++)
    {
    if (cadena.charAt(i) == car) 
        count++;
    }
return count;
}

function Posicion(cadena,car) {
var pos = 0;
var i;
for (i = 0;i < cadena.length;i++) {
    if (cadena.charAt(i) == car) 
        pos=i;
    }
return pos;
}

function Ultimo(cadena,car) {
var pos = 0;
var i;
for (i = cadena.length;i >0;i--) {
    if (cadena.charAt(i) == car) {
        pos=i;
        i=0;
        }
    }
return pos;
}
// *********************************************************
//      Comprueba si la cadena es un número
// *********************************************************

function isNumber(cadena) 
{
for(i = 0;i<cadena.length;i++) 
   {
   if (!isDigit(cadena.charAt(i)))
      {
      return false;
      }
   }
return true;
}

// *********************************************************
//      Devuelve falso si el carácter no es un número
// *********************************************************

function isDigit(caracter) 
{
if (
   caracter != "0" &&
   caracter != "1" &&
   caracter != "2" &&
   caracter != "3" &&
   caracter != "4" &&
   caracter != "5" &&
   caracter != "6" &&
   caracter != "7" &&
   caracter != "8" &&
   caracter != "9")
   return false;
else
   return true;
}
// *****************************************************************
//      Comprueba si la cadena tiene caracteres de nombre no validos
// *****************************************************************

function ValidaEspecial(cadena) 
{
for(i = 0;i<cadena.length;i++) 
   {
   if (isEspecial(cadena.charAt(i)))
      {
      return false;
      }
   }
return true;
}
// **********************************************************************
//      Devuelve falso si el carácter no es valido para nombre de archivo
// **********************************************************************

function isEspecial(caracter) 
{
if (caracter == "," ||
    caracter == ";" ||
    caracter == "\\" ||
    caracter == "/" ||
    caracter == ":" ||
    caracter == "*" ||
    caracter == "?" ||
    caracter == '"' ||
    caracter == "<" ||
    caracter == ">" ||
    caracter == "|") {
	return true;
	}
return false;
}
// *********************************************************
//      Devuelve falso si la fecha no es lógica
// *********************************************************


function validarFecha(fecha) {
		try{
			var fecha = fecha.split("/");
			var dia = fecha[0];
			var mes = fecha[1];
			var ano = fecha[2];
			var estado = true;
			if ((dia.length == 2) && (mes.length == 2) && (ano.length == 4)) {
			
			switch (parseInt(mes,10)) {
			
				case 1:dmax = 31;break;
				
				case 2: if (ano % 4 == 0) dmax = 29;
				
				 else dmax = 28;
				 break;
				 
				case 3:dmax = 31;break;
				case 4:dmax = 30;break;
				case 5:dmax = 31;break;
				case 6:dmax = 30;break;
				case 7:dmax = 31;break;
				case 8:dmax = 31;break;
				case 9:dmax = 30;break;
				case 10:dmax = 31;break;
				case 11:dmax = 30;break;
				case 12:dmax = 31;break;
			}
			
			dmax!=""?dmax:dmax=-1;
		
		if ((dia >= 1) && (dia <= dmax) && (mes >= 1) && (mes <= 12)) {
			for (var i = 0; i < fecha[0].length; i++) {
				diaC = fecha[0].charAt(i).charCodeAt(0);
				(!((diaC > 47) && (diaC < 58)))?estado = false:'';
				mesC = fecha[1].charAt(i).charCodeAt(0);
				(!((mesC > 47) && (mesC < 58)))?estado = false:'';
				}
		}
		
		for (var i = 0; i < fecha[2].length; i++) {
			anoC = fecha[2].charAt(i).charCodeAt(0);
			(!((anoC > 47) && (anoC < 58)))?estado = false:'';
		}
		
		}else estado = false;
			return estado;
		}catch(err){
			//alert("Error fechas");
		}
	}


function numeroseparadores(cadenafecha) 
{
var count = 0;
for (i = 0;i < cadenafecha.length;i++)
    if (EsSeparador(cadenafecha.charAt(i))) 
        count++;
return count;
}



function EsSeparador(caracter)
{
return (caracter.charAt(0) == "-" || caracter.charAt(0) == "/")
}

function PrimerSeparador (cadena) {
var guion=cadena.indexOf("-");
var barra=cadena.indexOf("/");

if (guion == -1) 
   {
   return barra;
   } 
else 
   {
   if (barra == -1) 
      {
      return guion;
      } 
   else 
      {
      if (guion > barra)
         return barra;
      else
         return guion;
      }
   }
}

function SegundoSeparador (cadena) 
{
var guion=cadena.lastIndexOf("-");
var barra=cadena.lastIndexOf("/");
if (guion == -1) 
   {
   return barra;
   } 
else 
   {
   if (barra == -1) 
      {
      return guion;
      } 
   else 
      {
      if (guion < barra)
         return barra;
      else
         return guion;
      }
   }
}

		
function tieneNumeros(caracter) 
{
if (
   caracter == "0" ||
   caracter == "1" ||
   caracter == "2" ||
   caracter == "3" ||
   caracter == "4" ||
   caracter == "5" ||
   caracter == "6" ||
   caracter == "7" ||
   caracter == "8" ||
   caracter == "9")
   return true;
else
   return false;
}	

	
function esuntexto(cadena) 
{
for(i = 0;i<cadena.length;i++) 
   {
   if (tieneNumeros(cadena.charAt(i)))
      {
      return false;
      }
   }
return true;
}		
	

// Elimina caracteres de los extremos de la cadena
function trim(cadena,caracter)
{
	for(i=0; i<cadena.length; )
	{
		if(cadena.charAt(i)==caracter)
			cadena=cadena.substring(i+1, cadena.length);
		else
			break;
	}

	for(i=cadena.length-1; i>=0; i=cadena.length-1)
	{
		if(cadena.charAt(i)==caracter)
			cadena=cadena.substring(0,i);
		else
			break;
	}
	
	return cadena;
}



