/* @license dhtmlxScheduler v.4.4.0 Stardard This software is covered by GPL license. You also can obtain Commercial or Enterprise license to use it in non-GPL project - please contact sales@dhtmlx.com. Usage without proper license is prohibited. (c) Dinamenta, UAB. */ function dtmlXMLLoaderObject(e,t,i,a){return this.xmlDoc="","undefined"!=typeof i?this.async=i:this.async=!0,this.onloadAction=e||null,this.mainObject=t||null,this.waitCall=null,this.rSeed=a||!1,this}function callerFunction(e,t){return this.handler=function(i){return i||(i=window.event),e(i,t),!0},this.handler}function getAbsoluteLeft(e){return getOffset(e).left}function getAbsoluteTop(e){return getOffset(e).top}function getOffsetSum(e){for(var t=0,i=0;e;)t+=parseInt(e.offsetTop),i+=parseInt(e.offsetLeft), e=e.offsetParent;return{top:t,left:i}}function getOffsetRect(e){var t=e.getBoundingClientRect(),i=document.body,a=document.documentElement,r=window.pageYOffset||a.scrollTop||i.scrollTop,s=window.pageXOffset||a.scrollLeft||i.scrollLeft,n=a.clientTop||i.clientTop||0,d=a.clientLeft||i.clientLeft||0,l=t.top+r-n,o=t.left+s-d;return{top:Math.round(l),left:Math.round(o)}}function getOffset(e){return e.getBoundingClientRect?getOffsetRect(e):getOffsetSum(e)}function convertStringToBoolean(e){switch("string"==typeof e&&(e=e.toLowerCase()), e){case"1":case"true":case"yes":case"y":case 1:case!0:return!0;default:return!1}}function getUrlSymbol(e){return-1!=e.indexOf("?")?"&":"?"}function dhtmlDragAndDropObject(){return window.dhtmlDragAndDrop?window.dhtmlDragAndDrop:(this.lastLanding=0,this.dragNode=0,this.dragStartNode=0,this.dragStartObject=0,this.tempDOMU=null,this.tempDOMM=null,this.waitDrag=0,window.dhtmlDragAndDrop=this,this)}function _dhtmlxError(e,t,i){return this.catches||(this.catches=[]),this}function dhtmlXHeir(e,t){for(var i in t)"function"==typeof t[i]&&(e[i]=t[i]); return e}function dataProcessor(e){return this.serverProcessor=e,this.action_param="!nativeeditor_status",this.object=null,this.updatedRows=[],this.autoUpdate=!0,this.updateMode="cell",this._tMode="GET",this.post_delim="_",this._waitMode=0,this._in_progress={},this._invalid={},this.mandatoryFields=[],this.messages=[],this.styles={updated:"font-weight:bold;",inserted:"font-weight:bold;",deleted:"text-decoration : line-through;",invalid:"background-color:FFE0E0;",invalid_cell:"border-bottom:2px solid red;", error:"color:red;",clear:"font-weight:normal;text-decoration:none;"},this.enableUTFencoding(!0),dhtmlxEventable(this),this}window.dhtmlXScheduler=window.scheduler={version:"4.4.0"},window.dhtmlx||(dhtmlx=function(e){for(var t in e)dhtmlx[t]=e[t];return dhtmlx}),dhtmlx.extend_api=function(e,t,i){var a=window[e];a&&(window[e]=function(e){var i;if(e&&"object"==typeof e&&!e.tagName){i=a.apply(this,t._init?t._init(e):arguments);for(var r in dhtmlx)t[r]&&this[t[r]](dhtmlx[r]);for(var r in e)t[r]?this[t[r]](e[r]):0===r.indexOf("on")&&this.attachEvent(r,e[r]); }else i=a.apply(this,arguments);return t._patch&&t._patch(this),i||this},window[e].prototype=a.prototype,i&&dhtmlXHeir(window[e].prototype,i))},dhtmlxAjax={get:function(e,t){var i=new dtmlXMLLoaderObject(!0);return i.async=arguments.length<3,i.waitCall=t,i.loadXML(e),i},post:function(e,t,i){var a=new dtmlXMLLoaderObject(!0);return a.async=arguments.length<4,a.waitCall=i,a.loadXML(e,!0,t),a},getSync:function(e){return this.get(e,null,!0)},postSync:function(e,t){return this.post(e,t,null,!0)}},dtmlXMLLoaderObject.count=0, dtmlXMLLoaderObject.prototype.waitLoadFunction=function(e){var t=!0;return this.check=function(){if(e&&e.onloadAction&&(!e.xmlDoc.readyState||4==e.xmlDoc.readyState)){if(!t)return;t=!1,dtmlXMLLoaderObject.count++,"function"==typeof e.onloadAction&&e.onloadAction(e.mainObject,null,null,null,e),e.waitCall&&(e.waitCall.call(this,e),e.waitCall=null)}},this.check},dtmlXMLLoaderObject.prototype.getXMLTopNode=function(e,t){var i;if(this.xmlDoc.responseXML){var a=this.xmlDoc.responseXML.getElementsByTagName(e); if(0===a.length&&-1!=e.indexOf(":"))var a=this.xmlDoc.responseXML.getElementsByTagName(e.split(":")[1]);i=a[0]}else i=this.xmlDoc.documentElement;if(i)return this._retry=!1,i;if(!this._retry&&_isIE){this._retry=!0;var t=this.xmlDoc;return this.loadXMLString(this.xmlDoc.responseText.replace(/^[\s]+/,""),!0),this.getXMLTopNode(e,t)}return dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),document.createElement("DIV")},dtmlXMLLoaderObject.prototype.loadXMLString=function(e,t){ if(_isIE)this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM"),this.xmlDoc.async=this.async,this.xmlDoc.onreadystatechange=function(){},this.xmlDoc.loadXML(e);else{var i=new DOMParser;this.xmlDoc=i.parseFromString(e,"text/xml")}t||(this.onloadAction&&this.onloadAction(this.mainObject,null,null,null,this),this.waitCall&&(this.waitCall(),this.waitCall=null))},dtmlXMLLoaderObject.prototype.loadXML=function(e,t,i,a){this.rSeed&&(e+=(-1!=e.indexOf("?")?"&":"?")+"a_dhx_rSeed="+(new Date).valueOf()),this.filePath=e, !_isIE&&window.XMLHttpRequest?this.xmlDoc=new XMLHttpRequest:this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP"),this.async&&(this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this)),"string"==typeof t?this.xmlDoc.open(t,e,this.async):this.xmlDoc.open(t?"POST":"GET",e,this.async),a?(this.xmlDoc.setRequestHeader("User-Agent","dhtmlxRPC v0.1 ("+navigator.userAgent+")"),this.xmlDoc.setRequestHeader("Content-type","text/xml")):t&&this.xmlDoc.setRequestHeader("Content-type","application/x-www-form-urlencoded"), this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest"),this.xmlDoc.send(i),this.async||new this.waitLoadFunction(this)()},dtmlXMLLoaderObject.prototype.destructor=function(){return this._filterXPath=null,this._getAllNamedChilds=null,this._retry=null,this.async=null,this.rSeed=null,this.filePath=null,this.onloadAction=null,this.mainObject=null,this.xmlDoc=null,this.doXPath=null,this.doXPathOpera=null,this.doXSLTransToObject=null,this.doXSLTransToString=null,this.loadXML=null,this.loadXMLString=null, this.doSerialization=null,this.xmlNodeToJSON=null,this.getXMLTopNode=null,this.setXSLParamValue=null,null},dtmlXMLLoaderObject.prototype.xmlNodeToJSON=function(e){for(var t={},i=0;i-1&&(_isChrome=!0),-1!=navigator.userAgent.indexOf("Safari")||-1!=navigator.userAgent.indexOf("Konqueror")?(_KHTMLrv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5)),_KHTMLrv>525?(_isFF=!0,_FFrv=1.9):_isKHTML=!0):-1!=navigator.userAgent.indexOf("Opera")?(_isOpera=!0,_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3))):-1!=navigator.appName.indexOf("Microsoft")?(_isIE=!0, -1==navigator.appVersion.indexOf("MSIE 8.0")&&-1==navigator.appVersion.indexOf("MSIE 9.0")&&-1==navigator.appVersion.indexOf("MSIE 10.0")||"BackCompat"==document.compatMode||(_isIE=8)):"Netscape"==navigator.appName&&-1!=navigator.userAgent.indexOf("Trident")?_isIE=8:(_isFF=!0,_FFrv=parseFloat(navigator.userAgent.split("rv:")[1])),dtmlXMLLoaderObject.prototype.doXPath=function(e,t,i,a){if(_isKHTML||!_isIE&&!window.XPathResult)return this.doXPathOpera(e,t);if(_isIE)return t||(t=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML), t||dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),i&&t.setProperty("SelectionNamespaces","xmlns:xsl='"+i+"'"),"single"==a?t.selectSingleNode(e):t.selectNodes(e)||new Array(0);var r=t;t||(t=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML),t||dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),-1!=t.nodeName.indexOf("document")?r=t:(r=t,t=t.ownerDocument);var s=XPathResult.ANY_TYPE;"single"==a&&(s=XPathResult.FIRST_ORDERED_NODE_TYPE); var n=[],d=t.evaluate(e,r,function(e){return i},s,null);if(s==XPathResult.FIRST_ORDERED_NODE_TYPE)return d.singleNodeValue;for(var l=d.iterateNext();l;)n[n.length]=l,l=d.iterateNext();return n},_dhtmlxError.prototype.catchError=function(e,t){this.catches[e]=t},_dhtmlxError.prototype.throwError=function(e,t,i){return this.catches[e]?this.catches[e](e,t,i):this.catches.ALL?this.catches.ALL(e,t,i):(window.alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]),null)},window.dhtmlxError=new _dhtmlxError, dtmlXMLLoaderObject.prototype.doXPathOpera=function(e,t){var i=e.replace(/[\/]+/gi,"/").split("/"),a=null,r=1;if(!i.length)return[];if("."==i[0])a=[t];else{if(""!==i[0])return[];a=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(i[r].replace(/\[[^\]]*\]/g,"")),r++}for(r;r=0}function i(e){var t={a:!0,area:!0};return t[e.nodeName.loLowerCase()]?!!e.getAttribute("href"):!0; }function a(e){var t={input:!0,select:!0,textarea:!0,button:!0,object:!0};return t[e.nodeName.toLowerCase()]?!e.hasAttribute("disabled"):!0}scheduler._getFocusableNodes=function(r){for(var s=r.querySelectorAll(["a[href]","area[href]","input","select","textarea","button","iframe","object","embed","[tabindex]","[contenteditable]"].join(", ")),n=Array.prototype.slice.call(s,0),d=0;d-1&&r.click?r.click():(e(c,!0), a=!0)}27==i&&(e(c,!1),a=!0)}if(a)return t.preventDefault&&t.preventDefault(),!(t.cancelBubble=!0)}else;}function i(e){i.cover||(i.cover=document.createElement("DIV"),i.cover.onkeydown=t,i.cover.className="dhx_modal_cover",document.body.appendChild(i.cover));document.body.scrollHeight;i.cover.style.display=e?"inline-block":"none"}function a(e,t,i){var a=scheduler._waiAria.messageButtonAttrString(e),r=i?i:e||"",s="dhtmlx_"+r.toLowerCase().replace(/ /g,"_")+"_button";return"
"+e+"
"; }function r(e){u.area||(u.area=document.createElement("DIV"),u.area.className="dhtmlx_message_area",u.area.style[u.position]="5px",document.body.appendChild(u.area)),u.hide(e.id);var t=document.createElement("DIV");return t.innerHTML="
"+e.text+"
",t.className="dhtmlx-info dhtmlx-"+e.type,t.onclick=function(){u.hide(e.id),e=null},scheduler._waiAria.messageInfoAttr(t),"bottom"==u.position&&u.area.firstChild?u.area.insertBefore(t,u.area.firstChild):u.area.appendChild(t),e.expire>0&&(u.timers[e.id]=window.setTimeout(function(){ u.hide(e.id)},e.expire)),u.pull[e.id]=t,t=null,e.id}function s(t,i,r){var s=document.createElement("DIV");s.className=" dhtmlx_modal_box dhtmlx-"+t.type,s.setAttribute("dhxbox",1);var n=scheduler.uid();scheduler._waiAria.messageModalAttr(s,n);var d="",l=!1;if(t.width&&(s.style.width=t.width),t.height&&(s.style.height=t.height),t.title&&(d+='
'+t.title+"
",l=!0),d+='
"+(t.content?"":t.text)+'
', i){var o=t.ok||scheduler.locale.labels.message_ok;void 0===o&&(o="OK"),d+=a(o,!0,"ok")}if(r){var h=t.cancel||scheduler.locale.labels.message_cancel;void 0===h&&(h="Cancel"),d+=a(h,!1,"cancel")}if(t.buttons)for(var _=0;_",s.innerHTML=d,t.content){var u=t.content;"string"==typeof u&&(u=document.getElementById(u)),"none"==u.style.display&&(u.style.display=""),s.childNodes[t.title?1:0].appendChild(u)}return s.onclick=function(i){i=i||event;var a=i.target||i.srcElement,r=scheduler._getClassName(a); if(r||(a=a.parentNode),r=scheduler._getClassName(a),"dhtmlx_popup_button"==r.split(" ")[0]){var s=a.getAttribute("result");s="true"==s||("false"==s?!1:s),e(t,s)}},t.box=s,c=t,s}function n(e,a,r){var n=e.tagName?e:s(e,a,r);e.hidden||i(!0),document.body.appendChild(n);var d=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-n.offsetWidth)/2)),l=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-n.offsetHeight)/2));return"top"==e.position?n.style.top="-3px":n.style.top=l+"px", n.style.left=d+"px",n.onkeydown=t,dhtmlx.modalbox.focus(n),e.hidden&&dhtmlx.modalbox.hide(n),dhtmlx.callEvent("onMessagePopup",[n]),n}function d(e){return n(e,!0,!1)}function l(e){return n(e,!0,!0)}function o(e){return n(e)}function h(e,t,i){return"object"!=typeof e&&("function"==typeof t&&(i=t,t=""),e={text:e,type:t,callback:i}),e}function _(e,t,i,a){return"object"!=typeof e&&(e={text:e,type:t,expire:i,id:a}),e.id=e.id||u.uid(),e.expire=e.expire||u.expire,e}var c=null;document.attachEvent?document.attachEvent("onkeydown",t):document.addEventListener("keydown",t,!0), dhtmlx.alert=function(){var e=h.apply(this,arguments);return e.type=e.type||"confirm",d(e)},dhtmlx.confirm=function(){var e=h.apply(this,arguments);return e.type=e.type||"alert",l(e)},dhtmlx.modalbox=function(){var e=h.apply(this,arguments);return e.type=e.type||"alert",o(e)},dhtmlx.modalbox.hide=function(e){for(;e&&e.getAttribute&&!e.getAttribute("dhxbox");)e=e.parentNode;e&&(e.parentNode.removeChild(e),i(!1))},dhtmlx.modalbox.focus=function(e){setTimeout(function(){var t=scheduler._getFocusableNodes(e); t.length&&t[0].focus&&t[0].focus()},1)};var u=dhtmlx.message=function(e,t,i,a){e=_.apply(this,arguments),e.type=e.type||"info";var s=e.type.split("-")[0];switch(s){case"alert":return d(e);case"confirm":return l(e);case"modalbox":return o(e);default:return r(e)}};u.seed=(new Date).valueOf(),u.uid=function(){return u.seed++},u.expire=4e3,u.keyboard=!0,u.position="top",u.pull={},u.timers={},u.hideAll=function(){for(var e in u.pull)u.hide(e)},u.hide=function(e){var t=u.pull[e];t&&t.parentNode&&(window.setTimeout(function(){ t.parentNode.removeChild(t),t=null},2e3),t.className+=" hidden",u.timers[e]&&window.clearTimeout(u.timers[e]),delete u.pull[e])}}(),dhtmlx.attachEvent||dhtmlxEventable(dhtmlx),dataProcessor.prototype={setTransactionMode:function(e,t){this._tMode=e,this._tSend=t,"REST"==e&&(this._tSend=!1,this._endnm=!0)},escape:function(e){return this._utf?encodeURIComponent(e):escape(e)},enableUTFencoding:function(e){this._utf=convertStringToBoolean(e)},setDataColumns:function(e){this._columns="string"==typeof e?e.split(","):e; },getSyncState:function(){return!this.updatedRows.length},enableDataNames:function(e){this._endnm=convertStringToBoolean(e)},enablePartialDataSend:function(e){this._changed=convertStringToBoolean(e)},setUpdateMode:function(e,t){this.autoUpdate="cell"==e,this.updateMode=e,this.dnd=t},ignore:function(e,t){this._silent_mode=!0,e.call(t||window),this._silent_mode=!1},setUpdated:function(e,t,i){if(!this._silent_mode){var a=this.findRow(e);i=i||"updated";var r=this.obj.getUserData(e,this.action_param);r&&"updated"==i&&(i=r), t?(this.set_invalid(e,!1),this.updatedRows[a]=e,this.obj.setUserData(e,this.action_param,i),this._in_progress[e]&&(this._in_progress[e]="wait")):this.is_invalid(e)||(this.updatedRows.splice(a,1),this.obj.setUserData(e,this.action_param,"")),t||this._clearUpdateFlag(e),this.markRow(e,t,i),t&&this.autoUpdate&&this.sendData(e)}},_clearUpdateFlag:function(e){},markRow:function(e,t,i){var a="",r=this.is_invalid(e);if(r&&(a=this.styles[r],t=!0),this.callEvent("onRowMark",[e,t,i,r])&&(a=this.styles[t?i:"clear"]+a, this.obj[this._methods[0]](e,a),r&&r.details)){a+=this.styles[r+"_cell"];for(var s=0;s","gm"),r=new RegExp(" +","gm"),s=new RegExp("'","gm");scheduler._waiAria={getAttributeString:function(i){var a=[" "]; for(var r in i)if("function"!=typeof i[r]&&"object"!=typeof i[r]){var s=t(e(i[r]));a.push(r+"='"+s+"'")}return a.push(" "),a.join(" ")},setAttributes:function(t,i){for(var a in i)t.setAttribute(a,e(i[a]));return t},labelAttr:function(e,t){return this.setAttributes(e,{"aria-label":t})},label:function(e){return scheduler._waiAria.getAttributeString({"aria-label":e})},hourScaleAttr:function(e,t){this.labelAttr(e,t)},monthCellAttr:function(e,t){this.labelAttr(e,scheduler.templates.day_date(t))},navBarDateAttr:function(e,t){ this.labelAttr(e,t)},dayHeaderAttr:function(e,t){this.labelAttr(e,t)},dayColumnAttr:function(e,t){this.dayHeaderAttr(e,scheduler.templates.day_date(t))},headerButtonsAttributes:function(e,t){return this.setAttributes(e,{role:"button","aria-label":t})},headerToggleState:function(e,t){return this.setAttributes(e,{"aria-pressed":t?"true":"false"})},getHeaderCellAttr:function(e){return scheduler._waiAria.getAttributeString({"aria-label":e})},eventAttr:function(e,t){!scheduler.config.readonly&&scheduler.config.drag_move&&(e.id!=scheduler.getState().drag_id?t.setAttribute("aria-grabbed",!1):t.setAttribute("aria-grabbed",!0)), this._eventCommonAttr(e,t)},_eventCommonAttr:function(t,i){i.setAttribute("aria-label",e(scheduler.templates.tooltip_text(t.start_date,t.end_date,t))),scheduler.config.readonly&&i.setAttribute("aria-readonly",!0),t.$dataprocessor_class&&i.setAttribute("aria-busy",!0),i.setAttribute("aria-selected",scheduler.getState().select_id==t.id?"true":"false")},setEventBarAttr:function(e,t){this._eventCommonAttr(e,t),!scheduler.config.readonly&&scheduler.config.drag_move&&(e.id!=scheduler.getState().drag_id?t.setAttribute("aria-grabbed",!1):t.setAttribute("aria-grabbed",!0)); },_getAttributes:function(e,t){var i={setAttribute:function(e,t){this[e]=t}};return e.apply(this,[t,i]),i},eventBarAttrString:function(e){return this.getAttributeString(this._getAttributes(this.setEventBarAttr,e))},agendaHeadAttrString:function(){return this.getAttributeString({role:"row"})},agendaHeadDateString:function(e){return this.getAttributeString({role:"columnheader","aria-label":e})},agendaHeadDescriptionString:function(e){return this.agendaHeadDateString(e)},agendaDataAttrString:function(){ return this.getAttributeString({role:"grid"})},agendaEventAttrString:function(e){var t=this._getAttributes(this._eventCommonAttr,e);return t.role="row",this.getAttributeString(t)},agendaDetailsBtnString:function(){return this.getAttributeString({role:"button","aria-label":scheduler.locale.labels.icon_details})},gridAttrString:function(){return this.getAttributeString({role:"grid"})},gridRowAttrString:function(e){return this.agendaEventAttrString(e)},gridCellAttrString:function(e,t,i){return this.getAttributeString({ role:"gridcell","aria-label":[void 0===t.label?t.id:t.label,": ",i]})},mapAttrString:function(){return this.gridAttrString()},mapRowAttrString:function(e){return this.gridRowAttrString(e)},mapDetailsBtnString:function(){return this.agendaDetailsBtnString()},minicalHeader:function(e,t){this.setAttributes(e,{id:t+"","aria-live":"assertice","aria-atomic":"true"})},minicalGrid:function(e,t){this.setAttributes(e,{"aria-labelledby":t+"",role:"grid"})},minicalRow:function(e){this.setAttributes(e,{role:"row" })},minicalDayCell:function(e,t){var i=t.valueOf()=scheduler._min_date.valueOf();this.setAttributes(e,{role:"gridcell","aria-label":scheduler.templates.day_date(t),"aria-selected":i?"true":"false"})},minicalHeadCell:function(e){this.setAttributes(e,{role:"columnheader"})},weekAgendaDayCell:function(e,t){var i=e.querySelector(".dhx_wa_scale_bar"),a=e.querySelector(".dhx_wa_day_data"),r=scheduler.uid()+"";this.setAttributes(i,{id:r}),this.setAttributes(a,{ "aria-labelledby":r})},weekAgendaEvent:function(e,t){this.eventAttr(t,e)},lightboxHiddenAttr:function(e){e.setAttribute("aria-hidden","true")},lightboxVisibleAttr:function(e){e.setAttribute("aria-hidden","false")},lightboxSectionButtonAttrString:function(e){return this.getAttributeString({role:"button","aria-label":e,tabindex:"0"})},yearHeader:function(e,t){this.setAttributes(e,{id:t+""})},yearGrid:function(e,t){this.minicalGrid(e,t)},yearHeadCell:function(e){return this.minicalHeadCell(e)},yearRow:function(e){ return this.minicalRow(e)},yearDayCell:function(e){this.setAttributes(e,{role:"gridcell"})},lightboxAttr:function(e){e.setAttribute("role","dialog"),e.setAttribute("aria-hidden","true"),e.firstChild.setAttribute("role","heading")},lightboxButtonAttrString:function(e){return this.getAttributeString({role:"button","aria-label":scheduler.locale.labels[e],tabindex:"0"})},eventMenuAttrString:function(e){return this.getAttributeString({role:"button","aria-label":scheduler.locale.labels[e]})},lightboxHeader:function(e,t){ e.setAttribute("aria-label",t)},lightboxSelectAttrString:function(e){var t="";switch(e){case"%Y":t=scheduler.locale.labels.year;break;case"%m":t=scheduler.locale.labels.month;break;case"%d":t=scheduler.locale.labels.day;break;case"%H:%i":t=scheduler.locale.labels.hour+" "+scheduler.locale.labels.minute}return scheduler._waiAria.getAttributeString({"aria-label":t})},messageButtonAttrString:function(e){return"tabindex='0' role='button' aria-label='"+e+"'"},messageInfoAttr:function(e){e.setAttribute("role","alert"); },messageModalAttr:function(e,t){e.setAttribute("role","dialog"),t&&e.setAttribute("aria-labelledby",t)},quickInfoAttr:function(e){e.setAttribute("role","dialog")},quickInfoHeaderAttrString:function(){return" role='heading' "},quickInfoHeader:function(e,t){e.setAttribute("aria-label",t)},quickInfoButtonAttrString:function(e){return scheduler._waiAria.getAttributeString({role:"button","aria-label":e,tabindex:"0"})},tooltipAttr:function(e){e.setAttribute("role","tooltip")},tooltipVisibleAttr:function(e){ e.setAttribute("aria-hidden","false")},tooltipHiddenAttr:function(e){e.setAttribute("aria-hidden","true")}};for(var n in scheduler._waiAria)scheduler._waiAria[n]=function(e){return function(){return i()?"":e.apply(this,arguments)}}(scheduler._waiAria[n])}(),dhtmlxEventable(scheduler),scheduler._detachDomEvent=function(e,t,i){e.removeEventListener?e.removeEventListener(t,i,!1):e.detachEvent&&e.detachEvent("on"+t,i)},scheduler._init_once=function(){function e(e){for(var t=document.body;e&&e!=t;)e=e.parentNode; return!(t!=e)}function t(){return{w:window.innerWidth||document.documentElement.clientWidth,h:window.innerHeight||document.documentElement.clientHeight}}function i(e,t){return e.w==t.w&&e.h==t.h}var a=t();dhtmlxEvent(window,"resize",function(){e(scheduler._obj)&&(window.clearTimeout(scheduler._resize_timer),scheduler._resize_timer=window.setTimeout(function(){var r=t();if(!i(a,r)){if(!e(scheduler._obj))return;scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize",[])); }a=r},20))}),scheduler._init_once=function(){}},scheduler.init=function(e,t,i){t=t||scheduler._currentDate(),i=i||"week",this._obj&&this.unset_actions(),this._obj="string"==typeof e?document.getElementById(e):e,this.$container=this._obj,this._skin_init&&scheduler._skin_init(),scheduler.date.init(),this._els=[],this._scroll=!0,this._quirks=_isIE&&"BackCompat"==document.compatMode,this._quirks7=_isIE&&-1==navigator.appVersion.indexOf("MSIE 8"),this.get_elements(),this.init_templates(),this.set_actions(), this._init_once(),this._init_touch_events(),this.set_sizes(),scheduler.callEvent("onSchedulerReady",[]),this.setCurrentView(t,i)},scheduler.xy={min_event_height:40,scale_width:50,scroll_width:18,scale_height:20,month_scale_height:20,menu_width:25,margin_top:0,margin_left:0,editor_width:140,month_head_height:22},scheduler.keys={edit_save:13,edit_cancel:27},scheduler.set_sizes=function(){var e=this._x=this._obj.clientWidth-this.xy.margin_left,t=this._y=this._obj.clientHeight-this.xy.margin_top,i=this._table_view?0:this.xy.scale_width+this.xy.scroll_width,a=this._table_view?-1:this.xy.scale_width; this.set_xy(this._els.dhx_cal_navline[0],e,this.xy.nav_height,0,0),this.set_xy(this._els.dhx_cal_header[0],e-i,this.xy.scale_height,a,this.xy.nav_height+(this._quirks?-1:1));var r=this._els.dhx_cal_navline[0].offsetHeight;r>0&&(this.xy.nav_height=r);var s=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0);this.set_xy(this._els.dhx_cal_data[0],e,t-(s+2),0,s+2)},scheduler.set_xy=function(e,t,i,a,r){e.style.width=Math.max(0,t)+"px",e.style.height=Math.max(0,i)+"px",arguments.length>3&&(e.style.left=a+"px", e.style.top=r+"px")},scheduler.get_elements=function(){for(var e=this._obj.getElementsByTagName("DIV"),t=0;t500&&scheduler.unselect(); },dhx_cal_prev_button:function(){scheduler._click.dhx_cal_next_button(0,-1)},dhx_cal_next_button:function(e,t){scheduler.setCurrentView(scheduler.date.add(scheduler.date[scheduler._mode+"_start"](scheduler._date),t||1,scheduler._mode))},dhx_cal_today_button:function(){scheduler.callEvent("onBeforeTodayDisplayed",[])&&scheduler.setCurrentView(scheduler._currentDate())},dhx_cal_tab:function(){var e=this.getAttribute("name"),t=e.substring(0,e.search("_tab"));scheduler.setCurrentView(scheduler._date,t); },buttons:{"delete":function(e){var t=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(t,scheduler.locale.labels.title_confirm_deleting,function(){scheduler.deleteEvent(e)})},edit:function(e){scheduler.edit(e)},save:function(e){scheduler.editStop(!0)},details:function(e){scheduler.showLightbox(e)},cancel:function(e){scheduler.editStop(!1)}}},scheduler._dhtmlx_confirm=function(e,t,i){if(!e)return i();var a={text:e};t&&(a.title=t),i&&(a.callback=function(e){e&&i()}),dhtmlx.confirm(a); },scheduler.addEventNow=function(e,t,i){var a={};e&&null!==e.constructor.toString().match(/object/i)&&(a=e,e=null);var r=6e4*(this.config.event_duration||this.config.time_step);e||(e=a.start_date||Math.round(scheduler._currentDate().valueOf()/r)*r);var s=new Date(e);if(!t){var n=this.config.first_hour;n>s.getHours()&&(s.setHours(n),e=s.valueOf()),t=e.valueOf()+r}var d=new Date(t);s.valueOf()==d.valueOf()&&d.setTime(d.valueOf()+r),a.start_date=a.start_date||s,a.end_date=a.end_date||d,a.text=a.text||this.locale.labels.new_event, a.id=this._drag_id=a.id||this.uid(),this._drag_mode="new-size",this._loading=!0;var l=this.addEvent(a);return this.callEvent("onEventCreated",[this._drag_id,i]),this._loading=!1,this._drag_event={},this._on_mouse_up(i),l},scheduler._on_dbl_click=function(e,t){if(t=t||e.target||e.srcElement,!this.config.readonly){var i=scheduler._getClassName(t).split(" ")[0];switch(i){case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_wa_day_data":if(!scheduler.config.dblclick_create)break; this.addEventNow(this.getActionData(e).date,null,e);break;case"dhx_cal_event":case"dhx_wa_ev_body":case"dhx_agenda_line":case"dhx_grid_event":case"dhx_cal_event_line":case"dhx_cal_event_clear":var a=this._locate_event(t);if(!this.callEvent("onDblClick",[a,e]))return;this.config.details_on_dblclick||this._table_view||!this.getEvent(a)._timed||!this.config.select?this.showLightbox(a):this.edit(a);break;case"dhx_time_block":case"dhx_cal_container":return;default:var r=this["dblclick_"+i];if(r)r.call(this,e);else if(t.parentNode&&t!=this)return scheduler._on_dbl_click(e,t.parentNode); }}},scheduler._get_column_index=function(e){var t=0;if(this._cols){for(var i=0,a=0;i+this._cols[a]=this._cols.length)for(;t>=1&&this._ignores[Math.floor(t)];)t--}return t},scheduler._week_indexes_from_pos=function(e){if(this._cols){var t=this._get_column_index(e.x);return e.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(t)-1)),e.y=Math.max(0,Math.ceil(60*e.y/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step), e}return e},scheduler._mouse_coords=function(e){var t,i=document.body,a=document.documentElement;t=_isIE||!e.pageX&&!e.pageY?{x:e.clientX+(i.scrollLeft||a.scrollLeft||0)-i.clientLeft,y:e.clientY+(i.scrollTop||a.scrollTop||0)-i.clientTop}:{x:e.pageX,y:e.pageY},t.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width),t.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els.dhx_cal_data[0].scrollTop,t.ev=e;var r=this["mouse_"+this._mode];if(r)t=r.call(this,t);else if(this._table_view){ var s=this._get_column_index(t.x);if(!this._cols||!this._colsS)return t;var n=0;for(n=1;nt.y);n++);t.y=Math.ceil(24*(Math.max(0,s)+7*Math.max(0,n-1))*60/this.config.time_step),(scheduler._drag_mode||"month"==this._mode)&&(t.y=24*(Math.max(0,Math.ceil(s)-1)+7*Math.max(0,n-1))*60/this.config.time_step),"move"==this._drag_mode&&scheduler._ignores_detected&&scheduler.config.preserve_length&&(t._ignores=!0,this._drag_event._event_length||(this._drag_event._event_length=this._get_real_event_length(this._drag_event.start_date,this._drag_event.end_date,{ x_step:1,x_unit:"day"}))),t.x=0}else t=this._week_indexes_from_pos(t);return t.timestamp=+new Date,t},scheduler._close_not_saved=function(){if((new Date).valueOf()-(scheduler._new_event||0)>500&&scheduler._edit_id){var e=scheduler.locale.labels.confirm_closing;scheduler._dhtmlx_confirm(e,scheduler.locale.labels.title_confirm_closing,function(){scheduler.editStop(scheduler.config.positive_closing)}),e&&(this._drag_id=this._drag_pos=this._drag_mode=null)}},scheduler._correct_shift=function(e,t){return e-=6e4*(new Date(scheduler._min_date).getTimezoneOffset()-new Date(e).getTimezoneOffset())*(t?-1:1); },scheduler._is_pos_changed=function(e,t){function i(e,t,i){return!!(Math.abs(e-t)>i)}if(!e||!this._drag_pos)return!0;var a=100,r=5;return!!(this._drag_pos.has_moved||!this._drag_pos.timestamp||t.timestamp-this._drag_pos.timestamp>a||i(e.ev.clientX,t.ev.clientX,r)||i(e.ev.clientY,t.ev.clientY,r))},scheduler._correct_drag_start_date=function(e){var t;scheduler.matrix&&(t=scheduler.matrix[scheduler._mode]),t=t||{x_step:1,x_unit:"day"},e=new Date(e);var i=1;return(t._start_correction||t._end_correction)&&(i=60*(t.last_hour||0)-(60*e.getHours()+e.getMinutes())||1), 1*e+(scheduler._get_fictional_event_length(e,i,t)-i)},scheduler._correct_drag_end_date=function(e,t){var i;scheduler.matrix&&(i=scheduler.matrix[scheduler._mode]),i=i||{x_step:1,x_unit:"day"};var a=1*e+scheduler._get_fictional_event_length(e,t,i);return new Date(1*a-(scheduler._get_fictional_event_length(a,-1,i,-1)+1))},scheduler._on_mouse_move=function(e){if(this._drag_mode){var t=this._mouse_coords(e);if(this._is_pos_changed(this._drag_pos,t)){var i,a;if(this._edit_id!=this._drag_id&&this._close_not_saved(), !this._drag_mode)return;if(this._drag_pos=t,this._drag_pos.has_moved=!0,"create"==this._drag_mode){if(this._close_not_saved(),this.unselect(this._select_id),this._loading=!0,i=this._get_date_from_pos(t).valueOf(),!this._drag_start){var r=this.callEvent("onBeforeEventCreated",[e,this._drag_id]);return r?(this._loading=!1,void(this._drag_start=i)):void(this._loading=!1)}a=i,a==this._drag_start;var s=new Date(this._drag_start),n=new Date(a);"day"!=this._mode&&"week"!=this._mode||s.getHours()!=n.getHours()||s.getMinutes()!=n.getMinutes()||(n=new Date(this._drag_start+1e3)), this._drag_id=this.uid(),this.addEvent(s,n,this.locale.labels.new_event,this._drag_id,t.fields),this.callEvent("onEventCreated",[this._drag_id,e]),this._loading=!1,this._drag_mode="new-size"}var d,l=this.getEvent(this._drag_id);if(scheduler.matrix&&(d=scheduler.matrix[scheduler._mode]),d=d||{x_step:1,x_unit:"day"},"move"==this._drag_mode)i=this._min_date.valueOf()+6e4*(t.y*this.config.time_step+24*t.x*60-(scheduler._move_pos_shift||0)),!t.custom&&this._table_view&&(i+=1e3*this.date.time_part(l.start_date)), i=this._correct_shift(i),t._ignores&&this.config.preserve_length&&this._table_view?(i=scheduler._correct_drag_start_date(i),a=scheduler._correct_drag_end_date(i,this._drag_event._event_length)):a=l.end_date.valueOf()-(l.start_date.valueOf()-i);else{if(i=l.start_date.valueOf(),a=l.end_date.valueOf(),this._table_view){var o=this._min_date.valueOf()+t.y*this.config.time_step*6e4+(t.custom?0:864e5);if("month"==this._mode)if(o=this._correct_shift(o,!1),this._drag_from_start){var h=864e5;o<=scheduler.date.date_part(new Date(a+h-1)).valueOf()&&(i=o-h); }else a=o;else t.resize_from_start?i=scheduler._correct_drag_start_date(o):a=scheduler._correct_drag_end_date(o,0)}else{var _=this.date.date_part(new Date(l.end_date.valueOf()-1)).valueOf(),c=new Date(_);a=_+t.y*this.config.time_step*6e4,a+=6e4*(new Date(a).getTimezoneOffset()-c.getTimezoneOffset()),this._els.dhx_cal_data[0].style.cursor="s-resize",("week"==this._mode||"day"==this._mode)&&(a=this._correct_shift(a))}if("new-size"==this._drag_mode)if(a<=this._drag_start){var u=t.shift||(this._table_view&&!t.custom?864e5:0); i=a-(t.shift?0:u),a=this._drag_start+(u||6e4*this.config.time_step)}else i=this._drag_start;else i>=a&&(a=i+6e4*this.config.time_step)}var g=new Date(a-1),v=new Date(i);if("move"==this._drag_mode&&scheduler.config.limit_drag_out&&(+v<+scheduler._min_date||+a>+scheduler._max_date)){if(+l.start_date<+scheduler._min_date||+l.end_date>+scheduler._max_date)v=new Date(l.start_date),a=new Date(l.end_date);else{var f=a-v;+v<+scheduler._min_date?(v=new Date(scheduler._min_date),t._ignores&&this.config.preserve_length&&this._table_view?(v=new Date(scheduler._correct_drag_start_date(v)), d._start_correction&&(v=new Date(v.valueOf()+d._start_correction)),a=new Date(1*v+this._get_fictional_event_length(v,this._drag_event._event_length,d))):a=new Date(+v+f)):(a=new Date(scheduler._max_date),t._ignores&&this.config.preserve_length&&this._table_view?(d._end_correction&&(a=new Date(a.valueOf()-d._end_correction)),a=new Date(1*a-this._get_fictional_event_length(a,0,d,!0)),v=new Date(1*a-this._get_fictional_event_length(a,this._drag_event._event_length,d,!0)),this._ignores_detected&&(v=scheduler.date.add(v,d.x_step,d.x_unit), a=new Date(1*a-this._get_fictional_event_length(a,0,d,!0)),a=scheduler.date.add(a,d.x_step,d.x_unit))):v=new Date(+a-f))}var g=new Date(a-1)}if(!this._table_view&&!scheduler.config.all_timed&&(!scheduler._get_section_view()&&t.x!=this._get_event_sday({start_date:new Date(a),end_date:new Date(a)})||new Date(a).getHours()>=this.config.last_hour)){var f=a-v,h=this._min_date.valueOf()+24*t.x*60*6e4;a=scheduler.date.date_part(new Date(h)),a.setHours(this.config.last_hour),g=new Date(a-1),"move"==this._drag_mode&&(v=new Date(+a-f)); }if(this._table_view||g.getDate()==v.getDate()&&g.getHours()n;n++)this._ignores[n]?(this._cols[n]=0,s++):this._cols[n]=Math.floor(a/(s-n)), a-=this._cols[n],this._colsS[n]=(this._cols[n-1]||0)+(this._colsS[n-1]||(this._table_view?0:this.xy.scale_width+2));this._colsS.col_length=r,this._colsS[r]=this._cols[r-1]+this._colsS[r-1]||0},scheduler._set_scale_col_size=function(e,t,i){var a=this.config;this.set_xy(e,t-1,a.hour_size_px*(a.last_hour-a.first_hour),i+this.xy.scale_width+1,0)},scheduler._render_scales=function(e,t){var i=new Date(scheduler._min_date),a=new Date(scheduler._max_date),r=this.date.date_part(scheduler._currentDate()),s=parseInt(e.style.width,10),n=new Date(this._min_date),d=this._get_columns_num(i,a); this._calc_scale_sizes(s,i,a);var l=0;e.innerHTML="";for(var o=0;d>o;o++){if(this._ignores[o]||this._render_x_header(o,l,n,e),!this._table_view){var h=document.createElement("DIV"),_="dhx_scale_holder";n.valueOf()==r.valueOf()&&(_="dhx_scale_holder_now"),this._ignores_detected&&this._ignores[o]&&(_+=" dhx_scale_ignore"),h.className=_+" "+this.templates.week_date_class(n,r),this._waiAria.dayColumnAttr(h,n),this._set_scale_col_size(h,this._cols[o],l),t.appendChild(h),this.callEvent("onScaleAdd",[h,n]); }l+=this._cols[o],n=this.date.add(n,1,"day"),n=this.date.day_start(n)}},scheduler._reset_scale=function(){if(this.templates[this._mode+"_date"]){var e=this._els.dhx_cal_header[0],t=this._els.dhx_cal_data[0],i=this.config;e.innerHTML="",t.innerHTML="";var a=(i.readonly||!i.drag_resize?" dhx_resize_denied":"")+(i.readonly||!i.drag_move?" dhx_move_denied":"");t.className="dhx_cal_data"+a,this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var r,s,n=this._get_timeunit_start(),d=scheduler._get_view_end(); r=s=this._table_view?scheduler.date.week_start(n):n,this._min_date=r;var l=this.templates[this._mode+"_date"](n,d,this._mode);if(this._els.dhx_cal_date[0].innerHTML=l,this._waiAria.navBarDateAttr(this._els.dhx_cal_date[0],l),this._max_date=d,scheduler._render_scales(e,t),this._table_view)this._reset_month_scale(t,n,s);else if(this._reset_hours_scale(t,n,s),i.multi_day){var o="dhx_multi_day";this._els[o]&&(this._els[o][0].parentNode.removeChild(this._els[o][0]),this._els[o]=null);var h=this._els.dhx_cal_navline[0],_=h.offsetHeight+this._els.dhx_cal_header[0].offsetHeight+1,c=document.createElement("DIV"); c.className=o,c.style.visibility="hidden",this.set_xy(c,Math.max(this._colsS[this._colsS.col_length]+this.xy.scroll_width-2,0),0,0,_),t.parentNode.insertBefore(c,t);var u=c.cloneNode(!0);u.className=o+"_icon",u.style.visibility="hidden",this.set_xy(u,this.xy.scale_width,0,0,_),c.appendChild(u),this._els[o]=[c,u],this._els[o][0].onclick=this._click.dhx_cal_data}}},scheduler._reset_hours_scale=function(e,t,i){var a=document.createElement("DIV");a.className="dhx_scale_holder";for(var r=new Date(1980,1,1,this.config.first_hour,0,0),s=1*this.config.first_hour;sd;d++)s(n)&&(this._ignores_detected+=1,this._ignores[d]=!0,r&&t++),n=scheduler.date.add(n,a,i),scheduler.date[i+"_start"]&&(n=scheduler.date[i+"_start"](n))},scheduler._render_month_scale=function(e,t,i,a){ function r(e){var t=scheduler._colsS.height;return void 0!==scheduler._colsS.heights[e+1]&&(t=scheduler._colsS.heights[e+1]-(scheduler._colsS.heights[e]||0)),t}var s=scheduler.date.add(t,1,"month"),n=new Date(i),d=scheduler._currentDate();this.date.date_part(d),this.date.date_part(i),a=a||Math.ceil(Math.round((s.valueOf()-i.valueOf())/864e5)/7);for(var l=[],o=0;7>=o;o++){var h=(this._cols[o]||0)-1;0===o&&this.config.left_border&&(h-=1),l[o]=h+"px"}var _=0,c=document.createElement("table");c.setAttribute("cellpadding","0"), c.setAttribute("cellspacing","0");var u=document.createElement("tbody");c.appendChild(u);for(var g=[],o=0;a>o;o++){var v=document.createElement("tr");u.appendChild(v);for(var f=Math.max(r(o)-scheduler.xy.month_head_height,0),m=0;7>m;m++){var p=document.createElement("td");v.appendChild(p);var b="";t>i?b="dhx_before":i>=s?b="dhx_after":i.valueOf()==d.valueOf()&&(b="dhx_now"),this._ignores_detected&&this._ignores[m]&&(b+=" dhx_scale_ignore"),p.className=b+" "+this.templates.month_date_class(i,d);var x="dhx_month_body",y="dhx_month_head"; if(0===m&&this.config.left_border&&(x+=" dhx_month_body_border",y+=" dhx_month_head_border"),this._ignores_detected&&this._ignores[m])p.appendChild(document.createElement("div")),p.appendChild(document.createElement("div"));else{this._waiAria.monthCellAttr(p,i);var w=document.createElement("DIV");w.className=y,w.innerHTML=this.templates.month_day(i),p.appendChild(w);var D=document.createElement("DIV");D.className=x,D.style.height=f+"px",D.style.width=l[m],p.appendChild(D)}g.push(i);var E=i.getDate(); i=this.date.add(i,1,"day"),i.getDate()-E>1&&(i=new Date(i.getFullYear(),i.getMonth(),E+1,12,0))}scheduler._colsS.heights[o]=_,_+=r(o)}this._min_date=n,this._max_date=i,e.innerHTML="",e.appendChild(c),this._scales={};for(var A=e.getElementsByTagName("div"),o=0;od;){var o=scheduler.date.add(t,-i.x_step,i.x_unit);n&&n(t)&&(!l||l&&n(o))?r-=t-o:(l=!1,r-=s),t=o,a--}return r},scheduler._get_fictional_event_length=function(e,t,i,a){var r=new Date(e),s=a?-1:1;if(i._start_correction||i._end_correction){ var n;n=a?60*r.getHours()+r.getMinutes()-60*(i.first_hour||0):60*(i.last_hour||0)-(60*r.getHours()+r.getMinutes());var d=60*(i.last_hour-i.first_hour),l=Math.ceil((t/6e4-n)/d);0>l&&(l=0),t+=l*(1440-d)*60*1e3}var o,h=new Date(1*e+t*s),_=this["ignore_"+this._mode],c=0;for(i.render?(c=this._get_date_index(i,r),o=this._get_date_index(i,h)):o=Math.round(t/60/60/1e3/24);o*s>=c*s;){var u=scheduler.date.add(r,i.x_step*s,i.x_unit);_&&_(r)&&(t+=(u-r)*s,o+=s),r=u,c+=s}return t},scheduler._get_section_view=function(){ return this.matrix&&this.matrix[this._mode]?this.matrix[this._mode]:this._props&&this._props[this._mode]?this._props[this._mode]:null},scheduler._get_section_property=function(){return this.matrix&&this.matrix[this._mode]?this.matrix[this._mode].y_property:this._props&&this._props[this._mode]?this._props[this._mode].map_to:null},scheduler._is_initialized=function(){var e=this.getState();return this._obj&&e.date&&e.mode},scheduler._is_lightbox_open=function(){var e=this.getState();return null!==e.lightbox_id&&void 0!==e.lightbox_id; },scheduler._getClassName=function(e){if(!e)return"";var t=e.className||"";return t.baseVal&&(t=t.baseVal),t.indexOf||(t=""),t||""},scheduler.date={init:function(){for(var e=scheduler.locale.date.month_short,t=scheduler.locale.date.month_short_hash={},i=0;i0){var a=+i-+e,r=a%864e5;if(r&&e.getTimezoneOffset()==i.getTimezoneOffset()){var s=r/36e5;i.setTime(i.getTime()+60*(24-s)*60*1e3)}}return t>=0&&!e.getHours()&&i.getHours()&&(i.getDate()e?"0"+e:e},copy:function(e){return new Date(e.valueOf())},date_to_str:function(e,t){return e=e.replace(/%[a-zA-Z]/g,function(e){switch(e){ case"%d":return'"+scheduler.date.to_fixed(date.getDate())+"';case"%m":return'"+scheduler.date.to_fixed((date.getMonth()+1))+"';case"%j":return'"+date.getDate()+"';case"%n":return'"+(date.getMonth()+1)+"';case"%y":return'"+scheduler.date.to_fixed(date.getFullYear()%100)+"';case"%Y":return'"+date.getFullYear()+"';case"%D":return'"+scheduler.locale.date.day_short[date.getDay()]+"';case"%l":return'"+scheduler.locale.date.day_full[date.getDay()]+"';case"%M":return'"+scheduler.locale.date.month_short[date.getMonth()]+"'; case"%F":return'"+scheduler.locale.date.month_full[date.getMonth()]+"';case"%h":return'"+scheduler.date.to_fixed((date.getHours()+11)%12+1)+"';case"%g":return'"+((date.getHours()+11)%12+1)+"';case"%G":return'"+date.getHours()+"';case"%H":return'"+scheduler.date.to_fixed(date.getHours())+"';case"%i":return'"+scheduler.date.to_fixed(date.getMinutes())+"';case"%a":return'"+(date.getHours()>11?"pm":"am")+"';case"%A":return'"+(date.getHours()>11?"PM":"AM")+"';case"%s":return'"+scheduler.date.to_fixed(date.getSeconds())+"'; case"%W":return'"+scheduler.date.to_fixed(scheduler.date.getISOWeek(date))+"';default:return e}}),t&&(e=e.replace(/date\.get/g,"date.getUTC")),new Function("date",'return "'+e+'";')},str_to_date:function(e,t){for(var i="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",a=e.match(/%[a-zA-Z]/g),r=0;r50?1900:2000);";break;case"%g": case"%G":case"%h":case"%H":i+="set[3]=temp["+r+"]||0;";break;case"%i":i+="set[4]=temp["+r+"]||0;";break;case"%Y":i+="set[0]=temp["+r+"]||0;";break;case"%a":case"%A":i+="set[3]=set[3]%12+((temp["+r+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":i+="set[5]=temp["+r+"]||0;";break;case"%M":i+="set[1]=scheduler.locale.date.month_short_hash[temp["+r+"]]||0;";break;case"%F":i+="set[1]=scheduler.locale.date.month_full_hash[temp["+r+"]]||0;"}var s="set[0],set[1],set[2],set[3],set[4],set[5]";return t&&(s=" Date.UTC("+s+")"), new Function("date","var set=[0,0,1,0,0,0]; "+i+" return new Date("+s+");")},getISOWeek:function(e){if(!e)return!1;e=this.date_part(new Date(e));var t=e.getDay();0===t&&(t=7);var i=new Date(e.valueOf());i.setDate(e.getDate()+(4-t));var a=i.getFullYear(),r=Math.round((i.getTime()-new Date(a,0,1).getTime())/864e5),s=1+Math.floor(r/7);return s},getUTCISOWeek:function(e){return this.getISOWeek(this.convert_to_utc(e))},convert_to_utc:function(e){return new Date(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds()); }},scheduler.locale={date:{month_full:["January","February","March","April","May","June","July","August","September","October","November","December"],month_short:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],day_full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],day_short:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]},labels:{dhx_cal_today_button:"Today",day_tab:"Day",week_tab:"Week",month_tab:"Month",new_event:"New event",icon_save:"Save",icon_cancel:"Cancel", icon_details:"Details",icon_edit:"Edit",icon_delete:"Delete",confirm_closing:"",confirm_deleting:"Event will be deleted permanently, are you sure?",section_description:"Description",section_time:"Time period",full_day:"Full day",confirm_recurring:"Do you want to edit the whole set of repeated events?",section_recurring:"Repeat event",button_recurring:"Disabled",button_recurring_open:"Enabled",button_edit_series:"Edit series",button_edit_occurrence:"Edit occurrence",agenda_tab:"Agenda",date:"Date", description:"Description",year_tab:"Year",week_agenda_tab:"Agenda",grid_tab:"Grid",drag_to_create:"Drag to create",drag_to_move:"Drag to move",message_ok:"OK",message_cancel:"Cancel",next:"Next",prev:"Previous",year:"Year",month:"Month",day:"Day",hour:"Hour",minute:"Minute"}},scheduler.config={default_date:"%j %M %Y",month_date:"%F %Y",load_date:"%Y-%m-%d",week_date:"%l",day_date:"%D, %F %j",hour_date:"%H:%i",month_day:"%d",xml_date:"%m/%d/%Y %H:%i",api_date:"%d-%m-%Y %H:%i",preserve_length:!0,time_step:5, start_on_monday:1,first_hour:0,last_hour:24,readonly:!1,drag_resize:1,drag_move:1,drag_create:1,dblclick_create:1,edit_on_create:1,details_on_create:0,resize_month_events:!1,resize_month_timed:!1,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,multi_day:!0,multi_day_height_limit:0,drag_lightbox:!0,preserve_scroll:!0,select:!0,server_utc:!1,touch:!0,touch_tip:!0,touch_drag:500,quick_info_detached:!0,positive_closing:!1,drag_highlight:!0,limit_drag_out:!1,icons_edit:["icon_save","icon_cancel"], icons_select:["icon_details","icon_edit","icon_delete"],buttons_left:["dhx_save_btn","dhx_cancel_btn"],buttons_right:["dhx_delete_btn"],lightbox:{sections:[{name:"description",height:200,map_to:"text",type:"textarea",focus:!0},{name:"time",height:72,type:"time",map_to:"auto"}]},highlight_displayed_event:!0,left_border:!1,ajax_error:"alert",delay_render:0,timeline_swap_resize:!0,wai_aria_attributes:!0},scheduler.templates={},scheduler.init_templates=function(){var e=scheduler.locale.labels;e.dhx_save_btn=e.icon_save, e.dhx_cancel_btn=e.icon_cancel,e.dhx_delete_btn=e.icon_delete;var t=scheduler.date.date_to_str,i=scheduler.config,a=function(e,t){for(var i in t)e[i]||(e[i]=t[i])};a(scheduler.templates,{day_date:t(i.default_date),month_date:t(i.month_date),week_date:function(e,t){return scheduler.templates.day_date(e)+" – "+scheduler.templates.day_date(scheduler.date.add(t,-1,"day"))},day_scale_date:t(i.default_date),month_scale_date:t(i.week_date),week_scale_date:t(i.day_date),hour_scale:t(i.hour_date),time_picker:t(i.hour_date), event_date:t(i.hour_date),month_day:t(i.month_day),xml_date:scheduler.date.str_to_date(i.xml_date,i.server_utc),load_format:t(i.load_date,i.server_utc),xml_format:t(i.xml_date,i.server_utc),api_date:scheduler.date.str_to_date(i.api_date),event_header:function(e,t,i){return scheduler.templates.event_date(e)+" - "+scheduler.templates.event_date(t)},event_text:function(e,t,i){return i.text},event_class:function(e,t,i){return""},month_date_class:function(e){return""},week_date_class:function(e){return""; },event_bar_date:function(e,t,i){return scheduler.templates.event_date(e)+" "},event_bar_text:function(e,t,i){return i.text},month_events_link:function(e,t){return"View more("+t+" events)"},drag_marker_class:function(e,t,i){return""},drag_marker_content:function(e,t,i){return""}}),this.callEvent("onTemplatesReady",[])},scheduler.templates.tooltip_date_format=scheduler.date.date_to_str("%Y-%m-%d %H:%i"),scheduler.templates.tooltip_text=function(e,t,i){return"Event: "+i.text+"
Start date: "+scheduler.templates.tooltip_date_format(e)+"
End date: "+scheduler.templates.tooltip_date_format(t); },scheduler.uid=function(){return this._seed||(this._seed=(new Date).valueOf()),this._seed++},scheduler._events={},scheduler.clearAll=function(){this._events={},this._loaded={},this._edit_id=null,this._select_id=null,this._drag_id=null,this._drag_mode=null,this._drag_pos=null,this.clear_view(),this.callEvent("onClearAll",[])},scheduler.addEvent=function(e,t,i,a,r){if(!arguments.length)return this.addEventNow();var s=e;1!=arguments.length&&(s=r||{},s.start_date=e,s.end_date=t,s.text=i,s.id=a),s.id=s.id||scheduler.uid(), s.text=s.text||"","string"==typeof s.start_date&&(s.start_date=this.templates.api_date(s.start_date)),"string"==typeof s.end_date&&(s.end_date=this.templates.api_date(s.end_date));var n=6e4*(this.config.event_duration||this.config.time_step);s.start_date.valueOf()==s.end_date.valueOf()&&s.end_date.setTime(s.end_date.valueOf()+n),s._timed=this.isOneDayEvent(s);var d=!this._events[s.id];return this._events[s.id]=s,this.event_updated(s),this._loading||this.callEvent(d?"onEventAdded":"onEventChanged",[s.id,s]), s.id},scheduler.deleteEvent=function(e,t){var i=this._events[e];(t||this.callEvent("onBeforeEventDelete",[e,i])&&this.callEvent("onConfirmedBeforeEventDelete",[e,i]))&&(i&&(this._select_id=null,delete this._events[e],this.event_updated(i)),this.callEvent("onEventDeleted",[e,i]))},scheduler.getEvent=function(e){return this._events[e]},scheduler.setEvent=function(e,t){t.id||(t.id=e),this._events[e]=t},scheduler.for_rendered=function(e,t){for(var i=this._rendered.length-1;i>=0;i--)this._rendered[i].getAttribute("event_id")==e&&t(this._rendered[i],i); },scheduler.changeEventId=function(e,t){if(e!=t){var i=this._events[e];i&&(i.id=t,this._events[t]=i,delete this._events[e]),this.for_rendered(e,function(e){e.setAttribute("event_id",t)}),this._select_id==e&&(this._select_id=t),this._edit_id==e&&(this._edit_id=t),this.callEvent("onEventIdChange",[e,t])}},function(){for(var e=["text","Text","start_date","StartDate","end_date","EndDate"],t=function(e){return function(t){return scheduler.getEvent(t)[e]}},i=function(e){return function(t,i){var a=scheduler.getEvent(t); a[e]=i,a._changed=!0,a._timed=this.isOneDayEvent(a),scheduler.event_updated(a,!0)}},a=0;ar||s>a)&&(i>=r||s>i)); if(n)return!0;var d=(e.end_date.valueOf()-e.start_date.valueOf())/36e5,l=24-(this.config.last_hour-this.config.first_hour);return!!(d>l||r>i&&a>=s)}return!1},scheduler.isOneDayEvent=function(e){var t=e.end_date.getDate()-e.start_date.getDate();return t?(0>t&&(t=Math.ceil((e.end_date.valueOf()-e.start_date.valueOf())/864e5)),1==t&&!e.end_date.getHours()&&!e.end_date.getMinutes()&&(e.start_date.getHours()||e.start_date.getMinutes())):e.start_date.getMonth()==e.end_date.getMonth()&&e.start_date.getFullYear()==e.end_date.getFullYear(); },scheduler.get_visible_events=function(e){var t=[];for(var i in this._events)this.is_visible_events(this._events[i])&&(!e||this._events[i]._timed)&&this.filter_event(i,this._events[i])&&t.push(this._events[i]);return t},scheduler.filter_event=function(e,t){var i=this["filter_"+this._mode];return i?i(e,t):!0},scheduler._is_main_area_event=function(e){return!!e._timed},scheduler.render_view_data=function(e,t){var i=!1;if(!e){if(i=!0,this._not_render)return void(this._render_wait=!0);this._render_wait=!1, this.clear_view(),e=this.get_visible_events(!(this._table_view||this.config.multi_day))}for(var a=0,r=e.length;r>a;a++)this._recalculate_timed(e[a]);if(this.config.multi_day&&!this._table_view){for(var s=[],n=[],a=0;ao){var h=o;1*this.config.max_month_events!==this.config.max_month_events||r[d]<=this.config.max_month_events?h=r[d]*i:(this.config.max_month_events+1)*i>o&&(h=(this.config.max_month_events+1)*i); for(var _=0;_t.id?1:-1:e.start_date>t.start_date?1:-1});var i=[],a=[];this._min_mapped_duration=Math.ceil(60*this.xy.min_event_height/this.config.hour_size_px);for(var r=0;rp&&(p=h[v]._sorder);s._sorder=p+1,s._inner=!1}else s._sorder=0;h.splice(u,u==h.length?0:1,s),h.length>(h.max_count||0)?(h.max_count=h.length,s._count=h.length):s._count=s._count?s._count:1}(l=this.config.last_hour)&&(a.push(s),e[r]=s=this._copy_event(s),l=this.config.last_hour&&(s.end_date.setMinutes(0),s.end_date.setHours(this.config.last_hour)), s.start_date>s.end_date||l==this.config.last_hour)&&(e.splice(r,1),r--)}}if(!t){for(var r=0;rt.id?1:-1:e.start_date>t.start_date?1:-1})},scheduler._pre_render_events_table=function(e,t){this._time_order(e);for(var i,a=[],r=[[],[],[],[],[],[],[]],s=this._colsS.heights,n=this._cols.length,d={},l=0;lthis._max_date&&(_.last_chunk=!1,u=this._max_date);var g=this.locate_holder_day(c,!1,o);if(o._sday=g%n,!this._ignores[o._sday]||!o._timed){var v=this.locate_holder_day(u,!0,o)||n;o._eday=v%n||n,o._length=v-g,o._sweek=Math.floor((this._correct_shift(c.valueOf(),1)-this._min_date.valueOf())/(864e5*n));var f,m=r[o._sweek];for(f=0;f",this._quirks7&&(f.firstChild.style.height=n-12+"px"),this._editor=f.firstChild,this._editor.onkeydown=function(e){ if((e||event).shiftKey)return!0;var t=(e||event).keyCode;t==scheduler.keys.edit_save&&scheduler.editStop(!0),t==scheduler.keys.edit_cancel&&scheduler.editStop(!1)},this._editor.onselectstart=function(e){return(e||event).cancelBubble=!0,!0},scheduler._focus(f.firstChild,!0),this._els.dhx_cal_data[0].scrollLeft=0}if(0!==this.xy.menu_width&&this._select_id==e.id){this.config.cascade_event_display&&this._drag_mode&&(g.style.zIndex=1);for(var m,p=this.config["icons_"+(this._edit_id==e.id?"edit":"select")],b="",x=e.color?"background-color: "+e.color+";":"",y=e.textColor?"color: "+e.textColor+";":"",w=0;w
";var D=this._render_v_bar(e,h-t+1,s,t,20*p.length+26-2,"","
",b,!0);D.style.left=h-t+1,this._els.dhx_cal_data[0].appendChild(D),this._rendered.push(D)}this.config.drag_highlight&&this._drag_id==e.id&&this.highlightEventPosition(e)}}},scheduler._render_v_bar=function(e,t,i,a,r,s,n,d,l){var o=document.createElement("DIV"),h=e.id,_=l?"dhx_cal_event dhx_cal_select_menu":"dhx_cal_event",c=scheduler.templates.event_class(e.start_date,e.end_date,e); c&&(_=_+" "+c);var u=e.color?"background:"+e.color+";":"",g=e.textColor?"color:"+e.textColor+";":"",v='
';o.innerHTML=v;var f=o.cloneNode(!0).firstChild;if(!l&&scheduler.renderEvent(f,e,a,r,n,d))return f;f=o.firstChild;var m='
 
';m+='
'+n+"
", m+='
'+d+"
";var p="dhx_event_resize dhx_footer";return l&&(p="dhx_resize_denied "+p),m+='
',f.innerHTML=m,f},scheduler.renderEvent=function(){return!1},scheduler.locate_holder=function(e){return"day"==this._mode?this._els.dhx_cal_data[0].firstChild:this._els.dhx_cal_data[0].childNodes[e]},scheduler.locate_holder_day=function(e,t){ var i=Math.floor((this._correct_shift(e,1)-this._min_date)/864e5);return t&&this.date.time_part(e)&&i++,i},scheduler._get_dnd_order=function(e,t,i){if(!this._drag_event)return e;this._drag_event._orig_sorder?e=this._drag_event._orig_sorder:this._drag_event._orig_sorder=e;for(var a=t*e;a+t>i;)e--,a-=t;return e=Math.max(e,0)},scheduler._get_event_bar_pos=function(e){var t=this._colsS[e._sday],i=this._colsS[e._eday];i==t&&(i=this._colsS[e._eday+1]);var a=this.xy.bar_height,r=e._sorder;if(e.id==this._drag_id){ var s=this._colsS.heights[e._sweek+1]-this._colsS.heights[e._sweek]-this.xy.month_head_height;r=scheduler._get_dnd_order(r,a,s)}var n=r*a,d=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+n;return{x:t,x2:i,y:d}},scheduler.render_event_bar=function(e){var t=this._rendered_location,i=this._get_event_bar_pos(e),a=i.y,r=i.x,s=i.x2,n="";if(s){var d=scheduler.config.resize_month_events&&"month"==this._mode&&(!e._timed||scheduler.config.resize_month_timed),l=document.createElement("DIV"),o=e.hasOwnProperty("_first_chunk")&&e._first_chunk,h=e.hasOwnProperty("_last_chunk")&&e._last_chunk,_=d&&(e._timed||o),c=d&&(e._timed||h),u="dhx_cal_event_clear"; (!e._timed||d)&&(u="dhx_cal_event_line"),o&&(u+=" dhx_cal_event_line_start"),h&&(u+=" dhx_cal_event_line_end"),_&&(n+="
"),c&&(n+="
");var g=scheduler.templates.event_class(e.start_date,e.end_date,e);g&&(u+=" "+g);var v=e.color?"background:"+e.color+";":"",f=e.textColor?"color:"+e.textColor+";":"",m=["position:absolute","top:"+a+"px","left:"+r+"px","width:"+(s-r-15)+"px",f,v,e._text_style||""].join(";"),p="
"; d&&(p+=n),"month"==scheduler.getState().mode&&(e=scheduler.getEvent(e.id)),e._timed&&(p+=scheduler.templates.event_bar_date(e.start_date,e.end_date,e)),p+=scheduler.templates.event_bar_text(e.start_date,e.end_date,e)+"
",p+="",l.innerHTML=p,this._rendered.push(l.firstChild),t.appendChild(l.firstChild)}},scheduler._locate_event=function(e){for(var t=null;e&&!t&&e.getAttribute;)t=e.getAttribute("event_id"),e=e.parentNode;return t},scheduler._locate_css=function(e,t,i){void 0===i&&(i=!0);for(var a=e.target||e.srcElement,r="";a;){ if(r=scheduler._getClassName(a)){var s=r.indexOf(t);if(s>=0){if(!i)return a;var n=0===s||!scheduler._trim(r.charAt(s-1)),d=s+t.length>=r.length||!scheduler._trim(r.charAt(s+t.length));if(n&&d)return a}}a=a.parentNode}return null},scheduler.edit=function(e){this._edit_id!=e&&(this.editStop(!1,e),this._edit_id=e,this.updateEvent(e))},scheduler.editStop=function(e,t){if(!t||this._edit_id!=t){var i=this.getEvent(this._edit_id);i&&(e&&(i.text=this._editor.value),this._edit_id=null,this._editor=null,this.updateEvent(i.id), this._edit_stop_event(i,e))}},scheduler._edit_stop_event=function(e,t){this._new_event?(t?this.callEvent("onEventAdded",[e.id,e]):e&&this.deleteEvent(e.id,!0),this._new_event=null):t&&this.callEvent("onEventChanged",[e.id,e])},scheduler.getEvents=function(e,t){var i=[];for(var a in this._events){var r=this._events[a];r&&(!e&&!t||r.start_datee)&&i.push(r)}return i},scheduler.getRenderedEvent=function(e){if(e){for(var t=scheduler._rendered,i=0;ithis._min_date;)t=this.date.add(t,-1,this._load_mode);i=t;for(var r=!0;it&&this._loaded[a(s)]);if(t>=i)return!1;for(dhtmlxAjax.get(e+"&from="+a(t)+"&to="+a(i),function(e){scheduler.on_load(e)});i>t;)this._loaded[a(t)]=!0,t=this.date.add(t,1,this._load_mode); }else dhtmlxAjax.get(e,function(e){scheduler.on_load(e)});return this.callEvent("onXLS",[]),!0}},scheduler.on_load=function(e){var t,i=!1;if(this._process&&"xml"!=this._process)try{t=this[this._process].parse(e.xmlDoc.responseText)}catch(a){i=!0}else t=this._magic_parser(e),t||(i=!0);i&&(this.callEvent("onLoadError",[e.xmlDoc]),t=[]),scheduler._process_loading(t),this.callEvent("onXLE",[])},scheduler._process_loading=function(e){this._loading=!0,this._not_render=!0;for(var t=0;t"; },set_value:function(e,t,i,a){e.innerHTML=t||""},get_value:function(e,t,i){return e.innerHTML||""},focus:function(e){}},textarea:{render:function(e){var t=(e.height||"130")+"px";return"
"},set_value:function(e,t,i){scheduler.form_blocks.textarea._get_input(e).value=t||""},get_value:function(e,t){return scheduler.form_blocks.textarea._get_input(e).value},focus:function(e){var t=scheduler.form_blocks.textarea._get_input(e);scheduler._focus(t,!0); },_get_input:function(e){return e.getElementsByTagName("textarea")[0]}},select:{render:function(e){for(var t=(e.height||"23")+"px",i="
"},set_value:function(e,t,i,a){var r=e.firstChild;!r._dhx_onchange&&a.onchange&&(r.onchange=a.onchange,r._dhx_onchange=!0),"undefined"==typeof t&&(t=(r.options[0]||{}).value), r.value=t||""},get_value:function(e,t){return e.firstChild.value},focus:function(e){var t=e.firstChild;scheduler._focus(t,!0)}},time:{render:function(e){e.time_format||(e.time_format=["%H:%i","%d","%m","%Y"]),e._time_format_order={};var t=e.time_format,i=scheduler.config,a=this.date.date_part(scheduler._currentDate()),r=1440,s=0;scheduler.config.limit_time_select&&(r=60*i.last_hour+1,s=60*i.first_hour,a.setHours(i.first_hour));for(var n="",d=0;d0&&(n+=" ");var o="";switch(l){ case"%Y":e._time_format_order[3]=d;for(var h=a.getFullYear()-5,_=0;10>_;_++)o+="";break;case"%m":e._time_format_order[2]=d;for(var _=0;12>_;_++)o+="";break;case"%d":e._time_format_order[1]=d;for(var _=1;32>_;_++)o+="";break;case"%H:%i":e._time_format_order[0]=d;var _=s,c=a.getDate();for(e._time_values=[];r>_;){var u=this.templates.time_picker(a);o+="", e._time_values.push(_),a.setTime(a.valueOf()+60*this.config.time_step*1e3);var g=a.getDate()!=c?1:0;_=24*g*60+60*a.getHours()+a.getMinutes()}}if(o){var v=scheduler._waiAria.lightboxSelectAttrString(l),f=e.readonly?"disabled='disabled'":"";n+=" "}}return"
"+n+"  –  "+n+"
"},set_value:function(e,t,i,a){function r(e,t,i){ for(var r=a._time_values,s=60*i.getHours()+i.getMinutes(),n=s,d=!1,l=0;lh&&(n=h)}e[t+o[0]].value=d?s:n,d||n||(e[t+o[0]].selectedIndex=-1),e[t+o[1]].value=i.getDate(),e[t+o[2]].value=i.getMonth(),e[t+o[3]].value=i.getFullYear()}var s,n,d=scheduler.config,l=e.getElementsByTagName("select"),o=a._time_format_order;if(d.full_day){if(!e._full_day){var h=""; scheduler.config.wide_form||(h=e.previousSibling.innerHTML+h),e.previousSibling.innerHTML=h,e._full_day=!0}var _=e.previousSibling.getElementsByTagName("input")[0];_.checked=0===scheduler.date.time_part(i.start_date)&&0===scheduler.date.time_part(i.end_date),l[o[0]].disabled=_.checked,l[o[0]+l.length/2].disabled=_.checked,_.onclick=function(){if(_.checked){var t={};scheduler.form_blocks.time.get_value(e,t,a),s=scheduler.date.date_part(t.start_date),n=scheduler.date.date_part(t.end_date),(+n==+s||+n>=+s&&(0!==i.end_date.getHours()||0!==i.end_date.getMinutes()))&&(n=scheduler.date.add(n,1,"day")); }else s=null,n=null;l[o[0]].disabled=_.checked,l[o[0]+l.length/2].disabled=_.checked,r(l,0,s||i.start_date),r(l,4,n||i.end_date)}}if(d.auto_end_date&&d.event_duration)for(var c=function(){s=new Date(l[o[3]].value,l[o[2]].value,l[o[1]].value,0,l[o[0]].value),n=new Date(s.getTime()+60*scheduler.config.event_duration*1e3),r(l,4,n)},u=0;4>u;u++)l[u].onchange=c;r(l,0,i.start_date),r(l,4,i.end_date)},get_value:function(e,t,i){var a=e.getElementsByTagName("select"),r=i._time_format_order;if(t.start_date=new Date(a[r[3]].value,a[r[2]].value,a[r[1]].value,0,a[r[0]].value), t.end_date=new Date(a[r[3]+4].value,a[r[2]+4].value,a[r[1]+4].value,0,a[r[0]+4].value),!a[r[3]].value||!a[r[3]+4].value){var s=this.getEvent(this._lightbox_id);s&&(t.start_date=s.start_date,t.end_date=s.end_date)}return t.end_date<=t.start_date&&(t.end_date=scheduler.date.add(t.start_date,scheduler.config.time_step,"minute")),{start_date:new Date(t.start_date),end_date:new Date(t.end_date)}},focus:function(e){scheduler._focus(e.getElementsByTagName("select")[0])}}},scheduler.showCover=function(e){ if(e){e.style.display="block";var t=window.pageYOffset||document.body.scrollTop||document.documentElement.scrollTop,i=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,a=window.innerHeight||document.documentElement.clientHeight;t?e.style.top=Math.round(t+Math.max((a-e.offsetHeight)/2,0))+"px":e.style.top=Math.round(Math.max((a-e.offsetHeight)/2,0)+9)+"px",document.documentElement.scrollWidth>document.body.offsetWidth?e.style.left=Math.round(i+(document.body.offsetWidth-e.offsetWidth)/2)+"px":e.style.left=Math.round((document.body.offsetWidth-e.offsetWidth)/2)+"px"; }this.show_cover()},scheduler.showLightbox=function(e){if(e){if(!this.callEvent("onBeforeLightbox",[e]))return void(this._new_event&&(this._new_event=null));var t=this.getLightbox();this.showCover(t),this._fill_lightbox(e,t),this._waiAria.lightboxVisibleAttr(t),this.callEvent("onLightbox",[e])}},scheduler._fill_lightbox=function(e,t){var i=this.getEvent(e),a=t.getElementsByTagName("span"),r=[];if(scheduler.templates.lightbox_header){r.push("");var s=scheduler.templates.lightbox_header(i.start_date,i.end_date,i); r.push(s),a[1].innerHTML="",a[2].innerHTML=s}else{var n=this.templates.event_header(i.start_date,i.end_date,i),d=(this.templates.event_bar_text(i.start_date,i.end_date,i)||"").substr(0,70);r.push(n),r.push(d),a[1].innerHTML=n,a[2].innerHTML=d}this._waiAria.lightboxHeader(t,r.join(" "));for(var l=this.config.lightbox.sections,o=0;o
"+scheduler.locale.labels[i[r]]+"
";i=this.config.buttons_right;for(var r=0;r
"+scheduler.locale.labels[i[r]]+"
"; t+="",e.innerHTML=t,scheduler.config.drag_lightbox&&(e.firstChild.onmousedown=scheduler._ready_to_dnd,e.firstChild.onselectstart=function(){return!1},e.firstChild.style.cursor="pointer",scheduler._init_dnd_events()),this._waiAria.lightboxAttr(e),document.body.insertBefore(e,document.body.firstChild),this._lightbox=e;var s=this.config.lightbox.sections;t="";for(var r=0;r
"+this.locale.labels["button_"+s[r].button]+"
"}this.config.wide_form&&(t+="
");var l=this.locale.labels["section_"+s[r].name];"string"!=typeof l&&(l=s[r].name),t+="
"+d+"
"+n.render.call(this,s[r]),t+="
"}}for(var o=e.getElementsByTagName("div"),r=0;r 
",scheduler._init_touch_events=function(){"force"!=this.config.touch&&(this.config.touch=this.config.touch&&(-1!=navigator.userAgent.indexOf("Mobile")||-1!=navigator.userAgent.indexOf("iPad")||-1!=navigator.userAgent.indexOf("Android")||-1!=navigator.userAgent.indexOf("Touch"))), this.config.touch&&(this.xy.scroll_width=0,window.navigator.msPointerEnabled?(this._touch_events(["MSPointerMove","MSPointerDown","MSPointerUp"],function(e){return e.pointerType==e.MSPOINTER_TYPE_MOUSE?null:e},function(e){return!e||e.pointerType==e.MSPOINTER_TYPE_MOUSE||scheduler._pointerDragId&&scheduler._pointerDragId!=e.pointerId}),this._obj.ondblclick=function(){}):this._touch_events(["touchmove","touchstart","touchend"],function(e){return e.touches&&e.touches.length>1?null:e.touches&&e.touches[0]?{ target:e.target,pageX:e.touches[0].pageX,pageY:e.touches[0].pageY}:e},function(e){return!!(e.touches&&e.touches.length>1)}))},scheduler._touch_events=function(e,t,i){function a(e,t,i){dhtmlxEvent(e,t,function(e){return scheduler._is_lightbox_open()?!0:i(e)})}function r(e,t,i,a){if(e&&t){for(var r=e.target;r&&r!=scheduler._obj;)r=r.parentNode;if(r==scheduler._obj){var s=Math.abs(e.pageY-t.pageY),n=Math.abs(e.pageX-t.pageX);a>s&&n>i&&(!s||n/s>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button()); }}}function s(e){var t=scheduler.getState().drag_mode,i=scheduler.matrix?scheduler.matrix[scheduler._mode]:!1,a=scheduler.render_view_data;"create"==t&&i&&(scheduler.render_view_data=function(){for(var e=scheduler.getState().drag_id,t=scheduler.getEvent(e),a=i.y_property,r=scheduler.getEvents(t.start_date,t.end_date),s=0;s5||Math.abs(d.pageY-l.pageY)>5)&&(_=!0,clearTimeout(o))):void(_=!0)}}}),a(this._els.dhx_cal_data[0],"scroll",n),a(this._els.dhx_cal_data[0],"touchcancel",n),a(this._els.dhx_cal_data[0],"contextmenu",function(e){return c?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),a(this._obj,e[1],function(e){if(!i(e)){scheduler._pointerDragId=e.pointerId;var a;if(h=_=!1,c=!0,scheduler._temp_touch_block=!0, a=l=t(e),!a)return void(_=!0);var r=new Date;if(!_&&!h&&250>r-u)return scheduler._click.dhx_cal_data(a),window.setTimeout(function(){a.type="dblclick",scheduler._on_dbl_click(a)},50),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._block_next_stop=!0,!1;if(u=r,!_&&!h&&scheduler.config.touch_drag){var s=scheduler._locate_event(document.activeElement),n=scheduler._locate_event(a.target),g=d?scheduler._locate_event(d.target):null;if(s&&n&&s==n&&s!=g)return e.preventDefault&&e.preventDefault(), e.cancelBubble=!0,scheduler._ignore_next_click=!1,scheduler._click.dhx_cal_data(a),d=a,!1;o=setTimeout(function(){h=!0;var e=d.target,t=scheduler._getClassName(e);e&&-1!=t.indexOf("dhx_body")&&(e=e.previousSibling),scheduler._on_mouse_down(d,e),scheduler._drag_mode&&"create"!=scheduler._drag_mode&&scheduler.for_rendered(scheduler._drag_id,function(e,t){e.style.display="none",scheduler._rendered.splice(t,1)}),scheduler.config.touch_tip&&scheduler._show_global_tip(),scheduler.updateEvent(scheduler._drag_id); },scheduler.config.touch_drag),d=a}}}),a(this._els.dhx_cal_data[0],e[2],function(e){return i(e)?void 0:(h||r(d,l,200,100),h&&(scheduler._ignore_next_click=!0),n(e),scheduler._block_next_stop?(scheduler._block_next_stop=!1,e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1):void 0)}),dhtmlxEvent(document.body,e[2],n)},scheduler._show_global_tip=function(){scheduler._hide_global_tip();var e=scheduler._global_tip=document.createElement("DIV");e.className="dhx_global_tip",scheduler._update_global_tip(1), document.body.appendChild(e)},scheduler._update_global_tip=function(e){var t=scheduler._global_tip;if(t){var i="";if(scheduler._drag_id&&!e){var a=scheduler.getEvent(scheduler._drag_id);a&&(i="
"+(a._timed?scheduler.templates.event_header(a.start_date,a.end_date,a):scheduler.templates.day_date(a.start_date,a.end_date,a))+"
")}"create"==scheduler._drag_mode||"new-size"==scheduler._drag_mode?t.innerHTML=(scheduler.locale.labels.drag_to_create||"Drag to create")+i:t.innerHTML=(scheduler.locale.labels.drag_to_move||"Drag to move")+i; }},scheduler._hide_global_tip=function(){var e=scheduler._global_tip;e&&e.parentNode&&(e.parentNode.removeChild(e),scheduler._global_tip=0)},scheduler._dp_init=function(e){e._methods=["_set_event_text_style","","_dp_change_event_id","_dp_hook_delete"],this._dp_change_event_id=function(e,t){scheduler.getEvent(e)&&scheduler.changeEventId(e,t)},this._dp_hook_delete=function(t,i){return scheduler.getEvent(t)?(t!=i&&("true_deleted"==this.getUserData(t,e.action_param)&&this.setUserData(t,e.action_param,"updated"), this.changeEventId(t,i)),this.deleteEvent(i,!0)):void 0},this.attachEvent("onEventAdded",function(t){!this._loading&&this._validId(t)&&e.setUpdated(t,!0,"inserted")}),this.attachEvent("onConfirmedBeforeEventDelete",function(t){if(this._validId(t)){var i=e.getState(t);return"inserted"==i||this._new_event?(e.setUpdated(t,!1),!0):"deleted"==i?!1:"true_deleted"==i?!0:(e.setUpdated(t,!0,"deleted"),!1)}}),this.attachEvent("onEventChanged",function(t){!this._loading&&this._validId(t)&&e.setUpdated(t,!0,"updated"); }),scheduler.attachEvent("onClearAll",function(){e._in_progress={},e._invalid={},e.updatedRows=[],e._waitMode=0}),e._objToJson=function(t,i,a){a=a||"",i=i||{};for(var r in t)0!==r.indexOf("_")&&(t[r]&&t[r].getUTCFullYear?i[a+r]=this.obj.templates.xml_format(t[r]):t[r]&&"object"==typeof t[r]?e._objToJson(t[r],i,a+r+"."):i[a+r]=t[r]);return i},e._getRowData=function(e,t){var i=this.obj.getEvent(e);return this._objToJson(i)},e._clearUpdateFlag=function(){},e.attachEvent("insertCallback",scheduler._update_callback), e.attachEvent("updateCallback",scheduler._update_callback),e.attachEvent("deleteCallback",function(e,t){this.obj.getEvent(t)?(this.obj.setUserData(t,this.action_param,"true_deleted"),this.obj.deleteEvent(t)):this.obj._add_rec_marker&&this.obj._update_callback(e,t)})},scheduler._validId=function(e){return!0},scheduler.setUserData=function(e,t,i){if(e){var a=this.getEvent(e);a&&(a[t]=i)}else this._userdata[t]=i},scheduler.getUserData=function(e,t){if(e){var i=this.getEvent(e);return i?i[t]:null}return this._userdata[t]; },scheduler._set_event_text_style=function(e,t){if(scheduler.getEvent(e)){this.for_rendered(e,function(e){e.style.cssText+=";"+t});var i=this.getEvent(e);i._text_style=t,this.event_updated(i)}},scheduler._update_callback=function(e,t){var i=scheduler._xmlNodeToJSON(e.firstChild);"none"==i.rec_type&&(i.rec_pattern="none"),i.text=i.text||i._tagvalue,i.start_date=scheduler.templates.xml_date(i.start_date),i.end_date=scheduler.templates.xml_date(i.end_date),scheduler.addEvent(i),scheduler._add_rec_marker&&scheduler.setCurrentView(); },scheduler._skin_settings={fix_tab_position:[1,0],use_select_menu_space:[1,0],wide_form:[1,0],hour_size_px:[44,42],displayed_event_color:["#ff4a4a","ffc5ab"],displayed_event_text_color:["#ffef80","7e2727"]},scheduler._skin_xy={lightbox_additional_height:[90,50],nav_height:[59,22],bar_height:[24,20]},scheduler._configure=function(e,t,i){for(var a in t)"undefined"==typeof e[a]&&(e[a]=t[a][i])},scheduler._skin_init=function(){if(!scheduler.skin)for(var e=document.getElementsByTagName("link"),t=0;tt?"0"+t:t;var i=""+e.getHours()+" "+t+""; return i}),!a){var r=scheduler.config.minicalendar;r&&(r.padding=14),scheduler.templates.event_bar_date=function(e,t,i){return"• "+scheduler.templates.event_date(e)+" "},scheduler.attachEvent("onTemplatesReady",function(){var e=scheduler.date.date_to_str("%d");scheduler.templates._old_month_day||(scheduler.templates._old_month_day=scheduler.templates.month_day);var t=scheduler.templates._old_month_day;if(scheduler.templates.month_day=function(i){if("month"==this._mode){var a=e(i);return 1==i.getDate()&&(a=scheduler.locale.date.month_full[i.getMonth()]+" "+a), +i==+scheduler.date.date_part(this._currentDate())&&(a=scheduler.locale.labels.dhx_cal_today_button+" "+a),a}return t.call(this,i)},scheduler.config.fix_tab_position){for(var i=scheduler._els.dhx_cal_navline[0].getElementsByTagName("div"),a=null,r=211,s=0;s