
	/**
    * funcion que valida que una cadena de texto podría ser una direción de email
    * argumento valor > cadena de texto introducida por el usuario
    */

	function formatoEmail(valor) {
		if (valor.length>0){
			if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor)){
				return (true);
			}
			else{
				return (false);
			}
		}else return (true);
	}

	/**
    * funcion que valida que una cadena de texto podría ser un código postal
    * argumento valor > cadena de texto introducida por el usuario
    */

	function formatoURL(valor){
		if (valor.substring(0,7)=="http://")
		{
			return (true);
		}
		else
		{
			return (false);
		}
	}

	function formatoCP(valor){
		var reg = new RegExp("^([0-9]{5}){0,1}$","g");
		if (!reg.test(valor)) {
			return(false);
		}
		if(valor>53000)
			return(false);
		return(true);
	}

	/**
    * funcion que valida que una cadena de texto podría ser un  número de teléfono
    * argumento valor > cadena de texto introducida por el usuario
    */

	function formatoTlf(valor){
		var reg = new RegExp("^([0-9]{9,}){0,1}$");

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

	 /**
    * funcion que valida que una cadena de texto no contenga espacios
    * argumento valor > cadena de texto introducida por el usuario
    */

	function formatoCadena(valor){
		var s = valor;
		//si esta vacio
		if ((s == null) || (s.length == 0)){
			return true;
		}
		//si tiene caracteres que no son espacios
		for (i = 0; i < s.length; i++){
			if (s.charAt(i) != " ") return false;
		}
		return true;
	}

    /**
    * definimos las variables globales que van a contener la fecha completa, cada una de sus partes
    * y los dias correspondientes al mes de febrero segun sea el año bisiesto o no
    */
    var a, mes, dia, anyo, febrero;

    /**
    * funcion para comprobar si una año es bisiesto
    * argumento anyo > año extraido de la fecha introducida por el usuario
    */
    function anyoBisiesto(anyo)
    {
        /**
        * si el año introducido es de dos cifras lo pasamos al periodo de 1900. Ejemplo: 25 > 1925
        */
        if (anyo < 100)
            var fin = anyo + 2000;
        else
            var fin = anyo ;

        /*
        * primera condicion: si el resto de dividir el año entre 4 no es cero > el año no es bisiesto
        * es decir, obtenemos año modulo 4, teniendo que cumplirse anyo mod(4)=0 para bisiesto
        */
        if (fin % 4 != 0)
            return false;
        else
        {
            if (fin % 100 == 0)
            {
                /**
                * si el año es divisible por 4 y por 100 y divisible por 400 > es bisiesto
                */
                if (fin % 400 == 0)
                {
                    return true;
                }
                /**
                * si es divisible por 4 y por 100 pero no lo es por 400 > no es bisiesto
                */
                else
                {
                    return false;
                }
            }
            /**
            * si es divisible por 4 y no es divisible por 100 > el año es bisiesto
            */
            else
            {
                return true;
            }
        }
    }

    /**
    * funcion principal de validacion de la fecha
    * argumento valor > cadena de texto de la fecha introducida por el usuario
    */
    function formatoFecha(valor)
    {
       /**
       * obtenemos la fecha introducida y la separamos en dia, mes y año
       */
       a=valor;
       anyo=a.split("-")[0];
       mes=a.split("-")[1];
       dia=a.split("-")[2];

       formato_fecha=true;
	   if (valor){
		if (isNaN(dia)) formato_fecha=false;
		if (isNaN(mes)) formato_fecha=false;
		if (isNaN(anyo)) formato_fecha=false;
	   }
	   if (formato_fecha==false){
			return false;
	   }

	   if (anyo.length!=4) return false;
	   if (mes.length!=2 ) return false;
	   if (dia.length!=2 ) return false;

       if(anyoBisiesto(anyo))
           febrero=29;
       else
           febrero=28;
       /**
       * si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
       */
       if ((mes<1) || (mes>12))
       {
           return false;
       }
       /**
       * si el mes introducido es febrero y el dia es mayor que el correspondiente
       * al año introducido > alertamos y detenemos ejecucion
       */
       if ((mes==2) && ((dia<1) || (dia>febrero)))
       {
           return false;
       }
       /**
       * si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
       */
       if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)))
       {
           return false;
       }
       /**
       * si el mes introducido es de 30 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
       */
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
       {
           return false;
       }
       /**
       * en caso de que todo sea correcto > enviamos los datos del formulario
       */
       else
		  return true;
    }

	function formatoFechaES(valor)
    {
       /**
       * obtenemos la fecha introducida y la separamos en dia, mes y año
       */
       a=valor;
	   dia=a.split("-")[0];
	   mes=a.split("-")[1];
       anyo=a.split("-")[2];

       formato_fecha=true;
	   if (valor){
		if (isNaN(dia)) formato_fecha=false;
		if (isNaN(mes)) formato_fecha=false;
		if (isNaN(anyo)) formato_fecha=false;
	   }
	   if (formato_fecha==false){
			return false;
	   }

	   if (anyo.length!=4) return false;
	   if (mes.length!=2 ) return false;
	   if (dia.length!=2 ) return false;

       if(anyoBisiesto(anyo))
           febrero=29;
       else
           febrero=28;
       /**
       * si el mes introducido es negativo, 0 o mayor que 12 > alertamos y detenemos ejecucion
       */
       if ((mes<1) || (mes>12))
       {
           return false;
       }
       /**
       * si el mes introducido es febrero y el dia es mayor que el correspondiente
       * al año introducido > alertamos y detenemos ejecucion
       */
       if ((mes==2) && ((dia<1) || (dia>febrero)))
       {
           return false;
       }
       /**
       * si el mes introducido es de 31 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
       */
       if (((mes==1) || (mes==3) || (mes==5) || (mes==7) || (mes==8) || (mes==10) || (mes==12)) && ((dia<1) || (dia>31)))
       {
           return false;
       }
       /**
       * si el mes introducido es de 30 dias y el dia introducido es mayor de 31 > alertamos y detenemos ejecucion
       */
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
       {
           return false;
       }
       /**
       * en caso de que todo sea correcto > enviamos los datos del formulario
       */
       else
		  return true;
    }


function formatoAno( var_ano )
{
	var longitud = var_ano.value.length;
	var ano 	 = var_ano.value;

	if (longitud==4)
	{
		var anoInt=parseInt(ano);
		var pDigito=ano.substring(1,2);
		var sDigito=ano.substring(2,3);
		var tDigito=ano.substring(3,4);

		var d1=parseInt(pDigito);
		var d2=parseInt(sDigito);
		var d3=parseInt(tDigito);

		if 	(isNaN(anoInt)==false && isNaN(d1)==false && isNaN(d2)==false && isNaN(d3)==false)
		{
			return true;
		}
		else
		{
			alert ("Debe introducir correctamente o ano, Ex:2006.");
			var_ano.focus();
			return false;
		}
	}else if (longitud==0){
		return true;
	}
	else{
		alert ("Debe introducir correctamente o ano, Ex:2006.");
		var_ano.focus();
		return false;
	}
	return true;
}

function validarSiNumero(numero){
	if (!/^([0-9])*$/.test(numero)){
		return false;
	}else{
		return true;
	}
}