var datepickers=$H();var DatePicker=Class.create();DatePicker.prototype={Version:"0.9.2",_relative:null,_div:null,_zindex:1000,_keepFieldEmpty:false,_daysInMonth:[31,28,31,30,31,30,31,31,30,31,30,31],_language:"fr",_language_month:$H({fr:["Janvier","F&#233;vrier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","D&#233;cembre"],en:["January","February","March","April","May","June","July","August","September","October","November","December"],sp:["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],it:["Gennaio","Febbraio","Marzo","Aprile","Maggio","Giugno","Luglio","Agosto","Settembre","Ottobre","Novembre","Dicembre"],de:["Januar","Februar","M&#228;rz","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],pt:["Janeiro","Fevereiro","Mar&#231;o","Abril","Maio","Junho","Julho","Agosto","Setembro","Outubro","Novembro","Dezembro"]}),_language_day:$H({fr:["Lun","Mar","Mer","Jeu","Ven","Sam","Dim"],en:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"],sp:["Lun","Mar","Mie","Jue","Vie","S&#224;b","Dom"],it:["Lun","Mar","Mer","Gio","Ven","Sab","Dom"],de:["Mon","Die","Mit","Don","Fre","Sam","Son"],pt:["Seg","Ter","Qua","Qui","Sex","S&#225;","Dom"]}),_language_close:$H({fr:"fermer",en:"close",sp:"cierre",it:"fine",de:"schliessen",pt:"fim"}),_todayDate:new Date(),_date_regexp:/^(\d{1,2})(\/|\.|\-)(\d{1,2})(?:\/|\.|\-)(\d{4})$/,_current_date:null,_clickCallback:Prototype.emptyFunction,_date_separator:".",_id_datepicker:null,_topOffset:-145,_leftOffset:92,_isPositionned:false,_relativePosition:true,getMonthLocale:function(A){return this._language_month[this._language][A]},getLocaleClose:function(){return this._language_close[this._language]},_initCurrentDate:function(){this._current_date=$F(this._relative);if(!this._date_regexp.test(this._current_date)){var B=new Date();var A=this._leftpad_zero(B.getDate(),2);var C=this._leftpad_zero(B.getMonth()+1,2);if(this._language=="en"){this._current_date=C+"."+A+"."+B.getFullYear()}else{this._current_date=A+"."+C+"."+B.getFullYear()}if(!this._keepFieldEmpty){$(this._relative).setAttribute("value",this._current_date)}}var D=this._current_date.match(this._date_regexp);this._date_separator=String(D[2]);if(this._language=="en"){this._current_mon=Number(D[1])-1;this._current_day=Number(D[3])}else{this._current_day=Number(D[1]);this._current_mon=Number(D[3])-1}this._current_year=Number(D[4])},initialize:function(C){this._relative=C.relative;if(C.language){this._language=C.language}this._zindex=(C.zindex)?parseInt(Number(C.zindex)):1000;if(typeof (C.keepFieldEmpty)!="undefined"){this._keepFieldEmpty=C.keepFieldEmpty}if(typeof (C.clickCallback)=="function"){this._clickCallback=C.clickCallback}if(typeof (C.leftOffset)!="undefined"){this._leftOffset=parseInt(C.leftOffset)}if(typeof (C.topOffset)!="undefined"){this._topOffset=parseInt(C.topOffset)}if(typeof (C.relativePosition)!="undefined"){this._relativePosition=C.relativePosition}this._id_datepicker="datepicker-"+this._relative;this._id_datepicker_prev=this._id_datepicker+"-prev";this._id_datepicker_prev_year=this._id_datepicker+"-prev-year";this._id_datepicker_next=this._id_datepicker+"-next";this._id_datepicker_next_year=this._id_datepicker+"-next-year";this._id_datepicker_hdr=this._id_datepicker+"-header";this._id_datepicker_ftr=this._id_datepicker+"-footer";this._div=Builder.node("div",{id:this._id_datepicker,className:"datepicker",style:"display: none; z-index: "+this._zindex},[Builder.node("div",{className:"datepicker-header"},[Builder.node("span",{id:this._id_datepicker_prev,style:"cursor: pointer;"}," << "),Builder.node("span",{id:this._id_datepicker_prev_year,style:"cursor: pointer;"},""),Builder.node("span",{id:this._id_datepicker_hdr}),Builder.node("span",{id:this._id_datepicker_next_year,style:"cursor: pointer;"},""),Builder.node("span",{id:this._id_datepicker_next,style:"cursor: pointer;"}," >> ")]),Builder.node("div",{className:"datepicker-calendar"},[Builder.node("table",{id:this._id_datepicker+"-table"})]),Builder.node("div",{id:this._id_datepicker_ftr,className:"datepicker-footer"},this.getLocaleClose())]);var A=document.getElementsByTagName("body").item(0);if(A){A.appendChild(this._div)}Event.observe($(this._id_datepicker_prev),"click",this.prevMonth.bindAsEventListener(this),false);Event.observe($(this._id_datepicker_prev_year),"click",this.prevYear.bindAsEventListener(this),false);Event.observe($(this._id_datepicker_next),"click",this.nextMonth.bindAsEventListener(this),false);Event.observe($(this._id_datepicker_next_year),"click",this.nextYear.bindAsEventListener(this),false);Event.observe($(this._id_datepicker_ftr),"click",this.close.bindAsEventListener(this),false);var D=Builder.node("table",{className:"datepicker-opener-table"});var B=Builder.node("tr",{},[Builder.node("td",{className:"datepicker-opener",id:"datepicker-opener-"+this._relative})]);if(D.childNodes[0]!=undefined){D.childNodes[0].appendChild(B)}else{D.appendChild(B)}Event.observe(D,"click",this.click.bindAsEventListener(this),false);this.insertAfter($(this._relative).parentNode,D,$(this._relative))},insertAfter:function(B,C,A){B.insertBefore(C,A.nextSibling)},click:function(){if(!this._isPositionned&&this._relativePosition){var a_lt=this.positionedOffset($(this._relative));$(this._id_datepicker).setStyle({left:Number(a_lt[0]+this._leftOffset)+"px",top:Number(a_lt[1]+this._topOffset)+"px"});this._isPositionned=true}if(!$(this._id_datepicker).visible()){this._initCurrentDate();this._redrawCalendar()}eval(this._clickCallback());new Effect.toggle(this._id_datepicker,"appear",{duration:0.2})},positionedOffset:function(B){var A=0,D=0;do{A+=B.offsetTop||0;D+=B.offsetLeft||0;B=B.offsetParent;if(B){if(B.tagName=="BODY"){break}var C=Element.getStyle(B,"position");if(C=="relative"||C=="absolute"){}}}while(B);return[D,A]},close:function(){new Effect.Fade(this._id_datepicker,{duration:0.2})},setPosition:function(B,A){var C={top:"0px",left:"0px"};if(typeof (B)!="undefined"){C.top=Number(B)+this._topOffset+"px"}if(typeof (A)!="undefined"){C.left=Number(A)+this._leftOffset+"px"}$(this._id_datepicker).setStyle(C);this._isPositionned=true},_leftpad_zero:function(C,D){var A="";for(var B=0;B<(D-String(C).length);B++){A+="0"}return A+C},_getMonthDays:function(A,B){if(((0==(A%4))&&((0!=(A%100))||(0==(A%400))))&&(B==1)){return 29}return this._daysInMonth[B]},_buildCalendar:function(){var D=this;var A=document.createElement("tbody");var K=document.createElement("tr");this._language_day[this._language].each(function(T){var U=document.createElement("td");U.innerHTML=T;U.className="wday";K.appendChild(U)});A.appendChild(K);var Q=[[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,0]];var R=new Date(this._current_year,this._current_mon,1,12);var E=(!R.getDay())?6:R.getDay()-1;var B=this._getMonthDays(this._current_year,this._current_mon);var G=1;for(var O=E;O<7;O++){Q[0][O]={d:G,m:this._current_mon,y:this._current_year};G++}var I=this._prevMonthYear();var L=this._getMonthDays(I[1],I[0]);for(var O=0;O<E;O++){Q[0][O]={d:Number(L-E+O+1),m:Number(I[0]),y:I[1],c:"outbound"}}var N=false;var M=this._current_mon;var S=this._current_year;for(var P=1;P<6;P++){for(var O=0;O<7;O++){Q[P][O]={d:G,m:M,y:S,c:(N)?"outbound":(((G==this._todayDate.getDate())&&(this._current_mon==this._todayDate.getMonth())&&(this._current_year==this._todayDate.getFullYear()))?"today":null)};G++;if(G>B){G=1;N=true;if(this._current_mon+1>11){M=0;S+=1}else{M+=1}}}}for(var P=0;P<6;P++){var C=document.createElement("tr");for(var O=0;O<7;O++){var H=Q[P][O];var F=document.createElement("td");if(this._language=="en"&&false){var J=$A([this._relative,this._leftpad_zero((H.m+1),2),this._leftpad_zero(H.d,2),H.y]).join("-")}else{var J=$A([this._relative,this._leftpad_zero(H.d,2),this._leftpad_zero((H.m+1),2),H.y]).join("-")}F.setAttribute("id",J);if(H.c){F.className=H.c}F.onclick=function(){$(D._relative).value=String($(this).readAttribute("id")).replace(D._relative+"-","").replace(/-/g,D._date_separator);D.close()};F.innerHTML=H.d;C.appendChild(F)}A.appendChild(C)}return A},_nextMonthYear:function(){var B=this._current_mon;var A=this._current_year;if(B+1>11){B=0;A+=1}else{B+=1}return[B,A]},_nextYear:function(){var B=this._current_mon;var A=this._current_year;A+=1;return[B,A]},nextMonth:function(){var A=this._nextMonthYear();this._current_mon=A[0];this._current_year=A[1];this._redrawCalendar()},nextYear:function(){var A=this._nextYear();this._current_mon=A[0];this._current_year=A[1];this._redrawCalendar()},_prevMonthYear:function(){var B=this._current_mon;var A=this._current_year;if(B-1<0){B=11;A-=1}else{B-=1}return[B,A]},_prevYear:function(){var B=this._current_mon;var A=this._current_year;A-=1;return[B,A]},prevMonth:function(){var A=this._prevMonthYear();this._current_mon=A[0];this._current_year=A[1];this._redrawCalendar()},prevYear:function(){var A=this._prevYear();this._current_mon=A[0];this._current_year=A[1];this._redrawCalendar()},_redrawCalendar:function(){this._setLocaleHdr();var A=$(this._id_datepicker+"-table");try{while(A.hasChildNodes()){A.removeChild(A.childNodes[0])}}catch(B){}A.appendChild(this._buildCalendar())},_setLocaleHdr:function(){var A=this._nextMonthYear();$(this._id_datepicker_next).setAttribute("title",this.getMonthLocale(A[0])+" "+A[1]);var B=this._prevMonthYear();$(this._id_datepicker_prev).setAttribute("title",this.getMonthLocale(B[0])+" "+B[1]);$(this._id_datepicker_hdr).update("&nbsp;&nbsp;&nbsp;"+this.getMonthLocale(this._current_mon)+"&nbsp;"+this._current_year+"&nbsp;&nbsp;&nbsp;")}};function initDatepickers(){$$("*").findAll(function(A){return Element.hasClassName(A,"date")}).each(function(A){datepickers[A.id]=new DatePicker({relative:A.id,language:"en"})})}Event.observe(window,"load",initDatepickers,false);DatePicker.prototype._date_separator=".";DatePicker.prototype.future_offset=7;DatePicker._msg_outbound_less_inbound="Your inbound date must be after your outbound date.";DatePicker.prototype._initCurrentDate=function(){this._current_date=$F(this._relative);if(!this._date_regexp.test(this._current_date)){var C=new Date();var F=C.getDate()+this.future_offset;var A=C.getMonth()+1;var G=C.getFullYear();if(F>this._daysInMonth[A]){F=F-this._daysInMonth[A];A++;if(A>12){A=A-12;G++}}var B=this._leftpad_zero(F,2);var D=this._leftpad_zero(A,2);if(this._language=="en"&&false){this._current_date=D+"."+B+"."+G}else{this._current_date=B+"."+D+"."+G}if(!this._keepFieldEmpty){$(this._relative).value=this._current_date}}var E=this._current_date.match(this._date_regexp);if(!this._date_separator){this._date_separator=String(E[2])}$(this._relative).value=$(this._relative).value.replace(/\./g,this._date_separator);if(this._language=="en"&&false){this._current_mon=Number(E[1])-1;this._current_day=Number(E[3])}else{this._current_day=Number(E[1]);this._current_mon=Number(E[3])-1}this._current_year=Number(E[4])};DatePicker.prototype.__redrawCalendar=DatePicker.prototype._redrawCalendar;DatePicker.prototype._redrawCalendar=function(){this.__redrawCalendar();var B=new Date();var I=B.getDate();var G=B.getMonth();var H=B.getFullYear();var E=$$("#"+this._id_datepicker+" td");for(var F=0;F<E.length;F++){var D=$(E[F]);var J=String(D.innerHTML);if(J.match(/^[0-9]{1,2}$/)){var C=String($(D).readAttribute("id")).replace(this._relative+"-","").replace(/-/g,this._date_separator);var A=C.match(this._date_regexp);if(this._language=="en"&&false){_month=Number(A[1])-1;J=Number(A[3])}else{J=Number(A[1]);_month=Number(A[3])-1}_year=Number(A[4]);if(_year<H||(_month<G&&_year==H)||(_year==H&&G==_month&&J<I+this.future_offset)){D.onclick=Prototype.emptyFunction;D.addClassName("date-disabled")}}}if(this._current_year<H||(this._current_mon<=G&&this._current_year==H)){$(this._id_datepicker_prev).addClassName("month-disabled")}else{$(this._id_datepicker_prev).removeClassName("month-disabled")}if(this._current_year<=H){$(this._id_datepicker_prev_year).addClassName("year-disabled")}else{$(this._id_datepicker_prev_year).removeClassName("year-disabled")}};DatePicker.prototype.__prevMonth=DatePicker.prototype.prevMonth;DatePicker.prototype.prevMonth=function(){var C=new Date();var B=C.getMonth();var A=C.getFullYear();if(this._current_year<A||(this._current_mon<=B&&this._current_year==A)){return false}this.__prevMonth()};DatePicker.prototype.__prevYear=DatePicker.prototype.prevYear;DatePicker.prototype.prevYear=function(){var A=new Date().getFullYear();if(this._current_year<=A){return false}this.__prevYear()};DatePicker.prototype.__close=DatePicker.prototype.close;DatePicker.prototype.close=function(){this.__close();if(this._relative=="lastchange"){var A=this.getFormatToDates($("creationdate").value);var B=this.getFormatToDates($("lastchange").value);if(A.y>B.y||(A.y==B.y&&A.m>B.m)||(A.y==B.y&&A.m==B.m&&A.d>B.d)){alert(DatePicker._msg_outbound_less_inbound)}}};DatePicker.prototype.getFormatToDates=function(B){var A={d:0,m:0,y:0};var C=B.match(this._date_regexp);if(C){A.d=Number(C[1]);A.m=Number(C[3])-1;A.y=Number(C[4])}return A};