﻿function calendar(direction){
	
	var todayDate = new Date();
	var today1=todayDate.getDate();
	var today2=todayDate.getMonth()+1;
	var today3=todayDate.getFullYear();
	
	if (direction=='previous'){
		sMonth-=1;
		if (sMonth==0) {
			 sMonth=12;
			 sYear-=1;
		}
	}
	else if (direction=='next'){
		sMonth=parseInt(sMonth)+1;
		if (sMonth==13) {
			 sMonth=1;
			 sYear+=1;
		}
	}
	else if (direction=='today'){
		sMonth=today2;
		sYear=today3;
	}
	
	var newCal='';
	
	sYear=parseInt(sYear);
	
	
	var currentmonth=sMonth;
	
	var currentyear=sYear;
	
	var monthlong=new Array('','January','February','March','April','May','June','July','August','September','October','November','December');
	var monthlength=new Array('','31','28','31','30','31','30','31','31','30','31','30','31');
	
	var thisDate=new Date();
	thisDate.setFullYear(currentyear,(currentmonth-1),1)
	
	var weekName=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	var weeksdisplay=1;
	var currentdate=1;
	var currentlimit=monthlength[thisDate.getMonth()+1];
	if (currentlimit==0) currentlimit=31;
	var thismonthflag=0;
	var firstday=thisDate.getDay()+1;
	var lastday_num=thisDate.getDay()+currentlimit;
	var calHeight=20;
	var row_level=0;
	var num_row=0;
	var cellDiff=0;
	
	
	var nextyear=currentyear;
	var nextmonth=currentmonth+1;
	if (nextmonth==13) {
		 nextmonth=1;
		 nextyear+=1;
	}
	var previousyear=currentyear;
	var previousmonth=currentmonth-1;
	if (previousmonth==0) {
		 previousmonth=12;
		 previousyear-=1;
	}
	var currentlimit_prev=monthlength[thisDate.getMonth()];
	if (currentlimit_prev==0) currentlimit_prev=31;
		
		
	var thisDateEnd=new Date();
	thisDate.setFullYear(previousyear,previousmonth,1)
	thisDate.setDate(currentlimit)
	var lastday=weekName[thisDate.getDay()];
	
	
	while (weeksdisplay==1) {
	for (i=1; i<8; i++) {
				if (i!=firstday && thismonthflag==0) { //if it's not yet the first of the month
					 
				}
				else { //it's the first of the month or beyond
					weeksdisplay=0;
					 if (currentdate<=currentlimit) { //if the date is under the limit for this month (i.e. Jan. 32nd),  write it
						 weeksdisplay=1;
						 thismonthflag=1;
					 }
					currentdate++;
				}	
			} //end for() week iteration (1-7)
			num_row++;
			if (lastday=='Saturday' & num_row==5) weeksdisplay=0;
	}
	
	// set month and year
	
	var weekName=new Array('Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday');
	var weeksdisplay=1;
	var currentdate=1;
	var thismonthflag=0;
	var calHeight=20;
	var row_level=0;
	var cellDiff=0;
	var offday=0;
	
	// PRINT CALENDAR
	newCal+="<table cellspacing=0 cellpadding=0 ><tr height=25><td align=center colspan=7 id="+monthlong[currentmonth]+"_header align=center class=cal_top><span onClick='calendar(\"previous\")' style='float:left;padding-left:7px;position:relative'><</span><span onClick='calendar(\"next\")' style='float:right;position:relative;padding-right:7px'>></span><b>"+monthlong[currentmonth]+" - "+currentyear+"</b></td></tr><tr><td height=1><img src=images/spacer.gif height=1 width=1></td></tr><tr style='font-size:9px' height=13><th>Su</th><th>Mo</th><th>Tu</th><th>We</th><th>Th</th><th>Fr</th><th>Sa</th></tr><tr><td height=1><img src=images/spacer.gif height=1 width=1></td></tr>";
	if (currentdate<10) var currentdate='0'+currentdate;
	if (currentmonth<10) var currentmonth='0'+currentmonth;
	if (previousmonth<10) var previousmonth='0'+previousmonth;
	if (nextmonth<10) var nextmonth='0'+nextmonth;	
		while (weeksdisplay==1) {
				if (row_level==num_row-1){
					calHeight+=cellDiff;
				}
			newCal+="<tr align=center height=28>";
				for (i=1; i<8; i++) {
					if (i!=firstday && thismonthflag==0) { //if it's not yet the first of the month
						var currentlimit_print=currentlimit_prev-firstday+i+1;
						newCal+= "<td  class=cal_offmonth>"+currentlimit_print+"</td>";
								
					}
					else { //it's the first of the month or beyond
						weeksdisplay=0;
						 if (currentdate<=currentlimit) { //if the date is under the limit for this month (i.e. Jan. 32nd),  write it
							 weeksdisplay=1;
							 thismonthflag=1;
								if (currentdate == today1 & currentmonth == today2 & currentyear == today3)
								newCal+="<td  id='"+currentyear+"-"+currentmonth+"-"+currentdate+"_home' align=center class=cal_current>"+currentdate+"</td>";
								else
								newCal+= "<td id='"+currentyear+"-"+currentmonth+"-"+currentdate+"_home' class=cal_month>"+currentdate;
							
						 }
						 else {
								offday++;
								if (offday<10) var offday='0'+offday;
								newCal+="<td class=cal_offmonth>"+offday+"</td>";
						 }
						currentdate++;
						if (currentdate<10) currentdate='0'+currentdate;
					}	
				} //end for() week iteration (1-7)
				
				row_level++;
				
			newCal+= "</tr>";
			if (lastday=='Saturday' & row_level==5) weeksdisplay=0;
		}
		newCal+="</table>";
				
	document.getElementById('calendarHome').innerHTML=newCal;
	printEventsHome();
}

function printEventsHome(){
	for ( var k in eventsPrintArray ) {
		var eventInfo=eventsPrintArray[k];
		if (document.getElementById(eventInfo[0]+'_home')){
			var eventDate=eventInfo[0];
			$(eventInfo[0]+'_home').addClass('cal_active');
			$(eventInfo[0]+'_home').setAttribute('onClick','blogContent("'+eventInfo[0]+'","date","0")');
			
		}
			
		
	}
}
