/*
PRODUCT: 	FS JavaScript Popup Date Selector - version 3.07
COPYRIGHT:	July 2004 (c) Future Shock Ltd.
CONTACT:	post@future-shock.net
COMPATIBILITY:
	PC (WinXP):	Internet Explorer 4/5/5.5/6, Netscape 4.78/7, Mozilla Firefox 0.8, Opera 7
	Mac (OS9):	Internet Explorer 5.1, Netscape 7.1
	Mac (OSX):	Internet Explorer 5.2, Netscape 7.1,Safari 125
	Internet Explorer 4 on PC has a problem displaying more than two date selectors on one page.

This product is NOT freeware or shareware, to use it without licence is breach of copyright and will be prosecuted.
Once a licence is purchased you may amend the CSS and image resources to style the product to your requirements.
*/

var FSaa,FSbb,FSb;var FSc,FSd;var FSintHposOffset,FSintVposOffset;var FSe,FSf,FSg;var FSh,FSi,FSj;var FSk=1;var FSl=60*1000;var FSm=FSl*60;var FSn=FSm*24;var FSo=0;var FSp=0;var FSq=0;var FSr=0;var FSs=0;if(navigator.userAgent.indexOf("Gecko")>0){FSstrBrowser="Gecko";document.onclick=FSfncHideDateSelector}else{FSstrBrowser="IE";document.onclick=function(){FSfncHideDateSelector(event)}}if((typeof(HTMLElement)!="undefined")&&(!HTMLElement.prototype.insertAdjacentHTML)){HTMLElement.prototype.insertAdjacentHTML=function(where,htmlStr){var r=this.ownerDocument.createRange();r.setStartBefore(this);var parsedHTML=r.createContextualFragment(htmlStr);this.appendChild(parsedHTML);}}function FSfncShowDateSelector(DateRef,EventRef,DisableNone,SeasonStart,SeasonEnd,LangID,ImagePath,hposOffset,vposOffset){if(FSd){return}else{FSd=true}FSintHposOffset=hposOffset;FSintVposOffset=vposOffset;if(document.getElementById){if(!FSf){FSh=new Date();FSh.setHours(0,0,0,0);FSfncWriteSelectorHTML();FSf=document.getElementById("FSdateSelector");FSg=document.getElementById("FScalendarArea");}FSe=DateRef;FSc=DisableNone;FSbb=LangID;FSb=ImagePath;switch(FSbb){case"FR":FSaa='Aucune';FSk=1;break;case"DE":FSaa='Kein';FSk=1;break;case"ES":FSaa='Ninguna';FSk=1;break;case"ESUS":FSaa='Ninguna';FSk=0;break;case"US":FSaa='None';FSk=0;break;default:FSaa='None';FSk=1;}if((SeasonStart!="")&&(SeasonEnd!="")){var arrTempDate=SeasonStart.split("/");FSi=FSfncMakeDate(arrTempDate[1-FSk],arrTempDate[0+FSk],arrTempDate[2]);var arrTempDate=SeasonEnd.split("/");FSj=FSfncMakeDate(arrTempDate[1-FSk],arrTempDate[0+FSk],arrTempDate[2]);}else{FSi=false;FSj=false}FSo=0;if(FSe.value==FSaa){if(FSe.defaultValue==FSaa){var arrCurrentDate=FSfncDateToString(FSh).split("/");FSp=arrCurrentDate[0+FSk]-1;}else{var arrCurrentDate=FSe.defaultValue.split("/");FSo=arrCurrentDate[1-FSk];FSp=arrCurrentDate[0+FSk]-1;}}else{var arrCurrentDate=FSe.value.split("/");FSo=arrCurrentDate[1-FSk];FSp=arrCurrentDate[0+FSk]-1;}FSq=arrCurrentDate[2];FSr=parseInt(FSp,10);FSs=parseInt(FSq,10);FSg.innerHTML=FSfncCreateCalendarArea();if(FSstrBrowser=="Gecko"){FSf.style.left=EventRef.clientX-90+hposOffset;FSf.style.top=EventRef.clientY+8+vposOffset;}else{FSf.style.left=EventRef.clientX-EventRef.offsetX-82+document.body.scrollLeft+document.documentElement.scrollLeft+hposOffset;FSf.style.top=EventRef.clientY-EventRef.offsetY+16+document.body.scrollTop+document.documentElement.scrollTop+vposOffset;}FSf.style.visibility="visible";}}function FSfncHideDateSelector(TheEvent){if(FSf){if(FSstrBrowser=="Gecko"){if(TheEvent){var ThisIcon="FSdsIcon_"+FSe.name;var rel=TheEvent.target;while(rel){if((rel.id=="FSdateSelector")||(rel.id==ThisIcon)){break}else{rel=rel.parentNode}}}if(!rel){FSf.style.visibility="hidden";FSd=false}return;}else{if((TheEvent)){if((TheEvent.clientX+document.body.scrollLeft+document.documentElement.scrollLeft>FSf.style.posLeft+1)&&(TheEvent.clientX+document.body.scrollLeft+document.documentElement.scrollLeft<FSf.style.posLeft+FSf.style.posWidth+10)&&(TheEvent.clientY+document.body.scrollTop+document.documentElement.scrollTop>FSf.style.posTop+1)&&(TheEvent.clientY+document.body.scrollTop+document.documentElement.scrollTop<FSf.style.posTop+FSf.offsetHeight+2)){return}if((TheEvent.clientX+document.body.scrollLeft+document.documentElement.scrollLeft>FSf.style.posLeft+81-FSintHposOffset)&&(TheEvent.clientX+document.body.scrollLeft+document.documentElement.scrollLeft<FSf.style.posLeft+99-FSintHposOffset)&&(TheEvent.clientY+document.body.scrollTop+document.documentElement.scrollTop>FSf.style.posTop-17-FSintVposOffset)&&(TheEvent.clientY+document.body.scrollTop+document.documentElement.scrollTop<FSf.style.posTop-FSintVposOffset)){return}}FSf.style.visibility="hidden";FSd=false;}}else{FSf=false}}function FSfncCreateCalendarArea(){switch(FSbb){case"FR":var arrDayNames=new Array("Lun","Mar","Mer","Jeu","Ven","Sam","Dim");var arrMonthNames=new Array("Janvier","F&eacute;vrier","Marche","Avril","Mai","Juin","Juillet","Ao&ucirc;t","Septembre","Octobre","Novembre","D&eacute;cembre");var strTodayLabel="Auj";var strNoValue="Aucune";break;case"DE":var arrDayNames=new Array("Mon","Die","Mit","Don","Fre","Sam","Son");var arrMonthNames=new Array("Januar","Februar","M&auml;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");var strTodayLabel="Heute";var strNoValue="Kein";break;case"ES":case"ESUS":var arrDayNames=new Array("Lun","Mar","Mi&eacute;","Jue","Vie","S&aacute;b","Dom");var arrMonthNames=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");var strTodayLabel="Hoy";var strNoValue="Ninguna";break;default:var arrDayNames=new Array("Mon","Tue","Wed","Thu","Fri","Sat","Sun");var arrMonthNames=new Array("January","February","March","April","May","June","July","August","September","October","November","December");var strTodayLabel="Today";var strNoValue="None";}var dtFirstOfMonth=new Date(FSs,FSr,1);var intTimeOffset=FSfncGetTimeOffset();if(Math.abs(intTimeOffset)>8){dtFirstOfMonth.setHours(-intTimeOffset,0,0,0)}switch(dtFirstOfMonth.getDay()){case 0:var OffsetDays=6;break;case 1:var OffsetDays=7;break;default:var OffsetDays=dtFirstOfMonth.getDay()-1;}OffsetDays-=(FSk-1);var dtCalendarStart=new Date(dtFirstOfMonth.getTime()-(FSn*OffsetDays));dtCalendarStart.setHours(12);var dtCalendarEnd=new Date(dtCalendarStart.getTime()+(FSn*41));dtCalendarEnd.setHours(12);strCalendar='<TABLE BORDER="0" CELLPADDING="2" CELLSPACING="0" CLASS="FScalendar">';strCalendar+="<TR CLASS='FScalendarTitles' ALIGN='center'>";for(var i=0;i<=6;i++){intArrayPointer=i+(FSk-1);if(intArrayPointer<0){intArrayPointer=6}strCalendar+="<TD WIDTH='22'>"+arrDayNames[intArrayPointer]+"</TD>"}strCalendar+="</TR>";for(var i=0;i<=41;i++){if(i%7==0){strCalendar+="<TR ALIGN='center'>"}var StyleString="";var dtTheDay=new Date(dtCalendarStart.getTime()+(FSn*i));dtTheDay.setHours(0,0,0,0);if(dtTheDay.getTime()==FSh.getTime()){if((dtTheDay.getMonth()==FSp)&&(dtTheDay.getDate()==FSo)&&(dtTheDay.getFullYear()==FSq)){StyleString+="background-image: url("+FSb+"today_selected.gif); background-repeat:no-repeat; "}else{StyleString+="background-image: url("+FSb+"today.gif); background-repeat:no-repeat; "}}else if((dtTheDay.getMonth()==FSp)&&(dtTheDay.getDate()==FSo)&&(dtTheDay.getFullYear()==FSq)){StyleString+="background-image: url("+FSb+"selected.gif); background-repeat:no-repeat; "}if(dtTheDay.getMonth()!=FSr){var LinkClass="FSnotInMonth"}else{var LinkClass="FSinMonth"}if(((FSi)&&(FSj))&&((dtTheDay<FSi)||(dtTheDay>FSj))){strCalendar+="<TD CLASS='FSoutOfRange' STYLE='"+StyleString+"'>"+dtTheDay.getDate()+"</TD>"}else{strCalendar+="<TD STYLE='"+StyleString+"'><A HREF='Javascript: void FSfncSetDate(\""+FSfncDateToString(dtTheDay)+"\")' CLASS='"+LinkClass+"'>"+dtTheDay.getDate()+"</A></TD>"}if(i%7==6){strCalendar+="</TR>"}}strCalendar+="</TABLE>";if(FSi&&FSj){switch(FSbb){case"FR":var strCellMessage='Valable: du '+FSfncDateToString(FSi)+' au '+FSfncDateToString(FSj);break;case"DE":var strCellMessage='Gültig: von '+FSfncDateToString(FSi)+' bis '+FSfncDateToString(FSj);break;case"ES":case"ESUS":var strCellMessage='Periodo: de '+FSfncDateToString(FSi)+' a '+FSfncDateToString(FSj);break;default:var strCellMessage='Valid: '+FSfncDateToString(FSi)+' to '+FSfncDateToString(FSj);}}else{switch(FSbb){case"FR":var strCellMessage='Cliquez hors calendrier pour cacher';break;case"DE":var strCellMessage='Zum Ausblenden außerhalb des Kalenders klicken';break;case"ES":case"ESUS":var strCellMessage='Haga clic fuera del calendario<BR>para ocultarlo';break;default:var strCellMessage='Click outside calendar to hide';}}var strMonthOptions="";var strSelected="";for(var i=0;i<=11;i++){if(i==FSr){strSelected=" SELECTED"}else{strSelected=""}strMonthOptions+='<OPTION'+strSelected+'>'+arrMonthNames[i]+'</OPTION>';}if(FSc==true){NoneButton='<IMG SRC="'+FSb+FSbb+'/but_none_dis.gif" WIDTH="44" HEIGHT="18" HSPACE="1">'}else{NoneButton='<INPUT TYPE="image" SRC="'+FSb+FSbb+'/but_none.gif" WIDTH="44" HEIGHT="18" HSPACE="1" onClick="FSfncSetDate(\''+strNoValue+'\')">'}strCalendar='<TABLE BORDER="0" CELLPADDING="1" CELLSPACING="0" WIDTH="100%" HEIGHT="100%">'+'<TR HEIGHT="22" CLASS="FSbuttonsRow">'+'<TD WIDTH="30" ALIGN="left"><INPUT TYPE="image" SRC="'+FSb+'but_prev.gif" WIDTH="18" HEIGHT="18" HSPACE="1" onClick="FSfncAdvanceDate(-1)"></TD>'+'<TD><SELECT NAME="FScurrentMonth" CLASS="FSmonthRolldown" onChange="FSfncChangeMonth(this.selectedIndex + 1)">'+strMonthOptions+'</SELECT></TD>'+'<TD><INPUT TYPE="text" NAME="FScurrentYear" VALUE="'+FSs+'" MAXLENGTH="4" CLASS="FSyearInput" onBlur="FSfncChangeYear(this)"></TD>'+'<TD><INPUT TYPE="image" SRC="'+FSb+'but_yeard.gif" WIDTH="18" HEIGHT="9" onClick="FSfncAdvanceDate(12)"><BR><INPUT TYPE="image" SRC="'+FSb+'but_yearu.gif" WIDTH="18" HEIGHT="9" onClick="FSfncAdvanceDate(-12)"></TD>'+'<TD WIDTH="30" ALIGN="right"><INPUT TYPE="image" SRC="'+FSb+'but_next.gif" WIDTH="18" HEIGHT="18" HSPACE="1" onClick="FSfncAdvanceDate(1)"></TD>'+'</TR>'+'<TR HEIGHT="133" BGCOLOR="#FFFFFF"><TD COLSPAN="5" ALIGN="center">'+strCalendar+'</TD></TR>'+'<TR HEIGHT="16"><TD COLSPAN="5" ID="FSrangeCell">'+strCellMessage+'</TD></TR>'+'<TR HEIGHT="22" CLASS="FSbuttonsRow">'+'<TD COLSPAN="5">'+'<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%">'+'<TR>'+'<TD ALIGN="left"><INPUT TYPE="image" SRC="'+FSb+FSbb+'/but_today.gif" WIDTH="44" HEIGHT="18" HSPACE="1" onClick="FSfncSetDate(FSfncDateToString(FSh))"></TD>'+'<TD ALIGN="center" ID="FSdateToday">'+strTodayLabel+': '+FSfncDateToString(FSh)+'</TD>'+'<TD ALIGN="right">'+NoneButton+'</TD>'+'</TR>'+'</TABLE>'+'</TD>'+'</TR>';return strCalendar;}function FSfncGetTimeOffset(){var rightNow=new Date();var date1=new Date(rightNow.getFullYear(),0,1,0,0,0,0);var temp=date1.toGMTString();var date3=new Date(temp.substring(0,temp.lastIndexOf(" ")-1));return(date1-date3)/FSm;}function FSfncSetDate(TheDate){var tempArray=TheDate.split("/");var resultingDate=new Date(tempArray[2],tempArray[0+FSk]-1,tempArray[1-FSk]);if(((FSi)&&(FSj))&&((resultingDate<FSi)||(resultingDate>FSj))){switch(FSbb){case"FR":alert("Veuillez choisir une dâte dans la gamme specifiée");break;case"DE":alert("Bitte ein Datum innerhalb des angegebenen Zeitraums wählen");break;case"ES":case"ESUS":alert("Por favor, elija una fecha dentro del periodo especificado");break;default:alert("Please select a date in the range specified");}return false;}FSo=0;FSe.value=TheDate;FSfncHideDateSelector();}function FSfncAdvanceDate(Adjuster){if((Adjuster==12)||(Adjuster==-12)){FSs=FSs+(Adjuster/12)}else{FSr=FSr+Adjuster;if(FSr==-1){FSr=11;FSs--}if(FSr==12){FSr=0;FSs++}}FSg.innerHTML=FSfncCreateCalendarArea();}function FSfncChangeMonth(Adjuster){FSr=Adjuster-1;FSg.innerHTML=FSfncCreateCalendarArea();}function FSfncChangeYear(FieldRef){var RE=/\D/g;if(RE.test(FieldRef.value)){switch(FSbb){case"FR":var strFailText="Cette ani n'est pas valable";break;case"DE":var strFailText="Dieses Yahre ist ungültig";break;case"ES":case"ESUS":var strFailText="Este año no es válido";break;default:var strFailText="Year is not valid";}alert(strFailText);FieldRef.focus();}else{FSs=parseInt(FieldRef.value);FSg.innerHTML=FSfncCreateCalendarArea();}}function FSfncDateToString(TheDate){if(!TheDate){return""}else{if(FSk==1){return(TheDate.getDate()<10?"0"+TheDate.getDate():TheDate.getDate())+"/"+(TheDate.getMonth()<9?"0"+(TheDate.getMonth()+1):(TheDate.getMonth()+1))+"/"+TheDate.getFullYear()}else{return(TheDate.getMonth()<9?"0"+(TheDate.getMonth()+1):(TheDate.getMonth()+1))+"/"+(TheDate.getDate()<10?"0"+TheDate.getDate():TheDate.getDate())+"/"+TheDate.getFullYear()}}}function FSfncMakeDate(TheDay,TheMonth,TheYear){return new Date(TheYear,TheMonth-1,TheDay)}function FSfncCheckDate(thisDateField,LangID){if(!LangID){LangID=FSbb}switch(LangID){case"FR":FSaa='Aucune';FSk=1;var strFailText="Cette date n'est pas valable";break;case"DE":FSaa='Keine';FSk=1;var strFailText="Dieses Datum ist ungültig";break;case"ES":FSaa='Ninguna';FSk=1;var strFailText="Esta fecha no es válida";break;case"ESUS":FSaa='Ninguna';FSk=0;var strFailText="Esta fecha no es válida";break;case"US":FSaa='None';FSk=0;var strFailText="Date is not valid";break;default:FSaa='None';FSk=1;var strFailText="Date is not valid";}if(thisDateField.value==""){thisDateField.value=FSaa}if((thisDateField.value!=FSaa)&&(!FSfncCheckDateFormat(thisDateField.value))){alert(strFailText);thisDateField.value=thisDateField.defaultValue}}function FSfncCheckDateFormat(thisDate){if(thisDate.indexOf("/")==-1){return false}var ArrayDate=thisDate.split("/");if(ArrayDate.length!=3){return false}if((isNaN(ArrayDate[0]))||(ArrayDate[0]=="")){return false}if((isNaN(ArrayDate[1]))||(ArrayDate[1]=="")){return false}if((isNaN(ArrayDate[2]))||(ArrayDate[2]=="")){return false}var daysInMonth=new Array(0,31,29,31,30,31,30,31,31,30,31,30,31);if((parseInt(ArrayDate[1-FSk],10)<1)||(parseInt(ArrayDate[1-FSk],10)>daysInMonth[parseInt(ArrayDate[0+FSk],10)])){return false}if((parseInt(ArrayDate[0+FSk],10)==2)&&(parseInt(ArrayDate[1-FSk],10)>FSfncDaysInFebruary(parseInt(ArrayDate[2],10)))){return false}if((parseInt(ArrayDate[0+FSk],10)<1)||(parseInt(ArrayDate[0+FSk],10)>12)){return false}return true;}function FSfncDaysInFebruary(year){return(((year%4==0)&&((!(year%100==0))||(year%400==0)))?29:28)}function FSfncWriteSelectorHTML(){var selectorHTML=''+'<FORM ACTION="#" METHOD="GET" NAME="FSdateSelectorForm" onSubmit="return false">'+'<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="188" HEIGHT="194" ID="FSdateSelector" STYLE="width:190px; height:196px">'+'<TR><TD ID="FScalendarArea"></TD></TR>'+'</TABLE>'+'</FORM>';document.body.insertAdjacentHTML("BeforeEnd",selectorHTML)}function FSfncWriteFieldHTML(FormName,FieldName,FieldValue,FieldWidth,ImagePath,LangID,DisableNone,UseOnClick,StartDate,EndDate,HposOffset,VposOffset){if(!LangID){LangID="EN"}if(!DisableNone){DisableNone=false}if(ImagePath.charAt(ImagePath.length-1)!="/"){ImagePath=ImagePath+"/"}if(!StartDate||!EndDate){StartDate="";EndDate=""}if(!HposOffset){HposOffset=0}if(!VposOffset){VposOffset=0}if(document.getElementById){var FSimg1=new Image();FSimg1.src=ImagePath+"today_selected.gif";var FSimg2=new Image();FSimg2.src=ImagePath+"today.gif";var FSimg3=new Image();FSimg3.src=ImagePath+"selected.gif";var FSimg4=new Image();FSimg4.src=ImagePath+"but_prev.gif";var FSimg5=new Image();FSimg5.src=ImagePath+"but_yearu.gif";var FSimg6=new Image();FSimg6.src=ImagePath+"but_yeard.gif";var FSimg7=new Image();FSimg7.src=ImagePath+"but_next.gif";var FSimg8=new Image();FSimg8.src=ImagePath+LangID+"/but_today.gif";var FSimg9=new Image();FSimg9.src=ImagePath+LangID+"/but_none.gif";var ActionString='FSfncShowDateSelector(document.'+FormName+'.'+FieldName+',event,'+DisableNone+',\''+StartDate+'\',\''+EndDate+'\',\''+LangID+'\',\''+ImagePath+'\','+HposOffset+','+VposOffset+')';if(UseOnClick==true){var ActionEvent="onMouseDown="+ActionString;switch(LangID){case"FR":var IconAltText="Cliquez ici pour choisir une date";break;case"DE":var IconAltText="Hier klicken, um ein Datum auszuwählen";break;case"ES":case"ESUS":var IconAltText="Haga clic aquí para seleccionar una fecha";break;default:var IconAltText="Click here to select a date";}}else{var ActionEvent="onMouseOver="+ActionString+" onMouseDown="+ActionString;var IconAltText="";}var formFieldHTML=''+'<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" BGCOLOR="#FFFFFF" CLASS="FSdateSelect" ID="'+FieldName+'FStable" WIDTH="'+FieldWidth+'" HEIGHT="22" STYLE="width:'+FieldWidth+'px">'+'<TR>'+'<TD><INPUT TYPE="text" NAME="'+FieldName+'" VALUE="'+FieldValue+'" CLASS="FSdateField" SIZE="9" MAXLENGTH="10" onChange="FSfncCheckDate(this,\''+LangID+'\')" READONLY></TD>'+'<TD ALIGN="right"><A HREF="JavaScript: void 0" '+ActionEvent+'><IMG SRC="'+ImagePath+'calendar.gif" HEIGHT="16" WIDTH="16" HSPACE="3" BORDER="0" ALT="'+IconAltText+'" ID="FSdsIcon_'+FieldName+'"></A></TD>'+'</TR>'+'</TABLE>';document.write(formFieldHTML);}else{var formFieldHTML='<INPUT TYPE="text" NAME="'+FieldName+'" VALUE="'+FieldValue+'" SIZE="10" MAXLENGTH="10" onChange="FSfncCheckDate(this,\''+LangID+'\')" STYLE="width:'+FieldWidth+'px; height:22px">';document.write(formFieldHTML);}}