var monthname = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
var calendarURL = "http://webdecalendar.com/render.php?context=execs&stylesheet=calendar.css&user=administrator@jassw.org&view=month&calendar=958;959;960"; //&date=";
var eventURL = "http://webdecalendar.com/agenda.php?context=execs&stylesheet=calendar.css&user=administrator@jassw.org&calendar=958;959;960"; //&start=&end="; 
var toggle = false;
var CurDate = new Date();
var Month = CurDate.getMonth() + 1; // Global to set Month
var Year  = CurDate.getFullYear();	// Global to set Year

//Finds the Number of days for a given month and year
function daysInMonth(month,year) {
	var m = [31,28,31,30,31,30,31,31,30,31,30,31];
	if (month != 2) return m[month - 1];
	if (year%4 != 0) return m[1];
	if (year%100 == 0 && year%400 != 0) return m[1];
	return m[1] + 1;
} 

//Sets the Month and Year display for the calendar
function setDisplay(){
	var newDisplay = monthname[Month-1] + " " + Year;
	document.getElementById('display_date').innerHTML = newDisplay;
}

//Switches the frame between calendar display and event display
function switchDisplay(){
	if(toggle){ // Switch to Calendar
		document.getElementById('cal_frame').src = calendarURL;
		document.getElementById('cal_frame').scrolling = "no";
		document.getElementById('nav_next').href = "javascript:setCal('next');";
		document.getElementById('nav_prev').href = "javascript:setCal('prev');";
		document.getElementById('switch_display').innerHTML = "Event List";
		toggle = false;
		setCal('none');
	}else{		// Switch to Events
		document.getElementById('cal_frame').src = eventURL;
		document.getElementById('cal_frame').scrolling = "auto";
		document.getElementById('nav_next').href = "javascript:setEvent('next');";
		document.getElementById('nav_prev').href = "javascript:setEvent('prev');";
		document.getElementById('switch_display').innerHTML = "Calendar";
		toggle = true;
		setEvent('none');
	}
}

//Changes the calendar/event date depending on the operation
//Accepted input for type are 'next' or 'prev' or 'none'
function ChangeDate(type){
	if(type=='none')return;
	if(type=='next'){
		Month=Month+1;
		if(Month>=13){
			Month=1;
			Year=Year+1;
		}
	} else if(type=='prev') {
		Month=Month-1;
		if(Month<=0){
			Month=12;
			Year=Year-1;
		}
	} else {
		Month = CurDate.getMonth() + 1;
		Year  = CurDate.getFullYear();
	}
}

//Changes the Event display
//Accepted input for type are 'next' or 'prev' or 'none'
function setEvent(type){
	ChangeDate(type);
	var real_month = Month;
	if(real_month < 10) real_month = "0" + real_month;
	var start = "&start=" + Year + "-" + real_month + "-01";
	var end   = "&end=" + Year + "-" + real_month + "-" + daysInMonth(Month,Year);
	document.getElementById('cal_frame').src = eventURL + start + end;
	setDisplay();
}

//Changes the src location on the iframe to a diffrent month and refreshes the iframe
//Accepted input for type are 'next' or 'prev' or 'none'
function setCal(type){
	ChangeDate(type);
	var real_month = Month;
	if(real_month < 10) real_month = "0" + real_month;
	var date = "&date=" + Year + "-" + real_month + "-01";
	document.getElementById('cal_frame').src = calendarURL + date;
	setDisplay();
}

// run setDisplay when the $(document) is ready
$(setDisplay);