
var e9d3f;
var mfntImport;
var e9d3lca;
var e9d3g = new Array();
var e9d3i;
var e9d3h = "scDate";
var mlngPopupType;
var mblnPopupAddParam;
var mstrPopupProp;
var ua=navigator.userAgent.toLowerCase();
var MAC=ua.indexOf('mac')!=-1;
var OP=ua.indexOf('opera')!=-1;
var KO=ua.indexOf("konqueror")!=-1;
var IE=ua.indexOf("msie")!=-1&&!OP&&ua.indexOf("webtv")==-1;
var NN=ua.indexOf("gecko")!=-1;

function scriptcalendar() {
	//top.window.status = "scriptcalendar 6.09";
	var e9d3p = new Date();
	this.license = new Array();
	this.xmlFile = false;
	this.xslFile = false;
	this.initialDate = e9d3p;
	this.deadCellType = 0;
	this.dateSelector = 1+2+4+8;
	this.prevHtml = "&laquo;";
	this.nextHtml = "&raquo;";
	this.dateRangeStart = 2000;
	this.dateRangeEnd = 2025;
	this.cellWidth = 100;
	this.cellHeight = 75;
	this.padding = "0";
	this.spacing = "2";
	this.beginMonday = false;
	this.displayWeekNumber= false;
	this.showFutureEvents= true;
	this.showPastEvents= true;
	this.expandEventStyle= true;
	this.enableHandlers= false;
	this.overrideSpecialEvent = false;
	this.expandCellHeight = true;
	this.popupType= 1;
	this.popupAddParam= false;
	this.popupProperties= "width=600,height=400,scrollbars=yes,resizable=yes,titlebar=yes,toolbar=yes,menubar=yes,location=yes,status=yes";
	this.filter = fscRequestQueryString("scFilter");
	this.filterNames= "Education/Groups,Chapters,Influence,Premier,CIO/CTO";
	this.monthStartDate = new Array(1,1,1,1,1,1,1,1,1,1,1,1);
	this.longDays = new Array( "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" );
	this.longMonths = new Array( "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" );
	this.initialize = fscInitialize;
	this.getDay = fscGetDay;
};

function fscInitialize() {
	var e9d3v;
	var d;
	e9d3f = this;
	var objIFrame = parent.document.getElementById("scIFrame");
	
	if (objIFrame) {
		if (objIFrame.name.length != 0) {
			e9d3f.license = objIFrame.name.split(",");
		};
	};
	
	//var e9d3v = fscRequestQueryString("scLicense");
	
	//if (e9d3v.length != 0) {
	//	e9d3f.license = e9d3v.split(",");
	//};
	
	//e9d3lca = false;
	//d = e9d3c();
	
	//for (var i=0;i<e9d3f.license.length;i++) {
	//	e9d3v = e9d3a(e9d3f.license[i]);
	//	if (e9d3v==d|| e9d3v.substr(3)==d || d=="1")
			e9d3lca = true;
	//};
	
	mlngPopupType = e9d3f.popupType;
	mblnPopupAddParam = e9d3f.popupAddParam;
	mstrPopupProp = e9d3f.popupProperties;
	
	if (!(e9d3f.xmlFile)) {
		fscMain(false);
	} else {
		fscImportXml(e9d3f.xmlFile, "fscMain");
	};
};

function fscMain(objEvtXml) {
	var e9d3u;
	var objXml;
	var e9d3o = new Date();
	strDate = fscRequestQueryString(e9d3h);
	
	if (strDate.length != 0) 
		e9d3o = new Date(strDate);
		
	if (objEvtXml)
		e9d32(objEvtXml);
		
	if (!(e9d3f.xslFile)) {
		e9d3u = e9d3R(e9d3o);
	} else {
		objXml = e9d3Q(e9d3o);
		e9d3u = e9d3W(objXml, e9d3f.xslFile);
		e9d3u = e9d33(e9d3u);
	};
	
	if (OP) {
		if (e9d3f.displayWeekNumber)
			e9d3u = e9d37(e9d3u, "'scSelectorCell1'", "'scSelectorCell1' colspan='2'");
			
		e9d3u = e9d37(e9d3u, "'scSelectorCell2'", "'scSelectorCell2' colspan='5'");
	};
	
	if (e9d3f.filterNames.length != 0) {
		//e9d3u += fscPrintFilterCheckbox();
	};
	
	document.write(e9d3u);
	document.close();
};

