// JavaScript Document
var calendar = {
	currentTime:  new Date(),
	currentDate: undefined,
	monthName:    new Array('JANUARY','FEBRUARY','MARCH','APRIL','MAY','JUNE','JULY','AUGUST','SEPTEMBER','OCTOBER','NOVEMBER','DECEMBER'),
	monthDay:     new Array(31,28,31,30,31,30,31,31,30,31,30,31),
	create: function (month, year){
		var monthStr, year, cMonthStartDay, html, next, prev, nexmonth, prevmonth, nextyear, prevyear, cMonthDay;
		if (typeof(month) == "undefined")
		{
			month = calendar.currentTime.getMonth();
			monthStr = calendar.monthName[month];
			year = calendar.currentTime.getFullYear();
			monthStartDay = (new Date(calendar.currentTime.getFullYear(),calendar.currentTime.getMonth(), 1)).getDay();
			prev = "";
		}
		else
		{
			monthStr = calendar.monthName[month];			
			monthStartDay = (new Date(year, month, 1)).getDay();
			prevmonth = month-1;
			prevyear = year;
			if (prevmonth == -1) { prevmonth = 11; prevyear = year-1; }
			if (year == calendar.currentTime.getFullYear() && month == calendar.currentTime.getMonth()){
				prev = "";
			}
			else{
				prev = 'calendar.prev('+ prevmonth + ', ' + prevyear + ')';
			}
		}
		nextmonth = month+1;
		nextyear = year;
		if(nextmonth == 12) { nextmonth = 0; nextyear = year+1; } 
		next = 'calendar.next('+ nextmonth + ', ' + nextyear + ')';
	
		var cal = document.getElementById('calendar');
		
		var calh = document.createElement('div');
		calh.setAttribute("id", "calendar-header");
		
		var calal = document.createElement('div');
		calal.setAttribute("id", "arrow-left");
		
		var calali = document.createElement('img');
		calali.setAttribute("src", "images/left-arrow.jpg");
		calali.setAttribute("title", "Previous Month");
		calali.setAttribute("alt", "Previous Month");
		calali.onclick =  function() { eval(prev) };
		calal.appendChild(calali);
		calh.appendChild(calal);	
		
		var calm = document.createElement('div');
		calm.setAttribute("id", "calendar-month");
		calm.appendChild(document.createTextNode(monthStr + ' ' + year));
		calh.appendChild(calm);

		var calar = document.createElement('div');
		calar.setAttribute("id", "arrow-right");
		
		var calari = document.createElement('img');
		calari.setAttribute("src", "images/right-arrow.jpg");
		calari.setAttribute("title", "Next Month");
		calari.setAttribute("alt", "Next Month");
		calari.onclick =  function() { eval(next) };
		calar.appendChild(calari)
		calh.appendChild(calar);
		
		var calc = document.createElement('div');
		calc.setAttribute("class", "clear");
		calc.setAttribute("className", "clear");
		calh.appendChild(calc);
		
		calh.appendChild(document.createTextNode("\n"));
		
		var calw = document.createElement('div');
		calw.setAttribute("id", "calendar-week");
			
		var weekName = new Array("S", "M", "T", "W", "TH", "F", "S");
		var wday;
		for (i=0; i<7; i++){
			wday = document.createElement('span');
			wday.appendChild(document.createTextNode(weekName[i]))
			calw.appendChild(wday);
		}
		
		calc = document.createElement('div');
		calc.setAttribute("class", "clear");
		calc.setAttribute("className", "clear");
		calw.appendChild(calc);	
		
		var call = document.createElement('div');
		call.setAttribute("id", "calendar-line");
		
		var cald = document.createElement('div');
		cald.setAttribute("id", "calendar-day");
		
		var cals, cala;
		for (var i=0; i<monthStartDay; i++){
			cals = document.createElement('span');
			cals.setAttribute("class", "empty");
			cals.setAttribute("className", "empty");
			cald.appendChild(cals);	
		}
		
		cMonthDay = calendar.monthDay[month];
		if (month == 1 && calendar.isleapyear(year) == 1){
			cMonthDay++;
		}
		for (var i=1; i<=cMonthDay; i++){
			var cmonth = (month+1);
			cmonth = (cmonth < 10) ? '0'+cmonth : cmonth;
			var cday = i;
			cday = (cday < 10) ? '0'+cday : cday;
			cdate = year + '-' + cmonth + '-' + cday;
			if (eventdate[cdate] == 1){
				cals = document.createElement('span');
				cals.setAttribute("class", "event");
				cals.setAttribute("className", "event");
				cala = document.createElement('a');
				cala.setAttribute("rel", "e"+cdate);
				cala.setAttribute("class", "eventlink");
				cala.setAttribute("className", "eventlink");
				cala.appendChild(document.createTextNode(i));
				cals.appendChild(cala)
				cald.appendChild(cals);	
			}
			else{
				cals = document.createElement('span');
				cals.appendChild(document.createTextNode(i));
				cald.appendChild(cals);	
			}
		}
		
		calc = document.createElement('div');
		calc.setAttribute("class", "clear");
		calc.setAttribute("className", "clear");
		cald.appendChild(calc);	
												 

/*
		html = '<div id="calendar-header">';
		html += '<div id="arrow-left"><img src="images/left-arrow.jpg" title="Previous Month" alt="Previous month" ' + prev + ' /></div>';
		html += '<div id="calendar-month">' + monthStr + ' ' + year + '</div>';
		html +=' <div id="arrow-right"><img src="images/right-arrow.jpg" title="Next Month" alt="Next month" ' + next + ' /></div><div class="clear"></div></div>' + "\n";
		html += '<div id="calendar-week">';
		html += '<span>Sun</span><span>Mon</span><span>Tue</span><span>Wed</span><span>Thu</span><span>Fri</span><span>Sat</span>';
		html += '<div class="clear"></div></div>';
		html += '<div id="calendar-line"></div>' + "\n";
		html += '<div id="calendar-day">';
		for (var i=0; i<monthStartDay; i++){
			html += '<span class="empty"></span>';
		}
		cMonthDay = calendar.monthDay[month];
		if (month == 1 && calendar.isleapyear(year) == 1){
			cMonthDay++;
		}
		for (var i=1; i<=cMonthDay; i++){
			var cmonth = (month+1);
			cmonth = (cmonth < 10) ? '0'+cmonth : cmonth;
			var cday = i;
			cday = (cday < 10) ? '0'+cday : cday;
			cdate = year + '-' + cmonth + '-' + cday;
			if (eventdate[cdate] == 1){
				html +=  '<span class="event"><a href="#calendar" rel="e' + cdate + '" class="eventlink">' + i + '</a></span>';
			}
			else{
				html +=  '<span>' + i + '</span>';
			}
		}
		html += "\n" + '</div>' + "\n";
		html += '<div class="clear"></div>' + "\n";
		alert(html);
*/
		document.getElementById('calendar').innerHTML = "";
		cal.appendChild(calh);
		cal.appendChild(calw);
		cal.appendChild(call);
		cal.appendChild(cald);
	},
	next: function(month, year){
		if (typeof dropmenuobj!="undefined") //hide previous tooltip?
			dropmenuobj.style.visibility="hidden";
		clearhidemenu();
		calendar.create(month, year);
		initalizetooltip();
		
	},
	prev: function(month, year){
		if (typeof dropmenuobj!="undefined") //hide previous tooltip?
			dropmenuobj.style.visibility="hidden";
		clearhidemenu();
		calendar.create(month, year);
		initalizetooltip();
	},
	isleapyear: function(year){
		if(year % 4 == 0)
		{
			if(year % 100 != 0)
			{
				return true;
			}
			else
			{
				if(year % 400 == 0)
					return true;
				else
					return false;
			}
		}
		return false;
	}
};