// Event Calendar
// copyright Stephen Chapman, 10th June 2006, 30th October 2006

var tb = 'b'; // top or bottom (t or b)
var headbg = '#ACBCD5';  // table heading background colour
var todaybg = '#ACBCD5'; // current selected date background colour
var textclr = '#000000'; // text colour
var linkclr = '#275FAA'; // link text colour
var noMessage =  'No hay eventos hoy.'; // message to display when no entry in array

var pageLoaded = 0;
window.onload = function() {pageLoaded = 1;}
function loaded(i,f) {
if (document.getElementById && document.getElementById(i) != null) f(); else if (!pageLoaded) setTimeout('loaded(\''+i+'\','+f+')',100);
}
function monthlength(month,year) {
	var dd = new Date(year, month, 0);
	return dd.getDate();
}
var moy = ['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'];
var today = new Date();
var selDate = today.getFullYear()+getmmdd(today.getMonth()+1,today.getDate());
function dispCal(yy,mm) {
	if (mm < 0 || mm > 12) {alert('month must be between 1 and 12'); return false;}
	if (yy != 0 && (yy < 1901 || yy > 2100)) {alert('year must be after 1900 and before 2101'); return false;}
	var dow = ['Lun','Mar','Mie','Jue','Vie','Sab','Dom'];
	var calendar = new Date(); 
	var today = calendar.getDate(); calendar.setDate(1);
	if (yy > 1900) calendar.setFullYear(yy); 
	if (mm > 0) calendar.setMonth(mm - 1); 
	var yy = year = calendar.getFullYear(); 
	var month = calendar.getMonth(); calendar.setDate(today); 
	var weekday = calendar.getDay();
	var daysInMonth = monthlength(month+1,year);
	var hilite_start = '<td width="30" style="border: 1px solid ' + todaybg + '" align="center"><b>';
	var td_start = '<td width="30" align="center">';
	var cal = '<div id="cal" class="cal"><div style="border:1pt solid #ACBCD5;height:220px;width:248px"><table border="0" cellspacing="7" cellpadding="2" align="center"><tr><td colspan="7" style="background:' + headbg + '" align="center"><b>' + moy[month]  + ' de ' + year + '<\/b><\/td><\/tr><tr>';
	for(dex=0; dex < 7; dex++) {
		cal += td_start + dow[dex] + '</td>';
	}
	cal += '<\/tr><tr>';
	var day2 = today;
	for (dex = today; dex > 6; dex -=7)
		day2 = dex; weekday -= day2 + 0;
	while (weekday < 0) 
		weekday += 7;
	for(dex=0; dex < weekday; dex++)
		cal += td_start + ' <\/td>';
	for(dex=1; dex <= daysInMonth; dex++) {
		if(weekday == 7) {
			cal += '</tr><tr>';
			weekday = 0;
		}
		if(selDate==year+getmmdd(month+1,dex))
		cal += hilite_start +'<span '+clickDate(dex,month,year) + '>'+ dex + '<\/span><\/b><\/td>';
		else cal += td_start + '<span '+clickDate(dex,month,year) + '>' + dex + '<\/span><\/td>'; weekday += 1;
	}
	for(dex=weekday; dex < 7; dex++)
		cal += td_start + ' <\/td>';
	cal += '<\/tr><\/table><\/div>';
	if (document.getElementById) {
		var mmb = month;
		mm = month + 1;
		var yya = yyb = yy;
		if (mmb <1) {
			mmb += 12; yyb--;
		}
		var mma = month + 2;
		if (mma > 12) {
			mma -= 12; yya++;
		}
		var yb = yy -1;
		var ya = yy +1;
		cal += '<table border="0" cellspacing="0" cellpadding="2" width="248"><tr><td><a href="#" onclick="if (cala = dispCal('+yyb+','+mmb+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="imagenes/ant.gif" border="0" alt=""></a></td><td>&nbsp;</td><td>&nbsp;</td><td align="right"><a href="#" onclick="if (cala = dispCal('+yya+','+mma+')) {document.getElementById(\'cal\').innerHTML = cala; return false;}"><img src="imagenes/sig.gif" border="0" alt=""></a></td></tr></table>';
	} else {
		cal += '<div> </div>';
	}
	cal += '</div>';
	return cal;
}
function start() {
	var x = '<div id="calDate" class="evento"><\/div>';
	var y = '';
	if (tb == 't') y = x + dispCal(0,0);
	else y = dispCal(0,0) + x;
	document.getElementById('calendar').innerHTML = y; ev();
}
loaded('calendar',start);
function clickDate(day, month, year) {
	var ct = nextDate(year + getmmdd(month+1,day));
	if (ct == '') ct = nextDate('0000' + getmmdd(month+1,day));
	if (ct == '') return 'style="cursor:default;color:'+textclr+'"';
	else return 'style="cursor:pointer;font-weight:bold;color:'+linkclr+'" onclick="selDate = '+year+ getmmdd(month+1,day)+'; isDate(' + day + ',' + month + ',' + year + ');return false;"';
}
function isDate(dayVal,monthVal,yearVal) {
	var ct = nextDate(yearVal + getmmdd(monthVal+1,dayVal));
	if (ct == '') ct = nextDate('0000' + getmmdd(monthVal+1,dayVal));
	if (ct == '') ct = noMessage;
	document.getElementById('calDate').innerHTML = '<strong>' + dayVal + ' de ' + moy[monthVal] + ' de ' + yearVal + '</strong><p>' +ct+ '</p>';
	return false;
}
function nextDate(yymmdd) {
	var x = dA.length;
	for (var i = 0; i < x; i++) {
		if (dA[i].substr(0,8) == yymmdd) return dA[i].substr(8);
	}
	return '';
}
function getmmdd(mm,dd) {return (mm > 9 ? '' + mm : '0' + mm) + (dd > 9 ? dd : '0' + dd);}
function ev() {
	var ct = nextDate(selDate);
	if (ct == '') ct = nextDate('0000' + selDate.substr(4));
	if (ct == '') ct = noMessage;
	
	document.getElementById('calDate').innerHTML = '<strong>' + selDate.substr(6,2) + ' de ' + moy[selDate.substr(4,2)-1] + ' de ' + selDate.substr(0,4) + '</strong><p>' +ct+ '</p>'
}