function e9d3Q(e9d3n) {
	var e9d3m;
	var e9d3l;
	var e9d3o;
	var e9d3p;
	var e9d3q;
	var e9d3s;
	var e9d3t;
	var e9d3E;
	var blnHasRegularEvent;
	var e9d3x;
	var e9d3y;
	var strDate;
	var e9d3v;
	var e9d3z;
	var e9d3A;
	var e9d3C;
	var i;
	var j;
	var m;
	var mstr;
	var y;
	var e9d3F;
	var e9d3G;
	var e9d3H;
	var e9d3I;
	var e9d3J;
	var e9d3M;
	var e9d3N;
	var e9d3K;
	var e9d3L;
	var e9d3O;
	var e9d3P;
	m = e9d3n.getMonth();
	y = e9d3n.getFullYear();
	
	if (y<e9d3f.dateRangeStart) {
		m=0;
		y=e9d3f.dateRangeStart;
	};
	
	if (y>e9d3f.dateRangeEnd) {
		m=11;y=e9d3f.dateRangeEnd;
	};
	
	e9d3n = new Date(y, m, e9d3n.getDate());
	e9d3o = new Date(y, m, 1);
	e9d3q = new Date(y, m, 1);
	e9d3p = new Date();
	e9d3p = new Date( e9d3p.getFullYear(), e9d3p.getMonth(), e9d3p.getDate());
	e9d3o.setDate(e9d3o.getDate() + e9d3f.monthStartDate[m] -1);
	e9d3o.setDate( e9d3o.getDate() - e9d3f.getDay(e9d3o) );
	
	if ( e9d3o.getDate() == 2 ) 
		e9d3o.setDate( e9d3o.getDate() - 7 );
		
	e9d3E = 1 - e9d3f.getDay(e9d3o);
	strDisplayYM = e9d30(e9d3n);
	strCalYM = e9d30(e9d3o);
	e9d3m = e9d3Y(e9d3n);
	e9d3F = e9d3V();
	e9d3P = e9d3T(e9d3F, "calendar", "");
	e9d3U(e9d3P, "border", "0");
	e9d3U(e9d3P, "cellpadding", "0");
	e9d3U(e9d3P, "cellspacing", e9d3f.spacing);
	e9d3U(e9d3P, "columns", "7");
	e9d3G = e9d3T(e9d3F.documentElement, "properties", "");
	
	for (var prop in e9d3f) {
		e9d3U(e9d3G, prop, e9d3f[prop]);
	};
	
	e9d3P = e9d3T(e9d3F.documentElement, "calendardate", e9d3q.toString() );
	e9d3U(e9d3P, "year", e9d34(e9d3q.getFullYear().toString(), 4) );
	e9d3U(e9d3P, "month", e9d34(e9d3q.getMonth().toString(), 2) );
	e9d3U(e9d3P, "day", e9d34(e9d3q.getDate().toString(),2) );
	e9d3P = e9d3T(e9d3F.documentElement, "currentdate", e9d3p.toString() );
	e9d3U(e9d3P, "year", e9d34(e9d3p.getFullYear().toString(), 4) );
	e9d3U(e9d3P, "month", e9d34(e9d3p.getMonth().toString(), 2) );
	e9d3U(e9d3P, "day", e9d34(e9d3p.getDate().toString(),2) );
	e9d3I = e9d3T(e9d3F.documentElement, "selectors", "");
	e9d3v="";
	
	if (e9d3f.dateSelector&4) 
		e9d3v=e9d3f.prevHtml;
		
	e9d3P = e9d3T(e9d3I, "selector", e9d3v);
	e9d3U(e9d3P, "uniqueid", "prev");
	e9d3U(e9d3P, "onclick", "fscChangeDate(new Date(" + fscFormatNewDate(e9d3q.add( "m", -1)) + "));" );
	e9d3U(e9d3P, "onmouseover", "this.style.cursor='hand';" );
	i=1;
	
	if (e9d3f.displayWeekNumber)
		i=2;
		
	e9d3U(e9d3P, "colspan", i);
	e9d3v="&#160;";
	
	if (e9d3f.dateSelector&1)
		e9d3v = "<select id='cboMonth' name='cboMonth' onChange='fscChangeDate(new Date(" + y + ", this.value, 1));' style='width:100px'>" + fscMonthOptions(m) + "</select>" + e9d3v;
		
	if (e9d3f.dateSelector&16)
		e9d3v += e9d3f.longMonths[m] + " ";
		
	if (e9d3f.dateSelector&2)
		e9d3v += "<select id='cboYear' name='cboYear' onChange='fscChangeDate(new Date(this.value, " + m + ", 1));' style='width:100px'>" + fscYearOptions(y) + "</select>";
		
	if (e9d3f.dateSelector&32)
		e9d3v += y;
		
	e9d3P = e9d3T(e9d3I, "selector", e9d3v );
	e9d3U(e9d3P, "uniqueid", "date");
	e9d3U(e9d3P, "colspan", "5");
	e9d3v="";
	
	if (e9d3f.dateSelector&8)
		e9d3v=e9d3f.nextHtml;
		
	e9d3P = e9d3T(e9d3I, "selector", e9d3v);
	e9d3U(e9d3P, "uniqueid", "next");
	e9d3U(e9d3P, "onclick", "fscChangeDate(new Date(" + fscFormatNewDate( e9d3q.add("m", 1) ) + "));" );
	e9d3U(e9d3P, "onmouseover", "this.style.cursor='hand';" );
	e9d3U(e9d3P, "colspan", "1");
	e9d3J = e9d3T(e9d3F.documentElement, "weekdayheaders", "");
	
	if (e9d3f.displayWeekNumber) {
		e9d3P = e9d3T(e9d3J, "weekdayheader", "");
	};
	
	for (i=0;i<7;i++) {
		e9d3P = e9d3T(e9d3J, "weekdayheader", e9d3f.longDays[i] );
	};
	
	e9d3M = e9d3T(e9d3F.documentElement, "weeks", "");
	
	for (e9d3s=0;e9d3s<6 && e9d30(e9d3o) <= e9d30(e9d3n);e9d3s++) {
		e9d3N = e9d3T(e9d3M, "week", "");
		e9d3U(e9d3N, "index", e9d3s+1);
		e9d3U(e9d3N, "fulldate", e9d3o);
		e9d3U(e9d3N, "year", e9d3o.getFullYear() );
		e9d3U(e9d3N, "month", e9d3o.getMonth() );
		e9d3U(e9d3N, "date", e9d3o.getDate() );
		e9d3U(e9d3N, "adjusteddate", e9d3E );
		e9d3U(e9d3N, "weekofmonth", e9d3o.weekOfMonth() );
		e9d3U(e9d3N, "weekofyear", e9d3o.weekOfYear() );
		e9d3K = e9d3T(e9d3N, "weekdays", "");
		
		for (e9d3t=0;e9d3t<7;e9d3t++) {
			e9d3C = true;
			if ( e9d30(e9d3o)==e9d30(e9d3n) )
				e9d3C=false;
				
			strDate = e9d3o.getFullYear() + ", " + e9d3o.getMonth() + ", " + e9d3o.getDate();
			e9d3L = e9d3T(e9d3K, "weekday", "");
			e9d3U(e9d3L, "index", (e9d3s*7)+(e9d3t+1));
			e9d3U(e9d3L, "fulldate", e9d3o);
			e9d3U(e9d3L, "year", e9d3o.getFullYear() );
			e9d3U(e9d3L, "month", e9d3o.getMonth() );
			e9d3U(e9d3L, "date", e9d3o.getDate() );
			e9d3U(e9d3L, "adjusteddate", e9d3E );
			e9d3U(e9d3L, "dayofyear", e9d3o.dayOfYear() );
			e9d3U(e9d3L, "weekofyear", e9d3o.weekOfYear() );
			e9d3U(e9d3L, "weekofmonth", e9d3o.weekOfMonth() );
			e9d3U(e9d3L, "padding", e9d3f.padding );
			e9d3U(e9d3L, "width", e9d3f.cellWidth );
			e9d3U(e9d3L, "height", e9d3f.cellHeight );
			e9d3U(e9d3L, "dead", e9d3C );
			if (e9d3f.enableHandlers) {
				e9d3U(e9d3L, "onmousedown", "fscCellOnMouseDown(this, " + strDate + ")" );
				e9d3U(e9d3L, "onmouseover", "fscCellOnMouseOver(this, " + strDate + ")" );
				e9d3U(e9d3L, "onmouseout", "fscCellOnMouseOut(this, " + strDate + ")" );
				e9d3U(e9d3L, "onmouseup", "fscCellOnMouseUp(this, " + strDate + ")" );
			};
			
			e9d3x = "scDatePast";
			if ( e9d3o > e9d3p )
				e9d3x = "scDateFuture";
				
			if ( e9d3o.getMonth() != e9d3q.getMonth() || e9d3o.getFullYear() != e9d3q.getFullYear() )
				e9d3x = "scDateDead";
				
			if ( e9d3o.equalsTo(e9d3p) && ( e9d3o.getMonth() == e9d3q.getMonth() && e9d3o.getFullYear() == e9d3q.getFullYear() ))
				e9d3x = "scDateCurrent";
				
			if (e9d3C && !(e9d3f.deadCellType&1)) {
				e9d3O = false;
			} else {
				e9d3O = e9d3T(e9d3L, "number", e9d3o.getDate());
			};
			
			fscAddSpecialEvents(e9d3o, e9d3m);
			blnHasRegularEvent = false;
			e9d3z = "";
			e9d3A = "";
			for (i=0;i<e9d3m.length;i++) {
				e9d3l = e9d3m[i];
				e9d3y = fscShowEvent(e9d3o, e9d3n, e9d3p, e9d3l, blnHasRegularEvent);
				if (e9d3y) {
					if (e9d3l.isRegular)
						blnHasRegularEvent = true;
					
					if (e9d3z=="") {
						e9d3z=" ";
						if (e9d3l.style)
							e9d3z = e9d3l.style;
					};
					
					if (e9d3l.style)
						e9d3A = e9d3l.style;
				};
				
				if (e9d3y)
					e9d3Z(e9d3L, e9d3l);
			};
			
			if (e9d3f.expandEventStyle) {
				if (e9d3O)
					e9d3U(e9d3O, "class", "scNumber " + e9d3z);
					
				e9d3U(e9d3L, "class", "scWeekday " + e9d3x + " " + e9d3A);
			} else {
				if (e9d3O)
					e9d3U(e9d3O, "class", "scNumber");
					
				e9d3U(e9d3L, "class", "scWeekday " + e9d3x);
			};
			
			e9d3o.setDate( e9d3o.getDate() + 1 );
			e9d3E++;
		};
	};
	return e9d3F;
};

