var a;Calendar=function(b,c,d,e){this.timeout=this.getDateText=this.getDateToolTip=this.getDateStatus=this.currentDateEl=this.activeDiv=null;this.onSelected=d||null;this.onClose=e||null;this.hidden=this.dragging=false;this.minYear=1970;this.maxYear=2050;this.dateFormat=Calendar._TT.DEF_DATE_FORMAT;this.ttDateFormat=Calendar._TT.TT_DATE_FORMAT;this.weekNumbers=this.isPopup=true;this.firstDayOfWeek=typeof b=="number"?b:Calendar._FD;this.showsOtherMonths=false;this.dateStr=c;this.ar_days=null;this.showsTime=false;this.time24=true;this.yearStep=2;this.hiliteToday=true;this.activeYear=this.hilitedYear=this.activeMonth=this.hilitedMonth=this.yearsCombo=this.monthsCombo=this.firstdayname=this.tbody=this.element=this.table=this.multiple=null;this.dateClicked=false;if(typeof Calendar._SDN=="undefined"){if(typeof Calendar._SDN_len=="undefined")Calendar._SDN_len=3;b=[];for(c=8;c>0;)b[--c]=Calendar._DN[c].substr(0,Calendar._SDN_len);Calendar._SDN=b;if(typeof Calendar._SMN_len=="undefined")Calendar._SMN_len=3;b=[];for(c=12;c>0;)b[--c]=Calendar._MN[c].substr(0,Calendar._SMN_len);Calendar._SMN=b}};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(b){var c=0,d=0,e=/^div$/i.test(b.tagName);if(e&&b.scrollLeft)c=b.scrollLeft;if(e&&b.scrollTop)d=b.scrollTop;c={x:b.offsetLeft-c,y:b.offsetTop-d};if(b.offsetParent){b=this.getAbsolutePos(b.offsetParent);c.x+=b.x;c.y+=b.y}return c};Calendar.isRelated=function(b,c){var d=c.relatedTarget;if(!d){var e=c.type;if(e=="mouseover")d=c.fromElement;else if(e=="mouseout")d=c.toElement}for(;d;){if(d==b)return true;d=d.parentNode}return false};Calendar.removeClass=function(b,c){if(b&&b.className){for(var d=b.className.split(" "),e=[],f=d.length;f>0;)if(d[--f]!=c)e[e.length]=d[f];b.className=e.join(" ")}};Calendar.addClass=function(b,c){Calendar.removeClass(b,c);b.className+=" "+c};Calendar.getElement=function(b){for(b=Calendar.is_ie?window.event.srcElement:b.currentTarget;b.nodeType!=1||/^div$/i.test(b.tagName);)b=b.parentNode;return b};Calendar.getTargetElement=function(b){for(b=Calendar.is_ie?window.event.srcElement:b.target;b.nodeType!=1;)b=b.parentNode;return b};Calendar.stopEvent=function(b){b||(b=window.event);if(Calendar.is_ie){b.cancelBubble=true;b.returnValue=false}else{b.preventDefault();b.stopPropagation()}return false};Calendar.addEvent=function(b,c,d){if(b.attachEvent)b.attachEvent("on"+c,d);else if(b.addEventListener)b.addEventListener(c,d,true);else b["on"+c]=d};Calendar.removeEvent=function(b,c,d){if(b.detachEvent)b.detachEvent("on"+c,d);else if(b.removeEventListener)b.removeEventListener(c,d,true);else b["on"+c]=null};Calendar.createElement=function(b,c){var d=null;d=document.createElementNS?document.createElementNS("http://www.w3.org/1999/xhtml",b):document.createElement(b);typeof c!="undefined"&&c.appendChild(d);return d};Calendar._add_evs=function(b){with(Calendar){addEvent(b,"mouseover",dayMouseOver);addEvent(b,"mousedown",dayMouseDown);addEvent(b,"mouseout",dayMouseOut);if(is_ie){addEvent(b,"dblclick",dayMouseDblClick);b.setAttribute("unselectable",true)}}};Calendar.findMonth=function(b){if(typeof b.month!="undefined")return b;else if(typeof b.parentNode.month!="undefined")return b.parentNode;return null};Calendar.findYear=function(b){if(typeof b.year!="undefined")return b;else if(typeof b.parentNode.year!="undefined")return b.parentNode;return null};Calendar.showMonthsCombo=function(){var b=Calendar._C;if(!b)return false;b=b;var c=b.activeDiv,d=b.monthsCombo;b.hilitedMonth&&Calendar.removeClass(b.hilitedMonth,"hilite");b.activeMonth&&Calendar.removeClass(b.activeMonth,"active");var e=b.monthsCombo.getElementsByTagName("div")[b.date.getMonth()];Calendar.addClass(e,"active");b.activeMonth=e;b=d.style;b.display="block";if(c.navtype<0)b.left=c.offsetLeft+"px";else{d=d.offsetWidth;if(typeof d=="undefined")d=50;b.left=c.offsetLeft+c.offsetWidth-d+"px"}b.top=c.offsetTop+c.offsetHeight+"px"};Calendar.showYearsCombo=function(b){var c=Calendar._C;if(!c)return false;c=c;var d=c.activeDiv,e=c.yearsCombo;c.hilitedYear&&Calendar.removeClass(c.hilitedYear,"hilite");c.activeYear&&Calendar.removeClass(c.activeYear,"active");c.activeYear=null;for(var f=c.date.getFullYear()+(b?1:-1),g=e.firstChild,h=false,i=12;i>0;--i){if(f>=c.minYear&&f<=c.maxYear){g.innerHTML=f;g.year=f;g.style.display="block";h=true}else g.style.display="none";g=g.nextSibling;f+=b?c.yearStep:-c.yearStep}if(h){b=e.style;b.display="block";if(d.navtype<0)b.left=d.offsetLeft+"px";else{e=e.offsetWidth;if(typeof e=="undefined")e=50;b.left=d.offsetLeft+d.offsetWidth-e+"px"}b.top=d.offsetTop+d.offsetHeight+"px"}};Calendar.tableMouseUp=function(b){var c=Calendar._C;if(!c)return false;c.timeout&&clearTimeout(c.timeout);var d=c.activeDiv;if(!d)return false;var e=Calendar.getTargetElement(b);b||(b=window.event);Calendar.removeClass(d,"active");if(e==d||e.parentNode==d)Calendar.cellClick(d,b);var f=Calendar.findMonth(e);d=null;if(f){d=new Date(c.date);if(f.month!=d.getMonth()){d.setMonth(f.month);c.setDate(d);c.dateClicked=false;c.callHandler()}}else if(e=Calendar.findYear(e)){d=new Date(c.date);if(e.year!=d.getFullYear()){d.setFullYear(e.year);c.setDate(d);c.dateClicked=false;c.callHandler()}}with(Calendar){removeEvent(document,"mouseup",tableMouseUp);removeEvent(document,"mouseover",tableMouseOver);removeEvent(document,"mousemove",tableMouseOver);c._hideCombos();_C=null;return stopEvent(b)}};Calendar.tableMouseOver=function(b){var c=Calendar._C;if(c){var d=c.activeDiv,e=Calendar.getTargetElement(b);if(e==d||e.parentNode==d){Calendar.addClass(d,"hilite active");Calendar.addClass(d.parentNode,"rowhilite")}else{if(typeof d.navtype=="undefined"||d.navtype!=50&&(d.navtype==0||Math.abs(d.navtype)>2))Calendar.removeClass(d,"active");Calendar.removeClass(d,"hilite");Calendar.removeClass(d.parentNode,"rowhilite")}b||(b=window.event);if(d.navtype==50&&e!=d){var f=Calendar.getAbsolutePos(d),g=d.offsetWidth,h=b.clientX,i=true;if(h>f.x+g){h=h-f.x-g;i=false}else h=f.x-h;if(h<0)h=0;f=d._range;g=d._current;h=Math.floor(h/10)%f.length;for(var k=f.length;--k>=0;)if(f[k]==g)break;for(;h-->0;)if(i){if(--k<0)k=f.length-1}else if(++k>=f.length)k=0;d.innerHTML=f[k];c.onUpdateTime()}if(d=Calendar.findMonth(e))if(d.month!=c.date.getMonth()){c.hilitedMonth&&Calendar.removeClass(c.hilitedMonth,"hilite");Calendar.addClass(d,"hilite");c.hilitedMonth=d}else c.hilitedMonth&&Calendar.removeClass(c.hilitedMonth,"hilite");else{c.hilitedMonth&&Calendar.removeClass(c.hilitedMonth,"hilite");if(e=Calendar.findYear(e))if(e.year!=c.date.getFullYear()){c.hilitedYear&&Calendar.removeClass(c.hilitedYear,"hilite");Calendar.addClass(e,"hilite");c.hilitedYear=e}else c.hilitedYear&&Calendar.removeClass(c.hilitedYear,"hilite");else c.hilitedYear&&Calendar.removeClass(c.hilitedYear,"hilite")}return Calendar.stopEvent(b)}};Calendar.tableMouseDown=function(b){if(Calendar.getTargetElement(b)==Calendar.getElement(b))return Calendar.stopEvent(b)};Calendar.calDragIt=function(b){var c=Calendar._C;if(!(c&&c.dragging))return false;var d,e;if(Calendar.is_ie){e=window.event.clientY+document.body.scrollTop;d=window.event.clientX+document.body.scrollLeft}else{d=b.pageX;e=b.pageY}c.hideShowCovered();var f=c.element.style;f.left=d-c.xOffs+"px";f.top=e-c.yOffs+"px";return Calendar.stopEvent(b)};Calendar.calDragEnd=function(b){var c=Calendar._C;if(!c)return false;c.dragging=false;with(Calendar){removeEvent(document,"mousemove",calDragIt);removeEvent(document,"mouseup",calDragEnd);tableMouseUp(b)}c.hideShowCovered()};Calendar.dayMouseDown=function(b){var c=Calendar.getElement(b);if(c.disabled)return false;var d=c.calendar;d.activeDiv=c;Calendar._C=d;if(c.navtype!=300)with(Calendar){if(c.navtype==50){c._current=c.innerHTML;addEvent(document,"mousemove",tableMouseOver)}else addEvent(document,Calendar.is_ie5?"mousemove":"mouseover",tableMouseOver);addClass(c,"hilite active");addEvent(document,"mouseup",tableMouseUp)}else d.isPopup&&d._dragStart(b);if(c.navtype==-1||c.navtype==1){d.timeout&&clearTimeout(d.timeout);d.timeout=setTimeout("Calendar.showMonthsCombo()",250)}else if(c.navtype==-2||c.navtype==2){d.timeout&&clearTimeout(d.timeout);d.timeout=setTimeout(c.navtype>0?"Calendar.showYearsCombo(true)":"Calendar.showYearsCombo(false)",250)}else d.timeout=null;return Calendar.stopEvent(b)};Calendar.dayMouseDblClick=function(b){Calendar.cellClick(Calendar.getElement(b),b||window.event);Calendar.is_ie&&document.selection.empty()};Calendar.dayMouseOver=function(b){var c=Calendar.getElement(b);if(Calendar._C||c.disabled)return false;if(c.ttip){if(c.ttip.substr(0,1)=="_")c.ttip=c.caldate.print(c.calendar.ttDateFormat)+c.ttip.substr(1);c.calendar.tooltips.innerHTML=c.ttip}if(c.navtype!=300){Calendar.addClass(c,"hilite");c.caldate&&Calendar.addClass(c.parentNode,"rowhilite")}return Calendar.stopEvent(b)};Calendar.dayMouseOut=function(b){with(Calendar){var c=getElement(b);if(_C||c.disabled)return false;removeClass(c,"hilite");c.caldate&&removeClass(c.parentNode,"rowhilite");if(c.calendar)c.calendar.tooltips.innerHTML=_TT.SEL_DATE;return stopEvent(b)}};Calendar.cellClick=function(b,c){var d=b.calendar,e=false,f=false,g=null;if(typeof b.navtype=="undefined"){if(d.currentDateEl){Calendar.removeClass(d.currentDateEl,"selected");Calendar.addClass(b,"selected");e=d.currentDateEl==b;if(!e)d.currentDateEl=b}d.date.setDateOnly(b.caldate);g=d.date;var h=!(d.dateClicked=!b.otherMonth);if(!h&&!d.currentDateEl)d._toggleMultipleDate(new Date(g));else f=!b.disabled;h&&d._init(d.firstDayOfWeek,g)}else{if(b.navtype==200){Calendar.removeClass(b,"hilite");d.callCloseHandler();return}g=new Date(d.date);b.navtype==0&&g.setDateOnly(new Date);d.dateClicked=false;h=g.getFullYear();var i=g.getMonth();function k(l){var m=g.getDate(),n=g.getMonthDays(l);m>n&&g.setDate(n);g.setMonth(l)}switch(b.navtype){case 400:Calendar.removeClass(b,"hilite");b=Calendar._TT.ABOUT;if(typeof b!="undefined")b+=d.showsTime?Calendar._TT.ABOUT_TIME:"";else b='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 <mihai_bazon@yahoo.com> to get it into the distribution  ;-)\n\nThank you!\nhttp://dynarch.com/mishoo/calendar.epl\n';alert(b);return;case-2:h>d.minYear&&g.setFullYear(h-1);break;case-1:if(i>0)k(i-1);else if(h-->d.minYear){g.setFullYear(h);k(11)}break;case 1:if(i<11)k(i+1);else if(h<d.maxYear){g.setFullYear(h+1);k(0)}break;case 2:h<d.maxYear&&g.setFullYear(h+1);break;case 100:d.setFirstDayOfWeek(b.fdow);return;case 50:e=b._range;f=b.innerHTML;for(h=e.length;--h>=0;)if(e[h]==f)break;if(c&&c.shiftKey){if(--h<0)h=e.length-1}else if(++h>=e.length)h=0;b.innerHTML=e[h];d.onUpdateTime();return;case 0:if(typeof d.getDateStatus=="function"&&d.getDateStatus(g,g.getFullYear(),g.getMonth(),g.getDate()))return false;break}if(g.equalsTo(d.date)){if(b.navtype==0)f=e=true}else{d.setDate(g);f=true}}f&&c&&d.callHandler();if(e){Calendar.removeClass(b,"hilite");c&&d.callCloseHandler()}};Calendar.prototype.create=function(b){var c=null;if(b){c=b;this.isPopup=false}else{c=document.getElementsByTagName("body")[0];this.isPopup=true}this.date=this.dateStr?new Date(this.dateStr):new Date;this.table=b=Calendar.createElement("table");b.cellSpacing=0;b.cellPadding=0;b.calendar=this;Calendar.addEvent(b,"mousedown",Calendar.tableMouseDown);var d=Calendar.createElement("div");this.element=d;d.className="calendar";if(this.isPopup){d.style.position="absolute";d.style.display="none"}d.style.zIndex=1E3;d.appendChild(b);var e=Calendar.createElement("thead",b),f=null,g=null,h=this;d=function(l,m,n){f=Calendar.createElement("td",g);f.colSpan=m;f.className="button";if(n!=0&&Math.abs(n)<=2)f.className+=" nav";Calendar._add_evs(f);f.calendar=h;f.navtype=n;f.innerHTML="<div unselectable='on'>"+l+"</div>";return f};g=Calendar.createElement("tr",e);var i=6;this.isPopup&&--i;this.weekNumbers&&++i;d("?",1,400).ttip=Calendar._TT.INFO;this.title=d("",i,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT.DRAG_TO_MOVE;this.title.style.cursor="move";d("&#x00d7;",1,200).ttip=Calendar._TT.CLOSE}g=Calendar.createElement("tr",e);g.className="headrow";this._nav_py=d("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT.PREV_YEAR;this._nav_pm=d("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT.PREV_MONTH;this._nav_now=d(Calendar._TT.TODAY,this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT.GO_TODAY;this._nav_nm=d("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT.NEXT_MONTH;this._nav_ny=d("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT.NEXT_YEAR;g=Calendar.createElement("tr",e);g.className="daynames";if(this.weekNumbers){f=Calendar.createElement("td",g);f.className="name wn";f.innerHTML=Calendar._TT.WK}for(e=7;e>0;--e){f=Calendar.createElement("td",g);if(!e){f.navtype=100;f.calendar=this;Calendar._add_evs(f)}}this.firstdayname=this.weekNumbers?g.firstChild.nextSibling:g.firstChild;this._displayWeekdays();this.tbody=i=Calendar.createElement("tbody",b);for(e=6;e>0;--e){g=Calendar.createElement("tr",i);if(this.weekNumbers)f=Calendar.createElement("td",g);for(var k=7;k>0;--k){f=Calendar.createElement("td",g);f.calendar=this;Calendar._add_evs(f)}}if(this.showsTime){g=Calendar.createElement("tr",i);g.className="time";f=Calendar.createElement("td",g);f.className="time";f.colSpan=2;f.innerHTML=Calendar._TT.TIME||"&nbsp;";f=Calendar.createElement("td",g);f.className="time";f.colSpan=this.weekNumbers?4:3;(function(){function l(o,p,r,w){var s=Calendar.createElement("span",f);s.className=o;s.innerHTML=p;s.calendar=h;s.ttip=Calendar._TT.TIME_PART;s.navtype=50;s._range=[];if(typeof r!="number")s._range=r;else for(o=r;o<=w;++o)s._range[s._range.length]=o<10&&w>=10?"0"+o:""+o;Calendar._add_evs(s);return s}var m=h.date.getHours(),n=h.date.getMinutes(),j=!h.time24,t=m>12;if(j&&t)m-=12;var q=l("hour",m,j?1:0,j?12:23);m=Calendar.createElement("span",f);m.innerHTML=":";m.className="colon";var v=l("minute",n,0,59),u=null;f=Calendar.createElement("td",g);f.className="time";f.colSpan=2;if(j)u=l("ampm",t?"pm":"am",["am","pm"]);else f.innerHTML="&nbsp;";h.onSetTime=function(){var o,p=this.date.getHours(),r=this.date.getMinutes();if(j){if(o=p>=12)p-=12;if(p==0)p=12;u.innerHTML=o?"pm":"am"}q.innerHTML=p<10?"0"+p:p;v.innerHTML=r<10?"0"+r:r};h.onUpdateTime=function(){var o=this.date,p=parseInt(q.innerHTML,10);if(j)if(/pm/i.test(u.innerHTML)&&p<12)p+=12;else if(/am/i.test(u.innerHTML)&&p==12)p=0;var r=o.getDate(),w=o.getMonth(),s=o.getFullYear();o.setHours(p);o.setMinutes(parseInt(v.innerHTML,10));o.setFullYear(s);o.setMonth(w);o.setDate(r);this.dateClicked=false;this.callHandler()}})()}else this.onSetTime=this.onUpdateTime=function(){};b=Calendar.createElement("tfoot",b);g=Calendar.createElement("tr",b);g.className="footrow";f=d(Calendar._TT.SEL_DATE,this.weekNumbers?8:7,300);f.className="ttip";if(this.isPopup){f.ttip=Calendar._TT.DRAG_TO_MOVE;f.style.cursor="move"}this.tooltips=f;this.monthsCombo=d=Calendar.createElement("div",this.element);d.className="combo";for(e=0;e<Calendar._MN.length;++e){b=Calendar.createElement("div");b.className=Calendar.is_ie?"label-IEfix":"label";b.month=e;b.innerHTML=Calendar._SMN[e];d.appendChild(b)}this.yearsCombo=d=Calendar.createElement("div",this.element);d.className="combo";for(e=12;e>0;--e){b=Calendar.createElement("div");b.className=Calendar.is_ie?"label-IEfix":"label";d.appendChild(b)}this._init(this.firstDayOfWeek,this.date);c.appendChild(this.element)};Calendar._keyEvent=function(b){var c=window._dynarch_popupCalendar;if(!c||c.multiple)return false;Calendar.is_ie&&(b=window.event);var d=Calendar.is_ie||b.type=="keypress",e=b.keyCode;if(b.ctrlKey)switch(e){case 37:d&&Calendar.cellClick(c._nav_pm);break;case 38:d&&Calendar.cellClick(c._nav_py);break;case 39:d&&Calendar.cellClick(c._nav_nm);break;case 40:d&&Calendar.cellClick(c._nav_ny);break;default:return false}else switch(e){case 32:Calendar.cellClick(c._nav_now);break;case 27:d&&c.callCloseHandler();break;case 37:case 38:case 39:case 40:if(d){var f,g,h,i,k;d=e==37||e==38;k=e==37||e==39?1:7;function l(){i=c.currentDateEl;var j=i.pos;f=j&15;g=j>>4;h=c.ar_days[g][f]}l();function m(){var j=new Date(c.date);j.setDate(j.getDate()-k);c.setDate(j)}function n(){var j=new Date(c.date);j.setDate(j.getDate()+k);c.setDate(j)}for(;;){switch(e){case 37:if(--f>=0)h=c.ar_days[g][f];else{f=6;e=38;continue}break;case 38:if(--g>=0)h=c.ar_days[g][f];else{m();l()}break;case 39:if(++f<7)h=c.ar_days[g][f];else{f=0;e=40;continue}break;case 40:if(++g<c.ar_days.length)h=c.ar_days[g][f];else{n();l()}break}break}if(h)if(h.disabled)d?m():n();else Calendar.cellClick(h)}break;case 13:d&&Calendar.cellClick(c.currentDateEl,b);break;default:return false}return Calendar.stopEvent(b)};a=Calendar.prototype;a._init=function(b,c){var d=new Date,e=d.getFullYear(),f=d.getMonth();d=d.getDate();this.table.style.visibility="hidden";var g=c.getFullYear();if(g<this.minYear){g=this.minYear;c.setFullYear(g)}else if(g>this.maxYear){g=this.maxYear;c.setFullYear(g)}this.firstDayOfWeek=b;this.date=new Date(c);b=c.getMonth();var h=c.getDate();c.getMonthDays();c.setDate(1);var i=(c.getDay()-this.firstDayOfWeek)%7;if(i<0)i+=7;c.setDate(-i);c.setDate(c.getDate()+1);i=this.tbody.firstChild;for(var k=this.ar_days=[],l=Calendar._TT.WEEKEND,m=this.multiple?(this.datesCells={}):null,n=0;n<6;++n,i=i.nextSibling){var j=i.firstChild;if(this.weekNumbers){j.className="day wn";j.innerHTML=c.getWeekNumber();j=j.nextSibling}i.className="daysrow";for(var t=false,q,v=k[n]=[],u=0;u<7;++u,j=j.nextSibling,c.setDate(q+1)){q=c.getDate();var o=c.getDay();j.className="day";j.pos=n<<4|u;v[u]=j;var p=c.getMonth()==b;if(p){j.otherMonth=false;t=true}else if(this.showsOtherMonths){j.className+=" othermonth";j.otherMonth=true}else{j.className="emptycell";j.innerHTML="&nbsp;";j.disabled=true;continue}j.disabled=false;j.innerHTML=this.getDateText?this.getDateText(c,q):q;if(m)m[c.print("%Y%m%d")]=j;if(this.getDateStatus){var r=this.getDateStatus(c,g,b,q);if(this.getDateToolTip){var w=this.getDateToolTip(c,g,b,q);if(w)j.title=w}if(r===true){j.className+=" disabled";j.disabled=true}else{if(/disabled/i.test(r))j.disabled=true;j.className+=" "+r}}if(!j.disabled){j.caldate=new Date(c);j.ttip="_";if(!this.multiple&&p&&q==h&&this.hiliteToday){j.className+=" selected";this.currentDateEl=j}if(c.getFullYear()==e&&c.getMonth()==f&&q==d){j.className+=" today";j.ttip+=Calendar._TT.PART_TODAY}if(l.indexOf(o.toString())!=-1)j.className+=j.otherMonth?" oweekend":" weekend"}}if(!(t||this.showsOtherMonths))i.className="emptyrow"}this.title.innerHTML=Calendar._MN[b]+", "+g;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates()};a._initMultipleDates=function(){if(this.multiple)for(var b in this.multiple){var c=this.datesCells[b];if(this.multiple[b])if(c)c.className+=" selected"}};a._toggleMultipleDate=function(b){if(this.multiple){var c=b.print("%Y%m%d"),d=this.datesCells[c];if(d)if(this.multiple[c]){Calendar.removeClass(d,"selected");delete this.multiple[c]}else{Calendar.addClass(d,"selected");this.multiple[c]=b}}};a.setDateToolTipHandler=function(b){this.getDateToolTip=b};a.setDate=function(b){b.equalsTo(this.date)||this._init(this.firstDayOfWeek,b)};a.refresh=function(){this._init(this.firstDayOfWeek,this.date)};a.setFirstDayOfWeek=function(b){this._init(b,this.date);this._displayWeekdays()};a.setDateStatusHandler=Calendar.prototype.setDisabledHandler=function(b){this.getDateStatus=b};a.setRange=function(b,c){this.minYear=b;this.maxYear=c};a.callHandler=function(){this.onSelected&&this.onSelected(this,this.date.print(this.dateFormat))};a.callCloseHandler=function(){this.onClose&&this.onClose(this);this.hideShowCovered()};a.destroy=function(){var b=this.element.parentNode;if(b!=null){b.removeChild(this.element);Calendar._C=null;window._dynarch_popupCalendar=null}};a.reparent=function(b){var c=this.element;c.parentNode.removeChild(c);b.appendChild(c)};Calendar._checkCalendar=function(b){var c=window._dynarch_popupCalendar;if(!c)return false;for(var d=Calendar.is_ie?Calendar.getElement(b):Calendar.getTargetElement(b);d!=null&&d!=c.element;d=d.parentNode);if(d==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(b)}};a=Calendar.prototype;a.show=function(){for(var b=this.table.getElementsByTagName("tr"),c=b.length;c>0;){var d=b[--c];Calendar.removeClass(d,"rowhilite");d=d.getElementsByTagName("td");for(var e=d.length;e>0;){var f=d[--e];Calendar.removeClass(f,"hilite");Calendar.removeClass(f,"active")}}this.element.style.display="block";this.hidden=false;if(this.isPopup){window._dynarch_popupCalendar=this;Calendar.addEvent(document,"keydown",Calendar._keyEvent);Calendar.addEvent(document,"keypress",Calendar._keyEvent);Calendar.addEvent(document,"mousedown",Calendar._checkCalendar)}this.hideShowCovered()};a.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()};a.showAt=function(b,c){var d=this.element.style;d.left=b+"px";d.top=c+"px";this.show()};a.showAtElement=function(b,c){function d(g){if(g.x<0)g.x=0;if(g.y<0)g.y=0;var h=document.createElement("div"),i=h.style;i.position="absolute";i.right=i.bottom=i.width=i.height="0px";document.body.appendChild(h);i=Calendar.getAbsolutePos(h);document.body.removeChild(h);if(Calendar.is_ie){i.y+=document.body.scrollTop;i.x+=document.body.scrollLeft}else{i.y+=window.scrollY;i.x+=window.scrollX}h=g.x+g.width-i.x;if(h>0)g.x-=h;h=g.y+g.height-i.y;if(h>0)g.y-=h}var e=this,f=Calendar.getAbsolutePos(b);if(!c||typeof c!="string"){this.showAt(f.x,f.y+b.offsetHeight);return true}this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var g=e.element.offsetWidth,h=e.element.offsetHeight;e.element.style.display="none";var i=c.substr(0,1),k="l";if(c.length>1)k=c.substr(1,1);switch(i){case"T":f.y-=h;break;case"B":f.y+=b.offsetHeight;break;case"C":f.y+=(b.offsetHeight-h)/2;break;case"t":f.y+=b.offsetHeight-h;break;case"b":break}switch(k){case"L":f.x-=g;break;case"R":f.x+=b.offsetWidth;break;case"C":f.x+=(b.offsetWidth-g)/2;break;case"l":f.x+=b.offsetWidth-g;break;case"r":break}f.width=g;f.height=h+40;e.monthsCombo.style.display="none";d(f);e.showAt(f.x,f.y)};Calendar.is_khtml?setTimeout("Calendar.continuation_for_the_fucking_khtml_browser()",10):Calendar.continuation_for_the_fucking_khtml_browser()};a.setDateFormat=function(b){this.dateFormat=b};a.setTtDateFormat=function(b){this.ttDateFormat=b};a.parseDate=function(b,c){if(!c)c=this.dateFormat;this.setDate(Date.parseDate(b,c))};a.hideShowCovered=function(){function b(q){var v=q.style.visibility;v||(v=document.defaultView&&typeof document.defaultView.getComputedStyle=="function"?Calendar.is_khtml?"":document.defaultView.getComputedStyle(q,"").getPropertyValue("visibility"):q.currentStyle?q.currentStyle.visibility:"");return v}if(Calendar.is_ie||Calendar.is_opera){var c=new Array("applet","iframe","select"),d=this.element,e=Calendar.getAbsolutePos(d),f=e.x,g=d.offsetWidth+f,h=e.y;d=d.offsetHeight+h;for(var i=c.length;i>0;)for(var k=document.getElementsByTagName(c[--i]),l=null,m=k.length;m>0;){l=k[--m];e=Calendar.getAbsolutePos(l);var n=e.x,j=l.offsetWidth+n;e=e.y;var t=l.offsetHeight+e;if(this.hidden||n>g||j<f||e>d||t<h){if(!l.__msh_save_visibility)l.__msh_save_visibility=b(l);l.style.visibility=l.__msh_save_visibility}else{if(!l.__msh_save_visibility)l.__msh_save_visibility=b(l);l.style.visibility="hidden"}}}};a._displayWeekdays=function(){for(var b=this.firstDayOfWeek,c=this.firstdayname,d=Calendar._TT.WEEKEND,e=0;e<7;++e){c.className="day name";var f=(e+b)%7;if(e){c.ttip=Calendar._TT.DAY_FIRST.replace("%s",Calendar._DN[f]);c.navtype=100;c.calendar=this;c.fdow=f;Calendar._add_evs(c)}d.indexOf(f.toString())!=-1&&Calendar.addClass(c,"weekend");c.innerHTML=Calendar._SDN[(e+b)%7];c=c.nextSibling}};a._hideCombos=function(){this.monthsCombo.style.display="none";this.yearsCombo.style.display="none"};a._dragStart=function(b){if(!this.dragging){this.dragging=true;var c;if(Calendar.is_ie){c=window.event.clientY+document.body.scrollTop;b=window.event.clientX+document.body.scrollLeft}else{c=b.clientY+window.scrollY;b=b.clientX+window.scrollX}var d=this.element.style;this.xOffs=b-parseInt(d.left);this.yOffs=c-parseInt(d.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=1E3;Date.MINUTE=60*Date.SECOND;Date.HOUR=60*Date.MINUTE;Date.DAY=24*Date.HOUR;Date.WEEK=7*Date.DAY;Date.parseDate=function(b,c){var d=new Date,e=0,f=-1,g=0;b=b.split(/\W+/);var h=c.match(/%./g);var i=c=0,k=0,l=0;for(c=0;c<b.length;++c)if(b[c])switch(h[c]){case"%d":case"%e":g=parseInt(b[c],10);break;case"%m":f=parseInt(b[c],10)-1;break;case"%Y":case"%y":e=parseInt(b[c],10);e<100&&(e+=e>29?1900:2E3);break;case"%b":case"%B":for(i=0;i<12;++i)if(Calendar._MN[i].substr(0,b[c].length).toLowerCase()==b[c].toLowerCase()){f=i;break}break;case"%H":case"%I":case"%k":case"%l":k=parseInt(b[c],10);break;case"%P":case"%p":if(/pm/i.test(b[c])&&k<12)k+=12;else if(/am/i.test(b[c])&&k>=12)k-=12;break;case"%M":l=parseInt(b[c],10);break}if(isNaN(e))e=d.getFullYear();if(isNaN(f))f=d.getMonth();if(isNaN(g))g=d.getDate();if(isNaN(k))k=d.getHours();if(isNaN(l))l=d.getMinutes();if(e!=0&&f!=-1&&g!=0)return new Date(e,f,g,k,l,0);e=0;f=-1;for(c=g=0;c<b.length;++c)if(b[c].search(/[a-zA-Z]+/)!=-1){h=-1;for(i=0;i<12;++i)if(Calendar._MN[i].substr(0,b[c].length).toLowerCase()==b[c].toLowerCase()){h=i;break}if(h!=-1){if(f!=-1)g=f+1;f=h}}else if(parseInt(b[c],10)<=12&&f==-1)f=b[c]-1;else if(parseInt(b[c],10)>31&&e==0){e=parseInt(b[c],10);e<100&&(e+=e>29?1900:2E3)}else if(g==0)g=b[c];if(e==0)e=d.getFullYear();if(f!=-1&&g!=0)return new Date(e,f,g,k,l,0);return d};a=Date.prototype;a.getMonthDays=function(b){var c=this.getFullYear();if(typeof b=="undefined")b=this.getMonth();return 0==c%4&&(0!=c%100||0==c%400)&&b==1?29:Date._MD[b]};a.getDayOfYear=function(){var b=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),c=new Date(this.getFullYear(),0,0,0,0,0);return Math.floor((b-c)/Date.DAY)};a.getWeekNumber=function(){var b=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0),c=b.getDay();b.setDate(b.getDate()-(c+6)%7+3);c=b.valueOf();b.setMonth(0);b.setDate(4);return Math.round((c-b.valueOf())/6048E5)+1};a.equalsTo=function(b){return this.getFullYear()==b.getFullYear()&&this.getMonth()==b.getMonth()&&this.getDate()==b.getDate()&&this.getHours()==b.getHours()&&this.getMinutes()==b.getMinutes()};a.setDateOnly=function(b){b=new Date(b);this.setDate(1);this.setFullYear(b.getFullYear());this.setMonth(b.getMonth());this.setDate(b.getDate())};a.print=function(b){var c=this.getMonth(),d=this.getDate(),e=this.getFullYear(),f=this.getWeekNumber(),g=this.getDay(),h={},i=this.getHours(),k=i>=12,l=k?i-12:i,m=this.getDayOfYear();if(l==0)l=12;var n=this.getMinutes(),j=this.getSeconds();h["%a"]=Calendar._SDN[g];h["%A"]=Calendar._DN[g];h["%b"]=Calendar._SMN[c];h["%B"]=Calendar._MN[c];h["%C"]=1+Math.floor(e/100);h["%d"]=d<10?"0"+d:d;h["%e"]=d;h["%H"]=i<10?"0"+i:i;h["%I"]=l<10?"0"+l:l;h["%j"]=m<100?m<10?"00"+m:"0"+m:m;h["%k"]=i;h["%l"]=l;h["%m"]=c<9?"0"+(1+c):1+c;h["%M"]=n<10?"0"+n:n;h["%n"]="\n";h["%p"]=k?"PM":"AM";h["%P"]=k?"pm":"am";h["%s"]=Math.floor(this.getTime()/1E3);h["%S"]=j<10?"0"+j:j;h["%t"]="\t";h["%U"]=h["%W"]=h["%V"]=f<10?"0"+f:f;h["%u"]=g+1;h["%w"]=g;h["%y"]=(""+e).substr(2,2);h["%Y"]=e;h["%%"]="%";c=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml)return b.replace(c,function(t){return h[t]||t});d=b.match(c);for(e=0;e<d.length;e++)if(f=h[d[e]]){c=new RegExp(d[e],"g");b=b.replace(c,f)}return b};a.__msh_oldSetFullYear=Date.prototype.setFullYear;a.setFullYear=function(b){var c=new Date(this);c.__msh_oldSetFullYear(b);c.getMonth()!=this.getMonth()&&this.setDate(28);this.__msh_oldSetFullYear(b)};window._dynarch_popupCalendar=null;Calendar._DN=new Array("Domingo","Lunes","Martes","Mi&eacute;rcoles","Jueves","Viernes","S&aacute;bado","Domingo");Calendar._SDN=new Array("Dom","Lun","Mar","Mi&eacute;","Jue","Vie","S&aacute;b","Dom");Calendar._FD=1;Calendar._MN=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");Calendar._SMN=new Array("Ene","Feb","Mar","Abr","May","Jun","Jul","Ago","Sep","Oct","Nov","Dic");Calendar._TT={};Calendar._TT.INFO="Acerca del calendario";Calendar._TT.ABOUT="Selecci\u00f3n de fecha:\n- Use los botones \u00ab, \u00bb para seleccionar el a\u00f1o\n- Use los botones "+String.fromCharCode(8249)+", "+String.fromCharCode(8250)+" para seleccionar el mes\n- Mantenga pulsado el rat\u00f3n en cualquiera de estos botones para una selecci\u00f3n r\u00e1pida.";Calendar._TT.ABOUT_TIME="\n\nSelecci\u00f3n de hora:\n- Pulse en cualquiera de las partes de la hora para incrementarla\n- o pulse las may\u00fasculas mientras hace clic para decrementarla\n- o haga clic y arrastre el rat\u00f3n para una selecci\u00f3n m\u00e1s r\u00e1pida.";Calendar._TT.PREV_YEAR="A&ntilde;o anterior (mantener para men&uacute;)";Calendar._TT.PREV_MONTH="Mes anterior (mantener para men&uacute;)";Calendar._TT.GO_TODAY="Ir a hoy";Calendar._TT.NEXT_MONTH="Mes siguiente (mantener para men&uacute;)";Calendar._TT.NEXT_YEAR="A&ntilde;o siguiente (mantener para men&uacute;)";Calendar._TT.SEL_DATE="Seleccionar fecha";Calendar._TT.DRAG_TO_MOVE="Arrastrar para mover";Calendar._TT.PART_TODAY=" (hoy)";Calendar._TT.DAY_FIRST="Hacer %s primer d&iacute;a de la semana";Calendar._TT.WEEKEND="0,6";Calendar._TT.CLOSE="Cerrar";Calendar._TT.TODAY="Hoy";Calendar._TT.TIME_PART="(May&uacute;scula-)Clic o arrastre para cambiar valor";Calendar._TT.DEF_DATE_FORMAT="%d/%m/%Y";Calendar._TT.TT_DATE_FORMAT="%A, %e de %B de %Y";Calendar._TT.WK="sem";Calendar._TT.TIME="Hora:";Calendar.setup=function(a){function b(e,c){if(typeof a[e]=="undefined")a[e]=c}function j(e){var c=e.params,g=e.dateClicked||c.electric;if(g&&c.inputField){c.inputField.value=e.date.print(c.ifFormat);typeof c.inputField.onchange=="function"&&c.inputField.onchange()}if(g&&c.displayArea)c.displayArea.innerHTML=e.date.print(c.daFormat);g&&typeof c.onUpdate=="function"&&c.onUpdate(e);g&&c.flat&&typeof c.flatCallback=="function"&&c.flatCallback(e);g&&c.singleClick&&e.dateClicked&&e.callCloseHandler()}b("inputField",null);b("displayArea",null);b("button",null);b("eventName","click");b("ifFormat","%Y/%m/%d");b("daFormat","%Y/%m/%d");b("singleClick",true);b("disableFunc",null);b("dateStatusFunc",a.disableFunc);b("dateText",null);b("firstDay",null);b("align","Br");b("range",[1900,2999]);b("weekNumbers",true);b("flat",null);b("flatCallback",null);b("onSelect",null);b("onClose",null);b("onUpdate",null);b("date",null);b("showsTime",false);b("timeFormat","24");b("electric",true);b("step",2);b("position",null);b("cache",false);b("showOthers",false);b("multiple",null);var h=["inputField","displayArea","button"];for(var i in h)if(typeof a[h[i]]=="string")a[h[i]]=document.getElementById(a[h[i]]);if(!(a.flat||a.multiple||a.inputField||a.displayArea||a.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false}if(a.flat!=null){if(typeof a.flat=="string")a.flat=document.getElementById(a.flat);if(!a.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false}var f=new Calendar(a.firstDay,a.date,a.onSelect||j);f.showsOtherMonths=a.showOthers;f.showsTime=a.showsTime;f.time24=a.timeFormat=="24";f.params=a;f.weekNumbers=a.weekNumbers;f.setRange(a.range[0],a.range[1]);f.setDateStatusHandler(a.dateStatusFunc);f.getDateText=a.dateText;a.ifFormat&&f.setDateFormat(a.ifFormat);a.inputField&&typeof a.inputField.value=="string"&&f.parseDate(a.inputField.value);f.create(a.flat);f.show();return false}(a.button||a.displayArea||a.inputField)["on"+a.eventName]=function(){var e=a.inputField||a.displayArea,c=a.inputField?a.ifFormat:a.daFormat,g=false,d=window.calendar;if(e)a.date=Date.parseDate(e.value||e.innerHTML,c);if(d&&a.cache){a.date&&d.setDate(a.date);d.hide()}else{window.calendar=d=new Calendar(a.firstDay,a.date,a.onSelect||j,a.onClose||function(l){l.hide()});d.showsTime=a.showsTime;d.time24=a.timeFormat=="24";d.weekNumbers=a.weekNumbers;g=true}if(a.multiple){d.multiple={};for(e=a.multiple.length;--e>=0;){var k=a.multiple[e],m=k.print("%Y%m%d");d.multiple[m]=k}}d.showsOtherMonths=a.showOthers;d.yearStep=a.step;d.setRange(a.range[0],a.range[1]);d.params=a;d.setDateStatusHandler(a.dateStatusFunc);d.getDateText=a.dateText;d.setDateFormat(c);g&&d.create();d.refresh();a.position?d.showAt(a.position[0],a.position[1]):d.showAtElement(a.button||a.displayArea||a.inputField,a.align);return false};return f};
