function MM_swapImgRestore() { //v3.0
//  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	var i,x,a=document.MM_sr;
	for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++){
		if (img != null)
		{
			if (x.name != img.name)
				x.src=x.oSrc;
		}
		else
		x.src=x.oSrc;
	}
}

function MM_preloadImages() { //v3.0
	var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
	var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
	if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
	var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
	if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
	for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
	if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
	var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
	if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

var img=null;
var tabPanel = '';

function show_tabPanel(sLayer) {
	if (document.layers)
		eval("document." + tabPanel + ".visibility='hide'");
	else
		eval("document.all." + tabPanel + ".style.visibility='hidden'");
	tabPanel = sLayer
	if (document.layers)
		eval("document." + tabPanel + ".visibility='show''");
	else
		eval("document.all." + tabPanel + ".style.visibility='visible'");
	if (img != null)
	{
		if (img.name != document.MM_sr[0].name)
			img.src=img.oSrc;
	}
	img = document.MM_sr[0];
}

function Ini(panel, imagen, id){
	tabPanel = panel;
	MM_swapImage(id,'', imagen,1);
	img = document.MM_sr[0];
	show_tabPanel(panel);
}

function mOver(elemento) {
	if (elemento.className.substr(elemento.className.length - 3) == "Off")
		elemento.className = elemento.className.substr(0, elemento.className.length - 3) + "On";
}

function mOut(elemento) {
	if (elemento.className.substr(elemento.className.length - 2) == "On")
		elemento.className = elemento.className.substr(0, elemento.className.length - 2) + "Off";
}

function mClick(elemento) {
	if (event.srcElement.tagName == 'TD' && elemento.children.tags('A').length > 0)
		elemento.children.tags('A')[0].click();
}

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
*/
function validar(fieldToValid)
{
    /**
    * obtenemos la fecha introducida y la separamos en dia, mes y año
    */
    a=fieldToValid.value;
	//a=document.pizarra.fecha.value;
    dia=a.split("/")[0];
    mes=a.split("/")[1];
    anyo=a.split("/")[2];
	if( (isNaN(dia)==true) || (isNaN(mes)==true) || (isNaN(anyo)==true) )
	{
	    alert("La fecha introducida debe estar formada sólo por números");
		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))
    {
        alert("El mes introducido no es valido. Por favor, introduzca un mes correcto");
        fieldToValid.focus();
        fieldToValid.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");
        fieldToValid.focus();
        fieldToValid.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");
        fieldToValid.focus();
        fieldToValid.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");
        fieldToValid.focus();
        fieldToValid.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))
    {
        alert("El año introducido no es valido. Por favor, introduzca un año entre 1900 y 2010");
        fieldToValid.focus();
        fieldToValid.select();
		return false;
    } 
    /**
    * en caso de que todo sea correcto > enviamos los datos del formulario
    * para ello debeis descomentar la ultima sentencia
    */
    else
        //alert("La fecha introducida es correcta. Gracias por su colaboración");
		return true;
        //document.forms[0].submit();    
}
