    var a, mes, dia, anyo, febrero;

    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 + 1900;
        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 fecha > cadena de texto de la fecha introducida por el usuario
    */
    function validar_fecha(pfecha)
    {
       /**
       * obtenemos la fecha introducida y la separamos en dia, mes y año
       */
       a=pfecha;
       dia=a.split("/")[0];
       mes=a.split("/")[1];
       anyo=a.split("/")[2];
       
       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))
       {
//           alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
//           document.forms[0].fecha.focus();
//           document.forms[0].fecha.select();
           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)))
       {
//           alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
//           document.forms[0].fecha.focus();
//           document.forms[0].fecha.select();
           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)))
       {
//           alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
//           document.forms[0].fecha.focus();
//           document.forms[0].fecha.select();
           return false;
       }
       /**
       * si el mes introducido es de 30 dias y el dia introducido es mayor de 301 > alertamos y detenemos ejecucion
       */
       if (((mes==4) || (mes==6) || (mes==9) || (mes==11)) && ((dia<1) || (dia>30)))
       {
//           alert("El dia introducido no es valido. Por favor, introduzca un dia correcto");
//           document.forms[0].fecha.focus();
//           document.forms[0].fecha.select();
           return false;
       }
       /**
       * si el mes año introducido es menor que 1900 o mayor que 2010 > alertamos y detenemos ejecucion
       * NOTA: estos valores son a eleccion vuestra, y no constituyen por si solos fecha erronea
       */
       if ((anyo<1900) || (anyo>2010))
       {
	   		return false;
//           alert("El año introducido no es valido. Por favor, introduzca un año entre 1900 y 2010");
//           document.forms[0].fecha.focus();
//           document.forms[0].fecha.select();
       } 
       /**
       * en caso de que todo sea correcto > enviamos los datos del listadoForm
       * para ello debeis descomentar la ultima sentencia
       */
       else return true;
          //alert("La fecha introducida es correcta. Gracias por su colaboración");
          //document.forms[0].submit();    
    }
	
	function valida_data(dd,mm,yyyy)
	{
		return validar_fecha(""+dd+"/"+mm+"/"+yyyy);
	}

