var current_date = new Date();
var yearNow = current_date.getFullYear();
var monthNow = current_date.getMonth();
var dateNow = current_date.getDate();
var dayNow = current_date.getDay();
var months = new Array(12);
months[0] = "Jan";
months[1] = "Feb";
months[2] = "Mar";
months[3] = "Apr";
months[4] = "May";
months[5] = "Jun";
months[6] = "Jul";
months[7] = "Aug";
months[8] = "Sep";
months[9] = "Oct";
months[10] = "Nov";
months[11] = "Dec";

function setMonthView(){
	var monthtitle = document.getElementById('monthtitle');
	monthtitle.innerText = months[monthNow] + ' ' + yearNow;
	var maxDay = daysInMonth(yearNow,monthNow);
	//get the max days for the previous month
	var lastMonth = monthNow - 1;
	if(lastMonth<0){
			var lastYear = yearNow-1;
			lastMonth = 11;
	}
	else
		var lastYear = yearNow;
	var maxDayLastMonth = daysInMonth(lastYear,lastMonth);
	var shit = new Date(yearNow,monthNow,1,12,0,0);
	var day1 = shit.getDay();
	var lastlineblank=false;
	if(day1==0) day1 = 7;
	for(var i=1;i<=42;i++){
		var qw = document.getElementById('date'+i);
		//work out the first day of the month to be written
		if(i<day1 || i>maxDay+day1-1){
			if(i<day1){ 
				//fill in previous month dates
				qw.innerText = i+maxDayLastMonth-day1+1;
			}
			else{
				//fill in next months dates
				if(i==36)
					lastlineblank=true;
				if(lastlineblank==true)
					qw.innerText = ''
				else
					qw.innerText = i-day1+1-maxDay;
			}
			qw.className='greytextnormal';
		}
		else{
			qw.innerText = i-day1+1;
			qw.className='bluetextcalendar';
		}
	}
	//alert('Last Month:' + lastMonth + ':' + lastYear + '     Current:' + monthNow + ':' + yearNow);
	
	//for(var i=0;i<maxDay;i++)alert(maxDay);
	
}

function DayOfWeek(month,year){
    var a = Math.floor((13 - month)/12);
    var y = year - a;
    var m = month + 12*a - 2;
    var d = (day + y + Math.floor(y/4) - Math.floor(y/100) +
             Math.floor(y/400) + Math.floor((31*m)/12)) % 7;
    return d;
}

function daysInMonth (year, month) {
     return 32 - new Date(year, month, 32).getDate();
}

function prevMonth(){
	monthNow = monthNow - 1;
	if(monthNow<0){
		yearNow = yearNow - 1; 
		monthNow = 11;
	}
	setMonthView();
}

function nextMonth(){
	monthNow = monthNow + 1;
	if(monthNow>11){
		yearNow = yearNow + 1; 
		monthNow = 0;
	}
	setMonthView();
}

function firstRun(){
	initjsDOMenu();
	setMonthView();
}

window.onload = firstRun;