function ComprobarPassword(s, campo, msg)
{
  if ( s.length<5 || s.length>12)
  {
     alert(campo + ": " + msg);
     return false;
  }
  else return true;
}

function Vacio(s)
{
    if ((s == null) || (s.length == 0))
    {
    	return true;
    }
    else return false;
}

function Vacio1(s, msg, campo)
{
    if (Vacio(s))
    {
    	alert(msg + '\n' + campo);
    	return true;
    }
    else return false;
}

function es_digito2(s)
{
		var x = 0;
		for (i=0; i<s.length; i++)
		{
			if( s.charAt(i) < '0' || s.charAt(i) > '9' ) x++;
		}
		return (x); 
}

function telefono(s, msg, campo){
	var i = es_digito2(s);
	if ( i == '0') return false    
	else {
  	alert(msg + '\n' + campo);
  	return true;
  }
}

function trim (s)
{
    var i = 0;

    while ((i < s.length) && (s.charAt(i)==' '))
       i++;
    
    return s.substring (i, s.length);

}

function es_digito( s )
{
   if( s < '0' || s > '9' )
      return false;
   return true; 
}


function es_numero1( s, msg )
{
    	alert(s);    	
			alert(msg);
    if (!es_numero(s) && !Vacio(s))
    {
    	alert(msg);
    	return false;
    }
    else return true;
}

function es_numero( s )
{
   for( i=0; i<s.length; i++ )
   {
      if (!es_digito(s.charAt( i )))
         return false;
   }
   return true;
}

function es_fecha1(s, msg )
{

  if (!Vacio( s ) )
  {  
    if( !es_formato_fecha( s ) )
    {
      alert("El formato de la fecha debe ser: DD/MM/YYYY.");
      return false;
    }
    if( !es_fecha( s ) )
    {
      alert(msg);
      return false;
    }
    return true;
  }
  return true;
}

function es_formato_fecha( s )
{
   if( s.length != 10 )
      return false;

   for( k=0 ; k<10 ; k++ )
   {
      if( k == 2 || k == 5 )
      {
         if( s.charAt( k ) != '/' )
            return false;
      }
      else
      {
         if( !es_digito( s.charAt( k ) ) )
            return false;
      }
   }
   return true;
}

function es_mes( s1, s2 )
{
   if (Vacio(s2))
   {
      s2 = s1;
      s1 = '0';
   }	
   mes = s1 + s2;
   if( mes < 1 || mes > 12 )
      return false;
   else return true;
}   
   

function es_fecha( s )
{
   if( s.length != 10 )
      return false;
   dia = s.charAt(0) + s.charAt(1);
   mes = s.charAt(3) + s.charAt(4);
   anyo = s.charAt(6) + s.charAt(7) + s.charAt(8) + s.charAt(9);
   if( dia < 1 || dia > 31 )
      return false;
   if( !es_mes(s.charAt(3), s.charAt(4)))
      return false;
   if( anyo < 1901 || anyo > 3010 )
      return false;
   if( ( mes == 4 || mes == 6 || mes == 9 || mes == 11 ) && ( dia > 30 ))
      return false;
   if( ( anyo % 4 != 0) && ( mes == 2 ) && ( dia > 28 ) )
      return false;
   if( ( anyo % 4 == 0) && ( mes == 2 ) && ( dia > 29 ) )
      return false;
   return true;
}

function es_alfa( s )
{
   if( ( s >= 'a' && s <= 'z' ) || ( s >= 'A' && s <= 'Z' ) )
      return true;
   return false;
}

function es_alfanumerico( s )
{
   if( !es_digito( s ) && !es_alfa( s ) )
      return false;
   return true; 
}

function es_CP1(s, msg)
{
    if (!es_CP(s) && !Vacio(s))
    {
    	alert(msg);
    	return false;
    }
    else return true;
}


function es_CP( s )
{
   if( s.length != 5 )
      return false;
   if (!es_numero(s))
     return false;
   else
     return true; 
}

function es_NIF1(s, msg)
{
    if (!es_NIF(s) && !Vacio(s))
    {
    	alert(msg);
    	return false;
    }
    else return true;
}


function es_cadena_numerica( s )
{
   var i;
   for( i = 0 ; i < s.length ; i++ )
      if( !es_numero( s.charAt( i ) ) )
         return false;
   return true;
}



