// ----------------------------------------
//Leap Year derived from URL: http://www.hscripts.com/scripts/JavaScript/isLeapYear.php
function checkleapyear(datea)
// ----------------------------------------
{
	datea = parseInt(datea);
	
	if(datea%4 == 0)
	{
		if(datea%100 != 0)
		{
			//alert("aa:true" + datea );
			return true;
		}
		else
		{
			if(datea%400 == 0)
				{
					//alert("ab:true" + datea );
					return true;
				}
			else
				{
					//alert("ac:false" + datea );
					return false;
				}
		}
	}
//alert("ad:false" + datea );
return false;
}
// ----------------------------------------
// Calendar Date Parms
function QueryMonthParmsE(aMonthNum,aYearNum) 
// ----------------------------------------
{ 
var aResults = new Array(); 

var MonthName   = "Enero/January";
var DaysInMonth = 31;
var DaysOffset  = Claus_Tondering_DOW(1,1,aYearNum);
var MaxDays     = 42;

if ( aMonthNum == "02" ) { 
	MonthName    = "Febrero/February";
	var bitres = checkleapyear(aYearNum);
	if (bitres) {
		DaysInMonth  = 29;
	}
	else {
		DaysInMonth  = 28;
	}
	DaysOffset   = Claus_Tondering_DOW(1,2,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "03" ) { 
	MonthName    = "Marzo/March";
	DaysInMonth  = 31;
	DaysOffset   = Claus_Tondering_DOW(1,3,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "04" ) { 
	MonthName    = "Abril/April";
	DaysInMonth  = 30;
	DaysOffset   = Claus_Tondering_DOW(1,4,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "05" ) { 
	MonthName    = "Mayo/May";
	DaysInMonth  = 31;
	DaysOffset   = Claus_Tondering_DOW(1,5,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "06" ) { 
	MonthName    = "Junio/June";
	DaysInMonth  = 30;
	DaysOffset   = Claus_Tondering_DOW(1,6,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "07" ) { 
	MonthName    = "Julio/July";
	DaysInMonth  = 31;
	DaysOffset   = Claus_Tondering_DOW(1,7,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "08" ) { 
	MonthName    = "Agosto/August";
	DaysInMonth  = 31;
	DaysOffset   = Claus_Tondering_DOW(1,8,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "09" ) {
	MonthName    = "Septiembre/September";
	DaysInMonth  = 30;
	DaysOffset   = Claus_Tondering_DOW(1,9,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "10" ) { 
	MonthName    = "Octubre/October"; 
	DaysInMonth  = 31;
	DaysOffset   = Claus_Tondering_DOW(1,10,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "11" ) { 
	MonthName    = "Noviembre/November";
	DaysInMonth  = 30;
	DaysOffset   = Claus_Tondering_DOW(1,11,aYearNum);
	MaxDays      = 42;
}
if ( aMonthNum == "12" ) { 
	MonthName    = "Diciembre/December";
	DaysInMonth  = 31;
	DaysOffset   = Claus_Tondering_DOW(1,12,aYearNum);
	MaxDays      = 42;
}

aResults[0] = DaysInMonth;
aResults[1] = DaysOffset;
aResults[2] = MaxDays;
aResults[3] = MonthName;

return(aResults); 
}
// ----------------------------------------
// Day of Week derived from URL: http://www.tondering.dk/claus/calendar.html
function Claus_Tondering_DOW(aDay,aMonth,aYear) 
// ----------------------------------------
{ 
var a        = 0;
var y        = 0;
var m        = 0;
var temp0    = 0;
var temp1    = 0;
var temp2    = 0;
var temp3    = 0;
var temp4    = 0;
var temp5    = 0;
var aResults = 0;
var i = 0000;

//aDay        = 2;
//aMonth      = 8;
//aYear       = 1953;

a = 14 - aMonth;
a = Math.round(a/12 - .5);
y = aYear - a;

//m = aMonth + 12*a - 2;
m = 12*a;
m = m - 2;
m = aMonth + m;

temp0 = 31*m; 

temp1 = Math.round(y/4 - .5);
temp2 = Math.round(y/100 - .5);
temp3 = Math.round(y/400 - .5);
temp4 = Math.round(temp0/12 - .5);
temp5 = aDay + y + temp1 - temp2 + temp3 + temp4;
aResults = temp5 % 7;
//alert("a:" + a + "y:" + y + "m:" + m);
//alert("aDay:" + aDay + "y:" + y + "temp1:" + temp1 + "temp2:" + temp2 + "temp3:" + temp3 + "temp4:" + temp4 + "temp5:" + temp5);
//alert (' results ' + aResults);

return(aResults); 
}

// ----------------------------------------
// Show/Hide Text derived from URL: http://www.calcaria.net/javascript/2006/09/javascript-hover-over-html-popup.html
function ShowText(HI)
// ----------------------------------------
{
	st = document.getElementById(HI);
	st.style.top = document.getElementById("HIX").offsetTop + 2 + 'px';
	st.style.left = document.getElementById("HIX").offsetLeft + 2 + 'px';
	
	stplace = document.getElementById("HIX");
	stplace.style.border = "1px solid #FF4845";
	
	st.style.visibility = "Visible";
}
// ----------------------------------------
function HideText(HI)
// ----------------------------------------
{
	ht = document.getElementById(HI);
	ht.style.visibility = "Hidden";

	stplace = document.getElementById("HIX");
	stplace.style.border = "1px solid #FFFFFF";
}

// ----------------------------------------
function buildtable()
// ----------------------------------------
{
var EventArray   = new Array();
var EventElement = new Array();
var tempString   = new String("");
var DayNumber    = 01;
var DayNumber2   = 01;
var DaysCount    = 00;
var RowCells     = 01;
var d            = new Date();
var TodayNumber  = d.getDate();
var TodayMonth   = d.getMonth() + 1;

EventArray = QueryEvent(YearView,MonthView);
//alert("MonthView:" + MonthView);
//alert("TodayMonth:" + TodayMonth);

document.write("<div class='caldayi' id='HIX'>&nbsp;</div>");

for (var k = 0; k <= EventArray.length-1 ; k++) {
	EventElement = EventArray[k];
	if ( EventElement[7] ){
		document.write("<div class='calinfo' id='HI" + k + "'>" + EventElement[7] + "</div>");
	}
}

document.write("<table width='100%' class='calendar' id='t1'> <tr colspan='7'>");
document.write("<td> Domingo<br /> Sunday </td><td> Lunes<br /> Monday </td><td> Martes<br /> Tuesday </td><td> Miercoles<br /> Wednesday </td><td> Jueves<br /> Thursday </td><td> Viernes<br /> Friday </td><td> Sabado<br /> Saturday </td></tr>");

for (var i = 1; i <= MaxDays ; i++) {
	if ( RowCells == 1 ) { document.write("<tr>"); }
		if ( (i <= DaysOffset) || (DayNumber > DaysInMonth) ) {
			document.write("<td class='calday'>&nbsp;</td>");
	} else {
		if ( DayNumber == TodayNumber && MonthView == TodayMonth) {
			document.write("<td class='caldayt'>" + DayNumber + "</td>");
		} else {
			document.write("<td class='calday'>" + DayNumber + "</td>");
		}
		DaysCount++
		DayNumber++ ;
	}
	if ( RowCells == 7 ) {
		document.write("</tr>");
		RowCells = 1;
		document.write("<tr>");
		DayNumber2 = DayNumber - DaysCount;
		DaysCount = 0;
		if (DayNumber2 < 1) { DayNumber2 = 1; }
		for (var j = (i-6) ; j <= i ; j++) {
			if ( (j <= DaysOffset) || (DayNumber2 > DaysInMonth) ) {
            	document.write("<td ></td>");
			} else {
				document.write("<td >");
            	for (var k = 0; k <= EventArray.length-1 ; k++) {
					EventElement = EventArray[k];
					if ( (EventElement[2] == DayNumber2) &&
              		      (EventElement[4] == "l") ){
							switch (EventElement[6])
							{
							case "eventp":
							  document.write("<img src='./pictures/pgs_iconp.gif' alt='icon' /> ")
							  break
							case "eventh":
							  document.write("<img src='./pictures/pgs_iconh.gif' alt='icon' /> ")
							  break
							case "evento":
							  document.write("<img src='./pictures/pgs_icono.gif' alt='icon' /> ")
							  break
							default:
							  document.write("<img src='./pictures/pgs_icong.gif' alt='icon' /> ")
							}
							document.write("<a href='" + EventElement[5] + "'  onMouseOver='ShowText(\"HI" + k + "\");' onMouseOut='HideText(\"HI" + k + "\");' >" + 
								"<span class='"+ EventElement[6] +"'>" +
								EventElement[3] + "</a>" + "</span><br />");
					} else {
						if (EventElement[2] == DayNumber2) {
							if ( EventElement[6] ){
								switch (EventElement[6])
								{
								case "eventp":
								  document.write("<img src='./pictures/pgs_iconp.gif' alt='icon' /> ")
								  break
								case "eventh":
								  document.write("<img src='./pictures/pgs_iconh.gif' alt='icon' /> ")
								  break
								case "evento":
								  document.write("<img src='./pictures/pgs_icono.gif' alt='icon' /> ")
								  break
								default:
								  document.write("<img src='./pictures/pgs_icong.gif' alt='icon' /> ")
								}
								document.write("<span class='"+ EventElement[6] +"'>");
								document.write( EventElement[3] + "</span><br />");
							} else {
								document.write( EventElement[3] + "<br />");
                			}
						}
					}
				}
				DayNumber2++;
				document.write("</td>");
			}
		}
		document.write("</tr>");
		} else {
			RowCells++; 
	}
}

document.write("</table>");
}
// ----------------------------------------
function buildlist()
// ----------------------------------------
{
var EventArray   = new Array();
var EventElement = new Array();
var tempString   = new String("");

EventArray = QueryEvent(YearView,MonthView);

document.write("<table width='100%' class='calendara' id='t2'>");
for (var k = 0; k <= EventArray.length-1 ; k++) {
    document.write("<tr>");
	document.write("<td>");
	EventElement = EventArray[k];
	document.write("" + EventElement[1] + "/"  + EventElement[2] + " "  + EventElement[0] + " "); 
	document.write("</td>");
	document.write("<td>");
	if (EventElement[4] == "l"){
		switch ( EventElement[6] )
		{
		case "eventp":
			document.write("<img src='./pictures/pgs_iconp.gif' alt='icon' /> ")
			break
		case "eventh":
			document.write("<img src='./pictures/pgs_iconh.gif' alt='icon' /> ")
			break
		case "evento":
			document.write("<img src='./pictures/pgs_icono.gif' alt='icon' /> ")
			break
		default:
			document.write("<img src='./pictures/pgs_icong.gif' alt='icon' /> ")
		}
		document.write("<a href='" + EventElement[5] + "'>" + 
					"<span class='"+ EventElement[6] +"'>" +
					EventElement[3] + "</a>" + "</span><br />");
	} else {
		switch (EventElement[6])
		{
		case "eventp":
			document.write("<img src='./pictures/pgs_iconp.gif' alt='icon' /> ")
			break
		case "eventh":
			document.write("<img src='./pictures/pgs_iconh.gif' alt='icon' /> ")
			break
		case "evento":
			document.write("<img src='./pictures/pgs_icono.gif' alt='icon' /> ")
			break
		default:
			document.write("<img src='./pictures/pgs_icong.gif' alt='icon' /> ")
		}
		document.write("<span class='"+ EventElement[6] +"'>");
		document.write( EventElement[3] + "</span><br />");
	}
	document.write("</td>");
	document.write("</tr>");
}
document.write("</table>");
}