function e9d3R(e9d3n) {
	var e9d3m;
	var e9d3l;
	var e9d3o;
	var e9d3p;
	var e9d3q;
	var blnHasRegularEvent;
	var e9d3s;
	var e9d3t;
	var e9d3E;
	var e9d3C;
	var blnHasNumber;
	var e9d3u;
	var e9d3x;
	var e9d3y;
	var strDate;
	var e9d3v;
	var e9d3z;
	var e9d3A;
	var i;
	var j;
	var m;
	var mstr;
	var y;
	var ydisp;
	var prevyr;
	var nextyear;
	var blnWeekHasEvents;
	m = e9d3n.getMonth();
	y = e9d3n.getFullYear();
	
	if (y<e9d3f.dateRangeStart) {
		m=0;
		y=e9d3f.dateRangeStart;
	};
	
	if (y>e9d3f.dateRangeEnd) {
		m=11;
		y=e9d3f.dateRangeEnd;
	};
	
	e9d3n = new Date(y, m, e9d3n.getDate());
	e9d3o = new Date(y, m, 1);
	e9d3q = new Date(y, m, 1);
	e9d3p = new Date();
	e9d3p = new Date( e9d3p.getFullYear(), e9d3p.getMonth(), e9d3p.getDate());e9d3o.setDate(e9d3o.getDate() + e9d3f.monthStartDate[m] -1);
	e9d3o.setDate( e9d3o.getDate() - e9d3f.getDay(e9d3o) );
	
	if ( e9d3o.getDate() == 2 )
		e9d3o.setDate( e9d3o.getDate() - 7 );
		
	e9d3E = 1 - e9d3f.getDay(e9d3o);
	e9d3m = e9d3Y(e9d3n);
	e9d3u = "";
	e9d3u += "<table width='75' border='0'>";
	
		e9d3u += "<tr id='scSelectorRow' name='scSelectorRow' >";
	e9d3v="";
	
	if (e9d3f.dateSelector&4)
		e9d3v = e9d3f.prevHtml;
		
	j=1;
	
	if (e9d3f.displayWeekNumber)
		j=2;
		
			//prevyr==yr-1;
	//nextyr==yr+1;
	e9d3u += "<td id='scSelectorCell1' name='scSelectorCell1'" + "' align='center' valign='middle'";
	e9d3u += "<div id='scHeaderElement' name='scHeaderElement' class='scHeader'";
	e9d3u += " onclick='fscChangeDate(new Date(" + fscFormatNewDate( new Date(y-1, m, 1) ) + "));' ";
	e9d3u += " onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><span class='scSelector'>" + e9d3f.prevHtml + "</span>";
	e9d3u += "</div></td><td align='center'>";
	e9d3v = "";
		
	//if (e9d3f.dateSelector&2)
		//e9d3v+="<select id='cboYear' name='cboYear' onChange='fscChangeDate(new Date(this.value, " + m + ", 1));' style='width:100px;'>" + fscYearOptions(y) + "</select>";
		//ydisp=y -1;
		//e9d3v+="<a href='javascript:fscChangeDate(new Date(ydisp, " + m + ", 1));'>" + ydisp +"</a>";
//if (e9d3f.dateSelector&8)
		//e9d3v = e9d3f.prevHtml;

	//e9d3u += "<span class='scSelector'>" + e9d3v + "</span>";
	e9d3u += "<font size='2' face='verdana' color='#336699'><b>" + y + "</b></font></td>";
	e9d3u += "<td id='scSelectorCell1' name='scSelectorCell1'" + "' align='center' valign='middle'";
	e9d3u += "<div id='scHeaderElement' name='scHeaderElement' class='scHeader'";
	e9d3u += " onclick='fscChangeDate(new Date(" + fscFormatNewDate( new Date(y+1, m, 1) ) + "));' ";
	e9d3u += " onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><span class='scSelector'>" + e9d3f.nextHtml + "</span>";
	e9d3u += "</div></td>";	

	//e9d3u += "<td id='scSelectorCell2' name='scSelectorCell2' align='center' valign='bottom'>";
	//e9d3u += "<div id='scHeaderElement' name='scHeaderElement' class='scHeader'>" + e9d3v + "</div></td>";
	//e9d3v="";
	
	//if (e9d3f.dateSelector&8)
	//	e9d3v = e9d3f.nextHtml;
		
	//e9d3u += "<td id='scSelectorCell3' name='scSelectorCell3' align='center' valign='top' ";
	//e9d3u += "<div id='scHeaderElement' name='scHeaderElement' class='scHeader'";
	//e9d3u += " onclick='fscChangeDate(new Date(" + fscFormatNewDate( e9d3q.add("m", 1 )) + "));' ";
	//e9d3u += " onmouseover='this.style.cursor=\"hand\";' ";
	//e9d3u += " >";
	//e9d3u += "<span class='scSelector'>" + e9d3v + "</span>";
	//e9d3u += "</div></td>";
	e9d3u += "</tr><tr><td colspan='3'><table width='75' align='center'>";
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",0,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>January</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",1,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>February</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",2,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>March</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",3,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>April</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",4,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>May</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",5,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>June</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",6,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>July</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",7,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>August</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",8,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>September</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",9,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>October</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",10,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>November</font></div></td></tr>"
	e9d3u += "<tr><td align='center'><div id='scHeaderElement' name='scHeaderElement' class='scHeader' onclick='fscChangeDate(new Date(" + y + ",11,1));' onmouseover='this.style.cursor=\"hand\";' ";
	e9d3u += " ><font size='1' face='verdana'>December</font></div></td></tr></table></td></tr></table>"	
	
	return e9d3u;
};

