var a,champdate;a=Date.prototype;a.getDayNum=function(){return this.getDate()};a.setDayNum=function(b){this.setDate(b)};a.getMonthNum=function(){return this.getMonth()+1};a.setMonthNum=function(b){this.setMonth(b-1)};a.getYearNum=function(){return this.getFullYear()};a.setYearNum=function(b){this.setYear(b)};a.getDayOfWeekNum=function(){var b=this.getDay();if(b==7)return 1;return b==6?0:b+1};a.setDayMonthYear=function(b,d,c){this.setFullYear(c);this.setMonth(d-1);this.setDate(b);this.setHours(12)};
a.addDay=function(){this.setDate(this.getDate()+1)};a.addMonth=function(){this.setMonth(this.getMonth()+1)};a.addYear=function(){this.setYear(this.getFullYear()+1)};a.subtractYear=function(){this.setYear(this.getFullYear()-1)};a.copyTo=function(b){b.setTime(this.getTime())};a.monthIsLessThan=function(b){var d=this.getYearNum(),c=b.getYearNum();return d<c?true:d==c?this.getMonthNum()<b.getMonthNum():false};
a.monthIsGreaterThan=function(b){var d=this.getYearNum(),c=b.getYearNum();return d>c?true:d==c?this.getMonthNum()>b.getMonthNum():false};a.monthIsSameAs=function(b){if(this.getYearNum()==b.getYearNum())return this.getMonthNum()==b.getMonthNum();return false};a.dayIsSameAs=function(b){return this.getDayNum()==b.getDayNum()&&this.getMonthNum()==b.getMonthNum()&&this.getYearNum()==b.getYearNum()};
Date.isDate=function(b,d,c){if(c>999&&c<1E4){var e=new Date(c,d-1,b);return e.getDate()==b&&e.getMonth()==d-1&&e.getFullYear()==c}return false};
function Calendar(){this.width=210;this.height=250;this.y=this.x=50;this.todaysDate=new Date;this.selectedDate=new Date;this.earliestDate=new Date;this.earliestDate.setDayMonthYear(1,1,1E3);this.latestDate=new Date;this.latestDate.setDayMonthYear(1,1,3E3);this.viewDate=new Date;this.counterDate=new Date;this.outputWindow={};this.getFormDay=new Function;this.getFormMonth=new Function;this.getFormYear=new Function;this.setFormDate=new Function;this.id=Math.ceil(Math.random()*99999);this.styleSheetPath=
this.outputHtml="";this.showTodayControl=true;this.todayText="Today";this.closeText="Close"}a=Calendar.prototype;a.setBrand=function(){this.stylesheetPath="../script/calendrier/availability.css";this.stylesheetPathColours="../script/calendrier/calendar.css"};a.setTodaysDate=function(b,d,c){this.todaysDate.setDayMonthYear(b,d,c)};a.setSelectedDate=function(b,d,c){this.selectedDate.setDayMonthYear(b,d,c);this.setViewDate(b,d,c)};
a.setEarliestDate=function(b,d,c){this.earliestDate.setDayMonthYear(b,d,c)};a.setLatestDate=function(b,d,c){this.latestDate.setDayMonthYear(b,d,c)};a.setViewDate=function(b,d,c){this.viewDate.setDayMonthYear(b,d,c)};a.writeLn=function(b){this.outputHtml+=b+"\n"};a.writeTableStart=function(){this.writeLn('<table width="200" border="0" cellspacing="0" cellpadding="0"><tr><td class="tableborder">');this.writeLn('<table width="200" border="0" cellspacing="1" cellpadding="2">')};
a.writeYearTableStart=function(){this.writeLn('<table width="200" border="0" cellspacing="0" cellpadding="1"><tr><td>');this.writeLn('<table width="200" border="0" cellspacing="0" cellpadding="0" style="margin-top:4px;">')};a.writeTableDivider=function(){this.writeLn("</td></tr><tr><td>")};a.writeTableEnd=function(){this.writeLn("</table>");this.writeLn("</td></tr></table>")};
a.writeCalendar=function(){this.outputHtml="";this.writeLn("<html><head>");this.writeLn('<link rel="StyleSheet" href="'+this.stylesheetPath+'" type="text/css">');this.stylesheetPathColours&&this.writeLn('<link rel="StyleSheet" href="'+this.stylesheetPathColours+'" type="text/css">');this.writeLn("<style>td {text-align:center;}</style>");this.writeLn("</head>");this.writeLn('<body marginheight="0" marginwidth="0" topmargin="0" leftmargin="0"><center>');this.writeLn('<table border="0" width="100" cellspacing="0" cellpadding="2"><tr><td class="background" align="center">');
this.writeYearControls();this.writeTableDivider();this.writeMonth();if(this.showTodayControl=true){this.writeTableDivider();this.writeTodayControl()}this.writeTableDivider();this.writeCloseControl();this.writeLn("</td></tr></table>");this.writeLn("</center></body></html>");this.outputWindow.innerHTML=this.outputHtml;this.outputHtml=""};
a.writeYearControls=function(){this.writeYearTableStart();var b=this.earliestDate.getYearNum(),d=this.viewDate.getYearNum(),c=this.latestDate.getYearNum();this.writeLn("<tr>");d>b?this.writeLn('<td background="../script/calendrier/calprevious.gif" class="yearbuttonprev" width="75"><a href="javascript:calendar.viewPreviousYear()">'+this.prevText+"</a></td>"):this.writeLn('<td width="75" class="yearbuttonprev">&nbsp;</td>');this.writeLn('<td width="50" class="year">'+this.viewDate.getYearNum()+"</td>");
d<c?this.writeLn('<td background="../script/calendrier/calnext.gif" class="yearbuttonnext" align="left" width="75"><a href="javascript:calendar.viewNextYear()">'+this.nextText+"</a></td>"):this.writeLn('<td width="75" class="yearbuttonnext">&nbsp;</td>');this.writeLn("</tr>");this.writeTableEnd()};
a.writeMonthControls=function(){this.viewDate.copyTo(this.counterDate);this.counterDate.setMonthNum(1);this.writeTableStart();this.writeLn("<tr>");for(var b=1;b<=12;b++){if(this.counterDate.monthIsLessThan(this.earliestDate)||this.counterDate.monthIsGreaterThan(this.latestDate))this.writeLn('<td class="disabledmonth">'+this.monthsText[b-1]+"</td>");else this.counterDate.monthIsSameAs(this.viewDate)?this.writeLn('<td class="viewmonth">'+this.monthsText[b-1]+"</td>"):this.writeLn('<td class="month"><a href="javascript:calendar.viewMonth('+
b+')">'+this.monthsText[b-1]+"</a></td>");b==6&&this.writeLn("</tr><tr>");this.counterDate.addMonth()}this.writeLn("</tr>");this.writeTableEnd()};a.writeMonth=function(){this.viewDate.copyTo(this.counterDate);this.writeTableStart();this.writeLn('<tr align="center">');for(var b=0;b<7;b++)this.writeLn('<td width="25" class="dayofweek">'+this.dayText[b]+"</td>");for(this.writeLn("</tr>");this.counterDate.getMonthNum()==this.viewDate.getMonthNum();)this.writeWeek();this.writeTableEnd()};
a.writeWeek=function(){this.writeLn("<tr>");var b=this.counterDate.getDayOfWeekNum();this.writeBlankDays(b);for(b=b;b<7;b++)if(this.counterDate.getMonthNum()==this.viewDate.getMonthNum())this.writeDay();else break;this.writeBlankDays(7-b);this.writeLn("</tr>")};
a.writeDay=function(){var b=this.counterDate.getDayNum(),d=this.counterDate.getMonthNum(),c=this.counterDate.getYearNum();if(this.counterDate.dayIsSameAs(this.selectedDate))this.writeLn('<td class="selectedday"><a href="javascript:calendar.selectDay('+b+","+d+","+c+')">'+this.counterDate.getDayNum()+"</td>");else this.counterDate>=this.earliestDate&&this.counterDate<=this.latestDate?this.writeLn('<td class="day"><a href="javascript:calendar.selectDay('+b+","+d+","+c+')">'+this.counterDate.getDayNum()+
"</a></td>"):this.writeLn('<td class="disabledday">'+this.counterDate.getDayNum()+"</td>");this.counterDate.addDay()};a.writeBlankDays=function(b){b>0&&this.writeLn('<td colspan="'+b+'" class="blankday">&nbsp;</td>')};a.writeCloseControl=function(){this.writeTableStart();this.writeLn('<tr><td class="control"><a href="javascript:calendar.close()">&nbsp; &nbsp; &nbsp; &nbsp; '+this.closeText+" &nbsp; &nbsp; &nbsp; &nbsp;</a></td></tr>");this.writeTableEnd()};
a.writeTodayControl=function(){this.writeTableStart();this.writeLn('<tr><td class="control"><a href="javascript:calendar.selectToday()" onclick="javascript:calendar.selectDay('+day+","+month+","+year+'); window.close();">&nbsp; &nbsp; &nbsp; '+this.todayText+" &nbsp; &nbsp; &nbsp;</a></td></tr>");this.writeTableEnd()};function isIEPC(){return navigator.platform.indexOf("Win")!=-1&&navigator.appVersion.indexOf("MSIE")!=-1}a=Calendar.prototype;
a.show=function(b,d){champdate=b;var c=this.getFormDay(b),e=this.getFormMonth(b);b=this.getFormYear(b);if(Date.isDate(c,e,b)){this.setSelectedDate(c,e,b);if(this.selectedDate.monthIsLessThan(this.earliestDate))this.earliestDate.copyTo(this.viewDate);else if(this.selectedDate.monthIsGreaterThan(this.latestDate)){this.latestDate.copyTo(this.viewDate);alert(this.latestDate+"\n"+this.viewDate)}}isIEPC()&&this.close();this.outputWindow=d;this.viewDate.setDayNum(1);this.writeCalendar();this.outputWindow.focus()};
a.open=function(b){champdate=b;var d=this.getFormDay(b),c=this.getFormMonth(b);b=this.getFormYear(b);if(Date.isDate(d,c,b)){this.setSelectedDate(d,c,b);if(this.selectedDate.monthIsLessThan(this.earliestDate))this.earliestDate.copyTo(this.viewDate);else if(this.selectedDate.monthIsGreaterThan(this.latestDate)){this.latestDate.copyTo(this.viewDate);alert(this.latestDate+"\n"+this.viewDate)}}isIEPC()&&this.close();this.outputWindow=window.open("javascript:''","calendar"+this.id,"width="+this.width+",height="+
this.height+",top="+this.x+",left="+this.y+",noresize");this.viewDate.setDayNum(1);this.writeCalendar();this.outputWindow.focus()};a.close=function(){this.outputWindow&&this.outputWindow.close&&this.outputWindow.close()};a.selectDay=function(b,d,c){this.setSelectedDate(b,d,c);this.setFormDate(b,d,c,champdate);this.close()};a.viewMonth=function(b){this.viewDate.setMonthNum(b);this.writeCalendar()};
a.selectToday=function(){this.todaysDate.copyTo(this.viewDate);this.todaysDate.copyTo(this.selectedDate);this.setFormDate(this.selectedDate.getDayNum(),this.selectedDate.getMonthNum(),this.selectedDate.getYearNum(),champdate);this.viewDate.setDayNum(1);this.writeCalendar()};a.viewPreviousYear=function(){this.viewDate.subtractYear();this.viewDate.setMonthNum(12);this.writeCalendar()};a.viewNextYear=function(){this.viewDate.addYear();this.viewDate.setMonthNum(1);this.writeCalendar()};
