
var months = new makeArray('Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre');

function makeArray() {
    for (i = 0; i<makeArray.arguments.length; i++)
         this[i + 1] = makeArray.arguments[i];
}

function createCalendar(year, month, day, selectedYear,selectedMonth,prefixLink,firstdate) {
	 date = new Date(selectedYear,selectedMonth-1,1);
	 today = new Date();
//	 date.setDate(1);
	 var startDay  = date.getDay();
	 var daysinmonth = new makeArray(31,28,31,30,31,30,31,31,30,31,30,31);
	 if (((selectedYear % 4 == 0) && (selectedYear % 100 != 0)) || (selectedYear % 400 == 0)) daysinmonth[2] = 29;
	 var nDays = daysinmonth[selectedMonth];
	 output = "";
	 prevyear = selectedYear;
	 if (prefixLink == "undefined" || prefixLink == undefined) prefixLink = "";
	 prevmonth= selectedMonth-1;
	 if (prevmonth==0) {
	 	prevmonth=12;
		prevyear=prevyear-1;
	 }
	 nextyear = selectedYear;
	 nextmonth = selectedMonth+1;
	 if (nextmonth==13) {
	 
	 	nextmonth=1;
		nextyear+=1;
	 }
	 output += "<table class=calendar border=0 cellspacing=1 cellpadding=0 style=\"height:auto\">";
	 output += "<tr><td colspan=7 class=month align=center>";
	 output += "<table width=100% cellspacing=0 cellpadding=0><tr>";
	 output += "<td class=month align=left>" + months[selectedMonth] + "&nbsp;" + selectedYear + "</td>";
	 output += "<td width=25 align=right class=month><img vspace=4 hspace=2 width=10 height=10 style=\"cursor:hand\" src=\"/0/img/Im_Cal-AntOn.gif\" onClick=\"javascript:createCalendar("+year+","+month+","+day+","+prevyear+","+prevmonth+",'"+prefixLink+"','"+firstdate+"')\"></td>";
	 output += "<td width=25 align=right class=month><img vspace=4 hspace=2 width=10 height=10 style=\"cursor:hand\" src=\"/0/img/Im_Cal-SigOn.gif\" onClick=\"javascript:createCalendar("+year+","+month+","+day+","+nextyear+","+nextmonth+",'"+prefixLink+"','"+firstdate+"')\"></td>";
	 output += "</tr></table>";
	 output += "</TD></TR>";
	 output += "<tr>";
	 output += "<td align=center class=dayofweek>Dom</td>";
	 output += "<td align=center class=dayofweek>Lun</td>";
	 output += "<td align=center class=dayofweek>Mar</td>";
	 output += "<td align=center class=dayofweek>Mie</td>";
	 output += "<td align=center class=dayofweek>Jue</td>";
	 output += "<td align=center class=dayofweek>Vie</td>";
	 output += "<td align=center class=dayofweek>Sáb</td>";
	 output += "</tr>";
	 output += "<tr>";
	 column = 0;
	 for (i=0; i<startDay; i++) {
	   output += "<td class=noday>&nbsp;</td>";
	   column++;
	 }
	 height=0;
	 for (i=1; i<=nDays; i++) {
	   if ((selectedYear==year) && (selectedMonth == month) && (i==day)) {
	   	 istoday = true; 
	     output += "<td align=center class=today>";
	   } else {
	   	 istoday = false; 
	     output += "<td align=center class=day>";
	   }
	   
   	   linkdate = selectedYear+"/";
	   linkdate+= (selectedMonth < 10) ? '0' + selectedMonth : selectedMonth;
	   linkdate+= "/";
	   linkdate+= (i < 10) ? '0' + i : i;
	   linkdate+= "/";
	   if (prefixLink) linkdate += prefixLink;
	   if(dateinrange(linkdate,firstdate)) {
		   if(istoday) {
			   	output += "<a class=daylink href=\"/\">"+i+"</a>";
	 	   } else {
				output += "<a class=daylink href=\"/"+linkdate+"\">"+i+"</a>";
		   }
	   } else {
		   output += i;
	   }
	   output += "</td>";
	   column++;
	   if (column == 7) {
	   	 height +=1;
	     output += "</tr><tr>"; 
	     column = 0;
	   }
	 }
	for (i=0; i<7-column; i++) {
		output += "<td class=noday>&nbsp;</td>";
	}
	if (height<5) {
		output += "</tr><tr>";
		for (i=0; i<7; i++) {
			output += "<td class=noday>&nbsp;</td>";
		}
	}
	output += "</tr></table>";
	document.getElementById('calendar').innerHTML = output;
}

function dateinrange(checkdate, firstdate) {
	// Controla si la fecha pasada está entre la fecha del lanzamiento del diario y el día de hoy
	if (firstdate == "undefined" || firstdate == undefined) firstdate = '2007/08/09';
	/*
	var date = new Date();
	lastdate = date.getYear()+'/';
	lastdate+= ((date.getMonth()+1) < 10) ? '0' + (date.getMonth()+1) : (date.getMonth()+1);
	lastdate+= "/";
	lastdate+= (date.getDate() < 10) ? '0' + date.getDate() : date.getDate();
	*/
	var today = new Date();
	var dd = today.getDate();
	var mm = today.getMonth()+1;//January is 0!
	var yyyy = today.getFullYear();
	if(dd<10){dd='0'+dd}
	if(mm<10){mm='0'+mm}
	var lastdate = yyyy+'/'+mm+'/'+dd;
	return (checkdate >= firstdate && checkdate <= lastdate);
}