/*
 * Bazillyo's SpiffyCal - V. 2.1 ©2001 S. Ousta
 * http://groups.yahoo.com/group/spiffyDHTML or
 */
var scImgPath = '/images/'; var scIE=((navigator.appName == "Microsoft Internet Explorer") || ((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5))); var scNN6=((navigator.appName == "Netscape") && (parseInt(navigator.appVersion)==5)); var scNN=((navigator.appName == "Netscape")&&(document.layers)); var img_Close=new Image(); img_Close.src= scImgPath +"cal_close.gif"; var scBTNMODE_DEFAULT=0; var scBTNMODE_CUSTOMBLUE=1; var scBTNMODE_CALBTN=2; var focusHack; function spiffyCalManager() { this.showHelpAlerts = false; this.defaultDateFormat='dd-MMM-yyyy'; this.lastSelectedDate=new Date(); this.calendars=new Array(); this.matchedFormat=""; this.DefBtnImgPath=scImgPath; this.getCount= new Function("return this.calendars.length;"); function addCalendar(objWhatCal) { var intIndex = this.calendars.length; this.calendars[intIndex] = objWhatCal; }
this.addCalendar=addCalendar; function hideAllCalendars(objExceptThisOne) { var i=0; for (i=0;i<this.calendars.length;i++) { if (objExceptThisOne!=this.calendars[i]) { this.calendars[i].hide(); }
}
}
this.hideAllCalendars=hideAllCalendars; function swapImg(objWhatCal, strToWhat, blnStick) { if (document.images) { if ((!(objWhatCal.visible) || (blnStick))&& (objWhatCal.enabled)) { document.images[objWhatCal.btnName].src = eval(objWhatCal.varName+strToWhat + ".src"); }
}
window.status=' '; }
this.swapImg=swapImg; this.Holidays = new Array("Dec-25","Jul-4", "Feb-14","Mar-17","Oct-31"); this.HolidaysDesc = new Array("Christmas Day","Independance Day","Valentine's Day","St. Patrick's Day","Halloween"); function isHoliday(whatDate) { var i=0;var found=-1; for (i=0;i<this.Holidays.length;i++) { if (whatDate==this.Holidays[i]) { found=i; break; }
}
return found; }
this.isHoliday=isHoliday; var MONTH_NAMES = new Array('January','February','March','April','May','June','July','August','September','October','November','December','Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec'); function formatDate(eInput, strFormat) { if(this.matchedFormat!="") { var d = getDateFromFormat(eInput.value,this.matchedFormat); if(d!=0){ eInput.value = scFormatDate(d, strFormat); }
}
}
this.formatDate=formatDate; function isDate(val,format) { var date = getDateFromFormat(val,format); if (date == 0) { return false; }
return true; }
this.isDate=isDate; function scFormatDate(date,format) { format = format+""; var result = ""; var i_format = 0; var c = ""; var token = ""; var y = date.getFullYear()+""; var M = date.getMonth()+1; var d = date.getDate(); var h = date.getHours(); var m = date.getMinutes(); var s = date.getSeconds(); var yyyy,yy,MMM,MM,dd; if (y.length < 4) { y = y-0+1900; }
y = ""+y; yyyy = y; yy = y.substring(2,4); if (M < 10) { MM = "0"+M; }
else { MM = M; }
MMM = MONTH_NAMES[M-1+12]; if (d < 10) { dd = "0"+d; }
else { dd = d; }
var value = new Object(); value["yyyy"] = yyyy; value["yy"] = yy; value["y"] = y; value["MMM"] = MMM; value["MM"] = MM; value["M"] = M; value["dd"] = dd; value["d"] = d; while (i_format < format.length) { c = format.charAt(i_format); token = ""; while ((format.charAt(i_format) == c) && (i_format < format.length)) { token += format.charAt(i_format); i_format++; }
if (value[token] != null) { result = result + value[token]; }
else { result = result + token; }
}
return result; }
this.scFormatDate=scFormatDate; function _isInteger(val) { var digits = "1234567890"; for (var i=0; i < val.length; i++) { if (digits.indexOf(val.charAt(i)) == -1) { return false; }
}
return true; }
function _getInt(str,i,minlength,maxlength) { for (x=maxlength; x>=minlength; x--) { var token = str.substring(i,i+x); if (_isInteger(token)) { return token; }
}
return null; }
function getDateFromFormat(val,format) { val = val+""; format = format+""; var i_val = 0; var i_format = 0; var c = ""; var token = ""; var token2= ""; var x,y; var year = 0; var month = 0; var date = 0; var bYearProvided = false; while (i_format < format.length) { c = format.charAt(i_format); token = ""; while ((format.charAt(i_format) == c) && (i_format < format.length)) { token += format.charAt(i_format); i_format++; }
if (token=="yyyy" || token=="yy" || token=="y") { if (token=="yyyy") { x=4;y=4; }
if (token=="yy") { x=2;y=2; }
if (token=="y") { x=2;y=4; }
year = _getInt(val,i_val,x,y); bYearProvided = true; if (year == null) { return 0; }
if (year.length != token.length){ return 0; }
i_val += year.length; }
else if (token=="MMM") { month = 0; for (var i=0; i<MONTH_NAMES.length; i++) { var month_name = MONTH_NAMES[i]; if (val.substring(i_val,i_val+month_name.length).toLowerCase() == month_name.toLowerCase()) { month = i+1; if (month>12) { month -= 12; }
i_val += month_name.length; break; }
}
if (month == 0) { return 0; }
if ((month < 1) || (month>12)) { return 0
}
}
else if (token=="MM" || token=="M") { x=token.length; y=2; month = _getInt(val,i_val,x,y); if (month == null) { return 0; }
if ((month < 1) || (month > 12)) { return 0; }
i_val += month.length; }
else if (token=="dd" || token=="d") { x=token.length; y=2; date = _getInt(val,i_val,x,y); if (date == null) { return 0; }
if ((date < 1) || (date>31)) { return 0; }
i_val += date.length; }
else { if (val.substring(i_val,i_val+token.length) != token) { return 0; }
else { i_val += token.length; }
}
}
if (i_val != val.length) { return 0; }
if (month == 2) { if ( ( (year%4 == 0)&&(year%100 != 0) ) || (year%400 == 0) ) { if (date > 29){ return false; }
}
else { if (date > 28) { return false; }
}
}
if ((month==4)||(month==6)||(month==9)||(month==11)) { if (date > 30) { return false; }
}
month = month - 1; if (bYearProvided==false) { var dCurrent = new Date(); year = dCurrent.getFullYear(); }
var lYear = parseInt(year); if (lYear<=20) { year = 2000 + lYear; }
else if (lYear >=21 && lYear<=99) { year = 1900 + lYear; }
var newdate = new Date(year,month,date,0,0,0); return newdate; }
this.getDateFromFormat=getDateFromFormat; }
var calMgr = new spiffyCalManager(); function ctlSpiffyCalendarBox(strVarName, strFormName, strTextBoxName, strBtnName, strDefaultValue, intBtnMode) { var msNames = new makeArray0('Jan','Feb','M&auml;r','Apr','Mai','Jun','Jul','Aug','Sep','Okt','Nov','Dez'); var msDays = new makeArray0(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); var msDOW = new makeArray0('So','Mo','Di','Mi','Do','Fr','Sa'); var blnInConstructor=true; var img_DateBtn_UP=new Image(); var img_DateBtn_OVER=new Image(); var img_DateBtn_DOWN=new Image(); var img_DateBtn_DISABLED=new Image(); var strBtnW; var strBtnH; var strBtnImg; var dteToday=new Date; var dteCur=new Date; var dteMin=new Date; var dteMax=new Date; var scX=4; var scY=4; var strDefDateFmt='dd-MMM-yyyy'; var intDefBtnMode=0; var strDefBtnImgPath=calMgr.DefBtnImgPath; this.varName=strVarName; this.enabled=true; this.readonly=false; this.focusClick=false; this.hideButton=false; this.visible=false; this.displayLeft=true; this.displayTop=true; this.formName=strFormName; this.textBoxName=strTextBoxName; this.btnName=strBtnName; this.required=false; this.x=scX; this.y=scY; this.imgUp=img_DateBtn_UP; this.imgOver=img_DateBtn_OVER; this.imgDown=img_DateBtn_DOWN; this.imgDisabled=img_DateBtn_DISABLED; this.showWeekends=true; this.showHolidays=true; this.disableWeekends=false; this.disableHolidays=false; this.textBoxWidth=160; this.textBoxHeight=20; this.btnImgWidth=strBtnW; this.btnImgHeight=strBtnH; if ((intBtnMode==null)||(intBtnMode<0 && intBtnMode>2)) { intBtnMode=intDefBtnMode
}
switch (intBtnMode) { case 0 :
strBtnImg=strDefBtnImgPath+"cal_down.gif"; img_DateBtn_UP.src=strDefBtnImgPath+'cal_down.gif'; img_DateBtn_OVER.src=strDefBtnImgPath+'cal_over.gif'; img_DateBtn_DOWN.src=strDefBtnImgPath+'cal_act.gif'; img_DateBtn_DISABLED.src=strDefBtnImgPath+'cal_down.gif'; strBtnW = '13'; strBtnH = '13'; break; case 1 :
strBtnImg=strDefBtnImgPath+"cal_down.gif"; img_DateBtn_UP.src=strDefBtnImgPath+'cal_down.gif'; img_DateBtn_OVER.src=strDefBtnImgPath+'cal_over.gif'; img_DateBtn_DOWN.src=strDefBtnImgPath+'cal_act.gif'; img_DateBtn_DISABLED.src=strDefBtnImgPath+'cal_down.gif'; strBtnW = '13'; strBtnH = '13'; break; case 2 :
strBtnImg=strDefBtnImgPath+"cal_down.gif"; img_DateBtn_UP.src=strDefBtnImgPath+'cal_down.gif'; img_DateBtn_OVER.src=strDefBtnImgPath+'cal_over.gif'; img_DateBtn_DOWN.src=strDefBtnImgPath+'cal_act.gif'; img_DateBtn_DISABLED.src=strDefBtnImgPath+'cal_down.gif'; strBtnW = '13'; strBtnH = '13'; break; }
this.dateFormat=strDefDateFmt; this.useDateRange=false; this.minDate=new Date; this.maxDate=new Date(dteToday.getFullYear()+1, dteToday.getMonth(), dteToday.getDate()); this.minDay = function() { return this.minDate.getDate(); }
this.minMonth = function() { return this.minDate.getMonth(); }
this.minYear = function() { return this.minDate.getFullYear(); }
this.maxDay = function() { return this.maxDate.getDate(); }
this.maxMonth = function() { return this.maxDate.getMonth(); }
this.maxYear = function() { return this.maxYear.getFullYear(); }
function setMinDate(intYear, intMonth, intDay) { this.minDate = new Date(intYear, intMonth-1, intDay); }
this.setMinDate=setMinDate; function setMaxDate(intYear, intMonth, intDay) { this.maxDate = new Date(intYear, intMonth-1, intDay); }
this.setMaxDate=setMaxDate; this.minYearChoice=dteToday.getFullYear()-10; this.maxYearChoice=dteToday.getFullYear()+10; this.textBox= function() { if (!blnInConstructor) { return eval('document.'+this.formName+'.'+this.textBoxName); }
}
this.getSelectedDate = function () { var strTempVal=''; var objEle; if ((typeof this.formName !='undefined') && (typeof this.textBoxName!='undefined')) { objEle=eval('document.'+this.formName+'.'+this.textBoxName); if (objEle && !blnInConstructor) { strTempVal=eval('document.'+this.formName+'.'+this.textBoxName+'.value'); }
else { strTempVal=strDefaultValue; }
}
else { strTempVal=strDefaultValue; }
return strTempVal; }
function setSelectedDate(strWhat) { var strTempVal=''; var objEle; eval('document.'+this.formName+'.'+this.textBoxName).value=strWhat; if (!calMgr.isDate(quote(strWhat),quote(this.dateFormat))) { eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxInvalid"; }
else { eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBox"; }
}
this.setSelectedDate=setSelectedDate; function disable() { this.hide(); calMgr.swapImg(this,'.imgDisabled',false); this.enabled=false; eval('document.'+this.formName+'.'+this.textBoxName).disabled=true; eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxDisabled"; if (scNN) { eval('document.'+this.formName+'.'+this.textBoxName).onFocus= function() {this.blur();}; }
}
this.disable=disable; function enable() { this.enabled=true; calMgr.swapImg(this,'.imgUp',false); eval('document.'+this.formName+'.'+this.textBoxName).disabled=false; eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBox"; if (scNN) { eval('document.'+this.formName+'.'+this.textBoxName).onFocus= null; }
if (!calMgr.isDate(quote(this.getSelectedDate()),quote(this.dateFormat))) { eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxInvalid"; }
}
this.enable=enable; this.JStoRunOnSelect=''; this.JStoRunOnClear=''; this.JStoRunOnCancel=''; this.hideCombos=true; function makeCalendar(intWhatMonth,intWhatYear,bViewOnly) { if (bViewOnly) {intWhatMonth-=1;}
var strOutput = ''; var intStartMonth=intWhatMonth; var intStartYear=intWhatYear; var intLoop; var strTemp=''; var strDateColWidth; var isWE = false; dteCur.setMonth(intWhatMonth); dteCur.setFullYear(intWhatYear); dteCur.setDate(dteToday.getDate()); dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0); if (!(bViewOnly)) { strTemp='<form name="spiffyCal">'; }
if (scNN6) { strOutput += strTemp +'<table width="185" border="3" class="cal-Table" cellspacing="0" cellpadding="0"><tr>'; }
else { strOutput += '<table width="185" border="3" class="cal-Table" cellspacing="0" cellpadding="0">'+strTemp+'<tr>'; }
if (!(bViewOnly)) { strOutput += '<td class="cal-HeadCell" align="center" width="100%">&nbsp;&nbsp;<a href="javascript:'+this.varName+'.scrollMonth(-1);" class="cal-DayLink">&lt;</a>&nbsp;<SELECT class="cal-ComboBox" NAME="cboMonth" onChange="'+this.varName+'.changeMonth();">'; for (intLoop=0; intLoop<12; intLoop++) { if (intLoop == intWhatMonth) strOutput += '<OPTION VALUE="' + intLoop + '" SELECTED>' + msNames[intLoop] + '<\/OPTION>'; else strOutput += '<OPTION VALUE="' + intLoop + '">' + msNames[intLoop] + '<\/OPTION>'; }
strOutput += '<\/SELECT><SELECT class="cal-ComboBox" NAME="cboYear" onChange="'+this.varName+'.changeYear();">'; for (intLoop=this.minYearChoice; intLoop<this.maxYearChoice; intLoop++) { if (intLoop == intWhatYear) strOutput += '<OPTION VALUE="' + intLoop + '" SELECTED>' + intLoop + '<\/OPTION>'; else strOutput += '<OPTION VALUE="' + intLoop + '">' + intLoop + '<\/OPTION>'; }
strOutput += '<\/SELECT>&nbsp;<a href="javascript:'+this.varName+'.scrollMonth(1);" class="cal-DayLink">&gt;</a>&nbsp;&nbsp;<a href="javascript:'+this.varName+'.hide();"><img name="calbtn2" src="'+strDefBtnImgPath+'cal_close.gif" border="0" width="12" height="10"></a><\/td><\/tr><tr><td width="100%" align="center">'; }
else { strOutput += '<td class="cal-HeadCell" align="center" width="100%">'+msNames[intWhatMonth]+'-'+intWhatYear+'<\/td><\/tr><tr><td width="100%" align="center">'; }
firstDay = new Date(intWhatYear,intWhatMonth,1); startDay = firstDay.getDay(); if (((intWhatYear % 4 == 0) && (intWhatYear % 100 != 0)) || (intWhatYear % 400 == 0))
msDays[1] = 29; else
msDays[1] = 28; strOutput += '<table width="185" cellspacing="1" cellpadding="2" border="0"><tr>'; for (intLoop=0; intLoop<7; intLoop++) { if (intLoop==0 || intLoop==6) { strDateColWidth="15%"
}
else
{ strDateColWidth="14%"
}
strOutput += '<td class="cal-HeadCell" width="' + strDateColWidth + '" align="center" valign="middle">'+ msDOW[intLoop] +'<\/td>'; }
strOutput += '<\/tr><tr>'; var intColumn = 0; var intLastMonth = intWhatMonth - 1; var intLastYear = intWhatYear; if (intLastMonth == -1) { intLastMonth = 11; intLastYear=intLastYear-1;}
for (intLoop=0; intLoop<startDay; intLoop++, intColumn++) { strOutput += this.getDayLink(true,(msDays[intLastMonth]-startDay+intLoop+1),intLastMonth,intLastYear,bViewOnly,isWE); }
for (intLoop=1; intLoop<=msDays[intWhatMonth]; intLoop++, intColumn++) { if ((intColumn % 6)==0) {isWE=true } else {isWE=false}
strOutput += this.getDayLink(false,intLoop,intWhatMonth,intWhatYear,bViewOnly,isWE); if (intColumn == 6) { strOutput += '<\/tr><tr>'; intColumn = -1; }
}
var intNextMonth = intWhatMonth+1; var intNextYear = intWhatYear; if (intNextMonth==12) { intNextMonth=0; intNextYear=intNextYear+1;}
if (intColumn > 0) { for (intLoop=1; intColumn<7; intLoop++, intColumn++) { strOutput += this.getDayLink(true,intLoop,intNextMonth,intNextYear,bViewOnly); }
strOutput += '<\/tr><\/table><\/td><\/tr>'; }
else { strOutput = strOutput.substr(0,strOutput.length-4); strOutput += '<\/table><\/td><\/tr>'; }
if (scNN6) { strOutput += '<\/table><\/form>'; }
else { strOutput += '<\/form><\/table>'; }
dteCur.setDate(1); dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0); dteCur.setMonth(intStartMonth); dteCur.setFullYear(intStartYear); return strOutput; }
this.makeCalendar=makeCalendar; function writeControl() { var strHold=''; var strTemp=''; var strTempMinDate=''; var strTempMaxDate=''; if (this.readonly) { strTemp=' onFocus="this.blur();" readonly '; }
if (this.focusClick) { strTemp=' onFocus="'+this.varName+'.show();" '; }
strHold='<input class="cal-TextBox" type="hidden" name="' + this.textBoxName + '"' + strTemp + 'size="12" value="' + this.getSelectedDate() + '">'; if (!scIE) { strTemp=' href="javascript:calClick();return false;" '; }
else { strTemp=''; }
if ((this.focusClick==false) || (this.focusClick==true && this.hideButton==false)) { strHold+='<a class="so-BtnLink"'+strTemp; strHold+=' onmouseover="calMgr.swapImg(' + this.varName + ',\'.imgOver\',false);" '; strHold+='onmouseout="calMgr.swapImg(' + this.varName + ',\'.imgUp\',false);" '; strHold+='onclick="calMgr.swapImg(' + this.varName + ',\'.imgDown\',true);'; strHold+=this.varName+'.show();">'; strHold+='<img align="absmiddle" border="0" name="' + this.btnName + '" src="' + strBtnImg +'" width="'+ strBtnW +'" height="'+ strBtnH +'"></a>'; }
document.write(strHold); }
this.writeControl=writeControl; function show() { var strCurSelDate = calMgr.lastSelectedDate; if (!this.enabled) { return }
calMgr.hideAllCalendars(this); if (this.visible) { this.hide(); }
else { if (document.images['calbtn2']!=null ) document.images['calbtn2'].src=img_Close.src; if (this.focusClick==true && this.hideButton==true) { scX=this.x; scY=this.y; }
else { if ( scIE ) { if (this.displayLeft) { scX = getOffsetLeft(document.images[this.btnName])-192+ document.images[this.btnName].width ; }
else { scX = getOffsetLeft(document.images[this.btnName]); }
if (this.displayTop) { scY = getOffsetTop(document.images[this.btnName]) -138 ; }
else { scY = getOffsetTop(document.images[this.btnName]) + document.images[this.btnName].height + 2; }
}
else if (scNN){ if (this.displayLeft) { scX = document.images[this.btnName].x - 192+ document.images[this.btnName].width; }
else { scX = document.images[this.btnName].x; }
if (this.displayTop) { scY = document.images[this.btnName].y -134; }
else { scY = document.images[this.btnName].y + document.images[this.btnName].height + 2; }
}
}
if (this.hideCombos) {toggleCombos('hidden');}
if (this.getSelectedDate()==''){ if (!(dteCur)) { domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteToday.getMonth(),dteToday.getFullYear())); }
else { domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
}
else { if (calMgr.isDate(quote(this.getSelectedDate()),quote(this.dateFormat))) { dteCur = calMgr.getDateFromFormat(quote(this.getSelectedDate()),quote(this.dateFormat)); dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0); }
else { dteCur=calMgr.lastSelectedDate; }
domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
this.visible=true; }
}
this.show=show; function hide() { domlay('spiffycalendar',0,scX,scY); this.visible = false; calMgr.swapImg(this,'.imgUp',false); if (this.hideCombos) {toggleCombos('visible');}
}
this.hide=hide; function clearDay() { eval('document.' + this.formName + '.' + this.textBoxName + '.value = \'\''); this.hide(); if (this.JStoRunOnClear!=null)
eval(unescape(this.JStoRunOnClear)); eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBox"; if (this.required) { eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBoxInvalid"; }
}
this.clearDay=clearDay; function changeDay(intWhatDay) { dteCur.setDate(intWhatDay); dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0); this.textBox().value=calMgr.scFormatDate(dteCur,this.dateFormat); checkuk(); var day = this.textBox().value.substring(0, 2); var month = this.textBox().value.substring(3, 5); var year = this.textBox().value.substring(6, 10); eval("document." + this.formName + "." + this.textBoxName.substr(0,2) + "d.value = '" + day +"';"); eval("document." + this.formName + "." + this.textBoxName.substr(0,2) + "m.value = '" + month + "';"); eval("document." + this.formName + "." + this.textBoxName.substr(0,2) + "y.value = '" + year + "';"); this.hide(); countResults(); if (this.JStoRunOnSelect!=null)
eval(unescape(this.JStoRunOnSelect)); eval('document.'+this.formName+'.'+this.textBoxName).className = "cal-TextBox"; }
this.changeDay=changeDay; function scrollMonth(intAmount) { var intMonthCheck; var intYearCheck; if (scIE) { intMonthCheck = document.forms["spiffyCal"].cboMonth.selectedIndex + intAmount; }
else if (scNN) { intMonthCheck = document.spiffycalendar.document.forms["spiffyCal"].cboMonth.selectedIndex + intAmount; }
if (intMonthCheck < 0) { intYearCheck = dteCur.getFullYear() - 1; if ( intYearCheck < this.minYearChoice ) { intYearCheck = this.minYearChoice; intMonthCheck = 0; }
else { intMonthCheck = 11; }
dteCur.setFullYear(intYearCheck); }
else if (intMonthCheck >11) { intYearCheck = dteCur.getFullYear() + 1; if ( intYearCheck > this.maxYearChoice-1 ) { intYearCheck = this.maxYearChoice-1; intMonthCheck = 11; }
else { intMonthCheck = 0; }
dteCur.setFullYear(intYearCheck); }
if (scIE) { dteCur.setMonth(document.forms["spiffyCal"].cboMonth.options[intMonthCheck].value); }
else if (scNN) { dteCur.setMonth(document.spiffycalendar.document.forms["spiffyCal"].cboMonth.options[intMonthCheck].value ); }
domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
this.scrollMonth=scrollMonth; function changeMonth() { if (scIE) { dteCur.setMonth(document.forms["spiffyCal"].cboMonth.options[document.forms["spiffyCal"].cboMonth.selectedIndex].value); domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
else if (scNN) { dteCur.setMonth(document.spiffycalendar.document.forms["spiffyCal"].cboMonth.options[document.spiffycalendar.document.forms["spiffyCal"].cboMonth.selectedIndex].value); domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
}
this.changeMonth=changeMonth; function changeYear() { if (scIE) { dteCur.setFullYear(document.forms["spiffyCal"].cboYear.options[document.forms["spiffyCal"].cboYear.selectedIndex].value); domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
else if (scNN) { dteCur.setFullYear(document.spiffycalendar.document.forms["spiffyCal"].cboYear.options[document.spiffycalendar.document.forms["spiffyCal"].cboYear.selectedIndex].value); domlay('spiffycalendar',1,scX,scY,this.makeCalendar(dteCur.getMonth(),dteCur.getFullYear())); }
}
this.changeYear=changeYear; function getDayLink(blnIsGreyDate,intLinkDay,intLinkMonth,intLinkYear,bViewOnly,isWE) { var templink; var tempLinkClass='calDay-Link'; var tempClass='cal-DayCell'; var tempDt=''; var isHol=-1; var holTxt=''; if (isWE==true && this.showWeekends==true) {tempClass='cal-WeekendCell';}
tempDt=msNames[intLinkMonth]+'-'+intLinkDay; if (this.showHolidays) {isHol=calMgr.isHoliday(tempDt); if (isHol!=-1) {holTxt=' title="'+calMgr.HolidaysDesc[isHol]+'"'; tempClass='cal-HolidayCell';}}
if (!(this.useDateRange)) { if (blnIsGreyDate) { templink='<td align="center" class="cal-GreyDate">' + intLinkDay + '<\/td>'; }
else { if (isDayToday(intLinkDay)) { if (!(bViewOnly)) { templink='<td align="center" class="'+tempClass+'">' + '<a class="cal-TodayLink" '+holTxt+' onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a><\/td>'; }
else { templink='<td align="center" class="'+tempClass+'"><span class="cal-Today">' + intLinkDay +'<\/span><\/td>'; }
}
else { if (!(bViewOnly)) { templink='<td align="center" class="'+tempClass+'">' + '<a class="cal-DayLink" '+holTxt+' onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a>' +'<\/td>'; }
else { templink='<td align="center" class="'+tempClass+'"><span class="cal-Day">' + intLinkDay + '<\/span><\/td>'; }
}
}
}
else { if (this.isDayValid(intLinkDay,intLinkMonth,intLinkYear)) { if (blnIsGreyDate){ templink='<td align="center" class="cal-GreyDate">' + intLinkDay + '<\/td>'; }
else { if (isDayToday(intLinkDay)) { if (!(bViewOnly)) { templink='<td align="center" class="'+tempClass+'">' + '<a class="cal-TodayLink" '+holTxt+' onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a>' +'<\/td>'; }
else { templink='<td align="center" class="'+tempClass+'"><span class="cal-Today">' + intLinkDay + '<\/span><\/td>'; }
}
else { if (!(bViewOnly)) { templink='<td align="center" class="'+tempClass+'">' + '<a class="cal-DayLink" '+holTxt+' onmouseover="self.status=\' \';return true" href="javascript:'+this.varName+'.changeDay(' + intLinkDay + ');">' + intLinkDay + '<\/a>' +'<\/td>'; }
else { templink='<td align="center" class="'+tempClass+'"><span class="cal-Day">' + intLinkDay +'<\/span><\/td>'; }
}
}
}
else { templink='<td align="center" class="cal-GreyInvalidDate">'+ intLinkDay + '<\/td>'; }
}
return templink; }
this.getDayLink=getDayLink; function toggleCombos(showHow){ var i; var j; var cboX; var cboY; for (i=0;i<document.forms.length;i++) { for (j=0;j<document.forms[i].elements.length;j++) { if (document.forms[i].elements[j].tagName == "SELECT") { if (document.forms[i].name != "spiffyCal") { cboX = getOffsetLeft(document.forms[i].elements[j]); cboY = getOffsetTop(document.forms[i].elements[j]); if ( ((cboX>=scX-15) && (cboX<=scX+200)) && ((cboY>=scY-15) && (cboY<=scY+145)) )
document.forms[i].elements[j].style.visibility=showHow; cboX = cboX + parseInt(document.forms[i].elements[j].style.width); cboY=cboY+15; if ( ((cboX>=scX+15) && (cboX<=scX+200)) && ((cboY>=scY-15) && (cboY<=scY+145)) )
document.forms[i].elements[j].style.visibility=showHow; }
}
}
}
}
function isDayToday(intWhatDay) { if ((dteCur.getFullYear() == dteToday.getFullYear()) && (dteCur.getMonth() == dteToday.getMonth()) && (intWhatDay == dteToday.getDate())) { return true; }
else { return false; }
}
function isDayValid(intWhatDay, intWhatMonth, intWhatYear){ dteCur.setDate(intWhatDay); dteCur.setMonth(intWhatMonth); dteCur.setFullYear(intWhatYear); dteCur.setHours(0);dteCur.setMinutes(0);dteCur.setSeconds(0);dteCur.setMilliseconds(0); if ((dteCur>=this.minDate) && (dteCur<=this.maxDate)) { return true; }
else { return false; }
}
this.isDayValid=isDayValid; calMgr.addCalendar(this); blnInConstructor=false; }
function quote(sWhat) { return '\''+sWhat+'\''; }
function getOffsetLeft (el) { var ol = el.offsetLeft; while ((el = el.offsetParent) != null)
ol += el.offsetLeft; return ol; }
function getOffsetTop (el) { var ot = el.offsetTop; while((el = el.offsetParent) != null)
ot += el.offsetTop; return ot; }
function calClick() { window.focus(); }
function domlay(id,trigger,lax,lay,content) { if (trigger=="1"){ if (document.layers) document.layers[''+id+''].visibility = "show"
else if (document.all) document.all[''+id+''].style.visibility = "visible"
else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "visible"
}
else if (trigger=="0"){ if (document.layers) document.layers[''+id+''].visibility = "hide"
else if (document.all) document.all[''+id+''].style.visibility = "hidden"
else if (document.getElementById) document.getElementById(''+id+'').style.visibility = "hidden"
}
if (lax){ if (document.layers){document.layers[''+id+''].left = lax}
else if (document.all){document.all[''+id+''].style.left=lax}
else if (document.getElementById){document.getElementById(''+id+'').style.left=lax+"px"}
}
if (lay){ if (document.layers){document.layers[''+id+''].top = lay}
else if (document.all){document.all[''+id+''].style.top=lay}
else if (document.getElementById){document.getElementById(''+id+'').style.top=lay+"px"}
}
if (content){ if (document.layers){ sprite=document.layers[''+id+''].document; sprite.open(); sprite.write(content); sprite.close(); }
else if (document.all) document.all[''+id+''].innerHTML = content; else if (document.getElementById){ rng = document.createRange(); el = document.getElementById(''+id+''); rng.setStartBefore(el); htmlFrag = rng.createContextualFragment(content);
while(el.hasChildNodes()) el.removeChild(el.lastChild); el.appendChild(htmlFrag); }
}
}
function makeArray0() { for (i = 0; i<makeArray0.arguments.length; i++)
this[i] = makeArray0.arguments[i]; }
