//--Durisch Montalta------
//--Modified by J. Hastey--------

var R = "\r\n";
var maYear = new Array();
var maMonth = new Array();
var maDay = new Array();
var maText = new Array();

var days = new Array( "Sat.", "Sun.", "Mon.", "Tue.", "Wed.", "Thu.", "Fri." );
var months = new Array( "", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
				"July", "August", "Sep", "Oct", "Nov", "Dec" );

var mstrBrowserName = DHTMLCal_BrowserName();
var mstrBrowserVer = DHTMLCal_BrowserVer();

// new colors
var mclrColumbiaBlue =	"#97c1e7";
var mclrMaroon=		"#8d2a3f";
var mclrLightMaroon=	"#dd7a8f";
var mclrLightBlue =	"#e8f8ff";
var mclrBeige =		"#ffe1c0";
var mclrDarkBrown = 	"#804040";
var mclrLightRed =	"#ffc0c0";
var mclrDarkBlue =	"#000080";
var mclrMedRed =		"#ff4040";

var tblHeader =		mclrBeige;
var tblSeparator =	mclrDarkBrown;

// ---------------------------------------------------------------------------------------
function DHTMLCal_SetEvent( m, d, y, strText) {
	var x = maDay.length;

	maYear[x +1]   = y;
	maMonth[x + 1] = m+1;
	maDay[x + 1]   = d;
	maText[x + 1]  = strText;
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_GetEvent( m, d, y ) {
	var x = 0;
	while( x < maDay.length ) {
		if ( y == maYear[x] ) {
			if ( m == maMonth[x] ) {
				if ( d == maDay[x] ) { 
					return maText[x];
				}
			}
		}
		x++;
	}
	return "&nbsp";
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_Draw( m, y ) {
	var strHTML = compute();
	var obj;

	if ( mstrBrowserName == "IE" ) {
		document.writeln(strHTML);
	}
	else if ( mstrBrowserName == "NS" ) {
		if ( mstrBrowserVer < "5" ) {
			document.CALLAYER.document.writeln(strHTML);
		}
		else {	
			obj = document.getElementById("CALDIV");
			DHTMLCal_SetInnerHTML(obj, strHTML);
		}
	}
}

// ---------------------------------------------------------------------------------------
function compute() {
	var strOutput = "";
	var strText;
	var x = 1;
	var y = maYear[x];

	strHTML = "<table align=center width=735 cellpadding=3 cellspacing=0 bgColor=#e8e8e8 border='0' bordercolor='#dddddd'>"
	+ "<td align=center valign=top  colspan=4 bgColor=#ffffff>"
	+ " <font face=Arial size=4><strong>" + y + "</strong></font>"
	+ "</td>"
	+ "<tr>"
	+ " <td align=center valign=top colspan=3 bgColor="+ tblHeader +">"
	+ "  <font face=Arial size=3><strong>Date</strong></font>"
	+ " </td>"
	+ " <td align=center valign=top width=100% bgColor="+ tblHeader +">"
	+ "  <font face=Arial size=3><strong>Events</strong></font>"
	+ " </td>"
	+ "<tr>";
	strOutput = strOutput + strHTML + R + R;
	
	for( var x = 1; x < maDay.length; x++) {
		y = maYear[x];
		m = maMonth[x]-1;
		d = maDay[x]; 
		strText = maText[x];

		var val1 = parseInt(d, 10)   
		var val2 = parseInt(m, 10)   
		var val2x = parseInt(m, 10)   
		var val3 = parseInt(y, 10)   
 
		if (val2 == 1) {
			val2x = 13;
			val3 = val3-1;
		}   
 
		if (val2 == 2) {
			val2x = 14;
			val3 = val3-1;
		}   
 
		var val4 = parseInt(((val2x+1)*3)/5, 10)   
		var val5 = parseInt(val3/4, 10)   
		var val6 = parseInt(val3/100, 10)   
		var val7 = parseInt(val3/400, 10)   
		var val8 = val1+(val2x*2)+val4+val3+val5-val6+val7+2   
		var val9 = parseInt(val8/7, 10)   
		var val0 = val8-(val9*7)   
 
		month = months[val2]
   		weekday = days[val0]
		
		strHTML = "<td align=left valign=top width=15 bgColor=#ffffff>"
		+ "<font face=Arial size=2>"+ weekday +"</font></td>";
		strOutput = strOutput + strHTML + R;
		strHTML = "<td align=left valign=top width=15 bgColor=#ffffff>"
		+ "<font face=Arial size=2>"+ month +"</font></td>";
		strOutput = strOutput + strHTML + R;
		strHTML = "<td align=center valign=top width=15 bgColor=#ffffff>"
		+ "<font face=Arial size=2>"+"<strong>"+ d +"</strong></font></td>";
		strOutput = strOutput + strHTML + R;
		//strHTML = "<td align=left valign=top width=15 bgColor=#ffffff>"
		//+ y +"</td>";
		//strOutput = strOutput + strHTML + R;
		strHTML = "<td align=left valign=top bgColor=#ffffff>"
		+ "<font face=Arial size=2>"+ strText +"</font></td>";
		strOutput = strOutput + strHTML + R;		
		strOutput = strOutput + "</tr>" + R + R;  

		if ((maMonth[x] != maMonth[x+2]) && (x < maMonth.length -1)) {
			strHTML = "<td align=center valign=top colspan=5 bgcolor=#ffffff>"
			+ "<font size=1><hr align=center width=100% color=" + tblSeparator + "></font>"
			+ "</td>"
			+ "<tr>";
			strOutput = strOutput + strHTML + R;
		}

		if ((maYear[x] != maYear[x+2]) && (x < maYear.length -1)) {
			strHTML = "<td align=center valign=top  colspan=4 bgColor=#ffffff>"
			+ " <br>"
			+ " <font face=Arial size=4><strong>"+ maYear[x+2] +"</strong></font>"
			+ "</td>"
			+ "<tr>"
			+ " <td align=center valign=top colspan=3 bgColor="+ tblHeader +">"
			+ "  <font face=Arial size=3><strong>Date</strong></font>"
			+ " </td>"
			+ " <td align=center valign=top bgColor="+ tblHeader +">"
			+ "  <font face=Arial size=3><strong>Events</strong></font>"
			+ " </td>"
			+ "<tr>";
			strOutput = strOutput + strHTML + R;
		}
		x++;
	}
	strOutput = strOutput + "</table>" + R;
	return strOutput;
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_DrawLook( m, y ) {
	var strHTML = lookahead();
	var obj;

	if ( mstrBrowserName == "IE" ) {
		document.writeln(strHTML);
	}
	else if ( mstrBrowserName == "NS" ) {
		if ( mstrBrowserVer < "5" ) {
			document.CALLAYER.document.writeln(strHTML);
		}
		else {	
			obj = document.getElementById("CALDIV");
			DHTMLCal_SetInnerHTML(obj, strHTML);
		}
	}
}

// ---------------------------------------------------------------------------------------
function lookahead() {
	var strOutput = "";
	var strText;
	var x = 1;
	var y = maYear[x];

	var now = new Date;
	var mon = now.getMonth()+1;
	var dat = now.getDate();
	var year = now.getYear();
	if(year < 1900) {
		year = year +1900;
	}

	strHTML = "<table align=center width=735 cellpadding=3 cellspacing=0 bgColor=#e8e8e8 border='0' bordercolor='#dddddd'>"
	+ "<tr>"
	+ " <td align=center valign=top colspan=3 bgColor=" + tblHeader +">"
	+ "  <font face=Arial size=3><strong>Date</strong></font>"
	+ " </td>"
	+ " <td align=center valign=top width=100% bgColor=" + tblHeader +">"
	+ "  <font  face=Arial size=3><strong>Events</strong></font>"
	+ " </td>"
	+ "<tr>";
	strOutput = strOutput + strHTML + R + R;
	
	for( var x = 1; x < maDay.length; x++) {
		y = maYear[x];
		m = maMonth[x]-1;
		d = maDay[x]; 
		strText = maText[x];

		if(m == mon && d >= dat && y == year || m == mon + 1 && d <= dat && y == year || mon == 12 && m == 1 && y == year + 1) {   
			var val1 = parseInt(d, 10)   
			var val2 = parseInt(m, 10)   
			var val2x = parseInt(m, 10)   
			var val3 = parseInt(y, 10)   
 
			if (val2 == 1) {
				val2x = 13;
				val3 = val3-1;
			}   
 
			if (val2 == 2) {
				val2x = 14;
				val3 = val3-1;
			}   
 
			var val4 = parseInt(((val2x+1)*3)/5, 10)   
			var val5 = parseInt(val3/4, 10)   
			var val6 = parseInt(val3/100, 10)   
			var val7 = parseInt(val3/400, 10)   
			var val8 = val1+(val2x*2)+val4+val3+val5-val6+val7+2   
			var val9 = parseInt(val8/7, 10)   
			var val0 = val8-(val9*7)   
 
			month = months[val2]
   			weekday = days[val0]
		
			strHTML = "<td align=left valign=top width=15 bgColor=#ffffff>"
			+ "<font face=Arial size=2>"+ weekday +"</font></td>";
			strOutput = strOutput + strHTML + R;
			strHTML = "<td align=left valign=top width=15 bgColor=#ffffff>"
			+ "<font face=Arial size=2>"+ month +"</font></td>";
			strOutput = strOutput + strHTML + R;
			strHTML = "<td align=center valign=top width=15 bgColor=#ffffff>"
			+ "<font face=Arial size=2><strong>"+ d +"</strong></font></td>";
			strOutput = strOutput + strHTML + R;
			//strHTML = "<td align=left valign=top width=15 bgColor=#ffffff>"
			//+ y +"</td>";
			//strOutput = strOutput + strHTML + R;
			strHTML = "<td align=left valign=top bgColor=#ffffff>"
			+ "<font face=Arial size=2>"+ strText +"</font></td>";
			strOutput = strOutput + strHTML + R;		
			strOutput = strOutput + "</tr>" + R + R;  

			if ((maMonth[x] != maMonth[x+2]) && (x < maMonth.length -1)) {
				strHTML = "<td align=center valign=top colspan=5 bgcolor=#ffffff>"
				+ "<font size=1><hr align=center width=100% color=" + tblSeparator + "></font>"
				+ "</td>"
				+ "<tr>";
				strOutput = strOutput + strHTML + R;
			}
		}
		x++;
	}
	strOutput = strOutput + "</table>" + R;
	return strOutput;
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_BrowserName () {
	var strOutput="";
	var strBrowser = navigator.appName;

	if ( strBrowser=="Microsoft Internet Explorer" ) {
		strOutput = "IE";
	}
	else if ( strBrowser=="Netscape" ) {
		strOutput = "NS";
	}
	return strOutput;
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_BrowserVer () {
	var strVer = navigator.appVersion.charAt(0);
	return strVer;
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_SetOuterHTML (obj, strHTML) {
	var range = document.createRange();
	range.setStartBefore(obj);

	var df = range.createContextualFragment(strHTML);
	obj.parentNode.replaceChild(df, this);
}

// ---------------------------------------------------------------------------------------
function DHTMLCal_SetInnerHTML (obj, strHTML) {
	var range = document.createRange();
	range.selectNodeContents(obj);
	range.deleteContents();
	
	var df = range.createContextualFragment(strHTML);
	obj.appendChild(df);
}
// ---------------------------------------------------------------------------------------
