<!--

//paso la fecha como string dd/mm/aaaa y valido que sea una fecha correcta,
//en formato correcto   -   devuelvo true o false
function validarfecha(strFecha) {
	//divido el string usando el separador barra o guión
	var arrFecha = "" ;
	if (strFecha.indexOf("/")!=-1){
		var arrFecha = strFecha.split ("/");
	}
	if (strFecha.indexOf("-")!=-1){
		var arrFecha = strFecha.split ("-");
	}
	//me fijo si el array tiene tres partes
	if (arrFecha.length==3) {
		//me fijo si la primer parte es un número y menor a 31
		if ((!isNaN(arrFecha[0])) && arrFecha[0] <= 31) {
			//me fijo si la segunda parte es un número y menor a 12
			if ((!isNaN(arrFecha[1])) && arrFecha[1] <= 12) {
				//me fijo si la tercera parte es un número y tiene 4 cifras
				if ((!isNaN(arrFecha[2])) && arrFecha[2].length==4) {
					return true;
				}
			} 
		}
	}
	return false;
}



function crearalmanaque(strAnio,strMes,strDia) {
  var Meses=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
  if (!strAnio || !strMes) {
  	var Hoy=new Date();
  }
  else
  {
  	var Hoy=new Date(strAnio,(strMes-1),1);
  }
  var EsteDia;
  var DiasPorMes=[31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31];
  var strSalida="";
  	
  Anyo=Hoy.getYear(); // Si el año es anterior a 2000 debe sumarse 1900 a la cantidad obtenida
  if (Anyo<2000) {
  	Anyo+=1900;
  }
  
  var HoyXXX = new Date();
  EsteDia = HoyXXX.getDate();

  // Actualizacion del mes de Febrero (por los anyos bisiestos)
  if (((Anyo % 4 == 0) && (Anyo % 100 != 0)) || (Anyo % 400 == 0))
    DiasPorMes[1] = 29; 
  // Numero de dias del mes actual
  NDias =DiasPorMes[Hoy.getMonth()];

  // Calculo que dia de la semana es el primero del mes
  PrimerDia=Hoy;
  PrimerDia.setDate(1);
  // Observacion: Obtengo el dia de hoy (p.e, 10-11-1999) y calculo que dia de la semana 
  // es el dia 1 del mismo mes y anyo (p.e, 1-11-1999) 
  Comienzo=PrimerDia.getDay();
     
	//calculo el mes anterior y posterior
	var mescorrecto = Hoy.getMonth()+1
	
	if (mescorrecto==1) {
		var anioanterior = Anyo-1;
		var mesanterior = 12;
		var aniosiguiente = Anyo;
		var messiguiente = 2;
	}
	else if (mescorrecto==12) {
		var anioanterior = Anyo;
		var mesanterior = 11;
		var aniosiguiente = Anyo+1;
		var messiguiente = 1;
	}
	else
	{
		var anioanterior = Anyo;
		var mesanterior = mescorrecto-1;
		var aniosiguiente = Anyo;
		var messiguiente = mescorrecto+1;
	}
	
	
	 
   // guardo en la variable strSalida la tabla correspondiente al mes actual
   strSalida += "<table class=almanaque width=140 border=0 cellpadding=1 cellspacing=1 bgcolor=#cccccc>\r";
   strSalida += "<TR><TD align=center COLSPAN=2 bgcolor=#cccccc><a class=bln href='javascript:cargaralmanaque("+(Anyo-1)+","+mescorrecto+","+EsteDia+")'>&lt;&lt;</a></TD>\r";
   // Escribo en nombre del año en la cabecera de la tabla
   strSalida += "<TD bgcolor=#eeeeee COLSPAN=3 align=center><span class=mesalmanaque><b>"+Anyo+"</b></span></TD>\r";
   strSalida += "<TD align=center COLSPAN=3 bgcolor=#cccccc><a class=bln href='javascript:cargaralmanaque("+(Anyo+1)+","+mescorrecto+","+EsteDia+")'>&gt;&gt;</a></TD></TR>\r";
   strSalida += "<TR><TD align=center bgcolor=#ff0000><a class=bln href='javascript:cargaralmanaque("+anioanterior+","+mesanterior+","+EsteDia+")'>&lt;</a></TD>\r";
   // Escribo en nombre del mes en la cabecera de la tabla
   strSalida += "<TD bgcolor=#ffffff COLSPAN=5 align=center><span class=mesalmanaque>"+Meses[Hoy.getMonth()]+"</span></TD>\r";
   strSalida += "<TD align=center bgcolor=#ff0000><a class=bln href='javascript:cargaralmanaque("+aniosiguiente+","+messiguiente+","+EsteDia+")'>&gt;</a></TD></TR>\r";
   strSalida += "<TR bgcolor=dddddd align=center><TD>";
   strSalida += "D</TD><TD>L</TD><TD>M</TD><TD>M</TD><TD>J</TD><TD>V</TD><TD>S</TD></TR>\r";


   columna=0;
   // Escritura de los espacios en blanco iniciales de la tabla
   for (i=0; i<Comienzo; i++)
      {
        if (columna==0 || columna==6) {
			strSalida += "<TD BGCOLOR=#eeeeee>&nbsp;</TD>\r";
		} else {
			strSalida += "<TD BGCOLOR=#FFFFFF>&nbsp;</TD>\r";
		}
        columna++;
      }
   // Escritura de los dias del mes
	 for (i=1; i<=NDias; i++)
      { 
        if (i == EsteDia && Anyo == HoyXXX.getYear() && mescorrecto == (HoyXXX.getMonth()+1) && columna != 0 && columna != 6)
		{
        	strSalida += "<TD BGCOLOR=#ffffcc ALIGN=CENTER>";
			var strfecha = (Anyo+","+mescorrecto+","+i); 
        	strSalida += "<a href='javascript:buscar("+strfecha+")' class=neg>"+i+"</a>";
		}
		else if (i == EsteDia && Anyo == HoyXXX.getYear() && mescorrecto == (HoyXXX.getMonth()+1) && columna == 0)
		{
        	strSalida += "<TD BGCOLOR=#ffffcc ALIGN=CENTER><span class=roj>"+i+"</span>";
		}
		else if (i == EsteDia && Anyo == HoyXXX.getYear() && mescorrecto == (HoyXXX.getMonth()+1) && columna == 6)
		{
        	strSalida += "<TD BGCOLOR=#ffffcc ALIGN=CENTER><span class=neg>"+i+"</span>";
		}
		else if (columna == 0)
		{
			strSalida += "<TD BGCOLOR=#eeeeee ALIGN=CENTER><span class=roj>"+i+"</span>";
		}
		else if (columna == 6)
		{
			strSalida += "<TD BGCOLOR=#eeeeee ALIGN=CENTER><span class=neg>"+i+"</span>";
		}
		else
		{
			strSalida += "<TD BGCOLOR=#FFFFFF ALIGN=CENTER>";
			var strfecha = (Anyo+","+mescorrecto+","+i);
        	strSalida += "<a href='javascript:buscar("+strfecha+")' class=neg>"+i+"</a>";
		}

        strSalida += "</TD>\r";
		columna++;
        if (columna == 7)
          { 
		  	strSalida += "</TR><TR>\r"; // Comienza una nueva fila
            columna=0;
          }
      }
	   // Escritura de los espacios en blanco finales de la tabla
	  if (columna!=0) {
		   for (i=columna; i<7; i++)
			  {
				if (columna==0 || columna==6) {
					strSalida += "<TD BGCOLOR=#eeeeee>&nbsp;</TD>\r";
				} else {
					strSalida += "<TD BGCOLOR=#FFFFFF>&nbsp;</TD>\r";
				}
				columna++;
			  }
	  }	  
     strSalida += "</TR>\r</TABLE>\r";
	 return strSalida;
}

//-->