function fscChangeDate(e9d3o) {
	var e9d3B = window.location.toString();
	var strDate;
	strDate = (parseInt(e9d3o.getMonth())+1) + "/1/" + e9d3o.getFullYear();
	e9d3B = fscRemoveQueryStrParam(e9d3B, e9d3h);
	e9d3B = fscAddQueryStrParam(e9d3B, e9d3h, strDate);
	window.location = e9d3B;
};

function fscShowEvent(e9d3o, e9d3n, e9d3p, e9d3l, blnHasRegularEvent) {
	var e9d3y = false;
	if ( e9d3o.equalsTo(e9d3l.date) && e9d30(e9d3o)==e9d30(e9d3n) )
		e9d3y = true;
		
	if ( e9d3o.equalsTo(e9d3l.date) && e9d3l.day!=e9d3o.getDate() )
		e9d3y = true;
		
	if ( e9d3o.equalsTo(e9d3l.date) && e9d3f.deadCellType&4 )
		e9d3y = true;
		
	if (!(e9d3f.showPastEvents) && e9d3o < e9d3p )
		e9d3y=false;
		
	if (!(e9d3f.showFutureEvents) && e9d3o > e9d3p )
		e9d3y=false;
		
	if (e9d3f.overrideSpecialEvent && blnHasRegularEvent && e9d3l.isRegular==false)
		e9d3y=false;
		
	if (e9d3f.filterNames.length > 0 && e9d3l.filter) {
		if (e9d3f.filter.indexOf(e9d3l.filter)==-1) {
			e9d3y=false;
		};
	};
	
	if (!(e9d3lca) && e9d3o.getDate() > (5 + 4 + 1) )
		e9d3y=false;
		
	return e9d3y;
};

function e9d3S(strElementType, e9d3w) {
	var obj;
	if (document.createElement && (obj = document.createElement(strElementType))) {
		obj.appendChild(document.createTextNode(e9d3w));
		document.body.appendChild(obj);
		return obj;
	};
	
	alert("ERROR - e9d3S");
	return false;
};

function e9d3T(objParent, strName, strValue) {
	var objDoc = objParent.ownerDocument;
	if (!objDoc)
		objDoc = objParent;
		
	var objNode = objDoc.createElement(strName);
	if (strValue) {
		var objNodeText = objDoc.createTextNode(strValue);
		objNode.appendChild(objNodeText);
	};
	
	objParent.appendChild(objNode);
	return objNode;
};

function e9d3U(objParent, strName, strValue) {
	var objDoc = objParent.ownerDocument;
	if (!objDoc)
		objDoc = objParent;
		
	var objNode = objDoc.createAttribute(strName);
	if (strValue)
		objNode.nodeValue = strValue;
		
	objParent.attributes.setNamedItem(objNode);
};

function fscImportXml( strFile, strFunction ) {
	if (window.ActiveXObject) {
		var objDoc = fscLoad(strFile);
		eval( strFunction + '(objDoc);' );
		return true;
	} else {
		var hdnDiv = document.createElement('DIV');
		hdnDiv.style.visibility = 'hidden';
		hdnDiv.style.position = 'absolute';
		hdnDiv.style.top = '0px';
		hdnDiv.style.left = '0px';
		if( !window.fscXmlTimer ) {
			window.fscXmlTimer = window.setInterval('fscImportXmlCheck();',100);
		};
		
		hdnDiv.innerHTML = '<iframe src="' + strFile + '" name="fscXmlFrame" height="0" width="0"><\/iframe>';
		mfntImport = strFunction;
		document.body.appendChild(hdnDiv);
		return true;
	};
};

function fscImportXmlCheck() {
	if( mfntImport && window.frames['fscXmlFrame'] ) {
		if (window.fscXmlTimer)
			window.clearInterval( window.fscXmlTimer );
			
		eval( mfntImport + '(window.frames.fscXmlFrame.window.document);' );
	};
};

function e9d3V() {
	if (window.ActiveXObject) {
		var objDoc = new ActiveXObject("Microsoft.XMLDOM");
		return objDoc;
	};
	
	if (document.implementation && document.implementation.createDocument) {
		var objDoc = document.implementation.createDocument( "", "", null );
		return objDoc;
	};
	
	alert("ERROR - e9d3V" + "\n" + "Browser can't create DOM object.");
	return false;
};

function fscLoad(e9d3B) {
	if (window.ActiveXObject) {
		var objDoc = new ActiveXObject("Microsoft.XMLDOM");
		objDoc.async = false;	//first reference I have seen to async
		objDoc.load(e9d3B);
		return objDoc;
	};
	
	if (document.implementation) {
		var pipe = new XMLHttpRequest();	//More messaging calls
		pipe.open("GET", e9d3B, false);
		pipe.send(null);
		return pipe.responseXML;
	};
	return false;
};

function e9d3W(objXml, strXsltFile) {
	if (window.ActiveXObject) {
		var objXslt = new ActiveXObject("Microsoft.XMLDOM");
		objXslt.async = false;
		objXslt.load(strXsltFile);
		var strHTML = objXml.transformNode(objXslt);
		return strHTML;
	};
	
	if (document.implementation) {
		var processor = new XSLTProcessor();
		var objXslt = fscLoad(strXsltFile, true);
		processor.importStylesheet(objXslt);
		var node = processor.transformToDocument(objXml);
		var strHTML = e9d3X(node);
		return strHTML;
	};
	
	alert("ERROR - fscGetNodeText");
	return "";
};

function e9d3X(objDoc) {
	if (window.ActiveXObject) {
		return objDoc.xml;
	};
	
	if (document.implementation && document.implementation.createDocument) {
		varobjSerializer = new XMLSerializer();
		return objSerializer.serializeToString(objDoc);
	};
	
	alert("ERROR - e9d3X");
	return "";
};

