var thisDate=new Date();
var curMonth=thisDate.getMonth();
var curDate=thisDate.getDate();
var curDay=thisDate.getDay();

var popArg2=('calendar');

var dayNames=new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

var monthNames=new Array("January","February","March","April","May","June","July","August","September","October","November","December");

var curName=(monthNames[curMonth]);

function thisName() {
	document.write(curName + ' ');
}

var link1=('<a href="');
var link2=('" target="_blank" onclick="popUp(');
var link3=(');return false;">');
var link4=('</a>');

var curMonthLink=('http://ical.mac.com/WebObjects/iCal.woa/wa/default?d=1&u=ginniewarren&v=1&y=2006&m=' + curMonth + '&n=School32Events.ics');
var mBase=('http://ical.mac.com/WebObjects/iCal.woa/wa/default?d=1&u=ginniewarren&v=1&y=2006&m=');
var wBase=('http://ical.mac.com/WebObjects/iCal.woa/wa/default?d=');
var wMiddle=('&u=ginniewarren&v=0&y=2006&m=');
var dMiddle=('&u=ginniewarren&v=2&y=2006&m=');
var linkEnd=('&n=School32Events.ics');


function month(num,name,days,numWeeks,wArray,dArray) {
	this.num=num;
	this.name=name;
	this.days=days;
	this.numWeeks=numWeeks;
	this.wArray=wArray;
	this.dArray=dArray;
	this.mName=mName;
	this.wLink=wLink;
	this.mLink=mLink;
	this.dLink=dLink;
	this.popMonth=popMonth;
	this.popWeek=popWeek;
	this.popDay=popDay;
}

	
var apr=new month(3,"April",30,6,wArray=[1,2,9,16,23,30],dArray=[-5,2,9,16,23,30]);
var may=new month(4,"May",31,5,wArray=[1,8,15,22,29],dArray=[0,7,14,21,28]);
var jun=new month(5,"June",30,5,wArray=[1,5,12,19,26],dArray=[-3,4,11,18,25]);
var jul=new month(6,"July",31,6,wArray=[1,3,10,17,24,31],dArray=[-5,2,9,16,23,30]);
var aug=new month(7,"August",31,5,wArray=[1,7,14,21,28],dArray=[-1,6,13,20,27]);
var sep=new month(8,"September",30,5,wArray=[1,4,11,18,25],dArray=[-4,3,10,17,24]);
var oct=new month(9,"October",31,5,wArray=[1,2,9,16,23,30],dArray=[1,8,15,22,29]);
var nov=new month(10,"November",30,5,wArray=[1,6,13,20,27],dArray=[-2,5,12,19,26]);
var dec=new month(11,"December",31,6,wArray=[1,4,11,18,25],dArray=[-4,3,10,17,24,31]);


var monthObjs=new Array('','','',apr,may,jun,jul,aug,sep,oct,nov,dec);

function mName() {
	document.write(this.name + ' ');
}

	
function mLink() {
	var monthLink=(mBase + this.num + linkEnd);
	return monthLink;
}

function popMonth() {
	var popArg1=(this.mLink());
	var popMonth=('\'' + popArg1 + '\',\'' + popArg2 + '\'');
	return popMonth;
}


function thisWeekLink() {
	var date=(curDate);
	var month=(monthObjs[curMonth]); 
	var wkNum;

	for(var i=0; i<month.numWeeks; i++) {
		if((date>=month.wArray[i]) && (date<month.wArray[i+1])) {
			wkNum=i;
		}
	}

	var lTitle=('CURRENT&nbsp;SCHOOL&nbsp;EVENTS&nbsp;CALENDAR');
	var curWeekUrl=(wBase + month.wArray[wkNum] + wMiddle + curMonth + linkEnd);
	var args=('\'' + curWeekUrl + '\',\'' + popArg2 + '\'');
	var thisLink=(link1 + curWeekUrl + link2 + args + link3 + lTitle + link4);
	document.write(thisLink);
}

function wLink(wkNum) {
	var weekLink=(wBase + this.wArray[wkNum] + wMiddle + this.num + linkEnd);
	return weekLink;
}

function popWeek(num) {
	var popArg1=(this.wLink(num));
	var popWeek=('\'' + popArg1 + '\',\'' + popArg2 + '\'');
	return popWeek;
}

function dLink(dayNum) {
	var dayLink=(wBase + dayNum + dMiddle + this.num + linkEnd);
	return dayLink;
}

function popDay(num) {
	var popArg1=(this.dLink(num));
	var popDay=('\'' + popArg1 + '\',\'' + popArg2 + '\'');
	return popDay;
}


function popEvents(url,name,width,height) {
	var newWindow=window.open(url,name,'width='+width+',height='+height+',toolbar=no,menubar=no,location=no,scrollbars=yes,resizable=yes,status=yes');
	if (window.focus) {newWindow.focus();}
}


function popThisMonth() {
	popEvents(curMonthLink,'calendar');
}

function writeMonth(month) {
	var monthLink=(month.mLink());
	var args=(month.popMonth());
	var name=(month.name);
	var thisLink=(link1 + monthLink + link2 + args + link3 + name + link4);
	document.write(thisLink);
}

function writeWeek(month,weekNum) {
	var weekLink=(month.wLink(weekNum));
	var args=(month.popWeek(weekNum));
	var name=('Week ' + (weekNum+1));

	var thisLink=(link1 + weekLink + link2 + args + link3 + name + link4);

	document.write(thisLink);
}

function writeDay(month,date,dayNum) {
	var name;
	var dayLink=(month.dLink(date));
	var args=(month.popDay(date));

	if ((date==1) || (date==21) || (date==31)) {
		name=(date + 'st');
	}

	else if((date==2) || (date==22)) {
		name=(date + 'nd');
	}

	else if((date==3) || (date==23)) {
		name=(date + 'rd');
	}

	else { name=(date + 'th');}

	var thisLink=(link1 + dayLink + link2 + args + link3 + name + link4);

	document.write(thisLink);
}

function writeDayNames() {
	document.write('</td></tr><tr class="day-names"><td class="week">&nbsp;</td>');

	for(var d=0; d<7; d++) {
		document.write('<td>' + dayNames[d] + '</td>');
	}

	document.write('</tr>');
}

function writeTable(month) {
	var numDays=(month.days);
	var date;

	document.write('<table class="events" cellpadding=0 cellspacing=0 border=0><tr><td colspan=8 class="heading">');
	writeMonth(month);
	writeDayNames();

		for(var i=0; i<month.numWeeks; i++) {
			date=(month.dArray[i]);
			document.write('<tr><td class="week">');
			writeWeek(month,i);
			document.write('</td>');

			for(var j=0; j<7; j++) {
				if((date<(numDays+1)) && (date>0)) {
					document.write('<td>');
					writeDay(month,date,(j+1));
					document.write('</td>');
					date++;
				}

				else {
					document.write('<td class="none">&nbsp;</td>');
					date++;
				}
			}
			document.write('</tr>');
		}
	document.write('</table>');
}

function writeCurDate() {
	document.write(dayNames[curDay] + ', ' + monthName + ' ' + curDate);
}



