112 lines
50 KiB
JavaScript
112 lines
50 KiB
JavaScript
//v.3.6 build 131108
|
|
|
|
/*
|
|
Copyright DHTMLX LTD. http://www.dhtmlx.com
|
|
You allowed to use this component or parts of it under GPL terms
|
|
To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com
|
|
*/
|
|
function dhtmlXCalendarObject(f,u){this.i={};this.uid=function(){if(!this.uidd)this.uidd=(new Date).getTime();return this.uidd++};var q=null,p=typeof f=="string"?document.getElementById(f):f;p&&typeof p=="object"&&p.tagName&&String(p.tagName).toLowerCase()!="input"&&(q=p);p=null;if(typeof f!="object"||!f.length)f=[f];for(var j=0;j<f.length;j++){typeof f[j]=="string"&&(f[j]=document.getElementById(f[j])||null);if(f[j]!=null&&f[j].tagName&&String(f[j].tagName).toLowerCase()=="input")this.i[this.uid()]=
|
|
{input:f[j]};else if(!(f[j]instanceof Array)&&f[j]instanceof Object&&(f[j].input!=null||f[j].button!=null)){if(f[j].input!=null&&typeof f[j].input=="string")f[j].input=document.getElementById(f[j].input);if(f[j].button!=null&&typeof f[j].button=="string")f[j].button=document.getElementById(f[j].button);this.i[this.uid()]=f[j]}f[j]=null}this.skinDetect=function(){var a=document.createElement("DIV");a.className="dhtmlxcalendar_skin_detect";document.body.firstChild?document.body.insertBefore(a,document.body.firstChild):
|
|
document.body.appendChild(a);var b=a.offsetWidth;a.parentNode.removeChild(a);a=null;return{10:"dhx_skyblue",20:"dhx_web",30:"dhx_terrace",40:"dhx_blue",50:"dhx_black",60:"omega"}[b]||null};this.skin=u!=null?u:typeof dhtmlx!="undefined"&&typeof dhtmlx.skin=="string"?dhtmlx.skin:this.skinDetect()||"dhx_skyblue";this.setSkin=function(a,b){if(this.skin!=a||b)this.skin=a,this.base.className="dhtmlxcalendar_container dhtmlxcalendar_skin_"+this.skin,this._ifrSize()};this.base=document.createElement("DIV");
|
|
this.base.className="dhtmlxcalendar_container";this.base.style.display="none";this.base.appendChild(document.createElement("DIV"));q!=null?(this._hasParent=!0,q.appendChild(this.base),q=null):document.body.appendChild(this.base);this.setParent=function(a){this._hasParent&&(typeof a=="object"?a.appendChild(this.base):typeof a=="string"&&document.getElementById(a).appendChild(this.base))};this.setSkin(this.skin,!0);this.base.onclick=function(a){a=a||event;a.cancelBubble=!0};this.base.onmousedown=function(){return!1};
|
|
this.loadUserLanguage=function(a){if(this.langData[a]&&(this.lang=a,this.setWeekStartDay(this.langData[this.lang].weekstart),this.setDateFormat(this.langData[this.lang].dateformat||"%Y-%m-%d"),this.msCont))for(var b=0,c=0;c<this.msCont.childNodes.length;c++)for(var d=0;d<this.msCont.childNodes[c].childNodes.length;d++)this.msCont.childNodes[c].childNodes[d].innerHTML=this.langData[this.lang].monthesSNames[b++]};this.contMonth=document.createElement("DIV");this.contMonth.className="dhtmlxcalendar_month_cont";
|
|
this.contMonth.onselectstart=function(a){a=a||event;a.cancelBubble=!0;return a.returnValue=!1};this.base.firstChild.appendChild(this.contMonth);var n=document.createElement("UL");n.className="dhtmlxcalendar_line";this.contMonth.appendChild(n);var k=document.createElement("LI");k.className="dhtmlxcalendar_cell dhtmlxcalendar_month_hdr";k.innerHTML="<div class='dhtmlxcalendar_month_arrow dhtmlxcalendar_month_arrow_left' onmouseover='this.className=\"dhtmlxcalendar_month_arrow dhtmlxcalendar_month_arrow_left_hover\";' onmouseout='this.className=\"dhtmlxcalendar_month_arrow dhtmlxcalendar_month_arrow_left\";'></div><span class='dhtmlxcalendar_month_label_month'>Month</span><span class='dhtmlxcalendar_month_label_year'>Year</span><div class='dhtmlxcalendar_month_arrow dhtmlxcalendar_month_arrow_right' onmouseover='this.className=\"dhtmlxcalendar_month_arrow dhtmlxcalendar_month_arrow_right_hover\";' onmouseout='this.className=\"dhtmlxcalendar_month_arrow dhtmlxcalendar_month_arrow_right\";'></div>";
|
|
n.appendChild(k);var c=this;k.onclick=function(a){var a=a||event,b=a.target||a.srcElement;if(b.className&&b.className.indexOf("dhtmlxcalendar_month_arrow")===0){c._hideSelector();var h=b.parentNode.firstChild==b?-1:1,d=new Date(c._activeMonth);c._drawMonth(new Date(c._activeMonth.getFullYear(),c._activeMonth.getMonth()+h,1,0,0,0,0));c.callEvent("onArrowClick",[d,new Date(c._activeMonth)])}else b.className&&b.className=="dhtmlxcalendar_month_label_month"?(a.cancelBubble=!0,c._showSelector("month",
|
|
31,21,"selector_month",!0)):b.className&&b.className=="dhtmlxcalendar_month_label_year"?(a.cancelBubble=!0,c._showSelector("year",42,21,"selector_year",!0)):c._hideSelector()};this.contDays=document.createElement("DIV");this.contDays.className="dhtmlxcalendar_days_cont";this.base.firstChild.appendChild(this.contDays);this.setWeekStartDay=function(a){a==0&&(a=7);this._wStart=Math.min(Math.max(isNaN(a)?1:a,1),7);this._drawDaysOfWeek()};this._drawDaysOfWeek=function(){if(this.contDays.childNodes.length==
|
|
0){var a=document.createElement("UL");a.className="dhtmlxcalendar_line";this.contDays.appendChild(a)}else a=this.contDays.firstChild;var b=this._wStart,c=this.langData[this.lang].daysSNames;c.push(String(this.langData[this.lang].daysSNames[0]).valueOf());for(var d=0;d<8;d++){if(a.childNodes[d]==null){var e=document.createElement("LI");a.appendChild(e)}else e=a.childNodes[d];d==0?(e.className="dhtmlxcalendar_cell_wn",e.innerHTML="<div class='dhtmlxcalendar_label'>"+(this.langData[this.lang].weekname||
|
|
"w")+"</div>"):(e.className="dhtmlxcalendar_cell"+(b>=6?" dhtmlxcalendar_day_weekday_cell":"")+(d==1?"_first":""),e.innerHTML=c[b],++b>7&&(b=1))}this._activeMonth!=null&&this._drawMonth(this._activeMonth)};this._wStart=this.langData[this.lang].weekstart;this.setWeekStartDay(this._wStart);this.contDates=document.createElement("DIV");this.contDates.className="dhtmlxcalendar_dates_cont";this.base.firstChild.appendChild(this.contDates);this.contDates.onclick=function(a){var a=a||event,b=a.target||a.srcElement;
|
|
if(b.parentNode!=null&&b.parentNode._date!=null)b=b.parentNode;if(b._date!=null&&!b._css_dis){var h=c._activeDate.getHours(),d=c._activeDate.getMinutes(),e=b._date;if(!c.checkEvent("onBeforeChange")||c.callEvent("onBeforeChange",[new Date(b._date.getFullYear(),b._date.getMonth(),b._date.getDate(),h,d)])){if(c._activeDateCell!=null)c._activeDateCell._css_date=!1,c._updateCellStyle(c._activeDateCell._q,c._activeDateCell._w);var i=c._activeDate.getFullYear()+"_"+c._activeDate.getMonth()!=e.getFullYear()+
|
|
"_"+e.getMonth();c._nullDate=!1;c._activeDate=new Date(e.getFullYear(),e.getMonth(),e.getDate(),h,d);c._activeDateCell=b;c._activeDateCell._css_date=!0;c._activeDateCell._css_hover=!1;c._updateCellStyle(c._activeDateCell._q,c._activeDateCell._w);i&&c._drawMonth(c._activeDate);if(c._activeInp&&c.i[c._activeInp]&&c.i[c._activeInp].input!=null)c.i[c._activeInp].input.value=c._dateToStr(new Date(c._activeDate.getTime()));c._hasParent||c._hide();c.callEvent("onClick",[new Date(c._activeDate.getTime())])}}};
|
|
this.contDates.onmouseover=function(a){var a=a||event,b=a.target||a.srcElement;if(b.parentNode!=null&&b.parentNode._date!=null)b=b.parentNode;if(b._date!=null&&!(c._lastHover==b||b._css_hover))b._css_hover=!0,c._updateCellStyle(b._q,b._w),c._lastHover=b,c.callEvent("onMouseOver",[new Date(b._date.getFullYear(),b._date.getMonth(),b._date.getDate(),0,0,0,0),a]),b=null};this.contDates.onmouseout=function(a){c._clearDayHover(a||event)};this._lastHover=null;this._clearDayHover=function(a){if(this._lastHover)this._lastHover._css_hover=
|
|
!1,this._updateCellStyle(this._lastHover._q,this._lastHover._w),c.callEvent("onMouseOut",[new Date(this._lastHover._date.getFullYear(),this._lastHover._date.getMonth(),this._lastHover._date.getDate(),0,0,0,0),a]),this._lastHover=null};for(j=0;j<6;j++){n=document.createElement("UL");n.className="dhtmlxcalendar_line";this.contDates.appendChild(n);for(var s=0;s<=7;s++)k=document.createElement("LI"),k.className=s==0?"dhtmlxcalendar_cell_wn":"dhtmlxcalendar_cell",n.appendChild(k)}this.contTime=document.createElement("DIV");
|
|
this.contTime.className="dhtmlxcalendar_time_cont";this.base.firstChild.appendChild(this.contTime);var t=document.createElement("DIV");t.className="dhtmlxcalendar_bottom";this.base.firstChild.appendChild(t);t=null;this.showTime=function(){this.contTime.style.display="";this._ifrSize()};this.hideTime=function(){this.contTime.style.display="none";this._ifrSize()};n=document.createElement("UL");n.className="dhtmlxcalendar_line";this.contTime.appendChild(n);k=document.createElement("LI");k.className=
|
|
"dhtmlxcalendar_cell dhtmlxcalendar_time_hdr";k.innerHTML="<div class='dhtmlxcalendar_time_label'></div><span class='dhtmlxcalendar_label_hours'></span><span class='dhtmlxcalendar_label_colon'>:</span><span class='dhtmlxcalendar_label_minutes'></span>";n.appendChild(k);k.onclick=function(a){var a=a||event,b=a.target||a.srcElement;if(b.tagName!=null&&b.tagName.toLowerCase()=="span"&&b._par==!0&&b.parentNode!=null)b=b.parentNode;if(b.className&&b.className=="dhtmlxcalendar_label_hours")a.cancelBubble=
|
|
!0,c._showSelector("hours",3,115,"selector_hours",!0);else if(b.className&&b.className=="dhtmlxcalendar_label_minutes"){a.cancelBubble=!0;var h=59,d=115;if(c._minutesInterval==1){var e=c.getFormatedDate("%i");b.innerHTML="<span class='dhtmlxcalendar_selected_date'>"+e.charAt(0)+"</span>"+e.charAt(1);b.firstChild._par=!0;c._selectorMode=1;d=149}c._minutesInterval==10&&(d=149);c._minutesInterval==15&&(h=46,d=165);c._showSelector("minutes",h,d,"selector_minutes",!0)}else c._hideSelector()};this._activeMonth=
|
|
null;this._activeDate=new Date;this._activeDateCell=null;this.setDate=function(a){this._nullDate=typeof a=="undefined"||a===""||!a;a instanceof Date||(a=this._strToDate(String(a||"")),a=="Invalid Date"&&(a=new Date));var b=a.getTime();if(!this._isOutOfRange(b))this._activeDate=new Date(b),this._drawMonth(this._nullDate?new Date:this._activeDate),this._updateVisibleHours(),this._updateVisibleMinutes()};this.getDate=function(a){if(this._nullDate)return null;var b=new Date(this._activeDate.getTime());
|
|
return a?this._dateToStr(b):b};this._drawMonth=function(a){if(a instanceof Date){isNaN(a.getFullYear())&&(a=new Date(this._activeMonth.getFullYear(),this._activeMonth.getMonth(),1,0,0,0,0));this._activeMonth=new Date(a.getFullYear(),a.getMonth(),1,0,0,0,0);this._activeDateCell=null;var b=new Date(this._activeMonth.getTime()),c=b.getDay(),d=c-this._wStart;d<0&&(d+=7);b.setDate(b.getDate()-d);for(var e=a.getMonth(),i=(new Date(this._activeDate.getFullYear(),this._activeDate.getMonth(),this._activeDate.getDate(),
|
|
0,0,0,0)).getTime(),m=0,g=0;g<6;g++)for(var f=this._wStart,l=0;l<=7;l++)if(l==0){var v=this.getWeekNumber(new Date(b.getFullYear(),b.getMonth(),b.getDate()+m,0,0,0,0));this.contDates.childNodes[g].childNodes[l].innerHTML="<div class='dhtmlxcalendar_label'>"+v+"</div>"}else{var r=new Date(b.getFullYear(),b.getMonth(),b.getDate()+m,0,0,0,0),j=r.getDay(),k=r.getTime(),n="dhtmlxcalendar_label";this._tipData[k]!=null?(this._tipData[k].usePopup&&typeof window.dhtmlXPopup=="function"?(this.contDates.childNodes[g].childNodes[l].removeAttribute("title"),
|
|
this._initTooltipPopup()):this.contDates.childNodes[g].childNodes[l].setAttribute("title",this._tipData[k].text),this._tipData[k].showIcon&&(n+=" dhtmlxcalendar_label_title")):this.contDates.childNodes[g].childNodes[l].removeAttribute("title");this.contDates.childNodes[g].childNodes[l].innerHTML="<div class='"+n+"'>"+r.getDate()+"</div>";this.contDates.childNodes[g].childNodes[l]._date=new Date(k);this.contDates.childNodes[g].childNodes[l]._q=g;this.contDates.childNodes[g].childNodes[l]._w=l;this.contDates.childNodes[g].childNodes[l]._css_month=
|
|
r.getMonth()==e;this.contDates.childNodes[g].childNodes[l]._css_date=!this._nullDate&&k==i;this.contDates.childNodes[g].childNodes[l]._css_weekend=f>=6;this.contDates.childNodes[g].childNodes[l]._css_dis=this._isOutOfRange(k);this.contDates.childNodes[g].childNodes[l]._css_holiday=this._holidays[k]==!0;this._updateCellStyle(g,l);if(k==i)this._activeDateCell=this.contDates.childNodes[g].childNodes[l];++f>7&&(f=1);m++}this.contMonth.firstChild.firstChild.childNodes[1].innerHTML=this.langData[this.lang].monthesFNames[a.getMonth()];
|
|
this.contMonth.firstChild.firstChild.childNodes[2].innerHTML=a.getFullYear()}};this._updateCellStyle=function(a,b){var c=this.contDates.childNodes[a].childNodes[b],d="dhtmlxcalendar_cell dhtmlxcalendar_cell";d+=c._css_month?"_month":"";d+=c._css_date?"_date":"";d+=c._css_weekend?"_weekend":"";d+=c._css_holiday?"_holiday":"";d+=c._css_dis?"_dis":"";d+=c._css_hover&&!c._css_dis?"_hover":"";c.className=d;c=null};this._minutesInterval=5;this._initSelector=function(a,b){if(!this._selCover)this._selCover=
|
|
document.createElement("DIV"),this._selCover.className="dhtmlxcalendar_selector_cover",this.base.firstChild.appendChild(this._selCover);if(!this._sel)this._sel=document.createElement("DIV"),this._sel.className="dhtmlxcalendar_selector_obj",this.base.firstChild.appendChild(this._sel),this._sel.appendChild(document.createElement("TABLE")),this._sel.firstChild.className="dhtmlxcalendar_selector_table",this._sel.firstChild.cellSpacing=0,this._sel.firstChild.cellPadding=0,this._sel.firstChild.border=0,
|
|
this._sel.firstChild.appendChild(document.createElement("TBODY")),this._sel.firstChild.firstChild.appendChild(document.createElement("TR")),this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")),this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")),this._sel.firstChild.firstChild.firstChild.appendChild(document.createElement("TD")),this._sel.firstChild.firstChild.firstChild.childNodes[0].className="dhtmlxcalendar_selector_cell_left",this._sel.firstChild.firstChild.firstChild.childNodes[1].className=
|
|
"dhtmlxcalendar_selector_cell_middle",this._sel.firstChild.firstChild.firstChild.childNodes[2].className="dhtmlxcalendar_selector_cell_right",this._sel.firstChild.firstChild.firstChild.childNodes[0].innerHTML=" ",this._sel.firstChild.firstChild.firstChild.childNodes[2].innerHTML=" ",this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseover=function(){this.className="dhtmlxcalendar_selector_cell_left dhtmlxcalendar_selector_cell_left_hover"},this._sel.firstChild.firstChild.firstChild.childNodes[0].onmouseout=
|
|
function(){this.className="dhtmlxcalendar_selector_cell_left"},this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseover=function(){this.className="dhtmlxcalendar_selector_cell_right dhtmlxcalendar_selector_cell_right_hover"},this._sel.firstChild.firstChild.firstChild.childNodes[2].onmouseout=function(){this.className="dhtmlxcalendar_selector_cell_right"},this._sel.firstChild.firstChild.firstChild.childNodes[0].onclick=function(a){a=a||event;a.cancelBubble=!0;c._scrollYears(-1)},this._sel.firstChild.firstChild.firstChild.childNodes[2].onclick=
|
|
function(a){a=a||event;a.cancelBubble=!0;c._scrollYears(1)},this._sel._ta={},this._selHover=null,this._sel.onmouseover=function(a){var a=a||event,b=a.target||a.srcElement;if(b._cell===!0&&(c._selHover!=b&&c._clearSelHover(),String(b.className).match(/^\s{0,}dhtmlxcalendar_selector_cell\s{0,}$/gi)!=null))b.className+=" dhtmlxcalendar_selector_cell_hover",c._selHover=b},this._sel.onmouseout=function(){c._clearSelHover()},this._sel.appendChild(document.createElement("DIV")),this._sel.lastChild.className=
|
|
"dhtmlxcalendar_selector_obj_arrow";if(this._sel._ta[a]!=!0){if(a=="month"){this._msCells={};this.msCont=document.createElement("DIV");this.msCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.msCont);for(var h=0,d=0;d<4;d++){var e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.msCont.appendChild(e);for(var i=0;i<3;i++){var m=document.createElement("LI");m.innerHTML=this.langData[this.lang].monthesSNames[h];
|
|
m.className="dhtmlxcalendar_selector_cell";e.appendChild(m);m._month=h;m._cell=!0;this._msCells[h++]=m}}this.msCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement;b._month!=null&&(c._hideSelector(),c._updateActiveMonth(),c._drawMonth(new Date(c._activeMonth.getFullYear(),b._month,1,0,0,0,0)),c._doOnSelectorChange())}}if(a=="year"){this._ysCells={};this.ysCont=document.createElement("DIV");this.ysCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.ysCont);
|
|
for(d=0;d<4;d++){e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.ysCont.appendChild(e);for(i=0;i<3;i++)m=document.createElement("LI"),m.className="dhtmlxcalendar_selector_cell",m._cell=!0,e.appendChild(m)}this.ysCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement;b._year!=null&&(c._hideSelector(),c._drawMonth(new Date(b._year,c._activeMonth.getMonth(),1,0,0,0,0)),c._doOnSelectorChange())}}if(a=="hours"){this._hsCells={};this.hsCont=document.createElement("DIV");
|
|
this.hsCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.hsCont);for(d=h=0;d<4;d++){e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.hsCont.appendChild(e);for(i=0;i<6;i++)m=document.createElement("LI"),m.innerHTML=this._fixLength(h,2),m.className="dhtmlxcalendar_selector_cell",e.appendChild(m),m._hours=h,m._cell=!0,this._hsCells[h++]=m}this.hsCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||
|
|
a.srcElement;b._hours!=null&&(c._hideSelector(),c._activeDate.setHours(b._hours),c._updateActiveHours(),c._updateVisibleHours(),c._doOnSelectorChange())}}if(a=="minutes"){var g=4,f=3,l=2;this._minutesInterval==1&&(this._selectorMode==1?(g=2,f=3,l=1):(g=2,f=5,l=1,b+="5"));this._minutesInterval==10&&(g=2);this._minutesInterval==15&&(g=1,f=4,b+="4");this._rsCells={};this.rsCont=document.createElement("DIV");this.rsCont.className="dhtmlxcalendar_area_"+b;this._sel.firstChild.firstChild.firstChild.childNodes[1].appendChild(this.rsCont);
|
|
for(d=h=0;d<g;d++){e=document.createElement("UL");e.className="dhtmlxcalendar_selector_line";this.rsCont.appendChild(e);for(i=0;i<f;i++)m=document.createElement("LI"),m.innerHTML=l>1?this._fixLength(h,l):h,m.className="dhtmlxcalendar_selector_cell",e.appendChild(m),m._minutes=h,m._cell=!0,this._rsCells[h]=m,h+=this._minutesInterval}this.rsCont.onclick=function(a){a=a||event;a.cancelBubble=!0;var b=a.target||a.srcElement;if(b._minutes!=null){if(c._minutesInterval==1){var h=c.getFormatedDate("%i"),
|
|
h=c._selectorMode==1?b._minutes.toString()+h.charAt(1):h.charAt(0)+b._minutes.toString();c._activeDate.setMinutes(Number(h));c._hideSelector();if(c._selectorMode==1){c._updateVisibleMinutes(!0);c._selectorMode=2;c._showSelector("minutes",32,149,"selector_minutes",!0);c._updateActiveMinutes();return}else c._selectorMode=1}else c._hideSelector(),c._activeDate.setMinutes(b._minutes),c._updateActiveMinutes();c._updateVisibleMinutes();c._doOnSelectorChange()}}}this._sel._ta[a]=!0}};this._showSelector=
|
|
function(a,b,c,d,e){e===!0&&this._sel!=null&&this._isSelectorVisible()&&a==this._sel._t?this._hideSelector():(this.skin=="dhx_terrace"&&(b+={month:14,year:27,hours:19,minutes:24}[a],c+={month:8,year:8,hours:14,minutes:14}[a]),(!this._sel||!this._sel._ta[a])&&this._initSelector(a,d),this._selCover.style.display="",this._sel._t=a,this._sel.style.left=b+"px",this._sel.style.top=c+"px",this._sel.style.display="",this._sel.className="dhtmlxcalendar_selector_obj dhtmlxcalendar_"+d,this._sel.childNodes[0].firstChild.firstChild.childNodes[0].style.display=
|
|
this._sel.childNodes[0].firstChild.firstChild.childNodes[2].style.display=a=="year"?"":"none",this._sel.childNodes[1].style.width=this._sel.childNodes[0].offsetWidth+"px",this._doOnSelectorShow(a))};this._doOnSelectorShow=function(a){a=="month"&&this._updateActiveMonth();a=="year"&&this._updateYearsList(this._activeMonth);a=="hours"&&this._updateActiveHours();a=="minutes"&&this._updateActiveMinutes()};this._hideSelector=function(){if(this._sel&&(this._sel.style.display="none",this._selCover.style.display=
|
|
"none",this._sel._t=="minutes"&&this._minutesInterval==1))this.contTime.firstChild.firstChild.childNodes[3].innerHTML=this.getFormatedDate("%i"),this._unloadSelector("minutes")};this._isSelectorVisible=function(){return!this._sel?!1:this._sel.style.display!="none"};this._doOnSelectorChange=function(a){this.callEvent("onChange",[new Date(this._activeMonth.getFullYear(),this._activeMonth.getMonth(),this._activeDate.getDate(),this._activeDate.getHours(),this._activeDate.getMinutes(),this._activeDate.getSeconds()),
|
|
a===!0])};this._clearSelHover=function(){if(this._selHover)this._selHover.className=String(this._selHover.className.replace(/dhtmlxcalendar_selector_cell_hover/gi,"")),this._selHover=null};this._unloadSelector=function(a){if(this._sel&&this._sel._ta[a]){if(a=="month"){this._msActive=this.msCont.onclick=null;for(var b in this._msCells)this._msCells[b]._cell=null,this._msCells[b]._month=null,this._msCells[b].parentNode.removeChild(this._msCells[b]),this._msCells[b]=null;for(this._msCells=null;this.msCont.childNodes.length>
|
|
0;)this.msCont.removeChild(this.msCont.lastChild);this.msCont.parentNode.removeChild(this.msCont);this.msCont=null}if(a=="year"){this.ysCont.onclick=null;for(b in this._ysCells)this._ysCells[b]._cell=null,this._ysCells[b]._year=null,this._ysCells[b].parentNode.removeChild(this._ysCells[b]),this._ysCells[b]=null;for(this._ysCells=null;this.ysCont.childNodes.length>0;)this.ysCont.removeChild(this.ysCont.lastChild);this.ysCont.parentNode.removeChild(this.ysCont);this.ysCont=null}if(a=="hours"){this._hsActive=
|
|
this.hsCont.onclick=null;for(b in this._hsCells)this._hsCells[b]._cell=null,this._hsCells[b]._hours=null,this._hsCells[b].parentNode.removeChild(this._hsCells[b]),this._hsCells[b]=null;for(this._hsCells=null;this.hsCont.childNodes.length>0;)this.hsCont.removeChild(this.hsCont.lastChild);this.hsCont.parentNode.removeChild(this.hsCont);this.hsCont=null}if(a=="minutes"){this._rsActive=this.rsCont.onclick=null;for(b in this._rsCells)this._rsCells[b]._cell=null,this._rsCells[b]._minutes=null,this._rsCells[b].parentNode.removeChild(this._rsCells[b]),
|
|
this._rsCells[b]=null;for(this._rsCells=null;this.rsCont.childNodes.length>0;)this.rsCont.removeChild(this.rsCont.lastChild);this.rsCont.parentNode.removeChild(this.rsCont);this.rsCont=null}this._sel._ta[a]=null}};this.setMinutesInterval=function(a){if(a==1||a==5||a==10||a==15)this._minutesInterval=a,this._unloadSelector("minutes")};this._updateActiveMonth=function(){if(typeof this._msActive!="undefined"&&typeof this._msCells[this._msActive]!="undefined")this._msCells[this._msActive].className="dhtmlxcalendar_selector_cell";
|
|
this._msActive=this._activeMonth.getMonth();this._msCells[this._msActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateActiveYear=function(){var a=this._activeMonth.getFullYear();if(this._ysCells[a])this._ysCells[a].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateYearsList=function(a){for(var b in this._ysCells)this._ysCells[b]=null,delete this._ysCells[b];for(var c=12*Math.floor(a.getFullYear()/12),d=0;d<4;d++)for(var e=
|
|
0;e<3;e++)this.ysCont.childNodes[d].childNodes[e].innerHTML=c,this.ysCont.childNodes[d].childNodes[e]._year=c,this.ysCont.childNodes[d].childNodes[e].className="dhtmlxcalendar_selector_cell",this._ysCells[c++]=this.ysCont.childNodes[d].childNodes[e];this._updateActiveYear()};this._scrollYears=function(a){var b=(a<0?this.ysCont.firstChild.firstChild._year:this.ysCont.lastChild.lastChild._year)+a,c=new Date(b,this._activeMonth.getMonth(),1,0,0,0,0);this._updateYearsList(c)};this._updateActiveHours=
|
|
function(){if(typeof this._hsActive!="undefined"&&typeof this._hsCells[this._hsActive]!="undefined")this._hsCells[this._hsActive].className="dhtmlxcalendar_selector_cell";this._hsActive=this._activeDate.getHours();this._hsCells[this._hsActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateVisibleHours=function(){this.contTime.firstChild.firstChild.childNodes[1].innerHTML=this._fixLength(this._activeDate.getHours(),2)};this._updateActiveMinutes=function(){if(this._rsActive!=
|
|
null&&typeof this._rsActive!="undefined"&&typeof this._rsCells[this._rsActive]!="undefined")this._rsCells[this._rsActive].className="dhtmlxcalendar_selector_cell";this._rsActive=this._minutesInterval==1?this.getFormatedDate("%i").toString().charAt(this._selectorMode==1?0:1):this._activeDate.getMinutes();if(typeof this._rsCells[this._rsActive]!="undefined")this._rsCells[this._rsActive].className="dhtmlxcalendar_selector_cell dhtmlxcalendar_selector_cell_active"};this._updateVisibleMinutes=function(a){var b=
|
|
this._fixLength(this._activeDate.getMinutes(),2).toString();a==!0&&(b=b.charAt(0)+"<span class='dhtmlxcalendar_selected_date'>"+b.charAt(1)+"</span>");this.contTime.firstChild.firstChild.childNodes[3].innerHTML=b;if(a==!0)this.contTime.firstChild.firstChild.childNodes[3].lastChild._par=!0};this._fixLength=function(a,b){for(;String(a).length<b;)a="0"+String(a);return a};this._dateFormat="";this._dateFormatRE=null;this.setDateFormat=function(a){this._dateFormat=a;this._dateFormatRE=RegExp(String(this._dateFormat).replace(/%[a-zA-Z]+/g,
|
|
function(a){var h=a.replace(/%/,"");switch(h){case "n":case "h":case "j":case "g":case "G":return"\\d{1,2}";case "m":case "d":case "H":case "i":case "s":case "y":return"\\d{2}";case "Y":return"\\d{4}";case "M":return"("+c.langData[c.lang].monthesSNames.join("|").toLowerCase()+"){1,}";case "F":return"("+c.langData[c.lang].monthesFNames.join("|").toLowerCase()+"){1,}";case "D":return"[a-z]{2}";case "a":case "A":return"AM|PM"}return a}),"i")};this.setDateFormat(this.langData[this.lang].dateformat||"%Y-%m-%d");
|
|
this._getInd=function(a,b){for(var c=0;c<b.length;c++)if(b[c].toLowerCase()==a)return c;return-1};this._strToDate=function(a,b){var b=b||this._dateFormat,h=a.match(/[a-z0-9\u00e9\u00fb\u00e4\u0430-\u044F\u0451]{1,}/gi),d=b.match(/%[a-zA-Z]/g);if(!h||h.length!=d.length)return"Invalid Date";for(var e={"%y":1,"%Y":1,"%n":2,"%m":2,"%M":2,"%F":2,"%d":3,"%j":3,"%a":4,"%A":4,"%H":5,"%G":5,"%h":5,"%g":5,"%i":6,"%s":7},i={},f={},g=0;g<d.length;g++)if(typeof e[d[g]]!="undefined"){var j=e[d[g]];i[j]||(i[j]=
|
|
[],f[j]=[]);i[j].push(h[g]);f[j].push(d[g])}h=[];d=[];for(g=1;g<=7;g++)if(i[g]!=null)for(var l=0;l<i[g].length;l++)h.push(i[g][l]),d.push(f[g][l]);var k=new Date;k.setDate(1);k.setMinutes(0);k.setSeconds(0);for(g=0;g<h.length;g++)switch(d[g]){case "%d":case "%j":case "%n":case "%m":case "%Y":case "%H":case "%G":case "%i":case "%s":if(!isNaN(h[g]))k[{"%d":"setDate","%j":"setDate","%n":"setMonth","%m":"setMonth","%Y":"setFullYear","%H":"setHours","%G":"setHours","%i":"setMinutes","%s":"setSeconds"}[d[g]]](Number(h[g])+
|
|
(d[g]=="%m"||d[g]=="%n"?-1:0));break;case "%M":case "%F":var n=this._getInd(h[g].toLowerCase(),c.langData[c.lang][{"%M":"monthesSNames","%F":"monthesFNames"}[d[g]]]);n>=0&&k.setMonth(n);break;case "%y":if(!isNaN(h[g])){var o=Number(h[g]);k.setFullYear(o+(o>50?1900:2E3))}break;case "%g":case "%h":isNaN(h[g])||(o=Number(h[g]),o<=12&&o>=0&&k.setHours(o+(this._getInd("pm",h)>=0?o==12?0:12:o==12?-12:0)))}return k};this._dateToStr=function(a,b){if(a instanceof Date)var h=function(a){return String(a).length==
|
|
1?"0"+String(a):a},d=function(b){switch(b){case "%d":return h(a.getDate());case "%j":return a.getDate();case "%D":return c.langData[c.lang].daysSNames[a.getDay()];case "%l":return c.langData[c.lang].daysFNames[a.getDay()];case "%m":return h(a.getMonth()+1);case "%n":return a.getMonth()+1;case "%M":return c.langData[c.lang].monthesSNames[a.getMonth()];case "%F":return c.langData[c.lang].monthesFNames[a.getMonth()];case "%y":return h(a.getYear()%100);case "%Y":return a.getFullYear();case "%g":return(a.getHours()+
|
|
11)%12+1;case "%h":return h((a.getHours()+11)%12+1);case "%G":return a.getHours();case "%H":return h(a.getHours());case "%i":return h(a.getMinutes());case "%s":return h(a.getSeconds());case "%a":return a.getHours()>11?"pm":"am";case "%A":return a.getHours()>11?"PM":"AM";default:return b}},e=String(b||this._dateFormat).replace(/%[a-zA-Z]/g,d);return e||String(a)};this._updateDateStr=function(a){if(this._dateFormatRE&&a.match(this._dateFormatRE)&&a!=this.getFormatedDate()){var b=this._strToDate(a);
|
|
if(b instanceof Date)if(this.checkEvent("onBeforeChange")&&!this.callEvent("onBeforeChange",[new Date(b.getFullYear(),b.getMonth(),b.getDate(),b.getHours(),b.getMinutes(),b.getSeconds())])){if(this.i!=null&&this._activeInp!=null&&this.i[this._activeInp]!=null&&this.i[this._activeInp].input!=null)this.i[this._activeInp].input.value=this.getFormatedDate()}else this._nullDate=!1,this._activeDate=b,this._drawMonth(this._nullDate?new Date:this._activeDate),this._updateVisibleMinutes(),this._updateVisibleHours(),
|
|
this._sel&&this._isSelectorVisible()&&this._doOnSelectorShow(this._sel._t),this._doOnSelectorChange(!0)}};this.showMonth=function(a){typeof a=="string"&&(a=this._strToDate(a));a instanceof Date&&this._drawMonth(a)};this.setFormatedDate=function(a,b,c,d){var e=this._strToDate(b,a);if(d)return e;this.setDate(e)};this.getFormatedDate=function(a,b){if(!(b&&b instanceof Date)){if(this._nullDate)return"";b=new Date(this._activeDate)}return this._dateToStr(b,a)};this.getWeekNumber=function(a){typeof a==
|
|
"string"&&(a=this._strToDate(a));if(!(a instanceof Date))return"Invalid Date";if(typeof this._ftDay=="undefined")this._ftDay=4;var b=this._wStart,c=b+7,d=4,e=new Date(a.getFullYear(),0,1,0,0,0,0),i=e.getDay();i==0&&(i=7);d<b&&(d+=7,i+=7);var f=0;i>=b&&i<=d||(f=1);var g=i-b,j=new Date(a.getFullYear(),0,1-g+f*7,0,0,0,0),l=6048E5,k=new Date(a.getFullYear(),a.getMonth(),a.getDate()+1,0,0,0,0),n=Math.ceil((k.getTime()-j.getTime())/l);return n};this.showWeekNumbers=function(){this.base.firstChild.className=
|
|
"dhtmlxcalendar_wn"};this.hideWeekNumbers=function(){this.base.firstChild.className=""};this.show=function(a){if(!a&&this._hasParent)this._show();else if(typeof a=="object"&&typeof a._dhtmlxcalendar_uid!="undefined"&&this.i[a._dhtmlxcalendar_uid]==a)this._show(a._dhtmlxcalendar_uid);else{if(typeof a=="undefined")for(var b in this.i)a||(a=b);a&&this._show(a)}};this.hide=function(){this._isVisible()&&this._hide()};this.isVisible=function(){return this._isVisible()};this.draw=function(){this.show()};
|
|
this.close=function(){this.hide()};this._activeInp=null;this.pos="bottom";this.setPosition=function(a,b){this._py=this._px=null;if(a=="right"||a=="bottom")this.pos=a;else{this.pos="int";if(typeof a!="undefined"&&!isNaN(a))this.base.style.left=a+"px",this._px=a;if(typeof b!="undefined"&&!isNaN(b))this.base.style.top=b+"px",this._py=b;this._ifrSize()}};this._show=function(a,b){if(b===!0&&this._activeInp==a&&this._isVisible())this._hide();else{this.base.style.visibility="hidden";this.base.style.display=
|
|
"";if(a){var c=this.i[a].input||this.i[a].button,d=navigator.appVersion.indexOf("MSIE")!=-1,e=Math.max((d?document.documentElement:document.getElementsByTagName("html")[0]).scrollTop,document.body.scrollTop),i=e+(d?Math.max(document.documentElement.clientHeight||0,document.documentElement.offsetHeight||0,document.body.clientHeight||0):window.innerHeight);this.pos=="right"?(this.base.style.left=this._getLeft(c)+c.offsetWidth-1+"px",this.base.style.top=Math.min(this._getTop(c),i-this.base.offsetHeight)+
|
|
"px"):this.pos=="bottom"?(this.base.style.left=this._getLeft(c)+"px",this.base.style.top=this._getTop(c)+c.offsetHeight+1+"px"):(this.base.style.left=(this._px||0)+"px",this.base.style.top=(this._py||0)+"px");this._activeInp=a;c=null}else this._px&&this._py?(this.base.style.left=this._px+"px",this.base.style.top=this._py+"px"):(this.base.style.left="0px",this.base.style.top="0px");this._hideSelector();this.base.style.visibility="visible";this._ifrSize();if(this._ifr)this._ifr.style.display="";this.callEvent("onShow",
|
|
[])}};this._hide=function(){this._hideSelector();this.base.style.display="none";this._activeInp=null;if(this._ifr)this._ifr.style.display="none";this.callEvent("onHide",[])};this._isVisible=function(){return this.base.style.display!="none"};this._getLeft=function(a){return this._posGetOffset(a).left};this._getTop=function(a){return this._posGetOffset(a).top};this._posGetOffsetSum=function(a){for(var b=0,c=0;a;)b+=parseInt(a.offsetTop),c+=parseInt(a.offsetLeft),a=a.offsetParent;return{top:b,left:c}};
|
|
this._posGetOffsetRect=function(a){var b=a.getBoundingClientRect(),c=document.body,d=document.documentElement,e=window.pageYOffset||d.scrollTop||c.scrollTop,i=window.pageXOffset||d.scrollLeft||c.scrollLeft,f=d.clientTop||c.clientTop||0,g=d.clientLeft||c.clientLeft||0,j=b.top+e-f,k=b.left+i-g;return{top:Math.round(j),left:Math.round(k)}};this._posGetOffset=function(a){return this[a.getBoundingClientRect?"_posGetOffsetRect":"_posGetOffsetSum"](a)};this._rangeActive=!1;this._rangeTo=this._rangeFrom=
|
|
null;this._rangeSet={};this.setInsensitiveDays=function(a){for(var b=this._extractDates(a),c=0;c<b.length;c++)this._rangeSet[(new Date(b[c].getFullYear(),b[c].getMonth(),b[c].getDate(),0,0,0,0)).getTime()]=!0;this._drawMonth(this._activeMonth)};this.clearInsensitiveDays=function(){this._clearRangeSet();this._drawMonth(this._activeMonth)};this._holidays={};this.setHolidays=function(a){if(a==null)this._clearHolidays();else if(a!=null)for(var b=this._extractDates(a),c=0;c<b.length;c++)this._holidays[(new Date(b[c].getFullYear(),
|
|
b[c].getMonth(),b[c].getDate(),0,0,0,0)).getTime()]=!0;this._drawMonth(this._activeMonth)};this._extractDates=function(a){if(typeof a=="string"||a instanceof Date)a=[a];for(var b=[],c=0;c<a.length;c++)if(typeof a[c]=="string")for(var d=a[c].split(","),e=0;e<d.length;e++)b.push(this._strToDate(d[e]));else a[c]instanceof Date&&b.push(a[c]);return b};this._clearRange=function(){this._rangeActive=!1;this._rangeTo=this._rangeFrom=this._rangeType=null};this._clearRangeSet=function(){for(var a in this._rangeSet)this._rangeSet[a]=
|
|
null,delete this._rangeSet[a]};this._clearHolidays=function(){for(var a in this._holidays)this._holidays[a]=null,delete this._holidays[a]};this._isOutOfRange=function(a){if(this._rangeSet[a]==!0)return!0;if(this._rangeActive){if(this._rangeType=="in"&&(a<this._rangeFrom||a>this._rangeTo))return!0;if(this._rangeType=="out"&&a>=this._rangeFrom&&a<=this._rangeTo)return!0;if(this._rangeType=="from"&&a<this._rangeFrom)return!0;if(this._rangeType=="to"&&a>this._rangeTo)return!0}var b=new Date(a);return this._rangeWeek&&
|
|
this._rangeWeekData[b.getDay()]===!0?!0:this._rangeMonth&&this._rangeMonthData[b.getDate()]===!0?!0:this._rangeYear&&this._rangeYearData[b.getMonth()+"_"+b.getDate()]===!0?!0:!1};this.clearSensitiveRange=function(){this._clearRange();this._drawMonth(this._activeMonth)};this.setSensitiveRange=function(a,b,c){var d=!1;if(a!=null&&b!=null){a instanceof Date||(a=this._strToDate(a));b instanceof Date||(b=this._strToDate(b));if(a.getTime()>b.getTime())return;this._rangeFrom=(new Date(a.getFullYear(),a.getMonth(),
|
|
a.getDate(),0,0,0,0)).getTime();this._rangeTo=(new Date(b.getFullYear(),b.getMonth(),b.getDate(),0,0,0,0)).getTime();this._rangeActive=!0;this._rangeType="in";d=!0}if(!d&&a!=null&&b==null)a instanceof Date||(a=this._strToDate(a)),this._rangeFrom=(new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0)).getTime(),this._rangeTo=null,c===!0&&this._rangeFrom++,this._rangeActive=!0,this._rangeType="from",d=!0;if(!d&&a==null&&b!=null)b instanceof Date||(b=this._strToDate(b)),this._rangeFrom=null,this._rangeTo=
|
|
(new Date(b.getFullYear(),b.getMonth(),b.getDate(),0,0,0,0)).getTime(),c===!0&&this._rangeTo--,this._rangeActive=!0,this._rangeType="to",d=!0;d&&this._drawMonth(this._activeMonth)};this.setInsensitiveRange=function(a,b){if(a!=null&&b!=null){if(a instanceof Date||(a=this._strToDate(a)),b instanceof Date||(b=this._strToDate(b)),!(a.getTime()>b.getTime()))this._rangeFrom=(new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0)).getTime(),this._rangeTo=(new Date(b.getFullYear(),b.getMonth(),b.getDate(),
|
|
0,0,0,0)).getTime(),this._rangeActive=!0,this._rangeType="out",this._drawMonth(this._activeMonth)}else a!=null&&b==null?this.setSensitiveRange(null,a,!0):a==null&&b!=null&&this.setSensitiveRange(b,null,!0)};this.disableDays=function(a,b){if(a=="week"){typeof b!="object"&&typeof b.length=="undefined"&&(b=[b]);if(!this._rangeWeekData)this._rangeWeekData={};for(var c in this._rangeWeekData)this._rangeWeekData[c]=!1,delete this._rangeWeekData[c];for(var d=0;d<b.length;d++)this._rangeWeekData[b[d]]=!0,
|
|
b[d]==7&&(this._rangeWeekData[0]=!0);this._rangeWeek=!0}if(a=="month"){typeof b!="object"&&typeof b.length=="undefined"&&(b=[b]);if(!this._rangeMonthData)this._rangeMonthData={};for(c in this._rangeMonthData)this._rangeMonthData[c]=!1,delete this._rangeMonthData[c];for(d=0;d<b.length;d++)this._rangeMonthData[b[d]]=!0;this._rangeMonth=!0}if(a=="year"){var e=this._extractDates(b);if(!this._rangeYearData)this._rangeYearData={};for(c in this._rangeYearData)this._rangeYearData[c]=!1,delete this._rangeYearData[c];
|
|
for(d=0;d<e.length;d++)this._rangeYearData[e[d].getMonth()+"_"+e[d].getDate()]=!0;this._rangeYear=!0}this._drawMonth(this._activeMonth)};this.enableDays=function(a){if(a=="week")this._rangeWeek=!1;if(a=="month")this._rangeMonth=!1;if(a=="year")this._rangeYear=!1;this._drawMonth(this._activeMonth)};this._tipData={};this._tipTM=null;this._tipTMTime=400;this._tipEvs=!1;this._tipCellDim=this._tipCellDate=this._tipPopup=null;this.setTooltip=function(a,b,c,d){for(var e=this._extractDates(a),i=0;i<e.length;i++){var f=
|
|
(new Date(e[i].getFullYear(),e[i].getMonth(),e[i].getDate(),0,0,0,0)).getTime();this._tipData[f]={text:b,showIcon:c,usePopup:d}}this._drawMonth(this._activeMonth)};this.clearTooltip=function(a){for(var b=this._extractDates(a),c=0;c<b.length;c++){var d=(new Date(b[c].getFullYear(),b[c].getMonth(),b[c].getDate(),0,0,0,0)).getTime();this._tipData[d]=null;delete this._tipData[d]}this._drawMonth(this._activeMonth)};this._initTooltipPopup=function(){if(!this._tipEvs)this.attachEvent("onMouseOver",function(a){var b=
|
|
(new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0)).getTime();if(this._tipData[b]!=null)this._tipTM&&window.clearTimeout(this._tipTM),this._tipCellDate=a,this._tipCellDim=this.getCellDimension(a),this._tipText=this._tipData[b].text,this._tipTM=window.setTimeout(this._showTooltipPopup,this._tipTMTime)}),this.attachEvent("onMouseOut",this._hideTooltipPopup),this._tipEvs=!0};this._showTooltipPopup=function(){if(!c._tipPopup)c._tipPopup=new dhtmlXPopup({mode:"top"});c._tipPopup.attachHTML(c._tipText);
|
|
c._tipPopup.show(c._tipCellDim.x,c._tipCellDim.y,c._tipCellDim.w,c._tipCellDim.h);c.callEvent("onPopupShow",[c._tipCellDate])};this._hideTooltipPopup=function(){this._tipTM&&window.clearTimeout(this._tipTM);this._tipPopup!=null&&this._tipPopup.isVisible()&&(this._tipPopup.hide(),this.callEvent("onPopupHide",[this._tipCellDate]))};this.getPopup=function(){return this._tipPopup};this.getCellDimension=function(a){typeof a=="string"&&(a=this._strToDate(a));if(!(a instanceof Date))return null;for(var b=
|
|
(new Date(a.getFullYear(),a.getMonth(),a.getDate(),0,0,0,0)).getTime(),c=null,d=0;d<this.contDates.childNodes.length;d++)for(var e=0;e<this.contDates.childNodes[d].childNodes.length;e++){var f=this.contDates.childNodes[d].childNodes[e];f._date!=null&&f._date.getTime()==b&&(c={x:this._getLeft(f),y:this._getTop(f),w:f.offsetWidth,h:f.offsetHeight});f=null}return c};this._updateFromInput=function(a){if(this._nullInInput&&a.value.replace(/\s/g,"").length==0){if(this.checkEvent("onBeforeChange")&&!this.callEvent("onBeforeChange",
|
|
[null])){if(this.i!=null&&this._activeInp!=null&&this.i[this._activeInp]!=null&&this.i[this._activeInp].input!=null)this.i[this._activeInp].input.value=this.getFormatedDate();return}this.setDate(null)}else this._updateDateStr(a.value);a=null};this._doOnClick=function(a){var a=a||event,b=a.target||a.srcElement;if(b._dhtmlxcalendar_uid&&b._dhtmlxcalendar_uid!=c._activeInp&&c._isVisible()&&c._activeInp)c._hide();else if(!b._dhtmlxcalendar_uid||!c.i[b._dhtmlxcalendar_uid])c._isSelectorVisible()?c._hideSelector():
|
|
!c._hasParent&&c._isVisible()&&c._hide()};this._doOnKeyDown=function(a){a=a||event;if(a.keyCode==27||a.keyCode==13)c._isSelectorVisible()?c._hideSelector():c._isVisible()&&!c._hasParent&&c._hide()};this._doOnInpClick=function(a){var a=a||event,b=a.target||a.srcElement;b._dhtmlxcalendar_uid&&(c._listenerEnabled||c._updateFromInput(b),c._show(b._dhtmlxcalendar_uid,!0))};this._doOnInpKeyUp=function(a){var a=a||event,b=a.target||a.srcElement;a.keyCode!=13&&b._dhtmlxcalendar_uid&&(c._listenerEnabled||
|
|
c._updateFromInput(b))};this._doOnBtnClick=function(a){var a=a||event,b=a.target||a.srcElement;b._dhtmlxcalendar_uid&&(c.i[b._dhtmlxcalendar_uid].input!=null&&c._updateFromInput(c.i[b._dhtmlxcalendar_uid].input),c._show(b._dhtmlxcalendar_uid,!0))};this._doOnUnload=function(){c&&c.unload&&c.unload()};window.addEventListener?(document.body.addEventListener("click",c._doOnClick,!1),window.addEventListener("keydown",c._doOnKeyDown,!1),window.addEventListener("unload",c._doOnUnload,!1)):(document.body.attachEvent("onclick",
|
|
c._doOnClick),document.body.attachEvent("onkeydown",c._doOnKeyDown),window.attachEvent("onunload",c._doOnUnload));this.attachObj=function(a){typeof a=="string"&&(a=document.getElementById(a));var b=this.uid();this.i[b]=a;this._attachEventsToObject(b)};this.detachObj=function(a){typeof a=="string"&&(a=document.getElementById(a));var b=a._dhtmlxcalendar_uid;if(this.i[b]!=null)this._detachEventsFromObject(b),this.i[b]._dhtmlxcalendar_uid=null,this.i[b]=null,delete this.i[b]};this._attachEventsToObject=
|
|
function(a){if(this.i[a].button!=null)this.i[a].button._dhtmlxcalendar_uid=a,window.addEventListener?this.i[a].button.addEventListener("click",c._doOnBtnClick,!1):this.i[a].button.attachEvent("onclick",c._doOnBtnClick);else if(this.i[a].input!=null)this.i[a].input._dhtmlxcalendar_uid=a,window.addEventListener?(this.i[a].input.addEventListener("click",c._doOnInpClick,!1),this.i[a].input.addEventListener("keyup",c._doOnInpKeyUp,!1)):(this.i[a].input.attachEvent("onclick",c._doOnInpClick),this.i[a].input.attachEvent("onkeyup",
|
|
c._doOnInpKeyUp))};this.enableListener=function(a){a&&(window.addEventListener?(a.addEventListener("focus",c._listenerEvFocus,!1),a.addEventListener("blur",c._listenerEvBlur,!1)):(a.attachEvent("onfocus",c._listenerEvFocus),a.attachEvent("onblur",c._listenerEvBlur)),a=null)};this.disableListener=function(a){if(a)a._f0=!1,this._tmListener&&window.clearTimeout(this._tmListener),window.addEventListener?(a.removeEventListener("focus",c._listenerEvFocus,!1),a.removeEventListener("blur",c._listenerEvBlur,
|
|
!1)):(a.detachEvent("onfocus",c._listenerEvFocus),a.detachEvent("onblur",c._listenerEvBlur)),a=null};this._startListener=function(a){this._tmListener&&window.clearTimeout(this._tmListener);if(typeof a._v1=="undefined")a._v1=a.value;if(a._v1!=a.value)this._updateFromInput(a),a._v1=a.value;if(a._f0)this._tmListener=window.setTimeout(function(){c._startListener(a)},100)};this._listenerEvFocus=function(a){var a=a||event,b=a.target||a.srcElement;b._f0=!0;c._startListener(b);b=null};this._listenerEvBlur=
|
|
function(a){var a=a||event,b=a.target||a.srcElement;b._f0=!1;b=null};this._detachEventsFromObject=function(a){this.i[a].button!=null?window.addEventListener?this.i[a].button.removeEventListener("click",c._doOnBtnClick,!1):this.i[a].button.detachEvent("onclick",c._doOnBtnClick):this.i[a].input!=null&&(window.addEventListener?(this.i[a].input.removeEventListener("click",c._doOnInpClick,!1),this.i[a].input.removeEventListener("keyup",c._doOnInpKeyUp,!1)):(this.i[a].input.detachEvent("onclick",c._doOnInpClick),
|
|
this.i[a].input.detachEvent("onkeyup",c._doOnInpKeyUp)))};for(var w in this.i)this._attachEventsToObject(w);this.evs={};this.attachEvent=function(a,b){var c=this.uid();this.evs[c]={name:String(a).toLowerCase(),func:b};return c};this.detachEvent=function(a){if(this.evs[a])this.evs[a].name=null,this.evs[a].func=null,this.evs[a]=null,delete this.evs[a]};this.callEvent=function(a,b){var c=!0,d=String(a).toLowerCase(),b=b||[],e;for(e in this.evs)if(this.evs[e].name==d)var f=this.evs[e].func.apply(this,
|
|
b),c=c&&f;return c};this.checkEvent=function(a){var b=!1,c=String(a).toLowerCase(),d;for(d in this.evs)b=b||this.evs[d].name==c;return b};this.unload=function(){this.uidd=this.uid=this._lastHover=this._dateFormatRE=this._dateFormat=this._activeMonth=this._activeInp=this._activeDateCell=this._activeDate=null;this._tmListener&&window.clearTimeout(this._tmListener);this._tmListener=null;window.addEventListener?(document.body.removeEventListener("click",c._doOnClick,!1),window.removeEventListener("keydown",
|
|
c._doOnKeyDown,!1),window.removeEventListener("unload",c._doOnUnload,!1)):(document.body.detachEvent("onclick",c._doOnClick),document.body.detachEvent("onkeydown",c._doOnKeyDown),window.detachEvent("onunload",c._doOnKeyDown));this._doOnUnload=this._doOnKeyDown=this._doOnClick=null;for(var a in this.i)this.i[a]._dhtmlxcalendar_uid=null,this._detachEventsFromObject(a),this.disableListener(this.i[a].input),this.i[a]=null,delete this.i[a];this._doOnInpKeyUp=this._doOnInpClick=this.i=null;for(a in this.evs)this.detachEvent(a);
|
|
this.callEvent=this.checkEvent=this.detachEvent=this.attachEvent=this.evs=null;this.contMonth.onselectstart=null;this.contMonth.firstChild.firstChild.onclick=null;this.contMonth.firstChild.firstChild.firstChild.onmouseover=null;this.contMonth.firstChild.firstChild.firstChild.onmouseout=null;this.contMonth.firstChild.firstChild.lastChild.onmouseover=null;for(this.contMonth.firstChild.firstChild.lastChild.onmouseout=null;this.contMonth.firstChild.firstChild.childNodes.length>0;)this.contMonth.firstChild.firstChild.removeChild(this.contMonth.firstChild.firstChild.lastChild);
|
|
this.contMonth.firstChild.removeChild(this.contMonth.firstChild.firstChild);this.contMonth.removeChild(this.contMonth.firstChild);this.contMonth.parentNode.removeChild(this.contMonth);for(this.contMonth=null;this.contDays.firstChild.childNodes.length>0;)this.contDays.firstChild.removeChild(this.contDays.firstChild.lastChild);this.contDays.removeChild(this.contDays.firstChild);this.contDays.parentNode.removeChild(this.contDays);this.contDays=null;this.contDates.onclick=null;this.contDates.onmouseover=
|
|
null;for(this.contDates.onmouseout=null;this.contDates.childNodes.length>0;){for(;this.contDates.lastChild.childNodes.length>0;)this.contDates.lastChild.lastChild._css_date=null,this.contDates.lastChild.lastChild._css_month=null,this.contDates.lastChild.lastChild._css_weekend=null,this.contDates.lastChild.lastChild._css_hover=null,this.contDates.lastChild.lastChild._date=null,this.contDates.lastChild.lastChild._q=null,this.contDates.lastChild.lastChild._w=null,this.contDates.lastChild.removeChild(this.contDates.lastChild.lastChild);
|
|
this.contDates.removeChild(this.contDates.lastChild)}this.contDates.parentNode.removeChild(this.contDates);this.contDates=null;for(this.contTime.firstChild.firstChild.onclick=null;this.contTime.firstChild.firstChild.childNodes.length>0;)this.contTime.firstChild.firstChild.removeChild(this.contTime.firstChild.firstChild.lastChild);this.contTime.firstChild.removeChild(this.contTime.firstChild.firstChild);this.contTime.removeChild(this.contTime.firstChild);this.contTime.parentNode.removeChild(this.contTime);
|
|
this._lastHover=this.contTime=null;this._unloadSelector("month");this._unloadSelector("year");this._unloadSelector("hours");this._unloadSelector("minutes");if(this._selCover)this._selCover.parentNode.removeChild(this._selCover),this._selCover=null;if(this._sel){for(a in this._sel._ta)this._sel._ta[a]=null;this._sel._ta=null;this._sel._t=null;this._sel.onmouseover=null;for(this._sel.onmouseout=null;this._sel.firstChild.firstChild.firstChild.childNodes.length>0;)this._sel.firstChild.firstChild.firstChild.lastChild.onclick=
|
|
null,this._sel.firstChild.firstChild.firstChild.lastChild.onmouseover=null,this._sel.firstChild.firstChild.firstChild.lastChild.onmouseout=null,this._sel.firstChild.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild.lastChild);this._sel.firstChild.firstChild.removeChild(this._sel.firstChild.firstChild.firstChild);for(this._sel.firstChild.removeChild(this._sel.firstChild.firstChild);this._sel.childNodes.length>0;)this._sel.removeChild(this._sel.lastChild);this._sel.parentNode.removeChild(this._sel);
|
|
this._sel=null}this.base.onclick=null;this.base.onmouseout=null;this.base.parentNode.removeChild(this.base);this.unload=this.showTime=this.show=this.setYearsRange=this.setDateFormat=this.setDate=this.hideTime=this.hide=this.enableIframe=this._updateYearsList=this._updateVisibleMinutes=this._updateVisibleHours=this._updateDateStr=this._updateCellStyle=this._updateActiveYear=this._updateActiveMonth=this._updateActiveMinutes=this._updateActiveHours=this._strToDate=this._showSelector=this._show=this._scrollYears=
|
|
this._posGetOffsetSum=this._posGetOffsetRect=this._posGetOffset=this._isVisible=this._isSelectorVisible=this._initSelector=this._hideSelector=this._hide=this._ifrSize=this._getTop=this._getLeft=this._fixLength=this._drawMonth=this._doOnSelectorShow=this._doOnSelectorChange=this._clearSelHover=this._clearDayHover=this.base=null;if(this._tipPopup!=null)this._tipPopup.unload(),this._tipPopup=null;for(a in this)delete this[a];a=c=null};this.setDate(this._activeDate);return this}
|
|
dhtmlXCalendarObject.prototype.setYearsRange=function(){};dhtmlXCalendarObject.prototype.lang="en";dhtmlXCalendarObject.prototype.langData={en:{dateformat:"%Y-%m-%d",monthesFNames:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),monthesSNames:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),daysFNames:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),daysSNames:"Su,Mo,Tu,We,Th,Fr,Sa".split(","),weekstart:1,weekname:"w"}};
|
|
dhtmlXCalendarObject.prototype.enableIframe=function(f){if(f==!0){if(!this._ifr)this._ifr=document.createElement("IFRAME"),this._ifr.frameBorder=0,this._ifr.border=0,this._ifr.setAttribute("src","javascript:false;"),this._ifr.className="dhtmlxcalendar_ifr",this._ifr.onload=function(){this.onload=null;this.contentWindow.document.open("text/html","replace");this.contentWindow.document.write("<html><head><style>html,body{width:100%;height:100%;overflow:hidden;margin:0px;}</style></head><body</body></html>")},
|
|
this.base.parentNode.insertBefore(this._ifr,this.base),this._ifrSize()}else if(this._ifr)this._ifr.parentNode.removeChild(this._ifr),this._ifr=null};dhtmlXCalendarObject.prototype._ifrSize=function(){if(this._ifr)this._ifr.style.left=this.base.style.left,this._ifr.style.top=this.base.style.top,this._ifr.style.width=this.base.offsetWidth+"px",this._ifr.style.height=this.base.offsetHeight+"px"};dhtmlxCalendarObject=dhtmlXCalendarObject;
|
|
|
|
//v.3.6 build 131108
|
|
|
|
/*
|
|
Copyright DHTMLX LTD. http://www.dhtmlx.com
|
|
You allowed to use this component or parts of it under GPL terms
|
|
To use it on other terms or get Professional edition of the component please contact us at sales@dhtmlx.com
|
|
*/ |