function fscGetNodeText(objNode) {
	var objChild;
	for (var i=0;i<objNode.childNodes.length;i++) {
		objChild = objNode.childNodes[i];
		if (objChild.nodeName=='#text') {
			if (objChild.nodeValue.length != 0) {
				return objChild.nodeValue;
			};
		};
	};
	
	return null;
};

function EventObj(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript, strFilter) {
	var e9d3r;
	this.day = 0;
	if (m) 
		this.month = m;
		
	if (d)
		this.day = d;
		
	if (y)
		this.year = y;
		
	if (strText)
		this.text = strText;
		
	if (strPopuplink)
		this.popuplink = strPopuplink;
		
	if (strStyle)
		this.style = strStyle;
		
	if (strTooltip)
		this.tooltip = strTooltip;
		
	if (strScript)
		this.script = strScript;
		
	if (strFilter)
		this.filter = strFilter;
		
	this.isRegular = false;
	
	if (m && y) {
		e9d3r = new Date( y, m-1, 1);
		e9d3r = e9d3r.add("d", d-1);
		this.date = e9d3r;
	};
};

function fscEvent(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript, strFilter) {
	var e9d3l = new EventObj(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript, strFilter);
	e9d3l.isRegular = true;
	e9d3g[e9d3g.length] = e9d3l;
};

function dcEvent(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript) {
	fscEvent(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript);
};

function e9d3Y(dteParam) {
	var arrTemp = new Array();
	var e9d3l;
	var e9d3y;
	var i;
	var year;
	var month;
	var e9d3r;
	var m = dteParam.getMonth();
	var y = dteParam.getFullYear();
	var strEventDate;
	var blnIsDate;
	var dteFirst = new Date(y, m, 1);
	var strFirstYM = e9d30(dteFirst);
	var strPrevYM = e9d30( dteFirst.add("m", -1) );
	var strNextYM = e9d30( dteFirst.add("m", 1) );
	var strEventYM;
	if (e9d3g) {
		for (i=0;i<e9d3g.length;i++) {
			e9d3l = e9d3g[i];
			year = y;
			if (e9d3l.year)
				year = e9d3l.year;
			
			month = m;
			if (e9d3l.month)
				month = e9d3l.month-1;
				
			strEventDate = fscDateString(year, month+1, e9d3l.day, false);
			blnIsDate = fscIsValidDate(strEventDate);
			e9d3r = new Date( year, month, 1);
			e9d3r = e9d3r.add( "d", e9d3l.day-1 );
			strEventYM = e9d30(e9d3r);
			e9d3y = false;
			if ( blnIsDate && strFirstYM == strEventYM )
				e9d3y=true;
				
			if ( !blnIsDate && e9d3f.deadCellType&2 ) {
				if ( strEventYM == strPrevYM && e9d3r.getDate()>=22 )
					e9d3y=true;
					
				if ( strEventYM == strNextYM && e9d3r.getDate()<=6 )
					e9d3y=true;
			};
			
			if ( blnIsDate && e9d3f.deadCellType&4 ) {
				if ( strEventYM == strPrevYM && e9d3r.getDate()>=22 )
					e9d3y=true;
					
				if ( strEventYM == strNextYM && e9d3r.getDate()<=6 )
					e9d3y=true;
			};
			
			if (e9d3y) {
				e9d3l.year = e9d3r.getFullYear();
				e9d3l.month = e9d3r.getMonth();
				e9d3l.date = e9d3r;
				arrTemp[arrTemp.length] = e9d3l;
			};
		};
		
		return arrTemp;
	};
	
	return false;
};

function e9d3Z(objParent, e9d3l, strLastClass) {
	var objNode;
	objNode = e9d3T(objParent, "event");
	e9d3T(objNode, "month", e9d3l.month);
	e9d3T(objNode, "day", e9d3l.day);
	e9d3T(objNode, "year", e9d3l.year);
	e9d3T(objNode, "text", e9d3l.text);
	if (e9d3l.popuplink)
		e9d3T(objNode, "popuplink", e9d3l.popuplink);
		
	if (e9d3l.tooltip)
		e9d3T(objNode, "tooltip", e9d3l.tooltip);
		
	if (e9d3l.script)
		e9d3T(objNode, "script", e9d3l.script);
		
	var strEventClass = "scevent";
	
	if (e9d3l.style)
		strEventClass += " " + e9d3l.style;
		
	e9d3U(objNode, "class", strEventClass);
	return objNode;
};

function e9d31(e9d3l) {
	var e9d3u = e9d3l.text;
	if (e9d3l.popuplink)	//Can we make our own popups for event info links??
		//e9d3u = "<a href=\"javascript:fscPopup('" + e9d3l.popuplink + "', '" + fscGetDateString(e9d3l.date) + "');\">" + e9d3u + "</a>";
		e9d3u = "<a href=\"" + e9d3l.popuplink + "\" target=\"_parent\"><div class=" + e9d3l.style + ">" + e9d3u + "</div></a>";
		//e9d3u = "<a href=\"" + e9d3u + ">" + e9d3u + "\"</a>";
	if (e9d3l.script)
		e9d3u = "<div onClick=\"" + e9d3l.script + "\">" + e9d3u + "</div>";
		
	var strResult = "<div id='scEventElement' name='scEventElement'";
	
	if (e9d3l.tooltip)
		strResult += " title='" + e9d3l.tooltip + "'";
		
	var strEventClass = "scevent";
	
	if (e9d3l.style)
		strEventClass += " " + e9d3l.style;
		
	strResult += " class='" + strEventClass + "'";
	strResult += " >" + e9d3u + "</div>";
	return strResult;
};

function e9d32(objEvtDoc) {
	var i, j;
	var objNode;
	var objNodeChild;
	var e9d3l;
	var strMonth, strDay, strYear, strText, strPopupLink, strStyle, strTooltip, strScript;
	
	for (i=0;i<objEvtDoc.documentElement.childNodes.length;i++) {
		objNode = objEvtDoc.documentElement.childNodes[i];
		if (objNode.nodeName=="event") {
			for (j=0;j<objNode.childNodes.length;j++) {
				objNodeChild = objNode.childNodes[j];
				if (objNodeChild.nodeName=='month')
					strMonth = parseInt(fscGetNodeText(objNodeChild),10);
					
				if (objNodeChild.nodeName=='day')
					strDay = parseInt(fscGetNodeText(objNodeChild),10);
					
				if (objNodeChild.nodeName=='year')
					strYear = parseInt(fscGetNodeText(objNodeChild),10);
					
				if (objNodeChild.nodeName=='text')
					strText = fscGetNodeText(objNodeChild);
					
				if (objNodeChild.nodeName=='popuplink')
					strPopupLink = fscGetNodeText(objNodeChild);
					
				if (objNodeChild.nodeName=='style')
					strStyle = fscGetNodeText(objNodeChild);
					
				if (objNodeChild.nodeName=='tooltip')
					strTooltip = fscGetNodeText(objNodeChild);
					
				if (objNodeChild.nodeName=='script')
					strScript = fscGetNodeText(objNodeChild);
			};
			
			e9d3l = new EventObj(parseInt(strMonth), parseInt(strDay), parseInt(strYear), strText, strPopupLink, strStyle, strTooltip, strScript);
			e9d3g[e9d3g.length] = e9d3l;
		};
	};
};

