Calendar=function(c,b,f,e){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.timeout=null;this.onSelected=f||null;this.onClose=e||null;this.dragging=false;this.hidden=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT.DEF_DATE_FORMAT;this.ttDateFormat=Calendar._TT.TT_DATE_FORMAT;this.isPopup=true;this.weekNumbers=true;this.firstDayOfWeek=c;this.showsOtherMonths=false;this.dateStr=b;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.table=null;this.element=null;this.tbody=null;this.firstdayname=null;this.monthsCombo=null;this.yearsCombo=null;this.hilitedMonth=null;this.activeMonth=null;this.hilitedYear=null;this.activeYear=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined"){Calendar._SDN_len=3}var a=new Array();for(var d=8;d>0;){a[--d]=Calendar._DN[d].substr(0,Calendar._SDN_len)}Calendar._SDN=a;if(typeof Calendar._SMN_len=="undefined"){Calendar._SMN_len=3}a=new Array();for(var d=12;d>0;){a[--d]=Calendar._MN[d].substr(0,Calendar._SMN_len)}Calendar._SMN=a}};Calendar._C=null;Calendar.is_ie=(/msie/i.test(navigator.userAgent)&&!/opera/i.test(navigator.userAgent));Calendar.is_ie5=(Calendar.is_ie&&/msie 5\.0/i.test(navigator.userAgent));Calendar.is_opera=/opera/i.test(navigator.userAgent);Calendar.is_khtml=/Konqueror|Safari|KHTML/i.test(navigator.userAgent);Calendar.getAbsolutePos=function(e){var a=0,d=0;var b=/^div$/i.test(e.tagName);if(b&&e.scrollLeft){a=e.scrollLeft}if(b&&e.scrollTop){d=e.scrollTop}var f={x:e.offsetLeft-a,y:e.offsetTop-d};if(e.offsetParent){var c=this.getAbsolutePos(e.offsetParent);f.x+=c.x;f.y+=c.y}return f};Calendar.isRelated=function(c,a){var d=a.relatedTarget;if(!d){var b=a.type;if(b=="mouseover"){d=a.fromElement}else{if(b=="mouseout"){d=a.toElement}}}while(d){if(d==c){return true}d=d.parentNode}return false};Calendar.removeClass=function(e,c){if(!(e&&e.className)){return}var a=e.className.split(" ");var b=new Array();for(var d=a.length;d>0;){if(a[--d]!=c){b[b.length]=a[d]}}e.className=b.join(" ")};Calendar.addClass=function(b,a){Calendar.removeClass(b,a);b.className+=" "+a};Calendar.getElement=function(a){if(Calendar.is_ie){return window.event.srcElement}else{return a.currentTarget}};Calendar.getTargetElement=function(a){if(Calendar.is_ie){return window.event.srcElement}else{return a.target}};Calendar.stopEvent=function(a){a||(a=window.event);if(Calendar.is_ie){a.cancelBubble=true;a.returnValue=false}else{a.preventDefault();a.stopPropagation()}return false};Calendar.addEvent=function(b,a,c){if(b.attachEvent){b.attachEvent("on"+a,c)}else{if(b.addEventListener){b.addEventListener(a,c,true)}else{b["on"+a]=c}}};Calendar.removeEvent=function(b,a,c){if(b.detachEvent){b.detachEvent("on"+a,c)}else{if(b.removeEventListener){b.removeEventListener(a,c,true)}else{b["on"+a]=null}}};Calendar.createElement=function(c,a){var b=null;if(document.createElementNS){b=document.createElementNS("http://www.w3.org/1999/xhtml",c)}else{b=document.createElement(c)}if(typeof a!="undefined"){a.appendChild(b)}return b};Calendar._add_evs=function(el){with(Calendar){addEvent(el,"mouseover",dayMouseOver);addEvent(el,"mousedown",dayMouseDown);addEvent(el,"mouseout",dayMouseOut);if(is_ie){addEvent(el,"dblclick",dayMouseDblClick);el.setAttribute("unselectable",true)}}};Calendar.findMonth=function(a){if(typeof a.month!="undefined"){return a}else{if(typeof a.parentNode.month!="undefined"){return a.parentNode}}return null};Calendar.findYear=function(a){if(typeof a.year!="undefined"){return a}else{if(typeof a.parentNode.year!="undefined"){return a.parentNode}}return null};Calendar.showMonthsCombo=function(){var e=Calendar._C;if(!e){return false}var e=e;var f=e.activeDiv;var d=e.monthsCombo;if(e.hilitedMonth){Calendar.removeClass(e.hilitedMonth,"hilite")}if(e.activeMonth){Calendar.removeClass(e.activeMonth,"active")}var c=e.monthsCombo.getElementsByTagName("div")[e.date.getMonth()];Calendar.addClass(c,"active");e.activeMonth=c;var b=d.style;b.display="block";if(f.navtype<0){b.left=f.offsetLeft+"px"}else{var a=d.offsetWidth;if(typeof a=="undefined"){a=50}b.left=(f.offsetLeft+f.offsetWidth-a)+"px"}b.top=(f.offsetTop+f.offsetHeight)+"px"};Calendar.showYearsCombo=function(e){var a=Calendar._C;if(!a){return false}var a=a;var c=a.activeDiv;var f=a.yearsCombo;if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}if(a.activeYear){Calendar.removeClass(a.activeYear,"active")}a.activeYear=null;var b=a.date.getFullYear()+(e?1:-1);var j=f.firstChild;var h=false;for(var d=12;d>0;--d){if(b>=a.minYear&&b<=a.maxYear){j.firstChild.data=b;j.year=b;j.style.display="block";h=true}else{j.style.display="none"}j=j.nextSibling;b+=e?a.yearStep:-a.yearStep}if(h){var k=f.style;k.display="block";if(c.navtype<0){k.left=c.offsetLeft+"px"}else{var g=f.offsetWidth;if(typeof g=="undefined"){g=50}k.left=(c.offsetLeft+c.offsetWidth-g)+"px"}k.top=(c.offsetTop+c.offsetHeight)+"px"}};Calendar.tableMouseUp=function(ev){var cal=Calendar._C;if(!cal){return false}if(cal.timeout){clearTimeout(cal.timeout)}var el=cal.activeDiv;if(!el){return false}var target=Calendar.getTargetElement(ev);ev||(ev=window.event);Calendar.removeClass(el,"active");if(target==el||target.parentNode==el){Calendar.cellClick(el,ev)}var mon=Calendar.findMonth(target);var date=null;if(mon){date=new Date(cal.date);if(mon.month!=date.getMonth()){date.setMonth(mon.month);cal.setDate(date);cal.dateClicked=false;cal.callHandler()}}else{var year=Calendar.findYear(target);if(year){date=new Date(cal.date);if(year.year!=date.getFullYear()){date.setFullYear(year.year);cal.setDate(date);cal.dateClicked=false;cal.callHandler()}}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);cal._hideCombos();_C=null;return stopEvent(ev)}};Calendar.tableMouseOver=function(m){var a=Calendar._C;if(!a){return}var c=a.activeDiv;var b=Calendar.getTargetElement(m);if(b==c||b.parentNode==c){Calendar.addClass(c,"hilite active");Calendar.addClass(c.parentNode,"rowhilite")}else{if(typeof c.navtype=="undefined"||(c.navtype!=50&&(c.navtype==0||Math.abs(c.navtype)>2))){Calendar.removeClass(c,"active")}Calendar.removeClass(c,"hilite");Calendar.removeClass(c.parentNode,"rowhilite")}m||(m=window.event);if(c.navtype==50&&b!=c){var n=Calendar.getAbsolutePos(c);var p=c.offsetWidth;var o=m.clientX;var q;var l=true;if(o>n.x+p){q=o-n.x-p;l=false}else{q=n.x-o}if(q<0){q=0}var f=c._range;var j=c._current;var g=Math.floor(q/10)%f.length;for(var e=f.length;--e>=0;){if(f[e]==j){break}}while(g-->0){if(l){if(--e<0){e=f.length-1}}else{if(++e>=f.length){e=0}}}var h=f[e];c.firstChild.data=h;a.onUpdateTime()}var d=Calendar.findMonth(b);if(d){if(d.month!=a.date.getMonth()){if(a.hilitedMonth){Calendar.removeClass(a.hilitedMonth,"hilite")}Calendar.addClass(d,"hilite");a.hilitedMonth=d}else{if(a.hilitedMonth){Calendar.removeClass(a.hilitedMonth,"hilite")}}}else{if(a.hilitedMonth){Calendar.removeClass(a.hilitedMonth,"hilite")}var k=Calendar.findYear(b);if(k){if(k.year!=a.date.getFullYear()){if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}Calendar.addClass(k,"hilite");a.hilitedYear=k}else{if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}}}else{if(a.hilitedYear){Calendar.removeClass(a.hilitedYear,"hilite")}}}return Calendar.stopEvent(m)};Calendar.tableMouseDown=function(a){if(Calendar.getTargetElement(a)==Calendar.getElement(a)){return Calendar.stopEvent(a)}};Calendar.calDragIt=function(b){var c=Calendar._C;if(!(c&&c.dragging)){return false}var e;var d;if(Calendar.is_ie){d=window.event.clientY+document.body.scrollTop;e=window.event.clientX+document.body.scrollLeft}else{e=b.pageX;d=b.pageY}c.hideShowCovered();var a=c.element.style;a.left=(e-c.xOffs)+"px";a.top=(d-c.yOffs)+"px";return Calendar.stopEvent(b)};Calendar.calDragEnd=function(ev){var cal=Calendar._C;if(!cal){return false}cal.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(ev)}cal.hideShowCovered()};Calendar.dayMouseDown=function(ev){var el=Calendar.getElement(ev);if(el.disabled){return false}var cal=el.calendar;cal.activeDiv=el;Calendar._C=cal;if(el.navtype!=300){with(Calendar){if(el.navtype==50){el._current=el.firstChild.data;addEvent(document,"mousemove",tableMouseOver)}else{addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver)}addClass(el,"hilite active");addEvent(document,"mouseup",tableMouseUp)}}else{if(cal.isPopup){cal._dragStart(ev)}}if(el.navtype==-1||el.navtype==1){if(cal.timeout){clearTimeout(cal.timeout)}cal.timeout=setTimeout("Calendar.showMonthsCombo()",250)}else{if(el.navtype==-2||el.navtype==2){if(cal.timeout){clearTimeout(cal.timeout)}cal.timeout=setTimeout((el.navtype>0)?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250)}else{cal.timeout=null}}return Calendar.stopEvent(ev)};Calendar.dayMouseDblClick=function(a){Calendar.cellClick(Calendar.getElement(a),a||window.event);if(Calendar.is_ie){document.selection.empty()}};Calendar.dayMouseOver=function(b){var a=Calendar.getElement(b);if(Calendar.isRelated(a,b)||Calendar._C||a.disabled){return false}if(a.ttip){if(a.ttip.substr(0,1)=="_"){a.ttip=a.caldate.print(a.calendar.ttDateFormat)+a.ttip.substr(1)}a.calendar.tooltips.firstChild.data=a.ttip}if(a.navtype!=300){Calendar.addClass(a,"hilite");if(a.caldate){Calendar.addClass(a.parentNode,"rowhilite")}}return Calendar.stopEvent(b)};Calendar.dayMouseOut=function(ev){with(Calendar){var el=getElement(ev);if(isRelated(el,ev)||_C||el.disabled){return false}removeClass(el,"hilite");if(el.caldate){removeClass(el.parentNode,"rowhilite")}el.calendar.tooltips.firstChild.data=_TT.SEL_DATE;return stopEvent(ev)}};Calendar.cellClick=function(c,n){var b=c.calendar;var e=false;var j=false;var d=null;if(typeof c.navtype=="undefined"){Calendar.removeClass(b.currentDateEl,"selected");Calendar.addClass(c,"selected");e=(b.currentDateEl==c);if(!e){b.currentDateEl=c}b.date=new Date(c.caldate);d=b.date;j=true;if(!(b.dateClicked=!c.otherMonth)){b._init(b.firstDayOfWeek,d)}}else{if(c.navtype==200){Calendar.removeClass(c,"hilite");b.callCloseHandler();return}d=(c.navtype==0)?new Date():new Date(b.date);b.dateClicked=false;var m=d.getFullYear();var f=d.getMonth();function a(p){var q=d.getDate();var i=d.getMonthDays(p);if(q>i){d.setDate(i)}d.setMonth(p)}switch(c.navtype){case 400:Calendar.removeClass(c,"hilite");var o=Calendar._TT.ABOUT;if(typeof o!="undefined"){o+=b.showsTime?Calendar._TT.ABOUT_TIME:""}else{o='Help and about box text is not translated into this language.\nIf you know this language and you feel generous please update\nthe corresponding file in "lang" subdir to match calendar-en.js\nand send it back to <mishoo@infoiasi.ro> to get it into the distribution  ;-)\n\nThank you!\nhttp://dynarch.com/mishoo/calendar.epl\n'}alert(o);return;case -2:if(m>b.minYear){d.setFullYear(m-1)}break;case -1:if(f>0){a(f-1)}else{if(m-->b.minYear){d.setFullYear(m);a(11)}}break;case 1:if(f<11){a(f+1)}else{if(m<b.maxYear){d.setFullYear(m+1);a(0)}}break;case 2:if(m<b.maxYear){d.setFullYear(m+1)}break;case 100:b.setFirstDayOfWeek(c.fdow);return;case 50:var h=c._range;var l=c.firstChild.data;for(var g=h.length;--g>=0;){if(h[g]==l){break}}if(n&&n.shiftKey){if(--g<0){g=h.length-1}}else{if(++g>=h.length){g=0}}var k=h[g];c.firstChild.data=k;b.onUpdateTime();return;case 0:if((typeof b.getDateStatus=="function")&&b.getDateStatus(d,d.getFullYear(),d.getMonth(),d.getDate())){return false}break}if(!d.equalsTo(b.date)){b.setDate(d);j=true}}if(j){b.callHandler()}if(e){Calendar.removeClass(c,"hilite");b.callCloseHandler()}};Calendar.prototype.create=function(n){var o=null;if(!n){o=document.getElementsByTagName("body")[0];this.isPopup=true}else{o=n;this.isPopup=false}this.date=this.dateStr?new Date(this.dateStr):new Date();var q=Calendar.createElement("table");this.table=q;q.cellSpacing=0;q.cellPadding=0;q.calendar=this;Calendar.addEvent(q,"mousedown",Calendar.tableMouseDown);var b=Calendar.createElement("div");this.element=b;b.className="calendar";if(this.isPopup){b.style.position="absolute";b.style.display="none"}b.appendChild(q);var k=Calendar.createElement("thead",q);var m=null;var r=null;var a=this;var e=function(s,j,i){m=Calendar.createElement("td",r);m.colSpan=j;m.className="button";if(i!=0&&Math.abs(i)<=2){m.className+=" nav"}Calendar._add_evs(m);m.calendar=a;m.navtype=i;if(s.substr(0,1)!="&"){m.appendChild(document.createTextNode(s))}else{m.innerHTML=s}return m};r=Calendar.createElement("tr",k);var c=6;(this.isPopup)&&--c;(this.weekNumbers)&&++c;e("?",1,400).ttip=Calendar._TT.INFO;this.title=e("",c,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT.DRAG_TO_MOVE;this.title.style.cursor="move";e("&#x00d7;",1,200).ttip=Calendar._TT.CLOSE}r=Calendar.createElement("tr",k);r.className="headrow";this._nav_py=e("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT.PREV_YEAR;this._nav_pm=e("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT.PREV_MONTH;this._nav_now=e(Calendar._TT.TODAY,this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT.GO_TODAY;this._nav_nm=e("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT.NEXT_MONTH;this._nav_ny=e("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT.NEXT_YEAR;r=Calendar.createElement("tr",k);r.className="daynames";if(this.weekNumbers){m=Calendar.createElement("td",r);m.className="name wn";m.appendChild(document.createTextNode(Calendar._TT.WK))}for(var h=7;h>0;--h){m=Calendar.createElement("td",r);m.appendChild(document.createTextNode(""));if(!h){m.navtype=100;m.calendar=this;Calendar._add_evs(m)}}this.firstdayname=(this.weekNumbers)?r.firstChild.nextSibling:r.firstChild;this._displayWeekdays();var g=Calendar.createElement("tbody",q);this.tbody=g;for(h=6;h>0;--h){r=Calendar.createElement("tr",g);if(this.weekNumbers){m=Calendar.createElement("td",r);m.appendChild(document.createTextNode(""))}for(var f=7;f>0;--f){m=Calendar.createElement("td",r);m.appendChild(document.createTextNode(""));m.calendar=this;Calendar._add_evs(m)}}if(this.showsTime){r=Calendar.createElement("tr",g);r.className="time";m=Calendar.createElement("td",r);m.className="time";m.colSpan=2;m.innerHTML=Calendar._TT.TIME||"&nbsp;";m=Calendar.createElement("td",r);m.className="time";m.colSpan=this.weekNumbers?4:3;(function(){function x(B,F,A,E){var C=Calendar.createElement("span",m);C.className=B;C.appendChild(document.createTextNode(F));C.calendar=a;C.ttip=Calendar._TT.TIME_PART;C.navtype=50;C._range=[];if(typeof A!="number"){C._range=A}else{for(var D=A;D<=E;++D){var z;if(D<10&&E>=10){z="0"+D}else{z=""+D}C._range[C._range.length]=z}}Calendar._add_evs(C);return C}var w=a.date.getHours();var i=a.date.getMinutes();var y=!a.time24;var j=(w>12);if(y&&j){w-=12}var u=x("hour",w,y?1:0,y?12:23);var t=Calendar.createElement("span",m);t.appendChild(document.createTextNode(":"));t.className="colon";var s=x("minute",i,0,59);var v=null;m=Calendar.createElement("td",r);m.className="time";m.colSpan=2;if(y){v=x("ampm",j?"pm":"am",["am","pm"])}else{m.innerHTML="&nbsp;"}a.onSetTime=function(){var A=this.date.getHours();var B=this.date.getMinutes();var z=(A>12);if(z&&y){A-=12}u.firstChild.data=(A<10)?("0"+A):A;s.firstChild.data=(B<10)?("0"+B):B;if(y){v.firstChild.data=z?"pm":"am"}};a.onUpdateTime=function(){var A=this.date;var B=parseInt(u.firstChild.data,10);if(y){if(/pm/i.test(v.firstChild.data)&&B<12){B+=12}else{if(/am/i.test(v.firstChild.data)&&B==12){B=0}}}var C=A.getDate();var z=A.getMonth();var D=A.getFullYear();A.setHours(B);A.setMinutes(parseInt(s.firstChild.data,10));A.setFullYear(D);A.setMonth(z);A.setDate(C);this.dateClicked=false;this.callHandler()}})()}else{this.onSetTime=this.onUpdateTime=function(){}}var l=Calendar.createElement("tfoot",q);r=Calendar.createElement("tr",l);r.className="footrow";m=e(Calendar._TT.SEL_DATE,this.weekNumbers?8:7,300);m.className="ttip";if(this.isPopup){m.ttip=Calendar._TT.DRAG_TO_MOVE;m.style.cursor="move"}this.tooltips=m;b=Calendar.createElement("div",this.element);this.monthsCombo=b;b.className="combo";for(h=0;h<Calendar._MN.length;++h){var d=Calendar.createElement("div");d.className=Calendar.is_ie?"label-IEfix":"label";d.month=h;d.appendChild(document.createTextNode(Calendar._SMN[h]));b.appendChild(d)}b=Calendar.createElement("div",this.element);this.yearsCombo=b;b.className="combo";for(h=12;h>0;--h){var p=Calendar.createElement("div");p.className=Calendar.is_ie?"label-IEfix":"label";p.appendChild(document.createTextNode(""));b.appendChild(p)}this._init(this.firstDayOfWeek,this.date);o.appendChild(this.element)};Calendar._keyEvent=function(e){if(!window.calendar){return false}(Calendar.is_ie)&&(e=window.event);var g=window.calendar;var a=(Calendar.is_ie||e.type=="keypress");if(e.ctrlKey){switch(e.keyCode){case 37:a&&Calendar.cellClick(g._nav_pm);break;case 38:a&&Calendar.cellClick(g._nav_py);break;case 39:a&&Calendar.cellClick(g._nav_nm);break;case 40:a&&Calendar.cellClick(g._nav_ny);break;default:return false}}else{switch(e.keyCode){case 32:Calendar.cellClick(g._nav_now);break;case 27:a&&g.callCloseHandler();break;case 37:case 38:case 39:case 40:if(a){var b=g.date.getDate()-1;var c=g.currentDateEl;var f=null;var d=(e.keyCode==37)||(e.keyCode==38);switch(e.keyCode){case 37:(--b>=0)&&(f=g.ar_days[b]);break;case 38:b-=7;(b>=0)&&(f=g.ar_days[b]);break;case 39:(++b<g.ar_days.length)&&(f=g.ar_days[b]);break;case 40:b+=7;(b<g.ar_days.length)&&(f=g.ar_days[b]);break}if(!f){if(d){Calendar.cellClick(g._nav_pm)}else{Calendar.cellClick(g._nav_nm)}b=(d)?g.date.getMonthDays():1;c=g.currentDateEl;f=g.ar_days[b-1]}Calendar.removeClass(c,"selected");Calendar.addClass(f,"selected");g.date=new Date(f.caldate);g.callHandler();g.currentDateEl=f}break;case 13:if(a){g.callHandler();g.hide()}break;default:return false}}return Calendar.stopEvent(e)};Calendar.prototype._init=function(g,q){var p=new Date();this.table.style.visibility="hidden";var e=q.getFullYear();if(e<this.minYear){e=this.minYear;q.setFullYear(e)}else{if(e>this.maxYear){e=this.maxYear;q.setFullYear(e)}}this.firstDayOfWeek=g;this.date=new Date(q);var s=q.getMonth();var v=q.getDate();var u=q.getMonthDays();q.setDate(1);var k=(q.getDay()-this.firstDayOfWeek)%7;if(k<0){k+=7}q.setDate(-k);q.setDate(q.getDate()+1);var b=this.tbody.firstChild;var f=Calendar._SMN[s];var r=new Array();var h=Calendar._TT.WEEKEND;for(var m=0;m<6;++m,b=b.nextSibling){var a=b.firstChild;if(this.weekNumbers){a.className="day wn";a.firstChild.data=q.getWeekNumber();a=a.nextSibling}b.className="daysrow";var o=false;for(var l=0;l<7;++l,a=a.nextSibling,q.setDate(q.getDate()+1)){var c=q.getDate();var d=q.getDay();a.className="day";var t=(q.getMonth()==s);if(!t){if(this.showsOtherMonths){a.className+=" othermonth";a.otherMonth=true}else{a.className="emptycell";a.innerHTML="&nbsp;";a.disabled=true;continue}}else{a.otherMonth=false;o=true}a.disabled=false;a.firstChild.data=c;if(typeof this.getDateStatus=="function"){var n=this.getDateStatus(q,e,s,c);if(n===true){a.className+=" disabled";a.disabled=true}else{if(/disabled/i.test(n)){a.disabled=true}a.className+=" "+n}}if(!a.disabled){r[r.length]=a;a.caldate=new Date(q);a.ttip="_";if(t&&c==v){a.className+=" selected";this.currentDateEl=a}if(q.getFullYear()==p.getFullYear()&&q.getMonth()==p.getMonth()&&c==p.getDate()){a.className+=" today";a.ttip+=Calendar._TT.PART_TODAY}if(h.indexOf(d.toString())!=-1){a.className+=a.otherMonth?" oweekend":" weekend"}}}if(!(o||this.showsOtherMonths)){b.className="emptyrow"}}this.ar_days=r;this.title.firstChild.data=Calendar._MN[s]+", "+e;this.onSetTime();this.table.style.visibility="visible"};Calendar.prototype.setDate=function(a){if(!a.equalsTo(this.date)){this._init(this.firstDayOfWeek,a)}};Calendar.prototype.refresh=function(){this._init(this.firstDayOfWeek,this.date)};Calendar.prototype.setFirstDayOfWeek=function(a){this._init(a,this.date);this._displayWeekdays()};Calendar.prototype.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(a){this.getDateStatus=a};Calendar.prototype.setRange=function(b,c){this.minYear=b;this.maxYear=c};Calendar.prototype.callHandler=function(){if(this.onSelected){this.onSelected(this,this.date.print(this.dateFormat))}};Calendar.prototype.callCloseHandler=function(){if(this.onClose){this.onClose(this)}this.hideShowCovered()};Calendar.prototype.destroy=function(){var a=this.element.parentNode;a.removeChild(this.element);Calendar._C=null;window.calendar=null};Calendar.prototype.reparent=function(b){var a=this.element;a.parentNode.removeChild(a);b.appendChild(a)};Calendar._checkCalendar=function(b){if(!window.calendar){return false}var a=Calendar.is_ie?Calendar.getElement(b):Calendar.getTargetElement(b);for(;a!=null&&a!=calendar.element;a=a.parentNode){}if(a==null){window.calendar.callCloseHandler();return Calendar.stopEvent(b)}};Calendar.prototype.show=function(){var e=this.table.getElementsByTagName("tr");for(var d=e.length;d>0;){var f=e[--d];Calendar.removeClass(f,"rowhilite");var c=f.getElementsByTagName("td");for(var b=c.length;b>0;){var a=c[--b];Calendar.removeClass(a,"hilite");Calendar.removeClass(a,"active")}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window.calendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar)}this.hideShowCovered()};Calendar.prototype.hide=function(){if(this.isPopup){Calendar.removeEvent(document,"keydown",Calendar._keyEvent);Calendar.removeEvent(document,"keypress",Calendar._keyEvent);Calendar.removeEvent(document,"mousedown",Calendar._checkCalendar)}this.element.style.display="none";this.hidden=true;this.hideShowCovered()};Calendar.prototype.showAt=function(a,c){var b=this.element.style;b.left=a+"px";b.top=c+"px";this.show()};Calendar.prototype.showAtElement=function(c,d){var a=this;var e=Calendar.getAbsolutePos(c);if(!d||typeof d!="string"){this.showAt(e.x,e.y+c.offsetHeight);return true}function b(i){if(i.x<0){i.x=0}if(i.y<0){i.y=0}var j=document.createElement("div");var h=j.style;h.position="absolute";h.right=h.bottom=h.width=h.height="0px";document.body.appendChild(j);var g=Calendar.getAbsolutePos(j);document.body.removeChild(j);if(Calendar.is_ie){g.y+=document.body.scrollTop;g.x+=document.body.scrollLeft}else{g.y+=window.scrollY;g.x+=window.scrollX}var f=i.x+i.width-g.x;if(f>0){i.x-=f}f=i.y+i.height-g.y;if(f>0){i.y-=f}}this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var g=a.element.offsetWidth;var j=a.element.offsetHeight;a.element.style.display="none";var i=d.substr(0,1);var f="l";if(d.length>1){f=d.substr(1,1)}switch(i){case"T":e.y-=j;break;case"B":e.y+=c.offsetHeight;break;case"C":e.y+=(c.offsetHeight-j)/2;break;case"t":e.y+=c.offsetHeight-j;break;case"b":break}switch(f){case"L":e.x-=g;break;case"R":e.x+=c.offsetWidth;break;case"C":e.x+=(c.offsetWidth-g)/2;break;case"r":e.x+=c.offsetWidth-g;break;case"l":break}e.width=g;e.height=j+40;a.monthsCombo.style.display="none";b(e);a.showAt(e.x,e.y)};if(Calendar.is_khtml){setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10)}else{Calendar.continuation_for_the_fucking_khtml_browser()}};Calendar.prototype.setDateFormat=function(a){this.dateFormat=a};Calendar.prototype.setTtDateFormat=function(a){this.ttDateFormat=a};Calendar.prototype.parseDate=function(n,c){var p=0;var e=-1;var k=0;var q=n.split(/\W+/);if(!c){c=this.dateFormat}var o=c.match(/%./g);var h=0,g=0;var r=0;var f=0;for(h=0;h<q.length;++h){if(!q[h]){continue}switch(o[h]){case"%d":case"%e":k=parseInt(q[h],10);break;case"%m":e=parseInt(q[h],10)-1;break;case"%Y":case"%y":p=parseInt(q[h],10);(p<100)&&(p+=(p>29)?1900:2000);break;case"%b":case"%B":for(g=0;g<12;++g){if(Calendar._MN[g].substr(0,q[h].length).toLowerCase()==q[h].toLowerCase()){e=g;break}}break;case"%H":case"%I":case"%k":case"%l":r=parseInt(q[h],10);break;case"%P":case"%p":if(/pm/i.test(q[h])&&r<12){r+=12}break;case"%M":f=parseInt(q[h],10);break}}if(p!=0&&e!=-1&&k!=0){this.setDate(new Date(p,e,k,r,f,0));return}p=0;e=-1;k=0;for(h=0;h<q.length;++h){if(q[h].search(/[a-zA-Z]+/)!=-1){var s=-1;for(g=0;g<12;++g){if(Calendar._MN[g].substr(0,q[h].length).toLowerCase()==q[h].toLowerCase()){s=g;break}}if(s!=-1){if(e!=-1){k=e+1}e=s}}else{if(parseInt(q[h],10)<=12&&e==-1){e=q[h]-1}else{if(parseInt(q[h],10)>31&&p==0){p=parseInt(q[h],10);(p<100)&&(p+=(p>29)?1900:2000)}else{if(k==0){k=q[h]}}}}}if(p==0){var l=new Date();p=l.getFullYear()}if(e!=-1&&k!=0){this.setDate(new Date(p,e,k,r,f,0))}};Calendar.prototype.hideShowCovered=function(){var a=this;Calendar.continuation_for_the_fucking_khtml_browser=function(){function b(k){var i=k.style.visibility;if(!i){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml){i=document.defaultView.getComputedStyle(k,"").getPropertyValue("visibility")}else{i=""}}else{if(k.currentStyle){i=k.currentStyle.visibility}else{i=""}}}return i}var t=new Array("applet","iframe","select");var d=a.element;var c=Calendar.getAbsolutePos(d);var g=c.x;var e=d.offsetWidth+g;var s=c.y;var r=d.offsetHeight+s;for(var j=t.length;j>0;){var h=document.getElementsByTagName(t[--j]);var f=null;for(var m=h.length;m>0;){f=h[--m];c=Calendar.getAbsolutePos(f);var q=c.x;var o=f.offsetWidth+q;var n=c.y;var l=f.offsetHeight+n;if(a.hidden||(q>e)||(o<g)||(n>r)||(l<s)){if(!f.__msh_save_visibility){f.__msh_save_visibility=b(f)}f.style.visibility=f.__msh_save_visibility}else{if(!f.__msh_save_visibility){f.__msh_save_visibility=b(f)}f.style.visibility="hidden"}}}};if(Calendar.is_khtml){setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10)}else{Calendar.continuation_for_the_fucking_khtml_browser()}};Calendar.prototype._displayWeekdays=function(){var b=this.firstDayOfWeek;var a=this.firstdayname;var d=Calendar._TT.WEEKEND;for(var c=0;c<7;++c){a.className="day name";var e=(c+b)%7;if(c){a.ttip=Calendar._TT.DAY_FIRST.replace("%s",Calendar._DN[e]);a.navtype=100;a.calendar=this;a.fdow=e;Calendar._add_evs(a)}if(d.indexOf(e.toString())!=-1){Calendar.addClass(a,"weekend")}a.firstChild.data=Calendar._SDN[(c+b)%7];a=a.nextSibling}};Calendar.prototype._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none"};Calendar.prototype._dragStart=function(ev){if(this.dragging){return}this.dragging=true;var posX;var posY;if(Calendar.is_ie){posY=window.event.clientY+document.body.scrollTop;posX=window.event.clientX+document.body.scrollLeft}else{posY=ev.clientY+window.scrollY;posX=ev.clientX+window.scrollX}var st=this.element.style;this.xOffs=posX-parseInt(st.left);this.yOffs=posY-parseInt(st.top);with(Calendar){addEvent(document,"mousemove",calDragIt);addEvent(document,"mouseup",calDragEnd)}};Date._MD=new Array(31,28,31,30,31,30,31,31,30,31,30,31);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.getMonthDays=function(b){var a=this.getFullYear();if(typeof b=="undefined"){b=this.getMonth()}if(((0==(a%4))&&((0!=(a%100))||(0==(a%400))))&&b==1){return 29}else{return Date._MD[b]}};Date.prototype.getDayOfYear=function(){var a=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var c=new Date(this.getFullYear(),0,0,0,0,0);var b=a-c;return Math.floor(b/Date.DAY)};Date.prototype.getWeekNumber=function(){var c=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var b=c.getDay();c.setDate(c.getDate()-(b+6)%7+3);var a=c.valueOf();c.setMonth(0);c.setDate(4);return Math.round((a-c.valueOf())/(7*86400000))+1};Date.prototype.equalsTo=function(a){return((this.getFullYear()==a.getFullYear())&&(this.getMonth()==a.getMonth())&&(this.getDate()==a.getDate())&&(this.getHours()==a.getHours())&&(this.getMinutes()==a.getMinutes()))};Date.prototype.print=function(l){var b=this.getMonth();var k=this.getDate();var n=this.getFullYear();var q=this.getWeekNumber();var p=this.getDay();var v={};var r=this.getHours();var c=(r>=12);var h=(c)?(r-12):r;var u=this.getDayOfYear();if(h==0){h=12}var e=this.getMinutes();var j=this.getSeconds();v["%a"]=Calendar._SDN[p];v["%A"]=Calendar._DN[p];v["%b"]=Calendar._SMN[b];v["%B"]=Calendar._MN[b];v["%C"]=1+Math.floor(n/100);v["%d"]=(k<10)?("0"+k):k;v["%e"]=k;v["%H"]=(r<10)?("0"+r):r;v["%I"]=(h<10)?("0"+h):h;v["%j"]=(u<100)?((u<10)?("00"+u):("0"+u)):u;v["%k"]=r;v["%l"]=h;v["%m"]=(b<9)?("0"+(1+b)):(1+b);v["%M"]=(e<10)?("0"+e):e;v["%n"]="\n";v["%p"]=c?"PM":"AM";v["%P"]=c?"pm":"am";v["%s"]=Math.floor(this.getTime()/1000);v["%S"]=(j<10)?("0"+j):j;v["%t"]="\t";v["%U"]=v["%W"]=v["%V"]=(q<10)?("0"+q):q;v["%u"]=p+1;v["%w"]=p;v["%y"]=(""+n).substr(2,2);v["%Y"]=n;v["%%"]="%";var t=/%./g;if(!Calendar.is_ie5){return l.replace(t,function(a){return v[a]||a})}var o=l.match(t);for(var g=0;g<o.length;g++){var f=v[o[g]];if(f){t=new RegExp(o[g],"g");l=l.replace(t,f)}}return l};Date.prototype.__msh_oldSetFullYear=Date.prototype.setFullYear;Date.prototype.setFullYear=function(b){var a=new Date(this);a.__msh_oldSetFullYear(b);if(a.getMonth()!=this.getMonth()){this.setDate(28)}this.__msh_oldSetFullYear(b)};window.calendar=null;