function es_NIF( s )
{
   cadena = s.substring(0, s.length-1);
   if( !es_cadena_numerica( cadena ) )
      return false;
   if( !es_alfa( s.charAt( s.length-1 ) ) )
      return false;
   return true; 
}


function es_telefono1(s, msg)
{
    if (!es_telefono(s) && !Vacio(s))
    {
    	alert(msg);
    	return false;
    }
    else return true;
}

function es_telefono( s )
{
   if( s.length != 9 )
      return false;
   if (!es_numero(s))
     return false;
   else
     return true; 
}

function es_direccion_simple1(s, msg)
{
    if (!es_direccion_simple(s) && !Vacio(s))
    {
    	alert(msg);
    	return false;
    }
    else return true;
}


function es_direccion_simple( direccion )
{
   arroba = 0;
   punto = 0;
   caracter = 0;
   longit = direccion.length;
   anterior_punto = false;
   for( i = 0; i < longit; i++ )
   {
      if( direccion.charAt( i ) == ' ' || direccion.charAt( i ) == ',' ||
      direccion.charAt( i ) == 'ñ' || direccion.charAt( i ) == 'ç' ||
      direccion.charAt( i ) == 'Ñ' || direccion.charAt( i ) == 'Ç' ||
      direccion.charAt( i ) == ';' )
      {
         arroba = 1000;
         break;
      }
       
      if( es_alfanumerico( direccion.charAt( i ) ) )
         caracter++;

      if( direccion.charAt( i ) == '@' )
      {
         if( caracter == 0 )
         {
            arroba = 1000;
            break;
         }
         else
         {
            caracter = 0;
            arroba++;
         }
      }
         
      if( direccion.charAt( i ) == '.' )
      {
         if( anterior_punto || caracter == 0 )
         {
            arroba = 1000;
            break;
         }
         if( caracter != 0 )
         {
            if( arroba > 0 )
               punto++;
            anterior_punto = true;
            caracter = 0;
         }
      }
      else
         if ( anterior_punto )
            anterior_punto = false;
   }
      
   if( ( arroba != 1 ) || ( punto == 0 ) || ( caracter == 0 ) )
      return false;
   else
      return true;
}
  
function ComprobarMails(mail,mail2, msg)
{
  if ( mail != mail2)
  {
     alert(msg);
     return false;
  }
  else return true;
}

function DistinguirMails(mail,mail2, msg)
{
  if ( mail == mail2)
  {
     alert(msg);
     return true;
  }
  else return false;
}

function isValidEmail(str) {

   if(str!=null){
	   return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
   }else{
   	   return false;
   }//end del if

}

function ComprobarRadio(s, campo, msg)
{
  if (( s == '') || ( s == 'undefined'))
  {
     alert(msg + ": " + campo);
     return false;
  }
  else return true;
}

function textarea(car,tot,msg){
		if (tot > car)
		{
			alert (msg);
			return false;
		}
		else return true; 
} 

function comprobarCodigoPostal(CP, idPais){
  
  var subCP = CP.substr(0,2);//Recortamos el valor del Codigo Postal que nos interesa, los dos primeros d?gitos
 
  switch(idPais.substr(0,3)) {
    case '019': //Channel Islands
      switch(subCP){
          case 'GY':return true;//Guernsey 
          case 'JE':return true;//Jersey
          default: return false;
      }//end del switch(subCP)
    case '006': //UK
      switch(subCP){
          case 'GY':return false;//Guernsey 
          case 'JE':return false;//Jersey
          default: return true;
      }//end del switch(subCP)
    case '021': //canarias
      switch(subCP){
          case '35':return true;//Tenerife
          case '38':return true;//Gran Canaria
          default: return false;
      }//end del switch(subCP)
    case '022': //Ceuta
      if(subCP == '51')return true;
           else return false;
    case '023': //Melilla
      if(subCP == '52')return true;
           else return false;
    case '001': //España(Península y Baleares)
    	switch(subCP){
          case '35':return false;//Tenerife
          case '38':return false;//Gran Canaria
          case '51':return false;//Ceuta
          case '52':return false;//Melilla
          default: return true;
      }//end del switch(subCP)
    default: return true;
  }//end del switch(idPais)

}//end function comprobarCodigoPostal(codigo)