//Format looks wierd.. did I miss something??

Date.SECOND = 1000;
Date.MINUTE = 60 * Date.SECOND;
Date.HOUR = 60 * Date.MINUTE;Date.DAY = 24 * Date.HOUR;
Date.WEEK = 7 * Date.DAY;
Date.prototype.getDaysPerMonth = function(month) {
	var arrDays = new Array(31,28,31,30,31,30,31,31,30,31,30,31);
	var year = this.getFullYear();
	if (typeof month == "undefined")
		month = this.getMonth();
		
	if (((0 == (year%4)) && ( (0 != (year%100)) || (0 == (year%400)))) && month == 1)
		return 29;
		
	return arrDays[month];
};

Date.prototype.weekOfYear = function() {
	var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	var then = new Date(this.getFullYear(), 0, 1, 0, 0, 0);
	var time = now - then;
	var day = then.getDay();
	(day > 3) && (day -= 4) || (day += 3);	//This looks wrong
	var result = Math.round(((time / Date.DAY) + day) / 7);
	return result;
};

Date.prototype.dayOfYear = function() {
	var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	var then = new Date(this.getFullYear(), 0, 0, 0, 0, 0);
	var time = now - then;
	return Math.floor(time / Date.DAY);
};

Date.prototype.weekOfMonth = function() {
	var now = new Date(this.getFullYear(), this.getMonth(), this.getDate(), 0, 0, 0);
	var then = new Date(this.getFullYear(), this.getMonth(), 1, 0, 0, 0);
	var time = now - then;
	return (Math.floor(time / Date.WEEK)) + 1;
};

Date.prototype.equalsTo = function(date) {
	return ((this.getFullYear() == date.getFullYear()) && (this.getMonth() == date.getMonth()) &&(this.getDate() == date.getDate()));
};

Date.prototype.add = function(p_Interval, p_Number) {
	var p_Date = this;
	p_Number = new Number(p_Number);
	var dt = new Date(p_Date);
	switch(p_Interval.toLowerCase()){
		case "yyyy": {
			dt.setFullYear(dt.getFullYear() + p_Number);
			break;
		};
		case "q": {
			dt.setMonth(dt.getMonth() + (p_Number*3));
			break;
		};
		case "m": {
			dt.setMonth(dt.getMonth() + p_Number);
			break;
		};
		case "y":
		case "d":
		case "w": {
			dt.setDate(dt.getDate() + p_Number);
			break;
		};
		case "ww": {
			dt.setDate(dt.getDate() + (p_Number*7));
			break;
		};
		case "h": {
			dt.setHours(dt.getHours() + p_Number);
			break;
		};
		case "n": {
			dt.setMinutes(dt.getMinutes() + p_Number);
			break;
		};case "s": {
			dt.setSeconds(dt.getSeconds() + p_Number);
			break;
		};
		case "ms": {
			dt.setMilliseconds(dt.getMilliseconds() + p_Number);
			break;
		};
		default: {
			return "invalid interval: '" + p_Interval + "'";
		};
	};
	return dt;
};

function fscIsValidDate(strDate) {
	var datePat = /^(\d{1,2})(\/|)(-?\d{1,2})(\/|)(\d{2,4})$/;
	var matchArray = strDate.match(datePat);
	var strReason = "";
	if (matchArray == null)
		strReason = "pattern match failed";
		
	var lngMonth = parseInt(matchArray[1], 10);
	var lngDay = parseInt(matchArray[3], 10);
	var lngYear = parseInt(matchArray[5], 10);
	if (strReason.length==0 && (lngMonth < 1 || lngMonth > 12) )
		strReason="invalid month";
		
	if (strReason.length==0 && (lngDay < 1 || lngDay > 31) )
		strReason="invalid day";
		
	if (strReason.length==0 && ((lngMonth==4 || lngMonth==6 || lngMonth==9 || lngMonth==11) && lngDay==31))
		strReason="31 days";
		
	if (strReason.length==0) {
		if (lngMonth == 2) {
			var isleap = (lngYear % 4 == 0 && (lngYear % 100 != 0 || lngYear % 400 == 0));
			if (lngDay > 29 || (lngDay==29 && !isleap))
				strReason="leap year";
				
		};
	};
	
	if (strReason.length==0)
		return true;
		
	return false;
};

function fscDateString(y, m, d, blnYMD) {
	var e9d3v = "";
	var strYear = y.toString();
	strYear = e9d34(strYear, 4);
	var strMonth = m.toString();
	strMonth = e9d34(strMonth, 2);
	var strDay = d.toString();
	strDay = e9d34(strDay, 2);
	if (blnYMD)
		return strYear + strMonth + strDay;
		
	return strMonth + "/" + strDay + "/" + strYear;
};

function fscGetDateString(dteParam) {
	return fscDateString( dteParam.getFullYear(), dteParam.getMonth()+1, dteParam.getDate(), false);
};

function e9d30(dteParam) {
	var e9d3w = fscDateString( dteParam.getFullYear(), dteParam.getMonth(), dteParam.getDate(), true);
	return e9d3w.substring(0,6);
};

function fscFormatNewDate(dteParam) {
	var e9d3v = "";
	e9d3v += dteParam.getFullYear() + ", ";
	e9d3v += dteParam.getMonth() + ", ";
	e9d3v += dteParam.getDate();
	return e9d3v;
};

function fscIsDate(m,d,y) {
	var dte = new Date(y,m,d);
	if ( (dte.getFullYear() == y) && (dte.getMonth() == m) && (dte.getDate() == d) )
		return true;
		
	return false;
};

function fscGetDay(dte) {
	var d = dte.getDay();
	if (e9d3f.beginMonday)
		d--;
		
	if (d==-1)
		d=6;
		
	return d;
};

function fscMonth(dte) {
	var d = dte.getDate();
	var m = dte.getMonth();
	var y = dte.getFullYear();
	var nStart = e9d3f.monthStartDate[m];
	if ( d<nStart ) {
		if ( m==0 )
			return 11;
			
		return m-1;
	};
	
	return m;
};

