
function esBisiesto(Any)
{
	//Un aņo es bisiesto si es divisible por 4 y no por 100, excepto los aņos divisibles por 400. 
	return (((Any % 4 == 0) && (Any % 100 != 0)) || (Any % 400 == 0))
}

function isDate(Data)
{
	var esFecha = false;
	var aux = Data.split("/");
	if (aux.length == 3)
	{
		if ( (!isNaN(aux[0])) && (!isNaN(aux[1])) && (!isNaN(aux[2])) )
		{
			if ( (aux[1] >= 1) && (aux[1] <= 12) && ((aux[2].length == 2) || (aux[2].length == 4)))
			{
				if ( (aux[1] == 1) || (aux[1] == 3) || (aux[1] == 5) || (aux[1] == 7) || (aux[1] == 8) || (aux[1] == 10) || (aux[1] == 12) )
				{
						if ( (aux[0] >= 1) && (aux[0] <= 31) )
						{
							esFecha = true;
						}
				}
				else
				{
					if ( (aux[1] == 4) || (aux[1] == 6) || (aux[1] == 9) || (aux[1] == 11) )
					{
						if ( (aux[0] >= 1) && (aux[0] <= 30) )
						{
							esFecha = true;
						}
					}
					else
					{
						if ( aux[1] == 2)
						{
							if ( esBisiesto(aux[2]) )
							{
								if ( (aux[0] >= 1) && (aux[0] <= 29) )
								{
									esFecha = true;
								}
							}
							else
							{
								if ( (aux[0] >= 1) && (aux[0] <= 28) )
								{
									esFecha = true;
								}
							}
						}
					}
				}
			}
		}
	}
	if (Data=="")
	{
		esFecha = true;
	}
	return esFecha;
}

function formateDate (Element,Data)
{
	var isFecha=Data;
	if (Data!="")
	{
		if (isDate(Data))
		{
			var aux = Data.split("/");
			if (aux[0].length<2) aux[0]="0"+aux[0]; // Formateamos el dia DD
			if (aux[1].length<2) aux[1]="0"+aux[1]; // Formateamos el mes MM
			if (aux[2].length<4) aux[2]="20"+aux[2]; // Formateamos el aņo YYYY

			isFecha=aux[0]+"/"+aux[1]+"/"+aux[2];
		}
		else
		{
			//isFecha="";
			Element.focus();
			alert("'"+Data+"' no es una fecha correcta.");
		}
	}
	return isFecha;
}

function Month(Data)
{
                    
    var isFecha=new String(gNow.getMonth());
		if (isDate(Data) && Data !="")
		{
			var aux = Data.split("/");
			if (aux[1].length<2) aux[1]="0"+aux[1]; // Formateamos el mes MM
			isFecha=aux[1];
		}
	return isFecha;
}

function Year(Data)
{
    var isFecha=new String(gNow.getFullYear().toString());
		if (isDate(Data) && Data !="")
		{
			var aux = Data.split("/");
			if (aux[2].length<4) aux[2]="20"+aux[2]; // Formateamos el aņo YYYY
			isFecha=aux[2];
		}
	return isFecha;
}