// JavaScript Document

function daysInMonth(iMonth, iYear)
 {
     return 32 - new Date(iYear, iMonth, 32).getDate();
 }
 
function printMonthDay(month,year,myday,myrow,mybox)
{
yearNum=year;
monthNumber=month-1;
row=myrow;
box=mybox;
day=myday;

numDaysInMonth=daysInMonth(monthNumber,yearNum);

start=0;
end=0;

if(row==1){start=1; end=7;}
if(row==2){start=8; end=14;}
if(row==3){start=15; end=21;}
if(row==4){start=22; end=28;}
if(row==5){start=29; end=35;}
if(row==6){start=36; end=42;}

stopit=0;

  for( var i=start; i<=end; i++)
  {
	if(stopit==0)
	  {
	  
	  num=i;
	  if(i>box){num=i-7;}
	  thisDate=new Date(yearNum, monthNumber, num);

	  weekDay=thisDate.getDay();
	  if(weekDay==0){weekDay=7;}
	  
	  if( (num>0) && (num<=numDaysInMonth) )
	  {
	  if(day==weekDay){stopit=1; }else{ num="";}
	  }
	  else{ num="";}
	}
  }

return num;
}

var emptyCells='#000';
var cellsWithNum='#000001';
var currentDayCell='#a6cf38';

var hoverCells='#fcaf1a';
var clickedCells='#fcaf1b';
var cellsWithEvents='#ed0a8c';
function initializeTable(xCoords,yCoords)
{
//month=document.getElementById("hiddenMonth").value;
//year=document.getElementById("hiddenYear").value;

var target=document.getElementById('apDiv1' );
YAHOO.util.Dom.setX(target,xCoords); 
YAHOO.util.Dom.setY(target,yCoords);
target.style.visibility="visible";  
refreshCalendar();

var currentTime = new Date();
var currentDay=currentTime.getDate();
var weekDay=currentTime.getDay();
var currentMonth=currentTime.getMonth() + 1;
var currentYear=currentTime.getFullYear();


	for(var i=1; i<=42; i++)
	{	
		var dayID="otherDay"+i;

		if(document.getElementById(dayID).innerHTML==currentDay)
		{
			document.getElementById(dayID).style.backgroundColor=currentDayCell;
			document.getElementById('dayName').innerHTML=nameDay(weekDay)+" ";
			document.getElementById('dayNumber').innerHTML=currentDay+" ";
			document.getElementById('monthName').innerHTML=monthName(currentMonth);
			//document.getElementById("eventDescription").innerHTML="";
			
			showEvents(currentDay,currentMonth,currentYear);
		}
		
	}

}

function initializeTableNoPos()
{
//month=document.getElementById("hiddenMonth").value;
//year=document.getElementById("hiddenYear").value;
refreshCalendar();

var currentTime = new Date();
var currentDay=currentTime.getDate();
var weekDay=currentTime.getDay();
var currentMonth=currentTime.getMonth() + 1;
var currentYear=currentTime.getFullYear();

document.getElementById("hiddenMonth").value=currentMonth;
document.getElementById("hiddenYear").value=currentYear;

hilightEvents(currentMonth,currentYear);

	for(var i=1; i<=42; i++)
	{	
		var dayID="otherDay"+i;

		if(document.getElementById(dayID).innerHTML==currentDay)
		{
			document.getElementById(dayID).style.backgroundColor=currentDayCell;
			//document.getElementById("eventDescription").innerHTML="";	
			
			showUpcomingEvents(currentDay,currentMonth,currentYear);
			
		}
		
	}

}