function fscYear(dte) {
	var d = dte.getDate();
	var m = dte.getMonth();
	var y = dte.getFullYear();
	var nStart = e9d3f.monthStartDate[m];
	if ( d<nStart ) {
		if ( m==0 )
			return y-1;
	};
	
	return y;
};

function fscMonthOptions(intDefault) {
	var strSelected;
	var e9d3u = "";
	for ( var i=0;i<=11;i++ ) {
		strSelected = "";
		if ( i==intDefault )
			strSelected = "selected='true'";
			
		e9d3u += "<option value='" + i + "' " + strSelected + " >" + e9d3f.longMonths[i] + "</option>";
	};
	return e9d3u;
};

function fscYearOptions(intDefault) {
	var strSelected;
	var e9d3u = "";
	for ( var i=e9d3f.dateRangeStart;i<=e9d3f.dateRangeEnd;i++ ) {
		strSelected = "";
		if ( i==intDefault )
			strSelected = "selected='true'";
			
		e9d3u += "<option value='" + i + "' " + strSelected + " >" + i + "</option>";
	};
	return e9d3u;
};

function fscAddSpecialEvents(e9d3o, e9d3m) {
	arrSpecial = scSpecialEvent(e9d3o);
	if (arrSpecial) {
		for (i=0;i<arrSpecial.length;i++) {
			e9d3l = arrSpecial[i];
			e9d3m[e9d3m.length] = e9d3l;
		};
	};
};

//Popup function
function fscPopup(e9d3B, strDate) {
	if (mblnPopupAddParam)
		e9d3B = fscAddQueryStrParam(e9d3B, e9d3h, strDate);
		
	if (mlngPopupType==2) {
		var objPopup = e9d35("scIfmPopup");
		objPopup.src = e9d3B;
		objPopup = e9d35("scDivPopup");
		objPopup.style.display="block";
	} else
		if (mlngPopupType==3) {
			window.top.location = e9d3B;	//not sure on formatting here with braces
	} else {
		var objWindow = window.open(e9d3B, "_blank", mstrPopupProp);
	};
};

function fscPrint(e9d3B, strDate) {
	var strQueryStr = "?license=";
	for (i=0;i<e9d3f.license;i++) {
		if (i!=0)
			strQueryStr += ",";
			
		strQueryStr += e9d3f.license[i];
	};
	
	e9d3B += "?scLicense=" + strQueryStr;
	var strProps = "width=200,height=100,scrollbars=no,resizable=yes,titlebar=no,toolbar=no,menubar=no,location=no,status=no";
	fscPopup(e9d3B, strDate, strProps);
};

function fscEaster(Y) {
	if (fscIsDate(e9d3i)) {
		if (e9d3i.getFullYear==Y)
			return e9d3i;
	};
	
	var C = Math.floor(Y/100);
	var N = Y - 19*Math.floor(Y/19);
	var K = Math.floor((C - 17)/25);
	var I = C - Math.floor(C/4) - Math.floor((C - K)/3) + 19*N + 15;
	I = I - 30*Math.floor((I/30));
	I = I - Math.floor(I/28)*(1 - Math.floor(I/28)*Math.floor(29/(I + 1))*Math.floor((21 - N)/11));
	var J = Y + Math.floor(Y/4) + I + 2 - C + Math.floor(C/4);
	J = J - 7*Math.floor(J/7);
	var L = I - J;
	var M = 3 + Math.floor((L + 40)/44);
	var D = L + 28 - 31*Math.floor(M/4);
	var dte = new Date(Y,M-1,D);
	e9d3i = dte;
	return dte;
};

//function fscPrintFilterCheckbox() {
//	return e9d3u;
//};

function chkScFilter_onClick(chk) {
	var arrNames = e9d3f.filterNames.split(",");
	var e9d3B = window.location.toString();
	var strValue = "";
	var objCheck;
	var i;
	for (i=0;i<arrNames.length;i++) {
		objCheck = document.getElementById("chkScFilter" + (i+1));
		if (objCheck) {
			if (objCheck.checked)
				strValue += objCheck.value + ",";
		};
	};
	
	if (strValue.length > 0)
		strValue = strValue.substring(0, strValue.length-1);
		
	e9d3B = fscRemoveQueryStrParam(e9d3B, "scFilter");
	e9d3B = fscAddQueryStrParam(e9d3B, "scFilter", strValue);
	window.location = e9d3B;
};

function fscRequestQueryString(strKey) {
	var e9d3B = window.location.toString();
	var intPosition = e9d3B.indexOf("?");
	if (intPosition == -1)
		return "";
		
	var strQueryStr = e9d3B.substr(intPosition+1, e9d3B.length-intPosition);
	var arrKeyValue;
	var arrQueryStr = strQueryStr.split("&");
	for (i=0;i<arrQueryStr.length;i++) {
		arrKeyValue = arrQueryStr[i].split("=");
		if ( arrKeyValue[0].toLowerCase() == strKey.toLowerCase() ) {
			return e9d39( arrKeyValue[1] );
		};
	};
	
	return "";
};

function fscAddQueryStrParam(e9d3B, strKey, strValue) {
	var strAnchor = "";
	var c = "?";
	var i;
	i = e9d3B.indexOf("#");
	if (i != -1) {
		strAnchor = e9d3B.substr(i, e9d3B.length - i);
		e9d3B = e9d3B.substr(0,i);
	};
	
	i = e9d3B.indexOf("?");
	if (i != -1)
		c="&";
		
	e9d3B += c + strKey + "=" + e9d38(strValue) + strAnchor;
	return e9d3B;
};

function fscRemoveQueryStrParam(e9d3B, strKey) {
	var strResult;
	var intStart;
	var intEnd;
	intStart = e9d3B.indexOf(strKey);
	if (intStart == -1) {
		strResult = e9d3B;
	} else {
		intEnd = e9d3B.indexOf("&", intStart);
		if (intEnd == -1)
			intEnd = e9d3B.indexOf("#", intStart);
			
		if (intEnd != -1) {
			strResult = e9d3B.substring(0, intStart) + e9d3B.substring(intEnd+1);
		} else {
			strResult = e9d3B.substring(0, intStart-1);
		};
	};
	
	return strResult;
};

function e9d3c() {
	var a = "abcdefghijklmnopqrstuvwxyz";
	var d;
	var i;
	var n;
	var c;
	var u = window.location.toString().toLowerCase();
	for (i=0;i<a.length;i++) {
		c = a.charAt(i);
		if (u.indexOf(c + ":")==0)
			return "1";
	};
	
	if (u.indexOf("localhost")!=-1)
		return "1";
		
	if (u.indexOf("file:/")!=-1)
		return "1";
		
	n = u.length;
	i = u.indexOf(":/" + "/") + 3;
	d = u.substring(i, n);
	i = d.indexOf("/");
	d = d.substring(0,i);
	d = e9d3b(d);
	return d;
};

