$.fn.clearSelect=function(){return this.each(function(){if(this.tagName=="SELECT"){this.options.length=0}})};$.fn.clearDefault=function(){return this.each(function(){if(this.tagName=="SELECT"){this.options.length=0}var b=this;var a=new Option("-- Всі --","",true,true);if($.browser.msie){b.add(a)}else{b.add(a,null)}})};$.fn.fillSelect=function(a){return this.clearSelect().each(function(){if(this.tagName=="SELECT"){var b=this;$.each(a,function(e,d){var c=new Option(d.Text,d.Value);if($.browser.msie){b.add(c)}else{b.add(c,null)}})}})};jQuery.cookie=function(c,f,d){if(typeof f!="undefined"){d=d||{};if(f===null){f="";d.expires=-1}var b="";if(d.expires&&(typeof d.expires=="number"||d.expires.toUTCString)){var m;if(typeof d.expires=="number"){m=new Date();m.setTime(m.getTime()+(d.expires*24*60*60*1000))}else{m=d.expires}b="; expires="+m.toUTCString()}var j=d.path?"; path="+(d.path):"";var h=d.domain?"; domain="+(d.domain):"";var l=d.secure?"; secure":"";document.cookie=[c,"=",encodeURIComponent(f),b,j,h,l].join("")}else{var e=null;if(document.cookie&&document.cookie!=""){var a=document.cookie.split(";");for(var g=0;g<a.length;g++){var k=jQuery.trim(a[g]);if(k.substring(0,c.length+1)==(c+"=")){e=decodeURIComponent(k.substring(c.length+1));break}}}return e}};Calendar=function(d,c,f,a){this.activeDiv=null;this.currentDateEl=null;this.getDateStatus=null;this.getDateToolTip=null;this.getDateText=null;this.timeout=null;this.onSelected=f||null;this.onClose=a||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=typeof d=="number"?d: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.multiple=null;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 e=new Array();for(var b=8;b>0;){e[--b]=Calendar._DN[b].substr(0,Calendar._SDN_len)}Calendar._SDN=e;if(typeof Calendar._SMN_len=="undefined"){Calendar._SMN_len=3}e=new Array();for(var b=12;b>0;){e[--b]=Calendar._MN[b].substr(0,Calendar._SMN_len)}Calendar._SMN=e}};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(a){var f=0,e=0;var b=/^div$/i.test(a.tagName);if(b&&a.scrollLeft){f=a.scrollLeft}if(b&&a.scrollTop){e=a.scrollTop}var c={x:a.offsetLeft-f,y:a.offsetTop-e};if(a.offsetParent){var d=this.getAbsolutePos(a.offsetParent);c.x+=d.x;c.y+=d.y}return c};Calendar.isRelated=function(a,b){var d=b.relatedTarget;if(!d){var c=b.type;if(c=="mouseover"){d=b.fromElement}else{if(c=="mouseout"){d=b.toElement}}}while(d){if(d==a){return true}d=d.parentNode}return false};Calendar.removeClass=function(a,b){if(!(a&&a.className)){return}var d=a.className.split(" ");var e=new Array();for(var c=d.length;c>0;){if(d[--c]!=b){e[e.length]=d[c]}}a.className=e.join(" ")};Calendar.addClass=function(a,b){Calendar.removeClass(a,b);a.className+=" "+b};Calendar.getElement=function(a){var b=Calendar.is_ie?window.event.srcElement:a.currentTarget;while(b.nodeType!=1||/^div$/i.test(b.tagName)){b=b.parentNode}return b};Calendar.getTargetElement=function(a){var b=Calendar.is_ie?window.event.srcElement:a.target;while(b.nodeType!=1){b=b.parentNode}return b};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(a,c,b){if(a.attachEvent){a.attachEvent("on"+c,b)}else{if(a.addEventListener){a.addEventListener(c,b,true)}else{a["on"+c]=b}}};Calendar.removeEvent=function(a,c,b){if(a.detachEvent){a.detachEvent("on"+c,b)}else{if(a.removeEventListener){a.removeEventListener(c,b,true)}else{a["on"+c]=null}}};Calendar.createElement=function(a,c){var b=null;if(document.createElementNS){b=document.createElementNS("http://www.w3.org/1999/xhtml",a)}else{b=document.createElement(a)}if(typeof c!="undefined"){c.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 f=Calendar._C;if(!f){return false}var f=f;var e=f.activeDiv;var a=f.monthsCombo;if(f.hilitedMonth){Calendar.removeClass(f.hilitedMonth,"hilite")}if(f.activeMonth){Calendar.removeClass(f.activeMonth,"active")}var d=f.monthsCombo.getElementsByTagName("div")[f.date.getMonth()];Calendar.addClass(d,"active");f.activeMonth=d;var b=a.style;b.display="block";if(e.navtype<0){b.left=e.offsetLeft+"px"}else{var c=a.offsetWidth;if(typeof c=="undefined"){c=50}b.left=(e.offsetLeft+e.offsetWidth-c)+"px"}b.top=(e.offsetTop+e.offsetHeight)+"px"};Calendar.showYearsCombo=function(f){var h=Calendar._C;if(!h){return false}var h=h;var j=h.activeDiv;var b=h.yearsCombo;if(h.hilitedYear){Calendar.removeClass(h.hilitedYear,"hilite")}if(h.activeYear){Calendar.removeClass(h.activeYear,"active")}h.activeYear=null;var d=h.date.getFullYear()+(f?1:-1);var c=b.firstChild;var k=false;for(var e=12;e>0;--e){if(d>=h.minYear&&d<=h.maxYear){c.innerHTML=d;c.year=d;c.style.display="block";k=true}else{c.style.display="none"}c=c.nextSibling;d+=f?h.yearStep:-h.yearStep}if(k){var a=b.style;a.display="block";if(j.navtype<0){a.left=j.offsetLeft+"px"}else{var g=b.offsetWidth;if(typeof g=="undefined"){g=50}a.left=(j.offsetLeft+j.offsetWidth-g)+"px"}a.top=(j.offsetTop+j.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(c){var e=Calendar._C;if(!e){return}var f=e.activeDiv;var l=Calendar.getTargetElement(c);if(l==f||l.parentNode==f){Calendar.addClass(f,"hilite active");Calendar.addClass(f.parentNode,"rowhilite")}else{if(typeof f.navtype=="undefined"||(f.navtype!=50&&(f.navtype==0||Math.abs(f.navtype)>2))){Calendar.removeClass(f,"active")}Calendar.removeClass(f,"hilite");Calendar.removeClass(f.parentNode,"rowhilite")}c||(c=window.event);if(f.navtype==50&&l!=f){var j=Calendar.getAbsolutePos(f);var d=f.offsetWidth;var m=c.clientX;var h;var k=true;if(m>j.x+d){h=m-j.x-d;k=false}else{h=j.x-m}if(h<0){h=0}var o=f._range;var n=f._current;var b=Math.floor(h/10)%o.length;for(var g=o.length;--g>=0;){if(o[g]==n){break}}while(b-->0){if(k){if(--g<0){g=o.length-1}}else{if(++g>=o.length){g=0}}}var a=o[g];f.innerHTML=a;e.onUpdateTime()}var p=Calendar.findMonth(l);if(p){if(p.month!=e.date.getMonth()){if(e.hilitedMonth){Calendar.removeClass(e.hilitedMonth,"hilite")}Calendar.addClass(p,"hilite");e.hilitedMonth=p}else{if(e.hilitedMonth){Calendar.removeClass(e.hilitedMonth,"hilite")}}}else{if(e.hilitedMonth){Calendar.removeClass(e.hilitedMonth,"hilite")}var q=Calendar.findYear(l);if(q){if(q.year!=e.date.getFullYear()){if(e.hilitedYear){Calendar.removeClass(e.hilitedYear,"hilite")}Calendar.addClass(q,"hilite");e.hilitedYear=q}else{if(e.hilitedYear){Calendar.removeClass(e.hilitedYear,"hilite")}}}else{if(e.hilitedYear){Calendar.removeClass(e.hilitedYear,"hilite")}}}return Calendar.stopEvent(c)};Calendar.tableMouseDown=function(a){if(Calendar.getTargetElement(a)==Calendar.getElement(a)){return Calendar.stopEvent(a)}};Calendar.calDragIt=function(e){var d=Calendar._C;if(!(d&&d.dragging)){return false}var c;var b;if(Calendar.is_ie){b=window.event.clientY+document.body.scrollTop;c=window.event.clientX+document.body.scrollLeft}else{c=e.pageX;b=e.pageY}d.hideShowCovered();var a=d.element.style;a.left=(c-d.xOffs)+"px";a.top=(b-d.yOffs)+"px";return Calendar.stopEvent(e)};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.innerHTML;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(e){var a=Calendar.getElement(e);if(Calendar.isRelated(a,e)||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.innerHTML=a.ttip}if(a.navtype!=300){Calendar.addClass(a,"hilite");if(a.caldate){Calendar.addClass(a.parentNode,"rowhilite");var c=a.calendar;if(c&&c.getDateToolTip){var b=a.caldate;window.status=b;a.title=c.getDateToolTip(b,b.getFullYear(),b.getMonth(),b.getDate())}}}return Calendar.stopEvent(e)};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")}if(el.calendar){el.calendar.tooltips.innerHTML=_TT.SEL_DATE}}};Calendar.cellClick=function(g,d){var l=g.calendar;var j=false;var b=false;var p=null;if(typeof g.navtype=="undefined"){if(l.currentDateEl){Calendar.removeClass(l.currentDateEl,"selected");Calendar.addClass(g,"selected");j=(l.currentDateEl==g);if(!j){l.currentDateEl=g}}l.date.setDateOnly(g.caldate);p=l.date;var a=!(l.dateClicked=!g.otherMonth);if(!a&&!l.currentDateEl&&l.multiple){l._toggleMultipleDate(new Date(p))}else{b=!g.disabled}if(a){l._init(l.firstDayOfWeek,p)}}else{if(g.navtype==200){Calendar.removeClass(g,"hilite");l.callCloseHandler();return}p=new Date(l.date);if(g.navtype==0){p.setDateOnly(new Date())}l.dateClicked=false;var k=p.getFullYear();var o=p.getMonth();function e(q){var i=p.getDate();var r=p.getMonthDays(q);if(i>r){p.setDate(r)}p.setMonth(q)}switch(g.navtype){case 400:Calendar.removeClass(g,"hilite");var c=Calendar._TT.ABOUT;if(typeof c!="undefined"){c+=l.showsTime?Calendar._TT.ABOUT_TIME:""}else{c='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(c);return;case -2:if(k>l.minYear){p.setFullYear(k-1)}break;case -1:if(o>0){e(o-1)}else{if(k-->l.minYear){p.setFullYear(k);e(11)}}break;case 1:if(o<11){e(o+1)}else{if(k<l.maxYear){p.setFullYear(k+1);e(0)}}break;case 2:if(k<l.maxYear){p.setFullYear(k+1)}break;case 100:l.setFirstDayOfWeek(g.fdow);return;case 50:var n=g._range;var m=g.innerHTML;for(var h=n.length;--h>=0;){if(n[h]==m){break}}if(d&&d.shiftKey){if(--h<0){h=n.length-1}}else{if(++h>=n.length){h=0}}var f=n[h];g.innerHTML=f;l.onUpdateTime();return;case 0:if((typeof l.getDateStatus=="function")&&l.getDateStatus(p,p.getFullYear(),p.getMonth(),p.getDate())){return false}break}if(!p.equalsTo(l.date)){l.setDate(p);b=true}else{if(g.navtype==0){b=j=true}}}if(b){d&&l.callHandler()}if(j){Calendar.removeClass(g,"hilite");d&&l.callCloseHandler()}};Calendar.prototype.create=function(g){var q=null;if(!g){q=document.getElementsByTagName("body")[0];this.isPopup=true}else{q=g;this.isPopup=false}this.date=this.dateStr?new Date(this.dateStr):new Date();var m=Calendar.createElement("table");this.table=m;m.cellSpacing=0;m.cellPadding=0;m.calendar=this;Calendar.addEvent(m,"mousedown",Calendar.tableMouseDown);var r=Calendar.createElement("div");this.element=r;r.className="calendar";if(this.isPopup){r.style.position="absolute";r.style.display="none"}r.appendChild(m);var a=Calendar.createElement("thead",m);var n=null;var l=null;var b=this;var c=function(j,s,i){n=Calendar.createElement("td",l);n.colSpan=s;n.className="button";if(i!=0&&Math.abs(i)<=2){n.className+=" nav"}Calendar._add_evs(n);n.calendar=b;n.navtype=i;n.innerHTML="<div unselectable='on'>"+j+"</div>";return n};l=Calendar.createElement("tr",a);var p=6;(this.isPopup)&&--p;(this.weekNumbers)&&++p;c("?",1,400).ttip=Calendar._TT.INFO;this.title=c("",p,300);this.title.className="title";if(this.isPopup){this.title.ttip=Calendar._TT.DRAG_TO_MOVE;this.title.style.cursor="move";c("&#x00d7;",1,200).ttip=Calendar._TT.CLOSE}l=Calendar.createElement("tr",a);l.className="headrow";this._nav_py=c("&#x00ab;",1,-2);this._nav_py.ttip=Calendar._TT.PREV_YEAR;this._nav_pm=c("&#x2039;",1,-1);this._nav_pm.ttip=Calendar._TT.PREV_MONTH;this._nav_now=c(Calendar._TT.TODAY,this.weekNumbers?4:3,0);this._nav_now.ttip=Calendar._TT.GO_TODAY;this._nav_nm=c("&#x203a;",1,1);this._nav_nm.ttip=Calendar._TT.NEXT_MONTH;this._nav_ny=c("&#x00bb;",1,2);this._nav_ny.ttip=Calendar._TT.NEXT_YEAR;l=Calendar.createElement("tr",a);l.className="daynames";if(this.weekNumbers){n=Calendar.createElement("td",l);n.className="name wn";n.innerHTML=Calendar._TT.WK}for(var k=7;k>0;--k){n=Calendar.createElement("td",l);if(!k){n.navtype=100;n.calendar=this;Calendar._add_evs(n)}}this.firstdayname=(this.weekNumbers)?l.firstChild.nextSibling:l.firstChild;this._displayWeekdays();var o=Calendar.createElement("tbody",m);this.tbody=o;for(k=6;k>0;--k){l=Calendar.createElement("tr",o);if(this.weekNumbers){n=Calendar.createElement("td",l)}for(var f=7;f>0;--f){n=Calendar.createElement("td",l);n.calendar=this;Calendar._add_evs(n)}}if(this.showsTime){l=Calendar.createElement("tr",o);l.className="time";n=Calendar.createElement("td",l);n.className="time";n.colSpan=2;n.innerHTML=Calendar._TT.TIME||"&nbsp;";n=Calendar.createElement("td",l);n.className="time";n.colSpan=this.weekNumbers?4:3;(function(){function s(z,F,E,D){var C=Calendar.createElement("span",n);C.className=z;C.innerHTML=F;C.calendar=b;C.ttip=Calendar._TT.TIME_PART;C.navtype=50;C._range=[];if(typeof E!="number"){C._range=E}else{for(var A=E;A<=D;++A){var B;if(A<10&&D>=10){B="0"+A}else{B=""+A}C._range[C._range.length]=B}}Calendar._add_evs(C);return C}var w=b.date.getHours();var i=b.date.getMinutes();var u=!b.time24;var x=(w>12);if(u&&x){w-=12}var j=s("hour",w,u?1:0,u?12:23);var v=Calendar.createElement("span",n);v.innerHTML=":";v.className="colon";var t=s("minute",i,0,59);var y=null;n=Calendar.createElement("td",l);n.className="time";n.colSpan=2;if(u){y=s("ampm",x?"pm":"am",["am","pm"])}else{n.innerHTML="&nbsp;"}b.onSetTime=function(){var z,A=this.date.getHours(),B=this.date.getMinutes();if(u){z=(A>=12);if(z){A-=12}if(A==0){A=12}y.innerHTML=z?"pm":"am"}j.innerHTML=(A<10)?("0"+A):A;t.innerHTML=(B<10)?("0"+B):B};b.onUpdateTime=function(){var D=this.date;var z=parseInt(j.innerHTML,10);if(u){if(/pm/i.test(y.innerHTML)&&z<12){z+=12}else{if(/am/i.test(y.innerHTML)&&z==12){z=0}}}var A=D.getDate();var B=D.getMonth();var C=D.getFullYear();D.setHours(z);D.setMinutes(parseInt(t.innerHTML,10));D.setFullYear(C);D.setMonth(B);D.setDate(A);this.dateClicked=false;this.callHandler()}})()}else{this.onSetTime=this.onUpdateTime=function(){}}var d=Calendar.createElement("tfoot",m);l=Calendar.createElement("tr",d);l.className="footrow";n=c(Calendar._TT.SEL_DATE,this.weekNumbers?8:7,300);n.className="ttip";if(this.isPopup){n.ttip=Calendar._TT.DRAG_TO_MOVE;n.style.cursor="move"}this.tooltips=n;r=Calendar.createElement("div",this.element);this.monthsCombo=r;r.className="combo";for(k=0;k<Calendar._MN.length;++k){var h=Calendar.createElement("div");h.className=Calendar.is_ie?"label-IEfix":"label";h.month=k;h.innerHTML=Calendar._SMN[k];r.appendChild(h)}r=Calendar.createElement("div",this.element);this.yearsCombo=r;r.className="combo";for(k=12;k>0;--k){var e=Calendar.createElement("div");e.className=Calendar.is_ie?"label-IEfix":"label";r.appendChild(e)}this._init(this.firstDayOfWeek,this.date);q.appendChild(this.element)};Calendar._keyEvent=function(b){var i=window._dynarch_popupCalendar;if(!i||i.multiple){return false}(Calendar.is_ie)&&(b=window.event);var c=(Calendar.is_ie||b.type=="keypress"),a=b.keyCode;if(b.ctrlKey){switch(a){case 37:c&&Calendar.cellClick(i._nav_pm);break;case 38:c&&Calendar.cellClick(i._nav_py);break;case 39:c&&Calendar.cellClick(i._nav_nm);break;case 40:c&&Calendar.cellClick(i._nav_ny);break;default:return false}}else{switch(a){case 32:Calendar.cellClick(i._nav_now);break;case 27:c&&i.callCloseHandler();break;case 37:case 38:case 39:case 40:if(c){var g,j,k,h,e,d;g=a==37||a==38;d=(a==37||a==39)?1:7;function l(){e=i.currentDateEl;var n=e.pos;j=n&15;k=n>>4;h=i.ar_days[k][j]}l();function m(){var n=new Date(i.date);n.setDate(n.getDate()-d);i.setDate(n)}function f(){var n=new Date(i.date);n.setDate(n.getDate()+d);i.setDate(n)}while(1){switch(a){case 37:if(--j>=0){h=i.ar_days[k][j]}else{j=6;a=38;continue}break;case 38:if(--k>=0){h=i.ar_days[k][j]}else{m();l()}break;case 39:if(++j<7){h=i.ar_days[k][j]}else{j=0;a=40;continue}break;case 40:if(++k<i.ar_days.length){h=i.ar_days[k][j]}else{f();l()}break}break}if(h){if(!h.disabled){Calendar.cellClick(h)}else{if(g){m()}else{f()}}}}break;case 13:if(c){Calendar.cellClick(i.currentDateEl,b)}break;default:return false}}return Calendar.stopEvent(b)};Calendar.prototype._init=function(a,d){var x=new Date(),e=x.getFullYear(),u=x.getMonth(),A=x.getDate();this.table.style.visibility="hidden";var r=d.getFullYear();if(r<this.minYear){r=this.minYear;d.setFullYear(r)}else{if(r>this.maxYear){r=this.maxYear;d.setFullYear(r)}}this.firstDayOfWeek=a;this.date=new Date(d);var y=d.getMonth();var z=d.getDate();var s=d.getMonthDays();d.setDate(1);var o=(d.getDay()-this.firstDayOfWeek)%7;if(o<0){o+=7}d.setDate(-o);d.setDate(d.getDate()+1);var q=this.tbody.firstChild;var c=Calendar._SMN[y];var b=this.ar_days=new Array();var f=Calendar._TT.WEEKEND;var p=this.multiple?(this.datesCells={}):null;for(var g=0;g<6;++g,q=q.nextSibling){var w=q.firstChild;if(this.weekNumbers){w.className="day wn";w.innerHTML=d.getWeekNumber();w=w.nextSibling}q.className="daysrow";var m=false,k,h=b[g]=[];for(var v=0;v<7;++v,w=w.nextSibling,d.setDate(k+1)){k=d.getDate();var l=d.getDay();w.className="day";w.pos=g<<4|v;h[v]=w;var n=(d.getMonth()==y);if(!n){if(this.showsOtherMonths){w.className+=" othermonth";w.otherMonth=true}else{w.className="emptycell";w.innerHTML="&nbsp;";w.disabled=true;continue}}else{w.otherMonth=false;m=true}w.disabled=false;w.innerHTML=this.getDateText?this.getDateText(d,k):k;if(p){p[d.print("%Y%m%d")]=w}if(this.getDateStatus){var t=this.getDateStatus(d,r,y,k);if(t===true){w.className+=" disabled";w.disabled=true}else{if(/disabled/i.test(t)){w.disabled=true}w.className+=" "+t}}if(!w.disabled){w.caldate=new Date(d);w.ttip="_";if(!this.multiple&&n&&k==z&&this.hiliteToday){w.className+=" selected";this.currentDateEl=w}if(d.getFullYear()==e&&d.getMonth()==u&&k==A){w.className+=" today";w.ttip+=Calendar._TT.PART_TODAY}if(f.indexOf(l.toString())!=-1){w.className+=w.otherMonth?" oweekend":" weekend"}}}if(!(m||this.showsOtherMonths)){q.className="emptyrow"}}this.title.innerHTML=Calendar._MN[y]+", "+r;this.onSetTime();this.table.style.visibility="visible";this._initMultipleDates()};Calendar.prototype._initMultipleDates=function(){if(this.multiple){for(var a in this.multiple){var c=this.datesCells[a];var b=this.multiple[a];if(!b){continue}if(c){c.className+=" selected"}}}};Calendar.prototype._toggleMultipleDate=function(e){if(this.multiple){var a=e.print("%Y%m%d");var c=this.datesCells[a];if(c){var b=this.multiple[a];if(!b){Calendar.addClass(c,"selected");this.multiple[a]=e}else{Calendar.removeClass(c,"selected");delete this.multiple[a]}}}};Calendar.prototype.setDateToolTipHandler=function(a){this.getDateToolTip=a};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(c,b){this.minYear=c;this.maxYear=b};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._dynarch_popupCalendar=null};Calendar.prototype.reparent=function(b){var a=this.element;a.parentNode.removeChild(a);b.appendChild(a)};Calendar._checkCalendar=function(c){var a=window._dynarch_popupCalendar;if(!a){return false}var b=Calendar.is_ie?Calendar.getElement(c):Calendar.getTargetElement(c);for(;b!=null&&b!=a.element;b=b.parentNode){}if(b==null){window._dynarch_popupCalendar.callCloseHandler();return Calendar.stopEvent(c)}};Calendar.prototype.show=function(){var c=this.table.getElementsByTagName("tr");for(var a=c.length;a>0;){var b=c[--a];Calendar.removeClass(b,"rowhilite");var d=b.getElementsByTagName("td");for(var f=d.length;f>0;){var e=d[--f];Calendar.removeClass(e,"hilite");Calendar.removeClass(e,"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()};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(b,c){var a=this.element.style;a.left=b+"px";a.top=c+"px";this.show()};Calendar.prototype.showAtElement=function(a,b){var e=this;var c=Calendar.getAbsolutePos(a);if(!b||typeof b!="string"){this.showAt(c.x,c.y+a.offsetHeight);return true}function d(g){if(g.x<0){g.x=0}if(g.y<0){g.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 i=Calendar.getAbsolutePos(j);document.body.removeChild(j);if(Calendar.is_ie){i.y+=document.body.scrollTop;i.x+=document.body.scrollLeft}else{i.y+=window.scrollY;i.x+=window.scrollX}var f=g.x+g.width-i.x;if(f>0){g.x-=f}f=g.y+g.height-i.y;if(f>0){g.y-=f}}this.element.style.display="block";Calendar.continuation_for_the_fucking_khtml_browser=function(){var j=e.element.offsetWidth;var f=e.element.offsetHeight;e.element.style.display="none";var i=b.substr(0,1);var g="l";if(b.length>1){g=b.substr(1,1)}switch(i){case"T":c.y-=f;break;case"B":c.y+=a.offsetHeight;break;case"C":c.y+=(a.offsetHeight-f)/2;break;case"t":c.y+=a.offsetHeight-f;break;case"b":break}switch(g){case"L":c.x-=j;break;case"R":c.x+=a.offsetWidth;break;case"C":c.x+=(a.offsetWidth-j)/2;break;case"l":c.x+=a.offsetWidth-j;break;case"r":break}c.width=j;c.height=f+40;e.monthsCombo.style.display="none";d(c);e.showAt(c.x,c.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(b,a){if(!a){a=this.dateFormat}this.setDate(Date.parseDate(b,a))};Calendar.prototype.hideShowCovered=function(){if(!Calendar.is_ie&&!Calendar.is_opera){return}function a(i){var k=i.style.visibility;if(!k){if(document.defaultView&&typeof(document.defaultView.getComputedStyle)=="function"){if(!Calendar.is_khtml){k=document.defaultView.getComputedStyle(i,"").getPropertyValue("visibility")}else{k=""}}else{if(i.currentStyle){k=i.currentStyle.visibility}else{k=""}}}return k}var s=new Array("applet","iframe","select");var g=this.element;var b=Calendar.getAbsolutePos(g);var l=b.x;var j=g.offsetWidth+l;var n=b.y;var m=g.offsetHeight+n;for(var f=s.length;f>0;){var e=document.getElementsByTagName(s[--f]);var d=null;for(var h=e.length;h>0;){d=e[--h];b=Calendar.getAbsolutePos(d);var q=b.x;var c=d.offsetWidth+q;var o=b.y;var r=d.offsetHeight+o;if(this.hidden||(q>j)||(c<l)||(o>m)||(r<n)){if(!d.__msh_save_visibility){d.__msh_save_visibility=a(d)}d.style.visibility=d.__msh_save_visibility}else{if(!d.__msh_save_visibility){d.__msh_save_visibility=a(d)}d.style.visibility="hidden"}}}};Calendar.prototype._displayWeekdays=function(){var b=this.firstDayOfWeek;var e=this.firstdayname;var a=Calendar._TT.WEEKEND;for(var c=0;c<7;++c){e.className="day name";var d=(c+b)%7;if(c){e.ttip=Calendar._TT.DAY_FIRST.replace("%s",Calendar._DN[d]);e.navtype=100;e.calendar=this;e.fdow=d;Calendar._add_evs(e)}if(a.indexOf(d.toString())!=-1){Calendar.addClass(e,"weekend")}e.innerHTML=Calendar._SDN[(c+b)%7];e=e.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.parseDate=function(h,c){var f=new Date();var p=0;var n=-1;var s=0;var q=h.split(/\W+/);var o=c.match(/%./g);var k=0,l=0;var r=0;var e=0;for(k=0;k<q.length;++k){if(!q[k]){continue}switch(o[k]){case"%d":case"%e":s=parseInt(q[k],10);break;case"%m":n=parseInt(q[k],10)-1;break;case"%Y":case"%y":p=parseInt(q[k],10);(p<100)&&(p+=(p>29)?1900:2000);break;case"%b":case"%B":for(l=0;l<12;++l){if(Calendar._MN[l].substr(0,q[k].length).toLowerCase()==q[k].toLowerCase()){n=l;break}}break;case"%H":case"%I":case"%k":case"%l":r=parseInt(q[k],10);break;case"%P":case"%p":if(/pm/i.test(q[k])&&r<12){r+=12}else{if(/am/i.test(q[k])&&r>=12){r-=12}}break;case"%M":e=parseInt(q[k],10);break}}if(isNaN(p)){p=f.getFullYear()}if(isNaN(n)){n=f.getMonth()}if(isNaN(s)){s=f.getDate()}if(isNaN(r)){r=f.getHours()}if(isNaN(e)){e=f.getMinutes()}if(p!=0&&n!=-1&&s!=0){return new Date(p,n,s,r,e,0)}p=0;n=-1;s=0;for(k=0;k<q.length;++k){if(q[k].search(/[a-zA-Z]+/)!=-1){var g=-1;for(l=0;l<12;++l){if(Calendar._MN[l].substr(0,q[k].length).toLowerCase()==q[k].toLowerCase()){g=l;break}}if(g!=-1){if(n!=-1){s=n+1}n=g}}else{if(parseInt(q[k],10)<=12&&n==-1){n=q[k]-1}else{if(parseInt(q[k],10)>31&&p==0){p=parseInt(q[k],10);(p<100)&&(p+=(p>29)?1900:2000)}else{if(s==0){s=q[k]}}}}}if(p==0){p=f.getFullYear()}if(n!=-1&&s!=0){return new Date(p,n,s,r,e,0)}return f};Date.prototype.getMonthDays=function(a){var b=this.getFullYear();if(typeof a=="undefined"){a=this.getMonth()}if(((0==(b%4))&&((0!=(b%100))||(0==(b%400))))&&a==1){return 29}else{return Date._MD[a]}};Date.prototype.getDayOfYear=function(){var c=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var a=new Date(this.getFullYear(),0,0,0,0,0);var b=c-a;return Math.floor(b/Date.DAY)};Date.prototype.getWeekNumber=function(){var a=new Date(this.getFullYear(),this.getMonth(),this.getDate(),0,0,0);var c=a.getDay();a.setDate(a.getDate()-(c+6)%7+3);var b=a.valueOf();a.setMonth(0);a.setDate(4);return Math.round((b-a.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.setDateOnly=function(b){var a=new Date(b);this.setDate(1);this.setFullYear(a.getFullYear());this.setMonth(a.getMonth());this.setDate(a.getDate())};Date.prototype.print=function(b){var g=this.getMonth();var l=this.getDate();var u=this.getFullYear();var n=this.getWeekNumber();var e=this.getDay();var c={};var o=this.getHours();var h=(o>=12);var t=(h)?(o-12):o;var p=this.getDayOfYear();if(t==0){t=12}var k=this.getMinutes();var r=this.getSeconds();c["%a"]=Calendar._SDN[e];c["%A"]=Calendar._DN[e];c["%b"]=Calendar._SMN[g];c["%B"]=Calendar._MN[g];c["%C"]=1+Math.floor(u/100);c["%d"]=(l<10)?("0"+l):l;c["%e"]=l;c["%H"]=(o<10)?("0"+o):o;c["%I"]=(t<10)?("0"+t):t;c["%j"]=(p<100)?((p<10)?("00"+p):("0"+p)):p;c["%k"]=o;c["%l"]=t;c["%m"]=(g<9)?("0"+(1+g)):(1+g);c["%M"]=(k<10)?("0"+k):k;c["%n"]="\n";c["%p"]=h?"PM":"AM";c["%P"]=h?"pm":"am";c["%s"]=Math.floor(this.getTime()/1000);c["%S"]=(r<10)?("0"+r):r;c["%t"]="\t";c["%U"]=c["%W"]=c["%V"]=(n<10)?("0"+n):n;c["%u"]=e+1;c["%w"]=e;c["%y"]=(""+u).substr(2,2);c["%Y"]=u;c["%%"]="%";var v=/%./g;if(!Calendar.is_ie5&&!Calendar.is_khtml){return b.replace(v,function(a){return c[a]||a})}var j=b.match(v);for(var f=0;f<j.length;f++){var q=c[j[f]];if(q){v=new RegExp(j[f],"g");b=b.replace(v,q)}}return b};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._dynarch_popupCalendar=null;Calendar._DN=new Array("Неділя","Понеділок","Вівторок","Середа","Четвер","П'ятница","Субота","Неділя");Calendar._SDN=new Array("Нед","Пон","Вів","Сер","Чет","П'ят","Суб","Нед");Calendar._FD=1;Calendar._MN=new Array("Січень","Лютий","Березень","Квітень","Травень","Червень","Липень","Серпень","Вересень","Жовтень","Листопад","Грудень");Calendar._SMN=new Array("Січ","Лют","Бер","Квіт","Трав","Чер","Лип","Сер","Вер","Жов","Жов","Лис","Груд");Calendar._TT={};Calendar._TT.INFO="Про календар";Calendar._TT.ABOUT="DHTML Date/Time Selector\n(c) dynarch.com 2002-2003\nFor latest version visit: http://dynarch.com/mishoo/calendar.epl\nDistributed under GNU LGPL.  See http://gnu.org/licenses/lgpl.html for details.\n\nЯк вибрати дату:\n- За допомогою кнопок \xab, \xbb можна вибрати рік\n- За допомогою кнопок "+String.fromCharCode(8249)+", "+String.fromCharCode(8250)+" можна вибрати місяць\n- Утримуйте ці кнопки натиснутими, щоб відобразилось меню швидкого вибору.";Calendar._TT.ABOUT_TIME="\n\nЯк вибрати час\n- Для збільшення відображення годин або хвилин клацніть по ним лівою кнопкою миші\n- Для зменшення відображення годин або хвилин клацніть по ним лівою кнопкою миші, утримуючи натиснутою клавішу Shift.\n- Для зміни значення годин або хвилин натисніть по ним лівою кнопкою миші та тягніть вліво для зменшення значення або вправо для збільшення значення.";Calendar._TT.PREV_YEAR="Попер. рік";Calendar._TT.PREV_MONTH="Попер. місяць";Calendar._TT.GO_TODAY="Сьогодні";Calendar._TT.NEXT_MONTH="Наст. місяць";Calendar._TT.NEXT_YEAR="Наст. рік";Calendar._TT.SEL_DATE="Виберіть дату";Calendar._TT.DRAG_TO_MOVE="";Calendar._TT.PART_TODAY=" (сьогодні)";Calendar._TT.DAY_FIRST="Показувати %s першим";Calendar._TT.WEEKEND="0,6";Calendar._TT.CLOSE="Закрити";Calendar._TT.TODAY="Сьогодні";Calendar._TT.TIME_PART="(Shift-)Клацнути або натиснути та тягнути";Calendar._TT.DEF_DATE_FORMAT="%d.%m.%y";Calendar._TT.TT_DATE_FORMAT="%a, %b %e";Calendar._TT.WK="тиж";Calendar._TT.TIME="Час:";Calendar.setup=function(g){function e(h,i){if(typeof g[h]=="undefined"){g[h]=i}}e("inputField",null);e("displayArea",null);e("button",null);e("eventName","click");e("ifFormat","%d.%m.%Y");e("daFormat","%d.%m.%Y");e("singleClick",true);e("disableFunc",null);e("dateStatusFunc",g.disableFunc);e("dateTooltipFunc",null);e("dateText",null);e("firstDay",1);e("align","Br");e("range",[1990,2999]);e("weekNumbers",false);e("flat",null);e("flatCallback",null);e("onSelect",null);e("onClose",null);e("onUpdate",null);e("date",null);e("showsTime",false);e("timeFormat","24");e("electric",true);e("step",2);e("position",null);e("cache",false);e("showOthers",false);e("multiple",null);var a=["inputField","displayArea","button"];for(var b in a){if(typeof g[a[b]]=="string"){g[a[b]]=document.getElementById(g[a[b]])}}if(!(g.flat||g.multiple||g.inputField||g.displayArea||g.button)){alert("Calendar.setup:\n  Nothing to setup (no fields found).  Please check your code");return false}function c(j){var i=j.params;var h=(j.dateClicked||i.electric);if(h&&i.inputField){i.inputField.value=j.date.print(i.ifFormat);if(typeof i.inputField.onchange=="function"){i.inputField.onchange()}}if(h&&i.displayArea){i.displayArea.innerHTML=j.date.print(i.daFormat)}if(h&&typeof i.onUpdate=="function"){i.onUpdate(j)}if(h&&i.flat){if(typeof i.flatCallback=="function"){i.flatCallback(j)}}if(h&&i.singleClick&&j.dateClicked){j.callCloseHandler()}}if(g.flat!=null){if(typeof g.flat=="string"){g.flat=document.getElementById(g.flat)}if(!g.flat){alert("Calendar.setup:\n  Flat specified but can't find parent.");return false}var f=new Calendar(g.firstDay,g.date,g.onSelect||c);f.setDateToolTipHandler(g.dateTooltipFunc);f.showsOtherMonths=g.showOthers;f.showsTime=g.showsTime;f.time24=(g.timeFormat=="24");f.params=g;f.weekNumbers=g.weekNumbers;f.setRange(g.range[0],g.range[1]);f.setDateStatusHandler(g.dateStatusFunc);f.getDateText=g.dateText;if(g.ifFormat){f.setDateFormat(g.ifFormat)}if(g.inputField&&typeof g.inputField.value=="string"){f.parseDate(g.inputField.value)}f.create(g.flat);f.show();return false}var d=g.button||g.displayArea||g.inputField;d["on"+g.eventName]=function(){var n=g.inputField||g.displayArea;var o=g.inputField?g.ifFormat:g.daFormat;var j=false;var m=window.calendar;if(n){g.date=Date.parseDate(n.value||n.innerHTML,o)}if(!(m&&g.cache)){window.calendar=m=new Calendar(g.firstDay,g.date,g.onSelect||c,g.onClose||function(i){i.hide()});m.setDateToolTipHandler(g.dateTooltipFunc);m.showsTime=g.showsTime;m.time24=(g.timeFormat=="24");m.weekNumbers=g.weekNumbers;j=true}else{if(g.date){m.setDate(g.date)}m.hide()}if(g.multiple){m.multiple={};for(var k=g.multiple.length;--k>=0;){var l=g.multiple[k];var h=l.print("%Y%m%d");m.multiple[h]=l}}m.showsOtherMonths=g.showOthers;m.yearStep=g.step;m.setRange(g.range[0],g.range[1]);m.params=g;m.setDateStatusHandler(g.dateStatusFunc);m.getDateText=g.dateText;m.setDateFormat(o);if(j){m.create()}m.refresh();if(!g.position){m.showAtElement(g.button||g.displayArea||g.inputField,g.align)}else{m.showAt(g.position[0],g.position[1])}return false};return f};(function(c){var a=(c.browser.msie?"paste":"input")+".mask";var b=(window.orientation!=undefined);c.mask={definitions:{"9":"[0-9]",a:"[A-Za-z]","*":"[A-Za-z0-9]"}};c.fn.extend({caret:function(d,e){if(this.length==0){return}if(typeof d=="number"){e=(typeof e=="number")?e:d;return this.each(function(){if(this.setSelectionRange){this.focus();this.setSelectionRange(d,e)}else{if(this.createTextRange){var g=this.createTextRange();g.collapse(true);g.moveEnd("character",e);g.moveStart("character",d);g.select()}}})}else{if(this[0].setSelectionRange){d=this[0].selectionStart;e=this[0].selectionEnd}else{if(document.selection&&document.selection.createRange){var f=document.selection.createRange();d=0-f.duplicate().moveStart("character",-100000);e=d+f.text.length}}return{begin:d,end:e}}},unmask:function(){return this.trigger("unmask")},mask:function(k,e){if(!k&&this.length>0){var i=c(this[0]);var d=i.data("tests");return c.map(i.data("buffer"),function(m,l){return d[l]?m:null}).join("")}e=c.extend({placeholder:"_",completed:null},e);var j=c.mask.definitions;var d=[];var h=k.length;var g=null;var f=k.length;c.each(k.split(""),function(l,m){if(m=="?"){f--;h=l}else{if(j[m]){d.push(new RegExp(j[m]));if(g==null){g=d.length-1}}else{d.push(null)}}});return this.each(function(){var u=c(this);var p=c.map(k.split(""),function(y,x){if(y!="?"){return j[y]?e.placeholder:y}});var l=false;var n=u.val();u.data("buffer",p).data("tests",d);function s(x){while(++x<=f&&!d[x]){}return x}function q(y){while(!d[y]&&--y>=0){}for(var x=y;x<f;x++){if(d[x]){p[x]=e.placeholder;var z=s(x);if(z<f&&d[x].test(p[z])){p[x]=p[z]}else{break}}}m();u.caret(Math.max(g,y))}function r(y){for(var x=y,z=e.placeholder;x<f;x++){if(d[x]){var B=s(x);var A=p[x];p[x]=z;if(B<f&&d[B].test(A)){z=A}else{break}}}}function v(x){var y=c(this).caret();var z=x.keyCode;l=(z<16||(z>16&&z<32)||(z>32&&z<41));if((y.begin-y.end)!=0&&(!l||z==8||z==46)){t(y.begin,y.end)}if(z==8||z==46||(b&&z==127)){q(y.begin+(z==46?0:-1));return false}else{if(z==27){u.val(n);u.caret(0,w());return false}}}function o(x){if(l){l=false;return(x.keyCode==8)?false:null}x=x||window.event;var C=x.charCode||x.keyCode||x.which;var z=c(this).caret();if(x.ctrlKey||x.altKey||x.metaKey){return true}else{if((C>=32&&C<=125)||C>186){var y=s(z.begin-1);if(y<f){var A=String.fromCharCode(C);if(d[y].test(A)){r(y);p[y]=A;m();var B=s(y);c(this).caret(B);if(e.completed&&B==f){e.completed.call(u)}}}}}return false}function t(z,y){for(var x=z;x<y&&x<f;x++){if(d[x]){p[x]=e.placeholder}}}function m(){return u.val(p.join("")).val()}function w(A){var x=u.val();var C=-1;for(var y=0,z=0;y<f;y++){if(d[y]){p[y]=e.placeholder;while(z++<x.length){var B=x.charAt(z-1);if(d[y].test(B)){p[y]=B;C=y;break}}if(z>x.length){break}}else{if(p[y]==x[z]&&y!=h){z++;C=y}}}if(!A&&C+1<h){u.val("");t(0,f)}else{if(A||C+1>=h){m();if(!A){u.val(u.val().substring(0,C+1))}}}return(h?y:g)}if(!u.attr("readonly")){u.one("unmask",function(){u.unbind(".mask").removeData("buffer").removeData("tests")}).bind("focus.mask",function(){n=u.val();var x=w();m();setTimeout(function(){if(x==k.length){u.caret(0,x)}else{u.caret(x)}},0)}).bind("blur.mask",function(){w();if(u.val()!=n){u.change()}}).bind("keydown.mask",v).bind("keypress.mask",o).bind(a,function(){setTimeout(function(){u.caret(w(true))},0)})}w()})}})})(jQuery);