//---------------------------------------------------------------------------
//
//  scrptcal.js 
//  a component of ScriptCalendar 
//  (c)2000 Dan Shipe 
//  www.scriptcalendar.com
//  salesadmin@scriptcalendar.com
//
//    Date     By   Ver   Description
// ----------  ---  ----  ---------------------------------------------------
// 02-23-2005  DS   6.00  Initial creation
// 03-08-2005  DS   6.01  Fixed bug in to allow events on 8th and 9th to display
// 03-24-2005  DS   6.02  Implement key in IFrame tag
// 04-10-2005  DS   6.03  Added "small" theme
// 04-15-2005  DS   6.04  Added support for a printable css
// 05-31-2005  DS   6.05  Remove current date from prev month
// 06-15-2005  DS   6.06  Correct bug in PopupAddParam
// 08-04-2005  DS   6.07  Modifications to code
// 08-08-2005  DS   6.08  Add OverrideSpecialEvents & event filter
// 11-03-2005  DS   6.09  Fixed bug in Dead cell display
// 03-01-2006  DS   6.10  Fixed bug in OverrideSpecialEvent display
// 06-01-2006  DS   6.11  Fixed bug in XML octal conversion
// 09-01-2006  DS   6.12  Added classes for the moth and year dropdown
// 09-05-2006  DS   6.13  Revise licensing
// 09-10-2006  DS   6.14  fixed rounding bug in WeekOfMonth
// 03-01-2007  DS   6.15  add additional handlers to the scHandlr.js
// 03-15-2007  DS   6.16  fixed bug when running from localhost
// 03-18-2007  DS   6.17  improve xml loading for firefox 2 
// 04-03-2007  DS   6.18  fixed xml filter bug
// 04-10-2007  DS   7.00  enhancements
// 09-24-2007  DS   7.01  allow for relatively positioned calendar
// 09-25-2007  DS   7.02  fix handling of anchor tag when re-posting
// 10-12-2007  DS   7.03  changes for outlook theme
// 10-16-2007  DS   7.04  cleanup for outlook theme
// 10-23-2007  DS   7.05  fix bug in the initialDate property
// 02-12-2008  DS   7.06  added specialEventsFirst flag
// 12-20-2008  DS   7.07  fix bug in cellHeight
// 03-07-2009  DS   7.08  support XML events in Google Chrome Browser
// 06-15-2009  DS   7.09  fix bug in xml