function e9d3b(e9d3w) {
	var strBad = "!@#$%^&*()-_=+[{]}\|;:',<.>/?" + '"';
	var strResult = "";
	var c;
	for (var i=0;i<e9d3w.length;i++) {
		c = e9d3w.charAt(i);
		if (strBad.indexOf(c)==-1)
			strResult += c;
	};
	
	return strResult;
};

function e9d3a(strCode) {
	var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmonpqrstuvwxyz1234567890";
	var k = "dateStylePast";
	var i;
	var j;
	var c;
	var e9d3d;
	var e9d3e;
	var r="";
	j = 0;
	for ( i=0;i<strCode.length;i++ ) {
		c = strCode.charAt(i);
		e9d3d = a.indexOf(c);
		c = k.charAt(j);
		e9d3e = a.indexOf(c);
		e9d3d = e9d3d - e9d3e;
		if ( e9d3d < 0 )
			e9d3d = e9d3d + a.length;
			
		r = r + a.charAt(e9d3d);
		j++;
		if ( j >= k.length )
			j=0;
	};
	return r;
};

function e9d33(e9d3w) {
	var e9d3v = e9d3w;
	e9d3v = e9d37(e9d3v, "&lt;", "<");
	e9d3v = e9d37(e9d3v, "&gt;", ">");
	e9d3v = e9d37(e9d3v, "&amp;", "&");
	return e9d3v;
};

function e9d34(e9d3w, lngNumber) {
	var strResult = "00000000000000000000" + e9d3w;
	var lngValue = strResult.length - lngNumber;
	strResult = strResult.substring(lngValue);
	return strResult;
};

function e9d35(strID) {
	if( document.getElementById )
		return document.getElementById(strID);
		
	if( document.all )
		return document.all[strID];
		
	if ( document.layers )
		return document.layers[strID];
		
	if( document[szID] )
		return document[strID];
		
	return false;
};

function e9d37(inputString, fromString, toString) {
	var temp = inputString;
	if (fromString == "")
		return inputString;
		
	if (toString.indexOf(fromString) == -1) {
		while (temp.indexOf(fromString) != -1) {
			var toTheLeft = temp.substring(0, temp.indexOf(fromString));
			var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
			temp = toTheLeft + toString + toTheRight;
		};
	} else {
		var midStrings = new Array("~", "`", "_", "^", "#");
		var midStringLen = 1;
		var midString = "";
		while (midString == "") {
			for (var i=0;i < midStrings.length;i++) {
				var tempMidString = "";
				for (var j=0;j < midStringLen;j++) {
					tempMidString += midStrings[i];
				};
				if (fromString.indexOf(tempMidString) == -1) {
					midString = tempMidString;
					i = midStrings.length + 1;
				};
			};
		};
		
		while (temp.indexOf(fromString) != -1) {
			var toTheLeft = temp.substring(0, temp.indexOf(fromString));
			var toTheRight = temp.substring(temp.indexOf(fromString)+fromString.length, temp.length);
			temp = toTheLeft + midString + toTheRight;
		};
		
		while (temp.indexOf(midString) != -1) {
			var toTheLeft = temp.substring(0, temp.indexOf(midString));
			var toTheRight = temp.substring(temp.indexOf(midString)+midString.length, temp.length);
			temp = toTheLeft + toString + toTheRight;
		};
	};
	return temp;
};

function e9d38(e9d3w) {
	var SAFECHARS = "0123456789";
	SAFECHARS += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	SAFECHARS += "abcdefghijklmnopqrstuvwxyz";
	SAFECHARS += "-_.!~*'()";
	var HEX = "0123456789ABCDEF";
	var plaintext = e9d3w;
	var encoded = "";
	for (var i = 0;i < plaintext.length;i++ ) {
		var ch = plaintext.charAt(i);
		if (ch == " ") {
			encoded += "+";
		} else if (SAFECHARS.indexOf(ch) != -1) {
			encoded += ch;
			} else {
				var charCode = ch.charCodeAt(0);
				if (charCode > 255) {
					alert( "Unicode Character '" + ch + "' cannot be encoded using standard URL encoding.\n" + "(URL encoding only supports 8-bit characters.)\n" +"A space (+) will be substituted." );
					
				encoded += "+";
			} else {
				encoded += "%";
				encoded += HEX.charAt((charCode >> 4) & 0xF);
				encoded += HEX.charAt(charCode & 0xF);
			};
		};
	};
	return encoded;
};

function e9d39(e9d3w) {
	var HEXCHARS = "0123456789ABCDEFabcdef";
	var encoded = e9d3w;
	var plaintext = "";
	var i = 0;
	while (i < encoded.length) {
		var ch = encoded.charAt(i);
		if (ch == "+") {
			plaintext += " "; i++;
		} else if (ch == "%") {
			if (i < (encoded.length-2) && HEXCHARS.indexOf(encoded.charAt(i+1)) != -1 && HEXCHARS.indexOf(encoded.charAt(i+2)) != -1 ) {
				plaintext += unescape( encoded.substr(i,3) );
				i += 3;
			} else {
				alert( 'Bad escape combination near ...' + encoded.substr(i) );
				plaintext += "%[ERROR]";
				i++;
			};
		} else {
			plaintext += ch; i++;
		};
	};
	return plaintext;
};

function fscOutput(text) {
	var obj;
	if (document.createElement && (obj = document.createElement('textarea'))) {
		e9d3U(obj, "rows", "5");
		e9d3U(obj, "cols", "80");
		obj.appendChild(document.createTextNode(text));
		document.body.appendChild(obj);
	};
};

function fscShowProperties(obj) {
	var i;
	var strOutput;
	var strTerm;
	var e9d3w;
	var strSpace;
	var e9d3ts;
	var lngMaxLen = 100;
	e9d3ts=3;
	if (document.layers)
		e9d3ts=3;
		
	strSpace = " ";
	strOutput = obj.name + "\n\n";
	i=1;
	for (var prop in obj) {
		strTerm = "\n";
		if (i==e9d3ts)
			strTerm = "\n";
			
		i=i+1;
		if (i>e9d3ts)
			i=1;
			
		e9d3w = "." + prop + " = " + obj[prop];
		if (e9d3w.length<lngMaxLen)
			e9d3w += strSpace.substring(0, lngMaxLen-e9d3w.length);
			
		if (e9d3w.length>lngMaxLen)
			e9d3w = e9d3w.substring(0, lngMaxLen);
			
		strOutput += e9d3w + strTerm;
	};
	
	fscOutput(strOutput);
	return true;
};