function refreshCalendar()
{
month=document.getElementById("hiddenMonth").value;
year=document.getElementById("hiddenYear").value;

var count=0;
	for(var i=1; i<=42; i++)
	{	
	count++;
		var dayID="otherDay"+i;
		if((i>=1) && (i<=7)){row=1;}
		if((i>=8) && (i<=14)){row=2;}
		if((i>=15) && (i<=21)){row=3;}
		if((i>=22) && (i<=28)){row=4;}
		if((i>=29) && (i<=35)){row=5;}
		if((i>=36) && (i<=42)){row=6;}
		if(i==8){count=1;}if(i==15){count=1;}if(i==22){count=1;}if(i==29){count=1;}if(i==36){count=1;}
		
		document.getElementById(dayID).innerHTML=printMonthDay(month,year,count,row,i);
		number=printMonthDay(month,year,count,row,i);
		number=number+"";
		len=number.length
		if(len==0){ document.getElementById(dayID).style.backgroundColor=emptyCells;}
		else{document.getElementById(dayID).style.backgroundColor=cellsWithNum; }
		
		
	}
	hilightEvents(month,year);
		
}

function addMonth()
{
month=document.getElementById("hiddenMonth").value;

year=document.getElementById("hiddenYear").value;

month=(parseInt(month)+1);

if(month>12){month=1; year=(parseInt(year)+1);}

document.getElementById("hiddenMonth").value=month;
document.getElementById("hiddenYear").value=year;

document.getElementById("showMonth").innerHTML=monthName(month)+" "+year;
document.getElementById("showDate").innerHTML="";

clearEvents();
clearHilighted();
refreshCalendar();
hilightEvents(month,year);

var currentTime = new Date();
var currentDay=currentTime.getDate();

dayNumber=currentDay;
monthNumber=document.getElementById("hiddenMonth").value;
yearNumber=document.getElementById("hiddenYear").value;
date=new Date(yearNumber, (monthNumber-1), dayNumber);
weekDay=date.getDay();

var curMonthName=monthName(monthNumber);
var curMonthInitials=curMonthName.charAt(0)+curMonthName.charAt(1)+curMonthName.charAt(2);
	
	for(var i=1; i<=42; i++)
	{	
		var dayID="otherDay"+i;

		if(document.getElementById(dayID).innerHTML==currentDay)
		{document.getElementById(dayID).style.backgroundColor=currentDayCell;
		showUpcomingEvents(dayNumber,monthNumber,yearNumber);
		}
		
	}
document.getElementById("showDate").innerHTML=nameDay(weekDay)+" "+dayNumber+" of "+curMonthInitials+" "+yearNumber;
//showEvents(dayNumber,monthNumber,yearNumber);
}

function substractMonth ()
{
month=document.getElementById("hiddenMonth").value;
year=document.getElementById("hiddenYear").value;

month=(parseInt(month)-1);

if(month<1){month=12; year=(parseInt(year)-1);}
document.getElementById("hiddenMonth").value=month;
document.getElementById("hiddenYear").value=year;

document.getElementById("showMonth").innerHTML=monthName(month)+" "+year;	
document.getElementById("showDate").innerHTML="";
clearEvents();
clearHilighted();
refreshCalendar();
hilightEvents(month,year);

var currentTime = new Date();
var currentDay=currentTime.getDate();

dayNumber=currentDay;
monthNumber=document.getElementById("hiddenMonth").value;
yearNumber=document.getElementById("hiddenYear").value;
date=new Date(yearNumber, (monthNumber-1), dayNumber);
weekDay=date.getDay();
var curMonthName=monthName(monthNumber);
var curMonthInitials=curMonthName.charAt(0)+curMonthName.charAt(1)+curMonthName.charAt(2);
	
	for(var i=1; i<=42; i++)
	{	
		var dayID="otherDay"+i;

		if(document.getElementById(dayID).innerHTML==currentDay)
		{document.getElementById(dayID).style.backgroundColor=currentDayCell;
		showUpcomingEvents(dayNumber,monthNumber,yearNumber);
		}
		
	}
document.getElementById("showDate").innerHTML=nameDay(weekDay)+" "+dayNumber+" of "+curMonthInitials+" "+yearNumber;	
//showEvents(dayNumber,monthNumber,yearNumber);
}

function clearHilighted()
{
	for(var i=1; i<42; i++)
	{
		var dayID="otherDay"+i;
		document.getElementById(dayID).style.backgroundColor=cellsWithNum;
		document.getElementById(dayID).style.color="#fff";
	}
}