var mobjSelf;var mfntImport;var OO00OO;var O0O0 = new Array();var mdteEaster;var O00O = "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() {var O0O00 = new Date();this.license = new Array();this.xmlFile = false;this.xslFile = false;this.initialDate = O0O00;this.deadCellType = 0;this.dateSelector = 1+2+4+8;this.prevHtml = "&laquo;";this.nextHtml = "&raquo;";this.dateRangeStart = 2006;this.dateRangeEnd = 2012;this.cellWidth = 100;this.cellHeight = 100;this.padding = "0";this.spacing = "2";this.beginMonday = false;this.displayWeekNumber= false;this.showFutureEvents= true;this.showPastEvents= true;this.enableHandlers= true;this.overrideSpecialEvent = false;this.expandCellHeight = false;this.expandEventStyle= 0;this.specialEventsFirst= false;this.addOverLib= false;this.overLibConfig= "CSSCLASS, BGCLASS, 'OLBackground', FGCLASS, 'OLForeground', TEXTFONTCLASS, 'OLFont'";this.popupType= 3;this.popupAddParam= true;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= "";this.eventArray = new Array();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" );mobjSelf = this;};scriptcalendar.prototype.initialize = function() {var O0000;var d;var objIFrame = parent.document.getElementById("scIFrame");if (objIFrame) {if (objIFrame.name.length != 0) {this.license = objIFrame.name.split(",");};};var O0000 = fscRequestQueryString("scLicense");if (O0000.length != 0) {this.license = O0000.split(",");};OO00OO = false;d = fscGetDomain();for (var i=0;i<this.license.length;i++) {O0000 = fscDecode(this.license[i]);if (O0000.length > d.length) {O0000 = O0000.substring(O0000.length-d.length);};if (O0000==d) OO00OO = true;};if (d=="1") OO00OO = true;mlngPopupType = this.popupType;mblnPopupAddParam = this.popupAddParam;mstrPopupProp = this.popupProperties;if (!(this.xmlFile)) {this.main(false);} else {fscImportXml(this.xmlFile, "mobjSelf.main");};};scriptcalendar.prototype.main = function(objEvtXml) {var strHtml;var objXml;var dteCal = this.initialDate;strDate = fscRequestQueryString(O00O);if (strDate.length != 0) dteCal = new Date(strDate);if (objEvtXml) this.xmlToArray(objEvtXml);if (!(this.xslFile)) {strHtml = this.getCalendarHtmlString(dteCal);} else {objXml = this.getCalendarXml(dteCal);strHtml = O0OOOO0(objXml, this.xslFile);strHtml = strHtml.htmlEncode();};if (this.filterNames.length != 0) {this.createFilter();};var objElmParent = document.getElementById("scParent");if (objElmParent == null) objElmParent = document.body;var objElmCalendar = O00000(objElmParent, "div", "");objElmCalendar.innerHTML = strHtml;if (this.popupType==2) {this.createPopup();};};scriptcalendar.prototype.getCalendarXml = function(O0O0O) {var O0OO0;var objEvent;var dteCal;var O0O00;var O00OO;var O00O0;var O000O;var O0O0O0;var blnHasRegularEvent;var strClass;var O0OOO0;var strDate;var O0000;var O0OO0O;var strLastCls;var O0O0OO;var i;var j;var m;var y;var O0O00O;var objNodeProperties;var O0O000;var O00OOO;var O00O0OHeaders;var O00O00s;var O00O00;var O00OO0;var O00O0O;var O000OO;var objNodeTemp;m = O0O0O.getMonth();y = O0O0O.getFullYear();if (y<this.dateRangeStart) {m=0;y=this.dateRangeStart;};if (y>this.dateRangeEnd) {m=11;y=this.dateRangeEnd;};O0O0O = new Date(y, m, O0O0O.getDate());dteCal = new Date(y, m, 1);O00OO = new Date(y, m, 1);O0O00 = new Date();O0O00 = new Date( O0O00.getFullYear(), O0O00.getMonth(), O0O00.getDate());dteCal.setDate(dteCal.getDate() + this.monthStartDate[m] -1);dteCal.setDate( dteCal.getDate() - this.getWeekday(dteCal) );if ( dteCal.getDate() == 2 ) dteCal.setDate( dteCal.getDate() - 7 );O0O0O0 = 1 - this.getWeekday(dteCal);strDisplayYM = O0O0O.format("yymm", false);strCalYM = dteCal.format("yymm", false);O0OO0 = this.getPartialEventArray(O0O0O);O0O00O = fscGetXmlDocument();objNodeTemp = O00000(O0O00O, "calendar", "");O0OOOOO(objNodeTemp, "border", "0");O0OOOOO(objNodeTemp, "cellpadding", this.padding);O0OOOOO(objNodeTemp, "cellspacing", this.spacing);O0OOOOO(objNodeTemp, "columns", "7");objNodeProperties = O00000(O0O00O.documentElement, "properties", "");for (var prop in this) {O0OOOOO(objNodeProperties, prop, this[prop]);};objNodeTemp = O00000(O0O00O.documentElement, "calendardate", O00OO.toString() );O0OOOOO(objNodeTemp, "year", O00OO.getFullYear().toString().pad(4));O0OOOOO(objNodeTemp, "month", O00OO.getMonth().toString().pad(2));O0OOOOO(objNodeTemp, "day", O00OO.getDate().toString().pad(2));objNodeTemp = O00000(O0O00O.documentElement, "currentdate", O0O00.toString() );O0OOOOO(objNodeTemp, "year", O0O00.getFullYear().toString().pad(4));O0OOOOO(objNodeTemp, "month", O0O00.getMonth().toString().pad(2));O0OOOOO(objNodeTemp, "day", O0O00.getDate().toString().pad(2));O00OOO = O00000(O0O00O.documentElement, "selectors", "");O0000="";if (this.dateSelector&4) O0000=this.prevHtml;objNodeTemp = O00000(O00OOO, "selector", O0000);O0OOOOO(objNodeTemp, "uniqueid", "prev");O0OOOOO(objNodeTemp, "onclick", "fscChangeDate(new Date(" + O00OO.add("m", -2).format("yy, mm, dd", false) + "));" );O0OOOOO(objNodeTemp, "onmouseover", "this.style.cursor='hand';" );i=1;if (this.displayWeekNumber) i=2;O0OOOOO(objNodeTemp, "colspan", i);O0000="&#160;";if (this.dateSelector&1) O0000 = "<select id=\"cboMonth\" name=\"cboMonth\" onChange=\"fscChangeDate(new Date(" + y + ", this.value, 1));\" class=\"scMonthDropdown\">" + this.monthOptions(m) + "</select>" + O0000;if (this.dateSelector&16) O0000 += this.longMonths[m] + " ";if (this.dateSelector&2) O0000 += "<select id=\"cboYear\" name=\"cboYear\" onChange=\"fscChangeDate(new Date(this.value, " + m + ", 1));\" class=\"scYearDropdown\">" + this.yearOptions(y) + "</select>";if (this.dateSelector&32) O0000 += y;objNodeTemp = O00000(O00OOO, "selector", O0000 );O0OOOOO(objNodeTemp, "uniqueid", "date");O0OOOOO(objNodeTemp, "colspan", "5");O0000="";if (this.dateSelector&8) O0000=this.nextHtml;objNodeTemp = O00000(O00OOO, "selector", O0000);O0OOOOO(objNodeTemp, "uniqueid", "next");O0OOOOO(objNodeTemp, "onclick", "fscChangeDate(new Date(" + O00OO.format("yy, mm, dd", false) + "));" );O0OOOOO(objNodeTemp, "onmouseover", "this.style.cursor='hand';" );O0OOOOO(objNodeTemp, "colspan", "1");O00O0OHeaders = O00000(O0O00O.documentElement, "weekdayheaders", "");if (this.displayWeekNumber) {objNodeTemp = O00000(O00O0OHeaders, "weekdayheader", "");};for (i=0;i<7;i++) {objNodeTemp = O00000(O00O0OHeaders, "weekdayheader", this.longDays[i] );};O00O00s = O00000(O0O00O.documentElement, "weeks", "");for (O00O0=0;O00O0<6 && dteCal.format("yymm", false)==O0O0O.format("yymm", false);O00O0++) {O00O00 = O00000(O00O00s, "week", "");O0OOOOO(O00O00, "index", O00O0+1);O0OOOOO(O00O00, "fulldate", dteCal);O0OOOOO(O00O00, "year", dteCal.getFullYear() );O0OOOOO(O00O00, "month", dteCal.getMonth() );O0OOOOO(O00O00, "date", dteCal.getDate() );O0OOOOO(O00O00, "adjusteddate", O0O0O0 );O0OOOOO(O00O00, "weekofmonth", dteCal.weekOfMonth() );O0OOOOO(O00O00, "weekofyear", dteCal.weekOfYear() );O00OO0 = O00000(O00O00, "weekdays", "");for (O000O=0;O000O<7;O000O++) {O0O0OO = true;if ( dteCal.format("yymm", false)==O0O0O.format("yymm", false) ) O0O0OO=false;strDate = dteCal.getFullYear() + ", " + dteCal.getMonth() + ", " + dteCal.getDate();O00O0O = O00000(O00OO0, "weekday", "");O0OOOOO(O00O0O, "index", (O00O0*7)+(O000O+1));O0OOOOO(O00O0O, "fulldate", dteCal);O0OOOOO(O00O0O, "year", dteCal.getFullYear() );O0OOOOO(O00O0O, "month", dteCal.getMonth() );O0OOOOO(O00O0O, "date", dteCal.getDate() );O0OOOOO(O00O0O, "adjusteddate", O0O0O0 );O0OOOOO(O00O0O, "dayofyear", dteCal.dayOfYear() );O0OOOOO(O00O0O, "weekofyear", dteCal.weekOfYear() );O0OOOOO(O00O0O, "weekofmonth", dteCal.weekOfMonth() );O0OOOOO(O00O0O, "padding", this.padding );O0OOOOO(O00O0O, "width", this.cellWidth );O0OOOOO(O00O0O, "height", this.cellHeight );O0OOOOO(O00O0O, "dead", O0O0OO );if (this.enableHandlers) {O0OOOOO(O00O0O, "onmousedown", "fscCellOnMouseDown(event, this," + strDate + ")" );O0OOOOO(O00O0O, "onmouseover", "fscCellOnMouseOver(event, this," + strDate + ")" );O0OOOOO(O00O0O, "onmouseout", "fscCellOnMouseOut(event, this," + strDate + ")" );O0OOOOO(O00O0O, "onmouseup", "fscCellOnMouseUp(event, this," + strDate + ")" );};strClass = "scDatePast";if ( dteCal > O0O00 ) strClass = "scDateFuture";if ( dteCal.getMonth() != O00OO.getMonth() || dteCal.getFullYear() != O00OO.getFullYear() ) strClass = "scDateDead";if ( dteCal.equalsTo(O0O00) && ( dteCal.getMonth() == O00OO.getMonth() && dteCal.getFullYear() == O00OO.getFullYear() )) strClass = "scDateCurrent";if (O0O0OO && !(this.deadCellType&1)) {O000OO = false;} else {O000OO = O00000(O00O0O, "number", dteCal.getDate()); if (this.enableHandlers) { O0OOOOO(O000OO, "onmousedown", "fscNumberMouseDown(event, this," + strDate + ")" ); O0OOOOO(O000OO, "onmouseover", "fscNumberMouseOver(event, this," + strDate + ")" ); O0OOOOO(O000OO, "onmouseout", "fscNumberMouseOut(event, this," + strDate + ")" ); O0OOOOO(O000OO, "onmouseup", "fscNumberMouseUp(event, this," + strDate + ")" ); };};O0OO0 = this.addSpecialEvents(dteCal, O0OO0);blnHasRegularEvent = false;O0OO0O = "";strLastCls = "";for (i=0;i<O0OO0.length;i++) {objEvent = O0OO0[i];O0OOO0 = this.showEvent(dteCal, O0O0O, O0O00, objEvent, blnHasRegularEvent);if (O0OOO0) {if (objEvent.isRegular) blnHasRegularEvent = true;if (O0OO0O=="") {O0OO0O=" ";if (objEvent.style) O0OO0O = objEvent.style;};if (objEvent.style) strLastCls = objEvent.style;};if (O0OOO0) this.addEventXml(objEvent, O00O0O);};if (this.expandEventStyle) {if (O000OO) O0OOOOO(O000OO, "class", "scNumber " + O0OO0O);O0OOOOO(O00O0O, "class", "scWeekday " + strClass + " " + strLastCls);} else {if (O000OO) O0OOOOO(O000OO, "class", "scNumber");O0OOOOO(O00O0O, "class", "scWeekday " + strClass);};dteCal.setDate( dteCal.getDate() + 1 );O0O0O0++;};};return O0O00O;};scriptcalendar.prototype.getCalendarHtmlString = function(O0O0O) {var O0OO0;var objEvent;var dteCal;var O0O00;var O00OO;var blnHasRegularEvent;var O00O0;var O000O;var O0O0O0;var O0O0OO;var blnHasNumber;var strHtml;var O0OOO0;var strDate;var O0000;var O0OO0O;var strLastCls;var strDateCls;var strRow;var strCell;var strStyle;var intDow;var i;var j;var m;var y;m = O0O0O.getMonth();y = O0O0O.getFullYear();if (y<this.dateRangeStart) {m=0;y=this.dateRangeStart;};if (y>this.dateRangeEnd) {m=11;y=this.dateRangeEnd;};O0O0O = new Date(y, m, O0O0O.getDate());dteCal = new Date(y, m, 1);O00OO = new Date(y, m, 1);O0O00 = new Date();O0O00 = new Date( O0O00.getFullYear(), O0O00.getMonth(), O0O00.getDate());dteCal.setDate(dteCal.getDate() + this.monthStartDate[m] -1);dteCal.setDate( dteCal.getDate() - this.getWeekday(dteCal) );if ( dteCal.getDate() == 2 ) dteCal.setDate( dteCal.getDate() - 7 );O0O0O0 = 1 - this.getWeekday(dteCal);O0OO0 = this.getPartialEventArray(O0O0O);strHtml = "";strHtml += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";strHtml += "<tr><td>";strHtml += "<div id=\"divScriptcalendarContainer\" class=\"scCalendar\">";strHtml += "<table border=\"0\"";strHtml += " cellpadding=\"" + this.padding + "\"";strHtml += " cellspacing=\"" +this.spacing + "\"";strHtml += " width=\"" + ( parseInt(this.cellWidth) + parseInt(this.spacing)) * 7 + "\"";strHtml += " >";strHtml += "<tr>";if (this.displayWeekNumber) {strHtml += "<th>";strHtml += "<div class=\"scHeader\" >";strHtml += "<span class=\"scSelector\">&nbsp;</span>";strHtml += "</div>";strHtml += "</th>";};strHtml += "<th align=\"center\" valign=\"middle\">";strHtml += "<div class=\"scHeader\"";O0000 = O00OO.add("m", -2).format("yy, mm, dd", false);strHtml += " onclick=\" fscChangeDate(new Date(" + O0000 + "));\" ";strHtml += " onmouseover=\"this.style.cursor='hand';\" ";strHtml += " >";O0000="";if (this.dateSelector&4) O0000 = this.prevHtml;strHtml += "<span class=\"scSelector\">" + O0000 + "</span>";strHtml += "</div></th>";O0000 = "";if (this.dateSelector&1) O0000+="<select id=\"cboMonth\" name=\"cboMonth\" onChange=\"fscChangeDate(new Date(" + y + ", this.value, 1));\" class=\"scMonthDropdown\">" + this.monthOptions(m) + "</select>";if (this.dateSelector&16) O0000 += this.longMonths[m] + " ";if (this.dateSelector&2) O0000+="<select id=\"cboYear\" name=\"cboYear\" onChange=\"fscChangeDate(new Date(this.value, " + m + ", 1));\" class=\"scYearDropdown\">" + this.yearOptions(y) + "</select>";if (this.dateSelector&32) O0000 += y;strHtml += "<th colspan=\"5\" align=\"center\" valign=\"bottom\" >";strHtml += "<div class=\"scHeader\">" + O0000 + "</div></th>";strHtml += "<th align=\"center\" valign=\"middle\" >";strHtml += "<div class=\"scHeader\"";O0000 = O00OO.format("yy, mm, dd", false);strHtml += " onclick=\"fscChangeDate(new Date(" + O0000 + "));\" ";strHtml += " onmouseover=\"this.style.cursor='hand';\" ";strHtml += " >";O0000="";if (this.dateSelector&8) O0000 = this.nextHtml;strHtml += "<span class=\"scSelector\">" + O0000 + "</span>";strHtml += "</div></th>";strHtml += "</tr>";strHtml += "<tr>";if (this.displayWeekNumber) {strHtml += "<th align=\"center\" valign=\"middle\" >";strHtml += "<div class=\"scHeader\">";strHtml += "&nbsp;";strHtml += "</div>";strHtml += "</th>";};for (j=0;j<this.longDays.length;j++) {strHtml += "<th align=\"center\" valign=\"middle\" >";strHtml += "<div class=\"scHeader\">";strHtml += this.longDays[j];strHtml += "</div>";strHtml += "</th>";};strHtml += "</tr>";for (O00O0=0;O00O0<6 && dteCal.format("yymm", false) <= O0O0O.format("yymm", false);O00O0++) {strRow = "<tr>";if (this.displayWeekNumber) {strStyle = "";strRow += "<td align=\"center\" valign=\"middle\">";strRow += "<div class=\"scHeader scWeekNumber\" style=\"" + strStyle + "\">";strRow += dteCal.weekOfYear();strRow += "</div></td>";};for (O000O=0;O000O<7;O000O++) {O0O0OO = true;if ( dteCal.format("yymm", false)==O0O0O.format("yymm", false) ) O0O0OO=false;strDate = dteCal.getFullYear() + ", " + dteCal.getMonth() + ", " + dteCal.getDate();strDateCls = "scDatePast";if ( dteCal > O0O00 ) strDateCls = "scDateFuture";if ( dteCal.getMonth() != O00OO.getMonth() || dteCal.getFullYear() != O00OO.getFullYear() ) strDateCls = "scDateDead";if ( dteCal.equalsTo(O0O00) && ( dteCal.getMonth() == O00OO.getMonth() && dteCal.getFullYear() == O00OO.getFullYear() )) strDateCls = "scDateCurrent";strNumberCls = "scNumberPast";if ( dteCal > O0O00 ) strNumberCls = "scNumberFuture";if ( dteCal.getMonth() != O00OO.getMonth() || dteCal.getFullYear() != O00OO.getFullYear() ) strNumberCls = "scNumberDead";if ( dteCal.equalsTo(O0O00) && ( dteCal.getMonth() == O00OO.getMonth() && dteCal.getFullYear() == O00OO.getFullYear() )) strNumberCls = "scNumberCurrent";strStyle = " width: " + this.cellWidth + "px;";if (this.expandCellHeight) {if (IE) {strStyle += " height: " + this.cellHeight + "px;overflow: visible;";} else {strStyle += " min-height: " + this.cellHeight + "px;overflow: visible;";};} else {strStyle += " height: " + this.cellHeight + "px;overflow: hidden;";};strCell = "<td valign=\"top\"";strCell += " class=\"" + strDateCls + "\"";strCell += " style=\"" + strStyle + "\"";strCell += " >";if (this.expandCellHeight) {if (IE) {strStyle = "height: 100%;";};};O0000 = "";O0000 += "<div class=\"*weekdaycls*\" style=\"" + strStyle + "\"";if (this.enableHandlers) {O0000 += " onmousedown=\"fscCellOnMouseDown(event, this," + strDate + ")\" ";O0000 += " onmouseover=\"fscCellOnMouseOver(event, this," + strDate + ")\" ";O0000 += " onmouseout=\"fscCellOnMouseOut(event, this," + strDate + ")\" ";O0000 += " onmouseup=\"fscCellOnMouseUp(event, this," + strDate + ")\" ";};O0000 += " >";strCell += O0000;if (O0O0OO && !(this.deadCellType&1)) {blnHasNumber = false;} else {blnHasNumber = true;strCell += "<div class=\"*numbercls*\"";if (this.enableHandlers) { strCell += " onmousedown=\"fscNumberOnMouseDown(event, this," + strDate + ")\" "; strCell += " onmouseover=\"fscNumberOnMouseOver(event, this," + strDate + ")\" "; strCell += " onmouseout=\"fscNumberOnMouseOut(event, this," + strDate + ")\" "; strCell += " onmouseup=\"fscNumberOnMouseUp(event, this," + strDate + ")\" ";};strCell += " >";strCell += dteCal.getDate();strCell += "</div>";};O0OO0 = this.addSpecialEvents(dteCal, O0OO0);blnHasRegularEvent = false;O0OO0O = "";strLastCls = "";for (i=0;i<O0OO0.length;i++) {objEvent = O0OO0[i];O0OOO0 = this.showEvent(dteCal, O0O0O, O0O00, objEvent, blnHasRegularEvent);if (O0OOO0) {if (objEvent.isRegular) blnHasRegularEvent = true;if (objEvent.style && O0OO0O.length==0) O0OO0O = objEvent.style;if (objEvent.style) strLastCls = objEvent.style;};if (O0OOO0) strCell += this.addEventHtmlString(objEvent);};intDow = this.getWeekday(dteCal);strDateCls += " scWeekday" + intDow;strNumberCls += " scNumber" + intDow;if (this.expandEventStyle) {if (blnHasNumber) strCell = strCell.replace("*numbercls*", "scNumber " + strNumberCls + " " + O0OO0O);strCell = strCell.replace("*weekdaycls*", "scWeekday " + strDateCls + " " + strLastCls);} else {if (blnHasNumber) strCell = strCell.replace("*numbercls*", "scNumber " + strNumberCls);strCell = strCell.replace("*weekdaycls*", "scWeekday " + strDateCls);};strCell += "</div></td>";dteCal = dteCal.add("d", 1);O0O0O0++;strRow += strCell;};strRow += "</tr>";strHtml += strRow;};strHtml += "</table>";strHtml += "</div>";strHtml += "</td></tr></table>";return strHtml;};scriptcalendar.prototype.showEvent = function(dteCal, O0O0O, O0O00, objEvent, blnHasRegularEvent) {var O0OOO0 = false;var OO00OOb = 4;var OO00OOc = 3;var OO00OOd = 2;if ( dteCal.equalsTo(objEvent.date) && dteCal.format("yymm", false)==O0O0O.format("yymm", false) ) O0OOO0 = true;if ( dteCal.equalsTo(objEvent.date) && objEvent.day!=dteCal.getDate() ) O0OOO0 = true;if ( dteCal.equalsTo(objEvent.date) && this.deadCellType&4 ) O0OOO0 = true;if (!(this.showPastEvents) && dteCal < O0O00 ) O0OOO0=false;if (!(this.showFutureEvents) && dteCal > O0O00 ) O0OOO0=false;if (this.overrideSpecialEvent && blnHasRegularEvent && objEvent.isRegular==false) O0OOO0=false;if (this.filterNames.length > 0 && objEvent.filter) {if (this.filter.indexOf(objEvent.filter)==-1) {O0OOO0=false;};};if (!(OO00OO) && dteCal.getDate() > (OO00OOc * OO00OOd + OO00OOb) ) O0OOO0=false;return O0OOO0;};scriptcalendar.prototype.addEventXml = function(objEvent, objParent, strLastClass) {var objNode;objNode = O00000(objParent, "event");O00000(objNode, "month", objEvent.month);O00000(objNode, "day", objEvent.day);O00000(objNode, "year", objEvent.year);O00000(objNode, "text", objEvent.text);if (objEvent.popuplink) O00000(objNode, "popuplink", objEvent.popuplink);if (objEvent.tooltip) O00000(objNode, "tooltip", objEvent.tooltip);if (objEvent.script) O00000(objNode, "script", objEvent.script);var strEventClass = "scevent";if (objEvent.style) strEventClass += " " + objEvent.style;O0OOOOO(objNode, "class", strEventClass);if (this.enableHandlers) {strDate = objEvent.year + ", " + objEvent.month + ", " + objEvent.day;O0OOOOO(objNode, "onmousedown", "fscEventMouseDown(event, this," + strDate + ")" );O0OOOOO(objNode, "onmouseover", "fscEventMouseOver(event, this," + strDate + ")" );O0OOOOO(objNode, "onmouseout", "fscEventMouseOut(event, this," + strDate + ")" );O0OOOOO(objNode, "onmouseup", "fscEventMouseUp(event, this," + strDate + ")" );}; return objNode;};scriptcalendar.prototype.addEventHtmlString = function(objEvent) {var strHtml = objEvent.text;if (objEvent.popuplink) strHtml = "<a href=\"javascript:fscPopup('" + objEvent.popuplink + "', '" + objEvent.date.format("yy, mm, dd", false) + "');\">" + strHtml + "</a>";var strResult = "<div";if (objEvent.script) {strResult += " onclick=\"" + objEvent.script + "\"";};if (objEvent.tooltip) {strResult += " title=\"" + objEvent.tooltip + "\"";};var strEventClass = "scevent";if (objEvent.style) strEventClass += " " + objEvent.style;strResult += " class=\"" + strEventClass + "\"";if (this.enableHandlers) {strDate = objEvent.year + ", " + objEvent.month + ", " + objEvent.day;strResult += " onmousedown=\"fscEventOnMouseDown(event, this," + strDate + ")\" ";strResult += " onmouseover=\"fscEventOnMouseOver(event, this," + strDate + ")\" ";strResult += " onmouseout=\"fscEventOnMouseOut(event, this," + strDate + ")\" ";strResult += " onmouseup=\"fscEventOnMouseUp(event, this," + strDate + ")\" ";};strResult += " >" + strHtml + "</div>";return strResult;};scriptcalendar.prototype.monthOptions = function(intMonth) {var strSelected;var strHtml = "";for ( var i=0;i<=11;i++ ) {strSelected = "";if ( i==intMonth ) strSelected = "selected=\"true\"";strHtml += "<option value=\"" + (i) + "\" " + strSelected + " >" + this.longMonths[i] + "</option>";};return strHtml;};scriptcalendar.prototype.yearOptions = function(intYear) {var strSelected;var strHtml = "";for ( var i=this.dateRangeStart;i<=this.dateRangeEnd;i++ ) {strSelected = "";if ( i==intYear ) strSelected = "selected=\"true\"";strHtml += "<option value=\"" + i + "\" " + strSelected + " >" + i + "</option>";};return strHtml;};scriptcalendar.prototype.addSpecialEvents = function(dteCal, O0OO0) {arrSpecial = scSpecialEvent(dteCal);if (arrSpecial) {if (this.specialEventsFirst) {return arrSpecial.concat(O0OO0);} else {return O0OO0.concat(arrSpecial);};};return O0OO0;};scriptcalendar.prototype.getPartialEventArray = function(dteParam) {var arrTemp = new Array();var objEvent;var O0OOO0;var i;var year;var month;var dteEvent;var m = dteParam.getMonth();var y = dteParam.getFullYear();var strEventDate;var blnIsDate;var dteFirst = new Date(y, m, 1);var strFirstYM = dteFirst.format("yymm", false);var strPrevYM = dteFirst.add("m", -1).format("yymm", false);var strNextYM = dteFirst.add("m", 1).format("yymm", false);var strEventYM;if (O0O0) {for (i=0;i<O0O0.length;i++) {objEvent = O0O0[i];year = y;if (objEvent.year) year = objEvent.year;month = m;if (objEvent.month) month = objEvent.month-1;strEventDate = fscDateString(year, month+1, objEvent.day, false);blnIsDate = strEventDate.isDate();dteEvent = new Date( year, month, 1);dteEvent = dteEvent.add( "d", objEvent.day-1 );strEventYM = dteEvent.format("yymm", false);O0OOO0 = false;if ( blnIsDate && strFirstYM == strEventYM ) O0OOO0=true;if ( !blnIsDate && this.deadCellType&2 ) {if ( strEventYM == strPrevYM && dteEvent.getDate()>=22 ) O0OOO0=true;if ( strEventYM == strNextYM && dteEvent.getDate()<=6 ) O0OOO0=true;};if ( blnIsDate && this.deadCellType&4 ) {if ( strEventYM == strPrevYM && dteEvent.getDate()>=22 ) O0OOO0=true;if ( strEventYM == strNextYM && dteEvent.getDate()<=6 ) O0OOO0=true;};if (O0OOO0) {objEvent.year = dteEvent.getFullYear();objEvent.month = dteEvent.getMonth();objEvent.date = dteEvent;arrTemp[arrTemp.length] = objEvent;};};return arrTemp;};return false;};scriptcalendar.prototype.xmlToArray = function(objEvtDoc) {var i, j;var objNode;var objNodeChild;var objEvent;var strMonth, strDay, strYear, strText, strPopupLink, strStyle, strTooltip, strScript, strFilter;for (i=0;i<objEvtDoc.documentElement.childNodes.length;i++) {strMonth = "";strDay = "";strYear = "";strText = "";strPopupLink = "";strStyle = "";strTooltip = "";strFilter = "";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);if (objNodeChild.nodeName=="filter") strFilter = fscGetNodeText(objNodeChild);};objEvent = new EventObj(parseInt(strMonth), parseInt(strDay), parseInt(strYear), strText, strPopupLink, strStyle, strTooltip, strScript, strFilter);O0O0[O0O0.length] = objEvent;};};};scriptcalendar.prototype.getWeekday = function(dteParam) {var d = dteParam.getDay();if (this.beginMonday) d--;if (d==-1) d=6;return d;};function fscChangeDate(dteCal) {var O0OO00 = window.location.toString();var strDate = (dteCal.getMonth()+1).toString() + "/1/" + dteCal.getFullYear().toString();O0OO00 = fscRemoveQueryStrParam(O0OO00, O00O);O0OO00 = fscAddQueryStrParam(O0OO00, O00O, strDate);window.location = O0OO00;};scriptcalendar.prototype.createPopup = function() {var objElmPopup;var objElmIFrame;objElmPopup = O00000(document.body, "div", "");O0OOOOO(objElmPopup, "id", "scDivPopup");O0OOOOO(objElmPopup, "name", "scDivPopup");O0OOOOO(objElmPopup, "class", "scPopupContainer");objElmPopup.onclick = fscHidePopup;objElmSpan = O00000(objElmPopup, "span", "");objElmSpan.innerHTML = "&nbsp;&#x00d7;&nbsp;<br/>";objElmIFrame = O00000(objElmPopup, "iframe", "");O0OOOOO(objElmIFrame, "id", "scIfmPopup");O0OOOOO(objElmIFrame, "name", "scIfmPopup");O0OOOOO(objElmIFrame, "class", "scPopupIFrame");O0OOOOO(objElmIFrame, "border", "0");O0OOOOO(objElmIFrame, "scrolling", "yes");O0OOOOO(objElmIFrame, "height", "100%");O0OOOOO(objElmIFrame, "width", "100%");};function fscHidePopup() {objDiv = document.getElementById("scDivPopup");objDiv.style.display = "none";};function fscPopup(O0OO00, strDate) {if (mblnPopupAddParam) O0OO00 = fscAddQueryStrParam(O0OO00, O00O, strDate);if (mlngPopupType==2) {var objPopup = fscGetElementById("scIfmPopup");objPopup.src = O0OO00;objPopup = fscGetElementById("scDivPopup");objPopup.style.display="block";} else if (mlngPopupType==3) {window.top.location = O0OO00;} else {var objWindow = window.open(O0OO00, "_blank", mstrPopupProp);};};scriptcalendar.prototype.createFilter = function() {var objElmContainer;var objElmSpan;var objElmCheckbox;var arrNames = this.filterNames.split(",");var strHtml;var strChecked;objElmContainer = O00000(document.body, "div", "");O0OOOOO(objElmContainer, "class", "scFilterContainer");O0OOOOO(objElmContainer, "onclick", "this.style.display='none';");for (i=0;i<arrNames.length;i++) {objElmSpan = O00000(objElmContainer, "span", "");O0OOOOO(objElmSpan, "class", "scFilterItem");strChecked="checked=\"checked\"";if (this.filter.indexOf(arrNames[i]) == -1) strChecked="";strHtml = "<input type=\"checkbox\" name=\"chkScFilter\" id=\"chkScFilter" + (i+1) +"\" onClick=\"chkScFilter_onClick(this);\" value=\"" + arrNames[i] + "\" " + strChecked + ">";strHtml += arrNames[i];objElmSpan.innerHTML = strHtml;};};function chkScFilter_onClick(chk) {var arrNames = mobjSelf.filterNames.split(",");var O0OO00 = 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);O0OO00 = fscRemoveQueryStrParam(O0OO00, "scFilter");O0OO00 = fscAddQueryStrParam(O0OO00, "scFilter", strValue);window.location = O0OO00;};function EventObj(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript, strFilter) {var dteEvent;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) {dteEvent = new Date( y, m-1, 1);dteEvent = dteEvent.add("d", d-1);this.date = dteEvent;};};function fscEvent(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript, strFilter) {var objEvent = new EventObj(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript, strFilter);objEvent.isRegular = true;O0O0[O0O0.length] = objEvent;};function dcEvent(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript) {fscEvent(m, d, y, strText, strPopuplink, strStyle, strTooltip, strScript);};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);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;var result = (Math.floor(time / Date.WEEK + 0.01)) + 1;return result;};Date.prototype.equalsTo = function(dte) {return ((this.getFullYear() == dte.getFullYear()) && (this.getMonth() == dte.getMonth()) &&(this.getDate() == dte.getDate()));};Date.prototype.add = function(interval, num) {var result = new Date(this.getFullYear(), this.getMonth(), this.getDate());switch(interval.toLowerCase()){case "yyyy": {result.setFullYear(result.getFullYear() + num);break;};case "q": {result.setMonth(result.getMonth() + (num*3));break;};case "m": {result.setMonth(result.getMonth() + num);break;};case "y":case "d":case "w": {result.setDate(result.getDate() + num);break;};case "ww": {result.setDate(result.getDate() + (num*7));break;};case "h": {result.setHours(result.getHours() + num);break;};case "n": {result.setMinutes(result.getMinutes() + num);break;};case "s": {result.setSeconds(result.getSeconds() + num);break;};case "ms": {result.setMilliseconds(result.getMilliseconds() + num);break;};default: {return "invalid interval: '" + interval + "'";};};return result;};Date.prototype.format = function(symbols, useMilitary) {var hours = this.getHours();if (hours>12 && useMilitary==false)hours = hours-12;var yy = this.getFullYear().toString();var mm = "00" + (this.getMonth() + 1).toString();var dd = "00" + this.getDate().toString();var hh = "00" + hours.toString().toString();var nn = "00" + this.getMinutes().toString();var ss = "00" + this.getSeconds().toString();mm = mm.substr(mm.length-2,2);dd = dd.substr(dd.length-2,2);hh = hh.substr(hh.length-2,2);nn = nn.substr(nn.length-2,2);ss = ss.substr(ss.length-2,2);symbols = symbols.replace("yy", yy);symbols = symbols.replace("mm", mm);symbols = symbols.replace("dd", dd);symbols = symbols.replace("hh", hh);symbols = symbols.replace("nn", nn);symbols = symbols.replace("ss", ss);return symbols;};Date.prototype.getEaster = function() {var Y = this.getFullYear();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);return new Date(Y,M-1,D);};function fscEaster(Y) {if (fscIsDate(mdteEaster)) {if (mdteEaster.getFullYear==Y) {return mdteEaster;};};var O0O00 = new Date(Y, 1, 1);mdteEaster = O0O00.getEaster();return mdteEaster;};function fscDateString(y, m, d, blnYMD) {var O0000 = "";var strYear = y.toString();strYear = strYear.pad(4);var strMonth = m.toString();strMonth = strMonth.pad(2);var strDay = d.toString();strDay = strDay.pad(2);if (blnYMD) return strYear + strMonth + strDay;return strMonth + "/" + strDay + "/" + strYear;};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;};String.prototype.isDate = function() {var datePat = /^(\d{1,2})(\/|)(-?\d{1,2})(\/|)(\d{2,4})$/;var matchArray = this.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;};String.prototype.htmlEncode = function() {var O0000 = this;O0000 = O0000.replace("&lt;", "<");O0000 = O0000.replace("&gt;", ">");O0000 = O0000.replace("&amp;", "&");return O0000;};String.prototype.pad = function(num) {var strResult = "00000000000000000000" + this;var lngValue = strResult.length - num;strResult = strResult.substring(lngValue);return strResult;};String.prototype.globalReplace = function(fromString, toString) { var inputString = this;  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;};String.prototype.urlEncode = function() {var SAFECHARS = "0123456789";SAFECHARS += "ABCDEFGHIJKLMNOPQRSTUVWXYZ";SAFECHARS += "abcdefghijklmnopqrstuvwxyz";SAFECHARS += "-_.!~*'()";var HEX = "0123456789ABCDEF";var plaintext = this;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;};String.prototype.urlDecode = function() {    var HEXCHARS = "0123456789ABCDEFabcdef"; var encoded = this; 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;};String.prototype.stripHtml = function() {var pattern = "<[a-zA-Z\\/][^>]*>";var regex = eval("/(" + pattern + ")/g");return this.replace(regex, "");};function O00000(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 O0OOOOO(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;};if (document.implementation && document.implementation.createDocument) {var objDoc = fscLoad(strFile);eval( strFunction + '(objDoc);' );return true;};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 fscGetXmlDocument() {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 - fscGetXmlDocument" + "\n" + "Browser can't create DOM object.");return false;};function fscLoad(O0OO00) {if (window.ActiveXObject) {var objDoc = fscGetXmlDocument();objDoc.async = false;objDoc.load(O0OO00);return objDoc;};if (document.implementation && document.implementation.createDocument) {var xmlhttp = new window.XMLHttpRequest();xmlhttp.open("GET", O0OO00, false);xmlhttp.send(null);return xmlhttp.responseXML;};if (document.implementation) {var pipe = new XMLHttpRequest();pipe.open("GET", O0OO00, false);pipe.send(null);return pipe.responseXML;};return false;};function O0OOOO0(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 = O0OOO0O(node);return strHTML;};alert("ERROR - fscGetNodeText");return "";};function O0OOO0O(objDoc) {if (window.ActiveXObject) {return objDoc.xml;};if (document.implementation && document.implementation.createDocument) {var objSerializer = new XMLSerializer();return objSerializer.serializeToString(objDoc);};alert("ERROR - O0OOO0O");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 fscRequestQueryString(strKey) {var O0OO00 = window.location.toString();var intPosition = O0OO00.indexOf("?");if (intPosition == -1) return "";var strQueryStr = O0OO00.substr(intPosition+1, O0OO00.length-intPosition);intPosition = strQueryStr.indexOf("#");if (intPosition != -1) strQueryStr = strQueryStr.substr(0, 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 arrKeyValue[1].urlDecode();};};return "";};function fscAddQueryStrParam(O0OO00, strKey, strValue) {var strAnchor = "";var c = "?";var i;i = O0OO00.indexOf("#");if (i != -1) {strAnchor = O0OO00.substr(i, O0OO00.length - i);O0OO00 = O0OO00.substr(0,i);};i = O0OO00.indexOf("?");if (i != -1) c="&";O0OO00 += c + strKey + "=" + strValue.urlEncode() + strAnchor;return O0OO00;};function fscRemoveQueryStrParam(O0OO00, strKey) {var strResult;var intStart;var intEnd;var strAnchor = "";intStart = O0OO00.indexOf("#");if (intStart != -1){strAnchor = O0OO00.substr(intStart, O0OO00.length - intStart);O0OO00 = O0OO00.substring(0, intStart);};intStart = O0OO00.indexOf(strKey);if (intStart == -1) {strResult = O0OO00;} else {intEnd = O0OO00.indexOf("&", intStart);if (intEnd != -1) {strResult = O0OO00.substring(0, intStart) + O0OO00.substring(intEnd+1);} else {strResult = O0OO00.substring(0, intStart-1);};};strResult += strAnchor;return strResult;};function fscGetDomain() {var a = "abcdefghijklmnopqrstuvwxyz";var d;var i;var n;var c;var e;var t;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);n = d.length;i = d.lastIndexOf(".");e = d.substring(i, n);t = d.substring(0, i);n = t.length;i = t.lastIndexOf(".");d = t.substring(i+1, n);d += e;d = O0O(d);return d;};function O0O(O0OOOO) {var strBad = "!@#$%^&*()-_=+[{]}\|;:',<.>/?" + '"';var strResult = "";var c;for (var i=0;i<O0OOOO.length;i++) {c = O0OOOO.charAt(i);if (strBad.indexOf(c)==-1) strResult += c;};return strResult;};function fscDecode(strCode) {var a = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmonpqrstuvwxyz1234567890";var k = "dateStylePast";var i;var j;var c;var O00;var O0OO;var r="";j = 0;for ( i=0;i<strCode.length;i++ ) {c = strCode.charAt(i);O00 = a.indexOf(c);c = k.charAt(j);O0OO = a.indexOf(c);O00 = O00 - O0OO;if ( O00 < 0 ) O00 = O00 + a.length;r = r + a.charAt(O00);j++;if ( j >= k.length ) j=0;};return r;};function fscGetElementById(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 fscOutput(text) {var obj;if (document.createElement && (obj = document.createElement('textarea'))) {O0OOOOO(obj, "rows", "5");O0OOOOO(obj, "cols", "80");obj.appendChild(document.createTextNode(text));document.body.appendChild(obj);};};function fscShowProperties(obj) {var i;var strOutput;var strTerm;var O0OOOO;var strSpace;var O000Os;var lngMaxLen = 100;O000Os=3;if (document.layers) O000Os=3;strSpace = " ";strOutput = obj.name + "\n\n";i=1;for (var prop in obj) {strTerm = "\n";if (i==O000Os) strTerm = "\n";i=i+1;if (i>O000Os) i=1;O0OOOO = "." + prop + " = " + obj[prop];if (O0OOOO.length<lngMaxLen) O0OOOO += strSpace.substring(0, lngMaxLen-O0OOOO.length);if (O0OOOO.length>lngMaxLen) O0OOOO = O0OOOO.substring(0, lngMaxLen);strOutput += O0OOOO + strTerm;};fscOutput(strOutput);return true;};