function hilightEvents(sm,sy)
{
xmlHttpHilight=GetXmlHttpObject();
if (xmlHttpHilight==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="getEventDaysInMonth.php?sm="+sm+"&sy="+sy;
xmlHttpHilight.onreadystatechange=hilightCalendar;
xmlHttpHilight.open("GET",url,true);
xmlHttpHilight.send(null);	
}

function showEvents(sd,sm,sy)
{ 
xmlHttpShow=GetXmlHttpObject();
if (xmlHttpShow==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="getEvents.php?sd="+sd+"&sm="+sm+"&sy="+sy;
xmlHttpShow.onreadystatechange=updatePage;
xmlHttpShow.open("GET",url,true);
xmlHttpShow.send(null);
}

function showUpcomingEvents(sd,sm,sy)
{ 
xmlHttpShow=GetXmlHttpObject();
if (xmlHttpShow==null)
  {
  alert ("Your browser does not support AJAX!");
  return;
  }
var url="getUpcomingEvents.php?sd="+sd+"&sm="+sm+"&sy="+sy;
xmlHttpShow.onreadystatechange=updatePage;
xmlHttpShow.open("GET",url,true);
xmlHttpShow.send(null);
}

function hilightCalendar()
{	
  if (xmlHttpHilight.readyState == 4) {
    if (xmlHttpHilight.status == 200) {
      var xmlDoc = xmlHttpHilight.responseXML;
	
      var hilightElements = xmlDoc.getElementsByTagName("event");
		
      for (var x=0; x<=41; x++) {
		
		var dayID="otherDay"+(x+1);
        // We know that the first child of show is title, and the second is rating
       var hilightThis = hilightElements[x].childNodes[0].childNodes[0].nodeValue;
	   //alert("Cell: "+dayID+" Value: "+hilightThis);
	   if(hilightThis==1){document.getElementById(dayID).style.backgroundColor=cellsWithEvents;}
	  
	  var currentTime = new Date();
	   	var currentDay=currentTime.getDate();
		var currentMonth=currentTime.getMonth() + 1;
		month=document.getElementById("hiddenMonth").value;
		if(document.getElementById(dayID).innerHTML==currentDay && currentMonth==month)
		{document.getElementById(dayID).style.backgroundColor=currentDayCell; document.getElementById(dayID).style.color="#fff";}
      }
    }
  }
	
}

function updatePage() {
  if (xmlHttpShow.readyState == 4) {
    if (xmlHttpShow.status == 200) {
      var xmlDoc = xmlHttpShow.responseXML;

      var showElements = xmlDoc.getElementsByTagName("event");
	  var numberOfElements=showElements.length -1;

	 if(numberOfElements>=0){
      for (var x=0; x<=numberOfElements; x++) 
	  {  
        var eventID = showElements[x].childNodes[0].childNodes[0].nodeValue;
		var currentEvent = showElements[x].childNodes[1].childNodes[0].nodeValue;
		var tableFrom=showElements[x].childNodes[2].childNodes[0].nodeValue;
		
	    var linkID="eventLink"+(x+1);
	    var eventDataID="currentEvent"+(x+1);
	 
		if(eventID!=0)
		{
		document.getElementById(linkID).innerHTML=" read more";		
		if(tableFrom=='1')
		{document.getElementById(linkID).href="eventsarticle.php?pid="+eventID+"&tf=1";}
		else
		{document.getElementById(linkID).href="eventsarticle.php?pid="+eventID+"&tf=2";}
        //document.getElementById(linkID).target="_blank";
		}
		else
		{
		document.getElementById(linkID).innerHTML="";	
		}
		document.getElementById(eventDataID).innerHTML=currentEvent;
	  }
	 }

      	
    }
  }
}

function hoverDay(id){
var dayID="otherDay"+id;
//alert(document.getElementById(dayID).style.backgroundColor );
//alert(document.getElementById(dayID).style.backgroundColor);
if(document.getElementById(dayID).style.backgroundColor !== emptyCells){document.getElementById(dayID).style.cursor="pointer";}
if(document.getElementById(dayID).style.backgroundColor === cellsWithNum){document.getElementById(dayID).style.backgroundColor=hoverCells;}
}

function hoverOut(id){
var dayID="otherDay"+id;

if(document.getElementById(dayID).style.backgroundColor === hoverCells){
document.getElementById(dayID).style.backgroundColor=cellsWithNum;}

}

function nameDay(weekDay)
{
var day_names = new Array ( );
day_names[0] = "Sunday";
day_names[1] = "Monday";
day_names[2] = "Tuesday";
day_names[3] = "Wednesday";
day_names[4] = "Thursday";
day_names[5] = "Friday";
day_names[6] = "Saturday";

return day_names[weekDay];

}

function monthName(monthNumber)
{
var month_names = new Array ( );
month_names[1] = "January";
month_names[2] = "February";
month_names[3] = "March";
month_names[4] = "April";
month_names[5] = "May";
month_names[6] = "June";
month_names[7] = "July";
month_names[8] = "August";
month_names[9] = "September";
month_names[10] = "October";
month_names[11] = "November";
month_names[12] = "December";

return month_names[monthNumber];

}


function loadSelectedMonth(selectedMonth)
{
document.getElementById("hiddenMonth").value=selectedMonth;	
year=document.getElementById("hiddenYear").value;
month=document.getElementById("hiddenMonth").value;

month=(parseInt(month));

document.getElementById("showMonth").innerHTML=monthName(month)+" "+year;
document.getElementById("showDate").innerHTML="";

clearHilighted();
refreshCalendar();	
}

function loadSelectedYear(selectedYear)
{
document.getElementById("hiddenYear").value=selectedYear;	
year=document.getElementById("hiddenYear").value;
month=document.getElementById("hiddenMonth").value;

year=(parseInt(year));

document.getElementById("showMonth").innerHTML=monthName(month)+" "+year;
document.getElementById("showDate").innerHTML="";

clearHilighted();
refreshCalendar();	
}

function loadInfo(myday,myrow,mybox)
 {
	 
var day=myday;
var row=myrow;
var box=mybox;
	
	var dayID="otherDay"+box;
	
	monthNumber=document.getElementById("hiddenMonth").value;
	yearNumber=document.getElementById("hiddenYear").value;
	
	 var dayNumber=printMonthDay(monthNumber,yearNumber,day,row,box);

	if(dayNumber!="")
	{
	document.getElementById("hiddenDay").value=dayNumber;
	clearEvents();
	//clearHeader();
	//clearSelected();
	refreshCalendar();


	date=new Date(yearNumber, monthNumber, dayNumber);
	weekDay=date.getDay();

	document.getElementById(dayID).style.backgroundColor=clickedCells;
	var curMonthName=monthName(monthNumber+1);
	var curMonthInitials=curMonthName.charAt(0)+curMonthName.charAt(1)+curMonthName.charAt(2);

	document.getElementById("showDate").innerHTML=nameDay(weekDay)+" "+dayNumber+" of "+curMonthInitials+" "+yearNumber;
	
	showEvents(dayNumber,monthNumber+1,yearNumber);
	}

 }


function clearSelected()
{
	for(var i=1; i<42; i++)
	{
		var dayID="otherDay"+i;
		
		if(document.getElementById(dayID).style.backgroundColor===clickedCells)
		{document.getElementById(dayID).style.backgroundColor=cellsWithNum;}
	}
}

function clearEvents()
{
	 for (var x=0; x<5; x++) 
	 {  
	 	var eventID='currentEvent'+(x+1);
		var linkID='eventLink'+(x+1);
		document.getElementById(eventID).innerHTML="";
		document.getElementById(linkID).innerHTML="";
	 }
}

function GetXmlHttpObject()
{
var xmlHttp=null;
try
  {
  // Firefox, Opera 8.0+, Safari
  xmlHttp=new XMLHttpRequest();
  }
catch (e)
  {
  // Internet Explorer
  try
    {
    xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
  catch (e)
    {
    xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
  }
return xmlHttp;
}


<!--
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
//-->


