diff options
author | AlexKlimenkov <shurick.klimenkov@gmail.com> | 2014-06-16 11:39:26 +0300 |
---|---|---|
committer | AlexKlimenkov <shurick.klimenkov@gmail.com> | 2014-06-16 11:39:26 +0300 |
commit | 18d5b85296811c84235763e3b39eb6f7715e8d19 (patch) | |
tree | f2ea4bfdb37603dc287a5768987939e519e1c57c /codebase | |
parent | b5a0589955460a44c5428c4cb5429fcfce265d23 (diff) | |
download | scheduler-18d5b85296811c84235763e3b39eb6f7715e8d19.zip scheduler-18d5b85296811c84235763e3b39eb6f7715e8d19.tar.gz scheduler-18d5b85296811c84235763e3b39eb6f7715e8d19.tar.bz2 |
[fix] bug with multiple call of scheduler.initv4.1.0
Diffstat (limited to 'codebase')
-rw-r--r-- | codebase/dhtmlxscheduler.js | 342 | ||||
-rw-r--r-- | codebase/ext/dhtmlxscheduler_agenda_view.js | 12 | ||||
-rw-r--r-- | codebase/ext/dhtmlxscheduler_all_timed.js | 6 | ||||
-rw-r--r-- | codebase/sources/dhtmlxscheduler.js | 3 | ||||
-rw-r--r-- | codebase/sources/dhtmlxscheduler.js.map | 2 |
5 files changed, 182 insertions, 183 deletions
diff --git a/codebase/dhtmlxscheduler.js b/codebase/dhtmlxscheduler.js index 8ea4df2..44cfc7d 100644 --- a/codebase/dhtmlxscheduler.js +++ b/codebase/dhtmlxscheduler.js @@ -5,198 +5,198 @@ This software is covered by GPL license. You also can obtain Commercial or Enter (c) Dinamenta, UAB. */ -function dtmlXMLLoaderObject(e,t,s,i){return this.xmlDoc="",this.async="undefined"!=typeof s?s:!0,this.onloadAction=e||null,this.mainObject=t||null,this.waitCall=null,this.rSeed=i||!1,this}function callerFunction(e,t){return this.handler=function(s){return s||(s=window.event),e(s,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,s=0;e;)t+=parseInt(e.offsetTop),s+=parseInt(e.offsetLeft),e=e.offsetParent; -return{top:t,left:s}}function getOffsetRect(e){var t=e.getBoundingClientRect(),s=document.body,i=document.documentElement,n=window.pageYOffset||i.scrollTop||s.scrollTop,a=window.pageXOffset||i.scrollLeft||s.scrollLeft,r=i.clientTop||s.clientTop||0,d=i.clientLeft||s.clientLeft||0,o=t.top+n-r,l=t.left+a-d;return{top:Math.round(o),left:Math.round(l)}}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(){return this.catches||(this.catches=[]),this}function dhtmlXHeir(e,t){for(var s in t)"function"==typeof t[s]&&(e[s]=t[s]);return e}function dhtmlxEvent(e,t,s){e.addEventListener?e.addEventListener(t,s,!1):e.attachEvent&&e.attachEvent("on"+t,s) +function dtmlXMLLoaderObject(e,t,i,s){return this.xmlDoc="",this.async="undefined"!=typeof i?i:!0,this.onloadAction=e||null,this.mainObject=t||null,this.waitCall=null,this.rSeed=s||!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,s=document.documentElement,n=window.pageYOffset||s.scrollTop||i.scrollTop,r=window.pageXOffset||s.scrollLeft||i.scrollLeft,a=s.clientTop||i.clientTop||0,d=s.clientLeft||i.clientLeft||0,o=t.top+n-a,l=t.left+r-d;return{top:Math.round(o),left:Math.round(l)}}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(){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 dhtmlxEvent(e,t,i){e.addEventListener?e.addEventListener(t,i,!1):e.attachEvent&&e.attachEvent("on"+t,i) }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.1.0"},window.dhtmlx||(dhtmlx=function(e){for(var t in e)dhtmlx[t]=e[t];return dhtmlx}),dhtmlx.extend_api=function(e,t,s){var i=window[e];i&&(window[e]=function(e){var s;if(e&&"object"==typeof e&&!e.tagName){s=i.apply(this,t._init?t._init(e):arguments);for(var n in dhtmlx)t[n]&&this[t[n]](dhtmlx[n]);for(var n in e)t[n]?this[t[n]](e[n]):0===n.indexOf("on")&&this.attachEvent(n,e[n])}else s=i.apply(this,arguments);return t._patch&&t._patch(this),s||this -},window[e].prototype=i.prototype,s&&dhtmlXHeir(window[e].prototype,s))},dhtmlxAjax={get:function(e,t){var s=new dtmlXMLLoaderObject(!0);return s.async=arguments.length<3,s.waitCall=t,s.loadXML(e),s},post:function(e,t,s){var i=new dtmlXMLLoaderObject(!0);return i.async=arguments.length<4,i.waitCall=s,i.loadXML(e,!0,t),i},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 s;if(this.xmlDoc.responseXML){var i=this.xmlDoc.responseXML.getElementsByTagName(e);if(0===i.length&&-1!=e.indexOf(":"))var i=this.xmlDoc.responseXML.getElementsByTagName(e.split(":")[1]); -s=i[0]}else s=this.xmlDoc.documentElement;if(s)return this._retry=!1,s;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 s=new DOMParser;this.xmlDoc=s.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,s,i){this.rSeed&&(e+=(-1!=e.indexOf("?")?"&":"?")+"a_dhx_rSeed="+(new Date).valueOf()),this.filePath=e,this.xmlDoc=!_isIE&&window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),this.async&&(this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this)),this.xmlDoc.open(t?"POST":"GET",e,this.async),i?(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(null||s),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={},s=0;s<e.attributes.length;s++)t[e.attributes[s].name]=e.attributes[s].value; -t._tagvalue=e.firstChild?e.firstChild.nodeValue:"";for(var s=0;s<e.childNodes.length;s++){var i=e.childNodes[s].tagName;i&&(t[i]||(t[i]=[]),t[i].push(this.xmlNodeToJSON(e.childNodes[s])))}return t},dhtmlDragAndDropObject.prototype.removeDraggableItem=function(e){e.onmousedown=null,e.dragStarter=null,e.dragLanding=null},dhtmlDragAndDropObject.prototype.addDraggableItem=function(e,t){e.onmousedown=this.preCreateDragCopy,e.dragStarter=t,this.addDragLanding(e,t)},dhtmlDragAndDropObject.prototype.addDragLanding=function(e,t){e.dragLanding=t +}window.dhtmlXScheduler=window.scheduler={version:"4.1.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 s=window[e];s&&(window[e]=function(e){var i;if(e&&"object"==typeof e&&!e.tagName){i=s.apply(this,t._init?t._init(e):arguments);for(var n in dhtmlx)t[n]&&this[t[n]](dhtmlx[n]);for(var n in e)t[n]?this[t[n]](e[n]):0===n.indexOf("on")&&this.attachEvent(n,e[n])}else i=s.apply(this,arguments);return t._patch&&t._patch(this),i||this +},window[e].prototype=s.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 s=new dtmlXMLLoaderObject(!0);return s.async=arguments.length<4,s.waitCall=i,s.loadXML(e,!0,t),s},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 s=this.xmlDoc.responseXML.getElementsByTagName(e);if(0===s.length&&-1!=e.indexOf(":"))var s=this.xmlDoc.responseXML.getElementsByTagName(e.split(":")[1]); +i=s[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,s){this.rSeed&&(e+=(-1!=e.indexOf("?")?"&":"?")+"a_dhx_rSeed="+(new Date).valueOf()),this.filePath=e,this.xmlDoc=!_isIE&&window.XMLHttpRequest?new XMLHttpRequest:new ActiveXObject("Microsoft.XMLHTTP"),this.async&&(this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this)),this.xmlDoc.open(t?"POST":"GET",e,this.async),s?(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(null||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<e.attributes.length;i++)t[e.attributes[i].name]=e.attributes[i].value; +t._tagvalue=e.firstChild?e.firstChild.nodeValue:"";for(var i=0;i<e.childNodes.length;i++){var s=e.childNodes[i].tagName;s&&(t[s]||(t[s]=[]),t[s].push(this.xmlNodeToJSON(e.childNodes[i])))}return t},dhtmlDragAndDropObject.prototype.removeDraggableItem=function(e){e.onmousedown=null,e.dragStarter=null,e.dragLanding=null},dhtmlDragAndDropObject.prototype.addDraggableItem=function(e,t){e.onmousedown=this.preCreateDragCopy,e.dragStarter=t,this.addDragLanding(e,t)},dhtmlDragAndDropObject.prototype.addDragLanding=function(e,t){e.dragLanding=t },dhtmlDragAndDropObject.prototype.preCreateDragCopy=function(e){return!e&&!window.event||2!=(e||event).button?window.dhtmlDragAndDrop.waitDrag?(window.dhtmlDragAndDrop.waitDrag=0,document.body.onmouseup=window.dhtmlDragAndDrop.tempDOMU,document.body.onmousemove=window.dhtmlDragAndDrop.tempDOMM,!1):(window.dhtmlDragAndDrop.dragNode&&window.dhtmlDragAndDrop.stopDrag(e),window.dhtmlDragAndDrop.waitDrag=1,window.dhtmlDragAndDrop.tempDOMU=document.body.onmouseup,window.dhtmlDragAndDrop.tempDOMM=document.body.onmousemove,window.dhtmlDragAndDrop.dragStartNode=this,window.dhtmlDragAndDrop.dragStartObject=this.dragStarter,document.body.onmouseup=window.dhtmlDragAndDrop.preCreateDragCopy,document.body.onmousemove=window.dhtmlDragAndDrop.callDrag,window.dhtmlDragAndDrop.downtime=(new Date).valueOf(),e&&e.preventDefault?(e.preventDefault(),!1):!1):void 0 },dhtmlDragAndDropObject.prototype.callDrag=function(e){e||(e=window.event);var t=window.dhtmlDragAndDrop;if(!((new Date).valueOf()-t.downtime<100)){if(!t.dragNode){if(!t.waitDrag)return t.stopDrag(e,!0);if(t.dragNode=t.dragStartObject._createDragNode(t.dragStartNode,e),!t.dragNode)return t.stopDrag();t.dragNode.onselectstart=function(){return!1},t.gldragNode=t.dragNode,document.body.appendChild(t.dragNode),document.body.onmouseup=t.stopDrag,t.waitDrag=0,t.dragNode.pWindow=window,t.initFrameRoute() -}if(t.dragNode.parentNode!=window.document.body&&t.gldragNode){var s=t.gldragNode;t.gldragNode.old&&(s=t.gldragNode.old),s.parentNode.removeChild(s);var i=t.dragNode.pWindow;if(s.pWindow&&s.pWindow.dhtmlDragAndDrop.lastLanding&&s.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(s.pWindow.dhtmlDragAndDrop.lastLanding),_isIE){var n=document.createElement("Div");n.innerHTML=t.dragNode.outerHTML,t.dragNode=n.childNodes[0]}else t.dragNode=t.dragNode.cloneNode(!0);t.dragNode.pWindow=window,t.gldragNode.old=t.dragNode,document.body.appendChild(t.dragNode),i.dhtmlDragAndDrop.dragNode=t.dragNode -}t.dragNode.style.left=e.clientX+15+(t.fx?-1*t.fx:0)+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px",t.dragNode.style.top=e.clientY+3+(t.fy?-1*t.fy:0)+(document.body.scrollTop||document.documentElement.scrollTop)+"px";var a;a=e.srcElement?e.srcElement:e.target,t.checkLanding(a,e)}},dhtmlDragAndDropObject.prototype.calculateFramePosition=function(e){if(window.name){for(var t=parent.frames[window.name].frameElement.offsetParent,s=0,i=0;t;)s+=t.offsetLeft,i+=t.offsetTop,t=t.offsetParent; -if(parent.dhtmlDragAndDrop){var n=parent.dhtmlDragAndDrop.calculateFramePosition(1);s+=1*n.split("_")[0],i+=1*n.split("_")[1]}if(e)return s+"_"+i;this.fx=s,this.fy=i}return"0_0"},dhtmlDragAndDropObject.prototype.checkLanding=function(e,t){e&&e.dragLanding?(this.lastLanding&&this.lastLanding.dragLanding._dragOut(this.lastLanding),this.lastLanding=e,this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding,this.dragStartNode,t.clientX,t.clientY,t),this.lastLanding_scr=_isIE?t.srcElement:t.target):e&&"BODY"!=e.tagName?this.checkLanding(e.parentNode,t):(this.lastLanding&&this.lastLanding.dragLanding._dragOut(this.lastLanding,t.clientX,t.clientY,t),this.lastLanding=0,this._onNotFound&&this._onNotFound()) -},dhtmlDragAndDropObject.prototype.stopDrag=function(e,t){var s=window.dhtmlDragAndDrop;if(!t){s.stopFrameRoute();var i=s.lastLanding;s.lastLanding=null,i&&i.dragLanding._drag(s.dragStartNode,s.dragStartObject,i,_isIE?event.srcElement:e.target)}s.lastLanding=null,s.dragNode&&s.dragNode.parentNode==document.body&&s.dragNode.parentNode.removeChild(s.dragNode),s.dragNode=0,s.gldragNode=0,s.fx=0,s.fy=0,s.dragStartNode=0,s.dragStartObject=0,document.body.onmouseup=s.tempDOMU,document.body.onmousemove=s.tempDOMM,s.tempDOMU=null,s.tempDOMM=null,s.waitDrag=0 -},dhtmlDragAndDropObject.prototype.stopFrameRoute=function(e){e&&window.dhtmlDragAndDrop.stopDrag(1,1);for(var t=0;t<window.frames.length;t++)try{window.frames[t]!=e&&window.frames[t].dhtmlDragAndDrop&&window.frames[t].dhtmlDragAndDrop.stopFrameRoute(window)}catch(s){}try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.stopFrameRoute(window)}catch(s){}},dhtmlDragAndDropObject.prototype.initFrameRoute=function(e,t){e&&(window.dhtmlDragAndDrop.preCreateDragCopy(),window.dhtmlDragAndDrop.dragStartNode=e.dhtmlDragAndDrop.dragStartNode,window.dhtmlDragAndDrop.dragStartObject=e.dhtmlDragAndDrop.dragStartObject,window.dhtmlDragAndDrop.dragNode=e.dhtmlDragAndDrop.dragNode,window.dhtmlDragAndDrop.gldragNode=e.dhtmlDragAndDrop.dragNode,window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag,window.waitDrag=0,!_isIE&&t&&(!_isFF||1.8>_FFrv)&&window.dhtmlDragAndDrop.calculateFramePosition()); -try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.initFrameRoute(window)}catch(s){}for(var i=0;i<window.frames.length;i++)try{window.frames[i]!=e&&window.frames[i].dhtmlDragAndDrop&&window.frames[i].dhtmlDragAndDrop.initFrameRoute(window,!e||t?1:0)}catch(s){}},_isFF=!1,_isIE=!1,_isOpera=!1,_isKHTML=!1,_isMacOS=!1,_isChrome=!1,_FFrv=!1,_KHTMLrv=!1,_OperaRv=!1,-1!=navigator.userAgent.indexOf("Macintosh")&&(_isMacOS=!0),navigator.userAgent.toLowerCase().indexOf("chrome")>-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,s,i){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]),s&&t.setProperty("SelectionNamespaces","xmlns:xsl='"+s+"'"),"single"==i?t.selectSingleNode(e):t.selectNodes(e)||new Array(0);var n=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")?n=t:(n=t,t=t.ownerDocument); -var a=XPathResult.ANY_TYPE;"single"==i&&(a=XPathResult.FIRST_ORDERED_NODE_TYPE);var r=[],d=t.evaluate(e,n,function(){return s},a,null);if(a==XPathResult.FIRST_ORDERED_NODE_TYPE)return d.singleNodeValue;for(var o=d.iterateNext();o;)r[r.length]=o,o=d.iterateNext();return r},_dhtmlxError.prototype.catchError=function(e,t){this.catches[e]=t},_dhtmlxError.prototype.throwError=function(e,t,s){return this.catches[e]?this.catches[e](e,t,s):this.catches.ALL?this.catches.ALL(e,t,s):(window.alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]),null) -},window.dhtmlxError=new _dhtmlxError,dtmlXMLLoaderObject.prototype.doXPathOpera=function(e,t){var s=e.replace(/[\/]+/gi,"/").split("/"),i=null,n=1;if(!s.length)return[];if("."==s[0])i=[t];else{if(""!==s[0])return[];i=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(s[n].replace(/\[[^\]]*\]/g,"")),n++}for(n;n<s.length;n++)i=this._getAllNamedChilds(i,s[n]);return-1!=s[n-1].indexOf("[")&&(i=this._filterXPath(i,s[n-1])),i},dtmlXMLLoaderObject.prototype._filterXPath=function(e,t){for(var s=[],t=t.replace(/[^\[]*\[\@/g,"").replace(/[\[\]\@]*/g,""),i=0;i<e.length;i++)e[i].getAttribute(t)&&(s[s.length]=e[i]); -return s},dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(e,t){var s=[];_isKHTML&&(t=t.toUpperCase());for(var i=0;i<e.length;i++)for(var n=0;n<e[i].childNodes.length;n++)_isKHTML?e[i].childNodes[n].tagName&&e[i].childNodes[n].tagName.toUpperCase()==t&&(s[s.length]=e[i].childNodes[n]):e[i].childNodes[n].tagName==t&&(s[s.length]=e[i].childNodes[n]);return s},dtmlXMLLoaderObject.prototype.xslDoc=null,dtmlXMLLoaderObject.prototype.setXSLParamValue=function(e,t,s){s||(s=this.xslDoc),s.responseXML&&(s=s.responseXML); -var i=this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+e+"']",s,"http://www.w3.org/1999/XSL/Transform","single");i&&(i.firstChild.nodeValue=t)},dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(e,t){e||(e=this.xslDoc),e.responseXML&&(e=e.responseXML),t||(t=this.xmlDoc),t.responseXML&&(t=t.responseXML);var s;if(_isIE){s=new ActiveXObject("Msxml2.DOMDocument.3.0");try{t.transformNodeToObject(e,s)}catch(i){s=t.transformNode(e)}}else this.XSLProcessor||(this.XSLProcessor=new XSLTProcessor,this.XSLProcessor.importStylesheet(e)),s=this.XSLProcessor.transformToDocument(t); -return s},dtmlXMLLoaderObject.prototype.doXSLTransToString=function(e,t){var s=this.doXSLTransToObject(e,t);return"string"==typeof s?s:this.doSerialization(s)},dtmlXMLLoaderObject.prototype.doSerialization=function(e){if(e||(e=this.xmlDoc),e.responseXML&&(e=e.responseXML),_isIE)return e.xml;var t=new XMLSerializer;return t.serializeToString(e)},dhtmlxEventable=function(obj){obj.attachEvent=function(e,t,s){return e="ev_"+e.toLowerCase(),this[e]||(this[e]=new this.eventCatcher(s||this)),e+":"+this[e].addEvent(t) -},obj.callEvent=function(e,t){return e="ev_"+e.toLowerCase(),this[e]?this[e].apply(this,t):!0},obj.checkEvent=function(e){return!!this["ev_"+e.toLowerCase()]},obj.eventCatcher=function(obj){var dhx_catch=[],z=function(){for(var e=!0,t=0;t<dhx_catch.length;t++)if(dhx_catch[t]){var s=dhx_catch[t].apply(obj,arguments);e=e&&s}return e};return z.addEvent=function(ev){return"function"!=typeof ev&&(ev=eval(ev)),ev?dhx_catch.push(ev)-1:!1},z.removeEvent=function(e){dhx_catch[e]=null},z},obj.detachEvent=function(e){if(e){var t=e.split(":"); -this[t[0]].removeEvent(t[1])}},obj.detachAllEvents=function(){for(var e in this)0===e.indexOf("ev_")&&(this.detachEvent(e),this[e]=null)},obj=null},window.dhtmlx||(window.dhtmlx={}),function(){function e(e,t){var i=e.callback;s(!1),e.box.parentNode.removeChild(e.box),c=e.box=null,i&&i(t)}function t(t){if(c){t=t||event;var s=t.which||event.keyCode;return dhtmlx.message.keyboard&&((13==s||32==s)&&e(c,!0),27==s&&e(c,!1)),t.preventDefault&&t.preventDefault(),!(t.cancelBubble=!0)}}function s(e){s.cover||(s.cover=document.createElement("DIV"),s.cover.onkeydown=t,s.cover.className="dhx_modal_cover",document.body.appendChild(s.cover)); -document.body.scrollHeight;s.cover.style.display=e?"inline-block":"none"}function i(e,t,s){var i=s?s:e||"",n="dhtmlx_"+i.toLowerCase().replace(/ /g,"_")+"_button";return"<div class='dhtmlx_popup_button "+n+"' result='"+t+"' ><div>"+e+"</div></div>"}function n(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="<div>"+e.text+"</div>",t.className="dhtmlx-info dhtmlx-"+e.type,t.onclick=function(){u.hide(e.id),e=null -},"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 a(t,s,n){var a=document.createElement("DIV");a.className=" dhtmlx_modal_box dhtmlx-"+t.type,a.setAttribute("dhxbox",1);var r="";if(t.width&&(a.style.width=t.width),t.height&&(a.style.height=t.height),t.title&&(r+='<div class="dhtmlx_popup_title">'+t.title+"</div>"),r+='<div class="dhtmlx_popup_text"><span>'+(t.content?"":t.text)+'</span></div><div class="dhtmlx_popup_controls">',s){var d=t.ok||scheduler.locale.labels.message_ok; -void 0===d&&(d="OK"),r+=i(d,!0,"ok")}if(n){var o=t.cancel||scheduler.locale.labels.message_cancel;void 0===o&&(o="Cancel"),r+=i(o,!1,"cancel")}if(t.buttons)for(var l=0;l<t.buttons.length;l++)r+=i(t.buttons[l],l);if(r+="</div>",a.innerHTML=r,t.content){var h=t.content;"string"==typeof h&&(h=document.getElementById(h)),"none"==h.style.display&&(h.style.display=""),a.childNodes[t.title?1:0].appendChild(h)}return a.onclick=function(s){s=s||event;var i=s.target||s.srcElement;if(i.className||(i=i.parentNode),"dhtmlx_popup_button"==i.className.split(" ")[0]){var n=i.getAttribute("result"); -n="true"==n||("false"==n?!1:n),e(t,n)}},t.box=a,(s||n)&&(c=t),a}function r(e,i,n){var r=e.tagName?e:a(e,i,n);e.hidden||s(!0),document.body.appendChild(r);var d=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-r.offsetWidth)/2)),o=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-r.offsetHeight)/2));return r.style.top="top"==e.position?"-3px":o+"px",r.style.left=d+"px",r.onkeydown=t,r.focus(),e.hidden&&dhtmlx.modalbox.hide(r),r}function d(e){return r(e,!0,!1) -}function o(e){return r(e,!0,!0)}function l(e){return r(e)}function h(e,t,s){return"object"!=typeof e&&("function"==typeof t&&(s=t,t=""),e={text:e,type:t,callback:s}),e}function _(e,t,s,i){return"object"!=typeof e&&(e={text:e,type:t,expire:s,id:i}),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",o(e)},dhtmlx.modalbox=function(){var e=h.apply(this,arguments);return e.type=e.type||"alert",l(e)},dhtmlx.modalbox.hide=function(e){for(;e&&e.getAttribute&&!e.getAttribute("dhxbox");)e=e.parentNode;e&&(e.parentNode.removeChild(e),s(!1))};var u=dhtmlx.message=function(e){e=_.apply(this,arguments),e.type=e.type||"info";var t=e.type.split("-")[0];switch(t){case"alert":return d(e);case"confirm":return o(e);case"modalbox":return l(e);default:return n(e)}};u.seed=(new Date).valueOf(),u.uid=function(){return u.seed++ +}if(t.dragNode.parentNode!=window.document.body&&t.gldragNode){var i=t.gldragNode;t.gldragNode.old&&(i=t.gldragNode.old),i.parentNode.removeChild(i);var s=t.dragNode.pWindow;if(i.pWindow&&i.pWindow.dhtmlDragAndDrop.lastLanding&&i.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(i.pWindow.dhtmlDragAndDrop.lastLanding),_isIE){var n=document.createElement("Div");n.innerHTML=t.dragNode.outerHTML,t.dragNode=n.childNodes[0]}else t.dragNode=t.dragNode.cloneNode(!0);t.dragNode.pWindow=window,t.gldragNode.old=t.dragNode,document.body.appendChild(t.dragNode),s.dhtmlDragAndDrop.dragNode=t.dragNode +}t.dragNode.style.left=e.clientX+15+(t.fx?-1*t.fx:0)+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px",t.dragNode.style.top=e.clientY+3+(t.fy?-1*t.fy:0)+(document.body.scrollTop||document.documentElement.scrollTop)+"px";var r;r=e.srcElement?e.srcElement:e.target,t.checkLanding(r,e)}},dhtmlDragAndDropObject.prototype.calculateFramePosition=function(e){if(window.name){for(var t=parent.frames[window.name].frameElement.offsetParent,i=0,s=0;t;)i+=t.offsetLeft,s+=t.offsetTop,t=t.offsetParent; +if(parent.dhtmlDragAndDrop){var n=parent.dhtmlDragAndDrop.calculateFramePosition(1);i+=1*n.split("_")[0],s+=1*n.split("_")[1]}if(e)return i+"_"+s;this.fx=i,this.fy=s}return"0_0"},dhtmlDragAndDropObject.prototype.checkLanding=function(e,t){e&&e.dragLanding?(this.lastLanding&&this.lastLanding.dragLanding._dragOut(this.lastLanding),this.lastLanding=e,this.lastLanding=this.lastLanding.dragLanding._dragIn(this.lastLanding,this.dragStartNode,t.clientX,t.clientY,t),this.lastLanding_scr=_isIE?t.srcElement:t.target):e&&"BODY"!=e.tagName?this.checkLanding(e.parentNode,t):(this.lastLanding&&this.lastLanding.dragLanding._dragOut(this.lastLanding,t.clientX,t.clientY,t),this.lastLanding=0,this._onNotFound&&this._onNotFound()) +},dhtmlDragAndDropObject.prototype.stopDrag=function(e,t){var i=window.dhtmlDragAndDrop;if(!t){i.stopFrameRoute();var s=i.lastLanding;i.lastLanding=null,s&&s.dragLanding._drag(i.dragStartNode,i.dragStartObject,s,_isIE?event.srcElement:e.target)}i.lastLanding=null,i.dragNode&&i.dragNode.parentNode==document.body&&i.dragNode.parentNode.removeChild(i.dragNode),i.dragNode=0,i.gldragNode=0,i.fx=0,i.fy=0,i.dragStartNode=0,i.dragStartObject=0,document.body.onmouseup=i.tempDOMU,document.body.onmousemove=i.tempDOMM,i.tempDOMU=null,i.tempDOMM=null,i.waitDrag=0 +},dhtmlDragAndDropObject.prototype.stopFrameRoute=function(e){e&&window.dhtmlDragAndDrop.stopDrag(1,1);for(var t=0;t<window.frames.length;t++)try{window.frames[t]!=e&&window.frames[t].dhtmlDragAndDrop&&window.frames[t].dhtmlDragAndDrop.stopFrameRoute(window)}catch(i){}try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.stopFrameRoute(window)}catch(i){}},dhtmlDragAndDropObject.prototype.initFrameRoute=function(e,t){e&&(window.dhtmlDragAndDrop.preCreateDragCopy(),window.dhtmlDragAndDrop.dragStartNode=e.dhtmlDragAndDrop.dragStartNode,window.dhtmlDragAndDrop.dragStartObject=e.dhtmlDragAndDrop.dragStartObject,window.dhtmlDragAndDrop.dragNode=e.dhtmlDragAndDrop.dragNode,window.dhtmlDragAndDrop.gldragNode=e.dhtmlDragAndDrop.dragNode,window.document.body.onmouseup=window.dhtmlDragAndDrop.stopDrag,window.waitDrag=0,!_isIE&&t&&(!_isFF||1.8>_FFrv)&&window.dhtmlDragAndDrop.calculateFramePosition()); +try{parent.dhtmlDragAndDrop&&parent!=window&&parent!=e&&parent.dhtmlDragAndDrop.initFrameRoute(window)}catch(i){}for(var s=0;s<window.frames.length;s++)try{window.frames[s]!=e&&window.frames[s].dhtmlDragAndDrop&&window.frames[s].dhtmlDragAndDrop.initFrameRoute(window,!e||t?1:0)}catch(i){}},_isFF=!1,_isIE=!1,_isOpera=!1,_isKHTML=!1,_isMacOS=!1,_isChrome=!1,_FFrv=!1,_KHTMLrv=!1,_OperaRv=!1,-1!=navigator.userAgent.indexOf("Macintosh")&&(_isMacOS=!0),navigator.userAgent.toLowerCase().indexOf("chrome")>-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,s){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"==s?t.selectSingleNode(e):t.selectNodes(e)||new Array(0);var n=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")?n=t:(n=t,t=t.ownerDocument); +var r=XPathResult.ANY_TYPE;"single"==s&&(r=XPathResult.FIRST_ORDERED_NODE_TYPE);var a=[],d=t.evaluate(e,n,function(){return i},r,null);if(r==XPathResult.FIRST_ORDERED_NODE_TYPE)return d.singleNodeValue;for(var o=d.iterateNext();o;)a[a.length]=o,o=d.iterateNext();return a},_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("/"),s=null,n=1;if(!i.length)return[];if("."==i[0])s=[t];else{if(""!==i[0])return[];s=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(i[n].replace(/\[[^\]]*\]/g,"")),n++}for(n;n<i.length;n++)s=this._getAllNamedChilds(s,i[n]);return-1!=i[n-1].indexOf("[")&&(s=this._filterXPath(s,i[n-1])),s},dtmlXMLLoaderObject.prototype._filterXPath=function(e,t){for(var i=[],t=t.replace(/[^\[]*\[\@/g,"").replace(/[\[\]\@]*/g,""),s=0;s<e.length;s++)e[s].getAttribute(t)&&(i[i.length]=e[s]); +return i},dtmlXMLLoaderObject.prototype._getAllNamedChilds=function(e,t){var i=[];_isKHTML&&(t=t.toUpperCase());for(var s=0;s<e.length;s++)for(var n=0;n<e[s].childNodes.length;n++)_isKHTML?e[s].childNodes[n].tagName&&e[s].childNodes[n].tagName.toUpperCase()==t&&(i[i.length]=e[s].childNodes[n]):e[s].childNodes[n].tagName==t&&(i[i.length]=e[s].childNodes[n]);return i},dtmlXMLLoaderObject.prototype.xslDoc=null,dtmlXMLLoaderObject.prototype.setXSLParamValue=function(e,t,i){i||(i=this.xslDoc),i.responseXML&&(i=i.responseXML); +var s=this.doXPath("/xsl:stylesheet/xsl:variable[@name='"+e+"']",i,"http://www.w3.org/1999/XSL/Transform","single");s&&(s.firstChild.nodeValue=t)},dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(e,t){e||(e=this.xslDoc),e.responseXML&&(e=e.responseXML),t||(t=this.xmlDoc),t.responseXML&&(t=t.responseXML);var i;if(_isIE){i=new ActiveXObject("Msxml2.DOMDocument.3.0");try{t.transformNodeToObject(e,i)}catch(s){i=t.transformNode(e)}}else this.XSLProcessor||(this.XSLProcessor=new XSLTProcessor,this.XSLProcessor.importStylesheet(e)),i=this.XSLProcessor.transformToDocument(t); +return i},dtmlXMLLoaderObject.prototype.doXSLTransToString=function(e,t){var i=this.doXSLTransToObject(e,t);return"string"==typeof i?i:this.doSerialization(i)},dtmlXMLLoaderObject.prototype.doSerialization=function(e){if(e||(e=this.xmlDoc),e.responseXML&&(e=e.responseXML),_isIE)return e.xml;var t=new XMLSerializer;return t.serializeToString(e)},dhtmlxEventable=function(obj){obj.attachEvent=function(e,t,i){return e="ev_"+e.toLowerCase(),this[e]||(this[e]=new this.eventCatcher(i||this)),e+":"+this[e].addEvent(t) +},obj.callEvent=function(e,t){return e="ev_"+e.toLowerCase(),this[e]?this[e].apply(this,t):!0},obj.checkEvent=function(e){return!!this["ev_"+e.toLowerCase()]},obj.eventCatcher=function(obj){var dhx_catch=[],z=function(){for(var e=!0,t=0;t<dhx_catch.length;t++)if(dhx_catch[t]){var i=dhx_catch[t].apply(obj,arguments);e=e&&i}return e};return z.addEvent=function(ev){return"function"!=typeof ev&&(ev=eval(ev)),ev?dhx_catch.push(ev)-1:!1},z.removeEvent=function(e){dhx_catch[e]=null},z},obj.detachEvent=function(e){if(e){var t=e.split(":"); +this[t[0]].removeEvent(t[1])}},obj.detachAllEvents=function(){for(var e in this)0===e.indexOf("ev_")&&(this.detachEvent(e),this[e]=null)},obj=null},window.dhtmlx||(window.dhtmlx={}),function(){function e(e,t){var s=e.callback;i(!1),e.box.parentNode.removeChild(e.box),c=e.box=null,s&&s(t)}function t(t){if(c){t=t||event;var i=t.which||event.keyCode;return dhtmlx.message.keyboard&&((13==i||32==i)&&e(c,!0),27==i&&e(c,!1)),t.preventDefault&&t.preventDefault(),!(t.cancelBubble=!0)}}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 s(e,t,i){var s=i?i:e||"",n="dhtmlx_"+s.toLowerCase().replace(/ /g,"_")+"_button";return"<div class='dhtmlx_popup_button "+n+"' result='"+t+"' ><div>"+e+"</div></div>"}function n(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="<div>"+e.text+"</div>",t.className="dhtmlx-info dhtmlx-"+e.type,t.onclick=function(){u.hide(e.id),e=null +},"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 r(t,i,n){var r=document.createElement("DIV");r.className=" dhtmlx_modal_box dhtmlx-"+t.type,r.setAttribute("dhxbox",1);var a="";if(t.width&&(r.style.width=t.width),t.height&&(r.style.height=t.height),t.title&&(a+='<div class="dhtmlx_popup_title">'+t.title+"</div>"),a+='<div class="dhtmlx_popup_text"><span>'+(t.content?"":t.text)+'</span></div><div class="dhtmlx_popup_controls">',i){var d=t.ok||scheduler.locale.labels.message_ok; +void 0===d&&(d="OK"),a+=s(d,!0,"ok")}if(n){var o=t.cancel||scheduler.locale.labels.message_cancel;void 0===o&&(o="Cancel"),a+=s(o,!1,"cancel")}if(t.buttons)for(var l=0;l<t.buttons.length;l++)a+=s(t.buttons[l],l);if(a+="</div>",r.innerHTML=a,t.content){var h=t.content;"string"==typeof h&&(h=document.getElementById(h)),"none"==h.style.display&&(h.style.display=""),r.childNodes[t.title?1:0].appendChild(h)}return r.onclick=function(i){i=i||event;var s=i.target||i.srcElement;if(s.className||(s=s.parentNode),"dhtmlx_popup_button"==s.className.split(" ")[0]){var n=s.getAttribute("result"); +n="true"==n||("false"==n?!1:n),e(t,n)}},t.box=r,(i||n)&&(c=t),r}function a(e,s,n){var a=e.tagName?e:r(e,s,n);e.hidden||i(!0),document.body.appendChild(a);var d=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-a.offsetWidth)/2)),o=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-a.offsetHeight)/2));return a.style.top="top"==e.position?"-3px":o+"px",a.style.left=d+"px",a.onkeydown=t,a.focus(),e.hidden&&dhtmlx.modalbox.hide(a),a}function d(e){return a(e,!0,!1) +}function o(e){return a(e,!0,!0)}function l(e){return a(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,s){return"object"!=typeof e&&(e={text:e,type:t,expire:i,id:s}),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",o(e)},dhtmlx.modalbox=function(){var e=h.apply(this,arguments);return e.type=e.type||"alert",l(e)},dhtmlx.modalbox.hide=function(e){for(;e&&e.getAttribute&&!e.getAttribute("dhxbox");)e=e.parentNode;e&&(e.parentNode.removeChild(e),i(!1))};var u=dhtmlx.message=function(e){e=_.apply(this,arguments),e.type=e.type||"info";var t=e.type.split("-")[0];switch(t){case"alert":return d(e);case"confirm":return o(e);case"modalbox":return l(e);default:return n(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])}}(),dataProcessor.prototype={setTransactionMode:function(e,t){this._tMode=e,this._tSend=t},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,s){if(!this._silent_mode){var i=this.findRow(e); -s=s||"updated";var n=this.obj.getUserData(e,this.action_param);n&&"updated"==s&&(s=n),t?(this.set_invalid(e,!1),this.updatedRows[i]=e,this.obj.setUserData(e,this.action_param,s),this._in_progress[e]&&(this._in_progress[e]="wait")):this.is_invalid(e)||(this.updatedRows.splice(i,1),this.obj.setUserData(e,this.action_param,"")),t||this._clearUpdateFlag(e),this.markRow(e,t,s),t&&this.autoUpdate&&this.sendData(e)}},_clearUpdateFlag:function(){},markRow:function(e,t,s){var i="",n=this.is_invalid(e);if(n&&(i=this.styles[n],t=!0),this.callEvent("onRowMark",[e,t,s,n])&&(i=this.styles[t?s:"clear"]+i,this.obj[this._methods[0]](e,i),n&&n.details)){i+=this.styles[n+"_cell"]; -for(var a=0;a<n.details.length;a++)n.details[a]&&this.obj[this._methods[1]](e,a,i)}},getState:function(e){return this.obj.getUserData(e,this.action_param)},is_invalid:function(e){return this._invalid[e]},set_invalid:function(e,t,s){s&&(t={value:t,details:s,toString:function(){return this.value.toString()}}),this._invalid[e]=t},checkBeforeUpdate:function(){return!0},sendData:function(e){return!this._waitMode||"tree"!=this.obj.mytype&&!this.obj._h2?(this.obj.editStop&&this.obj.editStop(),"undefined"==typeof e||this._tSend?this.sendAllData():this._in_progress[e]?!1:(this.messages=[],!this.checkBeforeUpdate(e)&&this.callEvent("onValidationError",[e,this.messages])?!1:void this._beforeSendData(this._getRowData(e),e))):void 0 -},_beforeSendData:function(e,t){return this.callEvent("onBeforeUpdate",[t,this.getState(t),e])?void this._sendData(e,t):!1},serialize:function(e,t){if("string"==typeof e)return e;if("undefined"!=typeof t)return this.serialize_one(e,"");var s=[],i=[];for(var n in e)e.hasOwnProperty(n)&&(s.push(this.serialize_one(e[n],n+this.post_delim)),i.push(n));return s.push("ids="+this.escape(i.join(","))),dhtmlx.security_key&&s.push("dhx_security="+dhtmlx.security_key),s.join("&")},serialize_one:function(e,t){if("string"==typeof e)return e; -var s=[];for(var i in e)e.hasOwnProperty(i)&&s.push(this.escape((t||"")+i)+"="+this.escape(e[i]));return s.join("&")},_sendData:function(e,t){if(e){if(!this.callEvent("onBeforeDataSending",t?[t,this.getState(t),e]:[null,null,e]))return!1;t&&(this._in_progress[t]=(new Date).valueOf());var s=new dtmlXMLLoaderObject(this.afterUpdate,this,!0),i=this.serverProcessor+(this._user?getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&"):"");"POST"!=this._tMode?s.loadXML(i+(-1!=i.indexOf("?")?"&":"?")+this.serialize(e,t)):s.loadXML(i,!0,this.serialize(e,t)),this._waitMode++ +},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 s=this.findRow(e); +i=i||"updated";var n=this.obj.getUserData(e,this.action_param);n&&"updated"==i&&(i=n),t?(this.set_invalid(e,!1),this.updatedRows[s]=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(s,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(){},markRow:function(e,t,i){var s="",n=this.is_invalid(e);if(n&&(s=this.styles[n],t=!0),this.callEvent("onRowMark",[e,t,i,n])&&(s=this.styles[t?i:"clear"]+s,this.obj[this._methods[0]](e,s),n&&n.details)){s+=this.styles[n+"_cell"]; +for(var r=0;r<n.details.length;r++)n.details[r]&&this.obj[this._methods[1]](e,r,s)}},getState:function(e){return this.obj.getUserData(e,this.action_param)},is_invalid:function(e){return this._invalid[e]},set_invalid:function(e,t,i){i&&(t={value:t,details:i,toString:function(){return this.value.toString()}}),this._invalid[e]=t},checkBeforeUpdate:function(){return!0},sendData:function(e){return!this._waitMode||"tree"!=this.obj.mytype&&!this.obj._h2?(this.obj.editStop&&this.obj.editStop(),"undefined"==typeof e||this._tSend?this.sendAllData():this._in_progress[e]?!1:(this.messages=[],!this.checkBeforeUpdate(e)&&this.callEvent("onValidationError",[e,this.messages])?!1:void this._beforeSendData(this._getRowData(e),e))):void 0 +},_beforeSendData:function(e,t){return this.callEvent("onBeforeUpdate",[t,this.getState(t),e])?void this._sendData(e,t):!1},serialize:function(e,t){if("string"==typeof e)return e;if("undefined"!=typeof t)return this.serialize_one(e,"");var i=[],s=[];for(var n in e)e.hasOwnProperty(n)&&(i.push(this.serialize_one(e[n],n+this.post_delim)),s.push(n));return i.push("ids="+this.escape(s.join(","))),dhtmlx.security_key&&i.push("dhx_security="+dhtmlx.security_key),i.join("&")},serialize_one:function(e,t){if("string"==typeof e)return e; +var i=[];for(var s in e)e.hasOwnProperty(s)&&i.push(this.escape((t||"")+s)+"="+this.escape(e[s]));return i.join("&")},_sendData:function(e,t){if(e){if(!this.callEvent("onBeforeDataSending",t?[t,this.getState(t),e]:[null,null,e]))return!1;t&&(this._in_progress[t]=(new Date).valueOf());var i=new dtmlXMLLoaderObject(this.afterUpdate,this,!0),s=this.serverProcessor+(this._user?getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+this.obj.getUserData(0,"version")].join("&"):"");"POST"!=this._tMode?i.loadXML(s+(-1!=s.indexOf("?")?"&":"?")+this.serialize(e,t)):i.loadXML(s,!0,this.serialize(e,t)),this._waitMode++ }},sendAllData:function(){if(this.updatedRows.length){this.messages=[];for(var e=!0,t=0;t<this.updatedRows.length;t++)e&=this.checkBeforeUpdate(this.updatedRows[t]);if(!e&&!this.callEvent("onValidationError",["",this.messages]))return!1;if(this._tSend)this._sendData(this._getAllData());else for(var t=0;t<this.updatedRows.length;t++)if(!this._in_progress[this.updatedRows[t]]){if(this.is_invalid(this.updatedRows[t]))continue;if(this._beforeSendData(this._getRowData(this.updatedRows[t]),this.updatedRows[t]),this._waitMode&&("tree"==this.obj.mytype||this.obj._h2))return -}}},_getAllData:function(){for(var e={},t=!1,s=0;s<this.updatedRows.length;s++){var i=this.updatedRows[s];this._in_progress[i]||this.is_invalid(i)||this.callEvent("onBeforeUpdate",[i,this.getState(i)])&&(e[i]=this._getRowData(i,i+this.post_delim),t=!0,this._in_progress[i]=(new Date).valueOf())}return t?e:null},setVerificator:function(e,t){this.mandatoryFields[e]=t||function(e){return""!==e}},clearVerificator:function(e){this.mandatoryFields[e]=!1},findRow:function(e){var t=0;for(t=0;t<this.updatedRows.length&&e!=this.updatedRows[t];t++);return t -},defineAction:function(e,t){this._uActions||(this._uActions=[]),this._uActions[e]=t},afterUpdateCallback:function(e,t,s,i){var n=e,a="error"!=s&&"invalid"!=s;if(a||this.set_invalid(e,s),this._uActions&&this._uActions[s]&&!this._uActions[s](i))return delete this._in_progress[n];"wait"!=this._in_progress[n]&&this.setUpdated(e,!1);var r=e;switch(s){case"inserted":case"insert":t!=e&&(this.obj[this._methods[2]](e,t),e=t);break;case"delete":case"deleted":return this.obj.setUserData(e,this.action_param,"true_deleted"),this.obj[this._methods[3]](e),delete this._in_progress[n],this.callEvent("onAfterUpdate",[e,s,t,i]) -}"wait"!=this._in_progress[n]?(a&&this.obj.setUserData(e,this.action_param,""),delete this._in_progress[n]):(delete this._in_progress[n],this.setUpdated(t,!0,this.obj.getUserData(e,this.action_param))),this.callEvent("onAfterUpdate",[r,s,t,i])},afterUpdate:function(e,t,s,i,n){if(n.getXMLTopNode("data"),n.xmlDoc.responseXML){for(var a=n.doXPath("//data/action"),r=0;r<a.length;r++){var d=a[r],o=d.getAttribute("type"),l=d.getAttribute("sid"),h=d.getAttribute("tid");e.afterUpdateCallback(l,h,o,d)}e.finalizeUpdate() -}},finalizeUpdate:function(){this._waitMode&&this._waitMode--,("tree"==this.obj.mytype||this.obj._h2)&&this.updatedRows.length&&this.sendData(),this.callEvent("onAfterUpdateFinish",[]),this.updatedRows.length||this.callEvent("onFullSync",[])},init:function(e){this.obj=e,this.obj._dp_init&&this.obj._dp_init(this)},setOnAfterUpdate:function(e){this.attachEvent("onAfterUpdate",e)},enableDebug:function(){},setOnBeforeUpdateHandler:function(e){this.attachEvent("onBeforeDataSending",e)},setAutoUpdate:function(e,t){e=e||2e3,this._user=t||(new Date).valueOf(),this._need_update=!1,this._loader=null,this._update_busy=!1,this.attachEvent("onAfterUpdate",function(e,t,s,i){this.afterAutoUpdate(e,t,s,i) -}),this.attachEvent("onFullSync",function(){this.fullSync()});var s=this;window.setInterval(function(){s.loadUpdate()},e)},afterAutoUpdate:function(e,t){return"collision"==t?(this._need_update=!0,!1):!0},fullSync:function(){return this._need_update===!0&&(this._need_update=!1,this.loadUpdate()),!0},getUpdates:function(e,t){return this._update_busy?!1:(this._update_busy=!0,this._loader=this._loader||new dtmlXMLLoaderObject(!0),this._loader.async=!0,this._loader.waitCall=t,void this._loader.loadXML(e)) -},_v:function(e){return e.firstChild?e.firstChild.nodeValue:""},_a:function(e){for(var t=[],s=0;s<e.length;s++)t[s]=this._v(e[s]);return t},loadUpdate:function(){var e=this,t=this.obj.getUserData(0,"version"),s=this.serverProcessor+getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+t].join("&");s=s.replace("editing=true&",""),this.getUpdates(s,function(){var t=e._loader.doXPath("//userdata");e.obj.setUserData(0,"version",e._v(t[0]));var s=e._loader.doXPath("//update");if(s.length){e._silent_mode=!0; -for(var i=0;i<s.length;i++){var n=s[i].getAttribute("status"),a=s[i].getAttribute("id"),r=s[i].getAttribute("parent");switch(n){case"inserted":e.callEvent("insertCallback",[s[i],a,r]);break;case"updated":e.callEvent("updateCallback",[s[i],a,r]);break;case"deleted":e.callEvent("deleteCallback",[s[i],a,r])}}e._silent_mode=!1}e._update_busy=!1,e=null})}},window.dhtmlXGridObject&&(dhtmlXGridObject.prototype._init_point_connector=dhtmlXGridObject.prototype._init_point,dhtmlXGridObject.prototype._init_point=function(){var e=function(e){return e=e.replace(/(\?|\&)connector[^\f]*/g,""),e+(-1!=e.indexOf("?")?"&":"?")+"connector=true"+(this.hdr.rows.length>0?"&dhx_no_header=1":"") -},t=function(t){return e.call(this,t)+(this._connector_sorting||"")+(this._connector_filter||"")},s=function(e,s,i){return this._connector_sorting="&dhx_sort["+s+"]="+i,t.call(this,e)},i=function(e,s,i){for(var n=0;n<s.length;n++)s[n]="dhx_filter["+s[n]+"]="+encodeURIComponent(i[n]);return this._connector_filter="&"+s.join("&"),t.call(this,e)};this.attachEvent("onCollectValues",function(e){return this._con_f_used[e]?"object"==typeof this._con_f_used[e]?this._con_f_used[e]:!1:!0}),this.attachEvent("onDynXLS",function(){return this.xmlFileUrl=t.call(this,this.xmlFileUrl),!0 -}),this.attachEvent("onBeforeSorting",function(e,t,i){if("connector"==t){var n=this;return this.clearAndLoad(s.call(this,this.xmlFileUrl,e,i),function(){n.setSortImgState(!0,e,i)}),!1}return!0}),this.attachEvent("onFilterStart",function(e,t){return this._con_f_used.length?(this.clearAndLoad(i.call(this,this.xmlFileUrl,e,t)),!1):!0}),this.attachEvent("onXLE",function(e,t,s,i){}),this._init_point_connector&&this._init_point_connector()},dhtmlXGridObject.prototype._con_f_used=[],dhtmlXGridObject.prototype._in_header_connector_text_filter=function(e,t){return this._con_f_used[t]||(this._con_f_used[t]=1),this._in_header_text_filter(e,t) -},dhtmlXGridObject.prototype._in_header_connector_select_filter=function(e,t){return this._con_f_used[t]||(this._con_f_used[t]=2),this._in_header_select_filter(e,t)},dhtmlXGridObject.prototype.load_connector=dhtmlXGridObject.prototype.load,dhtmlXGridObject.prototype.load=function(){var e=[].concat(arguments);if(!this._colls_loaded&&this.cellType){for(var t=[],s=0;s<this.cellType.length;s++)(0===this.cellType[s].indexOf("co")||2==this._con_f_used[s])&&t.push(s);t.length&&(e[0]+=(-1!=e[0].indexOf("?")?"&":"?")+"connector=true&dhx_colls="+t.join(",")) -}return this.load_connector.apply(this,e)},dhtmlXGridObject.prototype._parseHead_connector=dhtmlXGridObject.prototype._parseHead,dhtmlXGridObject.prototype._parseHead=function(){if(this._parseHead_connector.apply(this,arguments),!this._colls_loaded){for(var e=this.xmlLoader.doXPath("./coll_options",arguments[0]),t=0;t<e.length;t++){var s=e[t].getAttribute("for"),i=[],n=null;"combo"==this.cellType[s]&&(n=this.getColumnCombo(s)),0===this.cellType[s].indexOf("co")&&(n=this.getCombo(s));for(var a=this.xmlLoader.doXPath("./item",e[t]),r=0;r<a.length;r++){var d=a[r].getAttribute("value"); -if(n){var o=a[r].getAttribute("label")||d;n.addOption?n.addOption([[d,o]]):n.put(d,o),i[i.length]=o}else i[i.length]=d}this._con_f_used[1*s]&&(this._con_f_used[1*s]=i)}this._colls_loaded=!0}}),window.dataProcessor&&(dataProcessor.prototype.init_original=dataProcessor.prototype.init,dataProcessor.prototype.init=function(e){this.init_original(e),e._dataprocessor=this,this.setTransactionMode("POST",!0),this.serverProcessor+=(-1!=this.serverProcessor.indexOf("?")?"&":"?")+"editing=true"}),dhtmlxError.catchError("LoadXML",function(e,t,s){s[0].status&&window.alert(s[0].responseText) -}),dhtmlxEventable(scheduler),scheduler._detachDomEvent=function(e,t,s){e.removeEventListener?e.removeEventListener(t,s,!1):e.detachEvent&&e.detachEvent("on"+t,s)},scheduler._init_once=function(){function e(){return{w:window.innerWidth||document.documentElement.clientWidth,h:window.innerHeight||document.documentElement.clientHeight}}function t(e,t){return e.w==t.w&&e.h==t.h}var s=e();dhtmlxEvent(window,"resize",function(){var i=e();t(s,i)||(window.clearTimeout(scheduler._resize_timer),scheduler._resize_timer=window.setTimeout(function(){scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize",[])) -},100)),s=i}),scheduler._init_once=function(){}},scheduler.init=function(e,t,s){t=t||scheduler._currentDate(),s=s||"week",this._obj&&(this.unset_actions(),this._obj.innerHTML=""),this._obj="string"==typeof e?document.getElementById(e):e,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,s) -},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,s=this._table_view?0:this.xy.scale_width+this.xy.scroll_width,i=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-s,this.xy.scale_height,i,this.xy.nav_height+(this._quirks?-1:1)); -var n=this._els.dhx_cal_navline[0].offsetHeight;n>0&&(this.xy.nav_height=n);var a=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0);this.set_xy(this._els.dhx_cal_data[0],e,t-(a+2),0,a+2)},scheduler.set_xy=function(e,t,s,i,n){e.style.width=Math.max(0,t)+"px",e.style.height=Math.max(0,s)+"px",arguments.length>3&&(e.style.left=i+"px",e.style.top=n+"px")},scheduler.get_elements=function(){for(var e=this._obj.getElementsByTagName("DIV"),t=0;t<e.length;t++){var s=e[t].className||"",i=e[t].getAttribute("name")||""; -s&&(s=s.split(" ")[0]),this._els[s]||(this._els[s]=[]),this._els[s].push(e[t]);var n=scheduler.locale.labels[i||s];"string"!=typeof n&&i&&!e[t].innerHTML&&(n=i.split("_")[0]),n&&(e[t].innerHTML=n)}},scheduler.unset_actions=function(){for(var e in this._els)if(this._click[e])for(var t=0;t<this._els[e].length;t++)this._els[e][t].onclick=null;this._obj.onselectstart=null,this._obj.onmousemove=null,this._obj.onmousedown=null,this._obj.onmouseup=null,this._obj.ondblclick=null,this._obj.oncontextmenu=null +}}},_getAllData:function(){for(var e={},t=!1,i=0;i<this.updatedRows.length;i++){var s=this.updatedRows[i];this._in_progress[s]||this.is_invalid(s)||this.callEvent("onBeforeUpdate",[s,this.getState(s)])&&(e[s]=this._getRowData(s,s+this.post_delim),t=!0,this._in_progress[s]=(new Date).valueOf())}return t?e:null},setVerificator:function(e,t){this.mandatoryFields[e]=t||function(e){return""!==e}},clearVerificator:function(e){this.mandatoryFields[e]=!1},findRow:function(e){var t=0;for(t=0;t<this.updatedRows.length&&e!=this.updatedRows[t];t++);return t +},defineAction:function(e,t){this._uActions||(this._uActions=[]),this._uActions[e]=t},afterUpdateCallback:function(e,t,i,s){var n=e,r="error"!=i&&"invalid"!=i;if(r||this.set_invalid(e,i),this._uActions&&this._uActions[i]&&!this._uActions[i](s))return delete this._in_progress[n];"wait"!=this._in_progress[n]&&this.setUpdated(e,!1);var a=e;switch(i){case"inserted":case"insert":t!=e&&(this.obj[this._methods[2]](e,t),e=t);break;case"delete":case"deleted":return this.obj.setUserData(e,this.action_param,"true_deleted"),this.obj[this._methods[3]](e),delete this._in_progress[n],this.callEvent("onAfterUpdate",[e,i,t,s]) +}"wait"!=this._in_progress[n]?(r&&this.obj.setUserData(e,this.action_param,""),delete this._in_progress[n]):(delete this._in_progress[n],this.setUpdated(t,!0,this.obj.getUserData(e,this.action_param))),this.callEvent("onAfterUpdate",[a,i,t,s])},afterUpdate:function(e,t,i,s,n){if(n.getXMLTopNode("data"),n.xmlDoc.responseXML){for(var r=n.doXPath("//data/action"),a=0;a<r.length;a++){var d=r[a],o=d.getAttribute("type"),l=d.getAttribute("sid"),h=d.getAttribute("tid");e.afterUpdateCallback(l,h,o,d)}e.finalizeUpdate() +}},finalizeUpdate:function(){this._waitMode&&this._waitMode--,("tree"==this.obj.mytype||this.obj._h2)&&this.updatedRows.length&&this.sendData(),this.callEvent("onAfterUpdateFinish",[]),this.updatedRows.length||this.callEvent("onFullSync",[])},init:function(e){this.obj=e,this.obj._dp_init&&this.obj._dp_init(this)},setOnAfterUpdate:function(e){this.attachEvent("onAfterUpdate",e)},enableDebug:function(){},setOnBeforeUpdateHandler:function(e){this.attachEvent("onBeforeDataSending",e)},setAutoUpdate:function(e,t){e=e||2e3,this._user=t||(new Date).valueOf(),this._need_update=!1,this._loader=null,this._update_busy=!1,this.attachEvent("onAfterUpdate",function(e,t,i,s){this.afterAutoUpdate(e,t,i,s) +}),this.attachEvent("onFullSync",function(){this.fullSync()});var i=this;window.setInterval(function(){i.loadUpdate()},e)},afterAutoUpdate:function(e,t){return"collision"==t?(this._need_update=!0,!1):!0},fullSync:function(){return this._need_update===!0&&(this._need_update=!1,this.loadUpdate()),!0},getUpdates:function(e,t){return this._update_busy?!1:(this._update_busy=!0,this._loader=this._loader||new dtmlXMLLoaderObject(!0),this._loader.async=!0,this._loader.waitCall=t,void this._loader.loadXML(e)) +},_v:function(e){return e.firstChild?e.firstChild.nodeValue:""},_a:function(e){for(var t=[],i=0;i<e.length;i++)t[i]=this._v(e[i]);return t},loadUpdate:function(){var e=this,t=this.obj.getUserData(0,"version"),i=this.serverProcessor+getUrlSymbol(this.serverProcessor)+["dhx_user="+this._user,"dhx_version="+t].join("&");i=i.replace("editing=true&",""),this.getUpdates(i,function(){var t=e._loader.doXPath("//userdata");e.obj.setUserData(0,"version",e._v(t[0]));var i=e._loader.doXPath("//update");if(i.length){e._silent_mode=!0; +for(var s=0;s<i.length;s++){var n=i[s].getAttribute("status"),r=i[s].getAttribute("id"),a=i[s].getAttribute("parent");switch(n){case"inserted":e.callEvent("insertCallback",[i[s],r,a]);break;case"updated":e.callEvent("updateCallback",[i[s],r,a]);break;case"deleted":e.callEvent("deleteCallback",[i[s],r,a])}}e._silent_mode=!1}e._update_busy=!1,e=null})}},window.dhtmlXGridObject&&(dhtmlXGridObject.prototype._init_point_connector=dhtmlXGridObject.prototype._init_point,dhtmlXGridObject.prototype._init_point=function(){var e=function(e){return e=e.replace(/(\?|\&)connector[^\f]*/g,""),e+(-1!=e.indexOf("?")?"&":"?")+"connector=true"+(this.hdr.rows.length>0?"&dhx_no_header=1":"") +},t=function(t){return e.call(this,t)+(this._connector_sorting||"")+(this._connector_filter||"")},i=function(e,i,s){return this._connector_sorting="&dhx_sort["+i+"]="+s,t.call(this,e)},s=function(e,i,s){for(var n=0;n<i.length;n++)i[n]="dhx_filter["+i[n]+"]="+encodeURIComponent(s[n]);return this._connector_filter="&"+i.join("&"),t.call(this,e)};this.attachEvent("onCollectValues",function(e){return this._con_f_used[e]?"object"==typeof this._con_f_used[e]?this._con_f_used[e]:!1:!0}),this.attachEvent("onDynXLS",function(){return this.xmlFileUrl=t.call(this,this.xmlFileUrl),!0 +}),this.attachEvent("onBeforeSorting",function(e,t,s){if("connector"==t){var n=this;return this.clearAndLoad(i.call(this,this.xmlFileUrl,e,s),function(){n.setSortImgState(!0,e,s)}),!1}return!0}),this.attachEvent("onFilterStart",function(e,t){return this._con_f_used.length?(this.clearAndLoad(s.call(this,this.xmlFileUrl,e,t)),!1):!0}),this.attachEvent("onXLE",function(e,t,i,s){}),this._init_point_connector&&this._init_point_connector()},dhtmlXGridObject.prototype._con_f_used=[],dhtmlXGridObject.prototype._in_header_connector_text_filter=function(e,t){return this._con_f_used[t]||(this._con_f_used[t]=1),this._in_header_text_filter(e,t) +},dhtmlXGridObject.prototype._in_header_connector_select_filter=function(e,t){return this._con_f_used[t]||(this._con_f_used[t]=2),this._in_header_select_filter(e,t)},dhtmlXGridObject.prototype.load_connector=dhtmlXGridObject.prototype.load,dhtmlXGridObject.prototype.load=function(){var e=[].concat(arguments);if(!this._colls_loaded&&this.cellType){for(var t=[],i=0;i<this.cellType.length;i++)(0===this.cellType[i].indexOf("co")||2==this._con_f_used[i])&&t.push(i);t.length&&(e[0]+=(-1!=e[0].indexOf("?")?"&":"?")+"connector=true&dhx_colls="+t.join(",")) +}return this.load_connector.apply(this,e)},dhtmlXGridObject.prototype._parseHead_connector=dhtmlXGridObject.prototype._parseHead,dhtmlXGridObject.prototype._parseHead=function(){if(this._parseHead_connector.apply(this,arguments),!this._colls_loaded){for(var e=this.xmlLoader.doXPath("./coll_options",arguments[0]),t=0;t<e.length;t++){var i=e[t].getAttribute("for"),s=[],n=null;"combo"==this.cellType[i]&&(n=this.getColumnCombo(i)),0===this.cellType[i].indexOf("co")&&(n=this.getCombo(i));for(var r=this.xmlLoader.doXPath("./item",e[t]),a=0;a<r.length;a++){var d=r[a].getAttribute("value"); +if(n){var o=r[a].getAttribute("label")||d;n.addOption?n.addOption([[d,o]]):n.put(d,o),s[s.length]=o}else s[s.length]=d}this._con_f_used[1*i]&&(this._con_f_used[1*i]=s)}this._colls_loaded=!0}}),window.dataProcessor&&(dataProcessor.prototype.init_original=dataProcessor.prototype.init,dataProcessor.prototype.init=function(e){this.init_original(e),e._dataprocessor=this,this.setTransactionMode("POST",!0),this.serverProcessor+=(-1!=this.serverProcessor.indexOf("?")?"&":"?")+"editing=true"}),dhtmlxError.catchError("LoadXML",function(e,t,i){i[0].status&&window.alert(i[0].responseText) +}),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(){return{w:window.innerWidth||document.documentElement.clientWidth,h:window.innerHeight||document.documentElement.clientHeight}}function t(e,t){return e.w==t.w&&e.h==t.h}var i=e();dhtmlxEvent(window,"resize",function(){var s=e();t(i,s)||(window.clearTimeout(scheduler._resize_timer),scheduler._resize_timer=window.setTimeout(function(){scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize",[])) +},100)),i=s}),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._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,s=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,s,this.xy.nav_height+(this._quirks?-1:1)); +var n=this._els.dhx_cal_navline[0].offsetHeight;n>0&&(this.xy.nav_height=n);var r=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0);this.set_xy(this._els.dhx_cal_data[0],e,t-(r+2),0,r+2)},scheduler.set_xy=function(e,t,i,s,n){e.style.width=Math.max(0,t)+"px",e.style.height=Math.max(0,i)+"px",arguments.length>3&&(e.style.left=s+"px",e.style.top=n+"px")},scheduler.get_elements=function(){for(var e=this._obj.getElementsByTagName("DIV"),t=0;t<e.length;t++){var i=e[t].className||"",s=e[t].getAttribute("name")||""; +i&&(i=i.split(" ")[0]),this._els[i]||(this._els[i]=[]),this._els[i].push(e[t]);var n=scheduler.locale.labels[s||i];"string"!=typeof n&&s&&!e[t].innerHTML&&(n=s.split("_")[0]),n&&(e[t].innerHTML=n)}},scheduler.unset_actions=function(){for(var e in this._els)if(this._click[e])for(var t=0;t<this._els[e].length;t++)this._els[e][t].onclick=null;this._obj.onselectstart=null,this._obj.onmousemove=null,this._obj.onmousedown=null,this._obj.onmouseup=null,this._obj.ondblclick=null,this._obj.oncontextmenu=null },scheduler.set_actions=function(){for(var e in this._els)if(this._click[e])for(var t=0;t<this._els[e].length;t++)this._els[e][t].onclick=scheduler._click[e];this._obj.onselectstart=function(){return!1},this._obj.onmousemove=function(e){scheduler._temp_touch_block||scheduler._on_mouse_move(e||event)},this._obj.onmousedown=function(e){scheduler._ignore_next_click||scheduler._on_mouse_down(e||event)},this._obj.onmouseup=function(e){scheduler._ignore_next_click||scheduler._on_mouse_up(e||event)},this._obj.ondblclick=function(e){scheduler._on_dbl_click(e||event) -},this._obj.oncontextmenu=function(e){var t=e||event,s=t.target||t.srcElement,i=scheduler.callEvent("onContextMenu",[scheduler._locate_event(s),t]);return i}},scheduler.select=function(e){this._select_id!=e&&(this.editStop(!1),this.unselect(),this._select_id=e,this.updateEvent(e))},scheduler.unselect=function(e){if(!e||e==this._select_id){var t=this._select_id;this._select_id=null,t&&this.getEvent(t)&&this.updateEvent(t)}},scheduler.getState=function(){return{mode:this._mode,date:new Date(this._date),min_date:new Date(this._min_date),max_date:new Date(this._max_date),editor_id:this._edit_id,lightbox_id:this._lightbox_id,new_event:this._new_event,select_id:this._select_id,expanded:this.expanded,drag_id:this._drag_id,drag_mode:this._drag_mode} -},scheduler._click={dhx_cal_data:function(e){if(scheduler._ignore_next_click)return e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._ignore_next_click=!1,!1;var t=e?e.target:event.srcElement,s=scheduler._locate_event(t);if(e=e||event,s){if(!scheduler.callEvent("onClick",[s,e])||scheduler.config.readonly)return}else scheduler.callEvent("onEmptyClick",[scheduler.getActionData(e).date,e]);if(s&&scheduler.config.select){scheduler.select(s);var i=t.className;-1!=i.indexOf("_icon")&&scheduler._click.buttons[i.split(" ")[1].replace("icon_","")](s) +},this._obj.oncontextmenu=function(e){var t=e||event,i=t.target||t.srcElement,s=scheduler.callEvent("onContextMenu",[scheduler._locate_event(i),t]);return s}},scheduler.select=function(e){this._select_id!=e&&(this.editStop(!1),this.unselect(),this._select_id=e,this.updateEvent(e))},scheduler.unselect=function(e){if(!e||e==this._select_id){var t=this._select_id;this._select_id=null,t&&this.getEvent(t)&&this.updateEvent(t)}},scheduler.getState=function(){return{mode:this._mode,date:new Date(this._date),min_date:new Date(this._min_date),max_date:new Date(this._max_date),editor_id:this._edit_id,lightbox_id:this._lightbox_id,new_event:this._new_event,select_id:this._select_id,expanded:this.expanded,drag_id:this._drag_id,drag_mode:this._drag_mode} +},scheduler._click={dhx_cal_data:function(e){if(scheduler._ignore_next_click)return e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._ignore_next_click=!1,!1;var t=e?e.target:event.srcElement,i=scheduler._locate_event(t);if(e=e||event,i){if(!scheduler.callEvent("onClick",[i,e])||scheduler.config.readonly)return}else scheduler.callEvent("onEmptyClick",[scheduler.getActionData(e).date,e]);if(i&&scheduler.config.select){scheduler.select(i);var s=t.className;-1!=s.indexOf("_icon")&&scheduler._click.buttons[s.split(" ")[1].replace("icon_","")](i) }else scheduler._close_not_saved(),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(){scheduler.editStop(!0)},details:function(e){scheduler.showLightbox(e)},cancel:function(){scheduler.editStop(!1)}}},scheduler._dhtmlx_confirm=function(e,t,s){if(!e)return s();var i={text:e};t&&(i.title=t),s&&(i.callback=function(e){e&&s() -}),dhtmlx.confirm(i)},scheduler.addEventNow=function(e,t,s){var i={};e&&null!==e.constructor.toString().match(/object/i)&&(i=e,e=null);var n=6e4*(this.config.event_duration||this.config.time_step);e||(e=i.start_date||Math.round(scheduler._currentDate().valueOf()/n)*n);var a=new Date(e);if(!t){var r=this.config.first_hour;r>a.getHours()&&(a.setHours(r),e=a.valueOf()),t=e.valueOf()+n}var d=new Date(t);a.valueOf()==d.valueOf()&&d.setTime(d.valueOf()+n),i.start_date=i.start_date||a,i.end_date=i.end_date||d,i.text=i.text||this.locale.labels.new_event,i.id=this._drag_id=this.uid(),this._drag_mode="new-size",this._loading=!0,this.addEvent(i),this.callEvent("onEventCreated",[this._drag_id,s]),this._loading=!1,this._drag_event={},this._on_mouse_up(s) -},scheduler._on_dbl_click=function(e,t){if(t=t||e.target||e.srcElement,!this.config.readonly){var s=(t.className||"").split(" ")[0];switch(s){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 i=this._locate_event(t);if(!this.callEvent("onDblClick",[i,e]))return; -this.config.details_on_dblclick||this._table_view||!this.getEvent(i)._timed||!this.config.select?this.showLightbox(i):this.edit(i);break;case"dhx_time_block":case"dhx_cal_container":return;default:var n=this["dblclick_"+s];if(n)n.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 s=0,i=0;i<this._cols.length&&!s;i++)s=this._cols[i];if(t=s?e/s:0,this._ignores)for(var i=0;t>=i;i++)this._ignores[i]&&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,s=document.body,i=document.documentElement;t=_isIE||!e.pageX&&!e.pageY?{x:e.clientX+(s.scrollLeft||i.scrollLeft||0)-s.clientLeft,y:e.clientY+(s.scrollTop||i.scrollTop||0)-s.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 n=this["mouse_"+this._mode];if(n)return n.call(this,t);if(this._table_view){var a=this._get_column_index(t.x);if(!this._cols||!this._colsS)return t;var r=0;for(r=1;r<this._colsS.heights.length&&!(this._colsS.heights[r]>t.y);r++);t.y=Math.ceil(24*(Math.max(0,a)+7*Math.max(0,r-1))*60/this.config.time_step),(scheduler._drag_mode||"month"==this._mode)&&(t.y=24*(Math.max(0,Math.ceil(a)-1)+7*Math.max(0,r-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 +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(){scheduler.editStop(!0)},details:function(e){scheduler.showLightbox(e)},cancel:function(){scheduler.editStop(!1)}}},scheduler._dhtmlx_confirm=function(e,t,i){if(!e)return i();var s={text:e};t&&(s.title=t),i&&(s.callback=function(e){e&&i() +}),dhtmlx.confirm(s)},scheduler.addEventNow=function(e,t,i){var s={};e&&null!==e.constructor.toString().match(/object/i)&&(s=e,e=null);var n=6e4*(this.config.event_duration||this.config.time_step);e||(e=s.start_date||Math.round(scheduler._currentDate().valueOf()/n)*n);var r=new Date(e);if(!t){var a=this.config.first_hour;a>r.getHours()&&(r.setHours(a),e=r.valueOf()),t=e.valueOf()+n}var d=new Date(t);r.valueOf()==d.valueOf()&&d.setTime(d.valueOf()+n),s.start_date=s.start_date||r,s.end_date=s.end_date||d,s.text=s.text||this.locale.labels.new_event,s.id=this._drag_id=this.uid(),this._drag_mode="new-size",this._loading=!0,this.addEvent(s),this.callEvent("onEventCreated",[this._drag_id,i]),this._loading=!1,this._drag_event={},this._on_mouse_up(i) +},scheduler._on_dbl_click=function(e,t){if(t=t||e.target||e.srcElement,!this.config.readonly){var i=(t.className||"").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 s=this._locate_event(t);if(!this.callEvent("onDblClick",[s,e]))return; +this.config.details_on_dblclick||this._table_view||!this.getEvent(s)._timed||!this.config.select?this.showLightbox(s):this.edit(s);break;case"dhx_time_block":case"dhx_cal_container":return;default:var n=this["dblclick_"+i];if(n)n.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,s=0;s<this._cols.length&&!i;s++)i=this._cols[s];if(t=i?e/i:0,this._ignores)for(var s=0;t>=s;s++)this._ignores[s]&&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,s=document.documentElement;t=_isIE||!e.pageX&&!e.pageY?{x:e.clientX+(i.scrollLeft||s.scrollLeft||0)-i.clientLeft,y:e.clientY+(i.scrollTop||s.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 n=this["mouse_"+this._mode];if(n)return n.call(this,t);if(this._table_view){var r=this._get_column_index(t.x);if(!this._cols||!this._colsS)return t;var a=0;for(a=1;a<this._colsS.heights.length&&!(this._colsS.heights[a]>t.y);a++);t.y=Math.ceil(24*(Math.max(0,r)+7*Math.max(0,a-1))*60/this.config.time_step),(scheduler._drag_mode||"month"==this._mode)&&(t.y=24*(Math.max(0,Math.ceil(r)-1)+7*Math.max(0,a-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},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)})}},scheduler._correct_shift=function(e,t){return e-=6e4*(new Date(scheduler._min_date).getTimezoneOffset()-new Date(e).getTimezoneOffset())*(t?-1:1)},scheduler._on_mouse_move=function(e){if(this._drag_mode){var t=this._mouse_coords(e); -if(!this._drag_pos||t.force_redraw||this._drag_pos.x!=t.x||this._drag_pos.y!=t.y){var s,i;if(this._edit_id!=this._drag_id&&this._close_not_saved(),this._drag_pos=t,"create"==this._drag_mode){if(this._close_not_saved(),this.unselect(this._select_id),this._loading=!0,s=this._get_date_from_pos(t).valueOf(),!this._drag_start){var n=this.callEvent("onBeforeEventCreated",[e,this._drag_id]);if(!n)return;return void(this._drag_start=s)}i=s,i==this._drag_start;var a=new Date(this._drag_start),r=new Date(i); -"day"!=this._mode&&"week"!=this._mode||a.getHours()!=r.getHours()||a.getMinutes()!=r.getMinutes()||(r=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(a,r,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,o=this.getEvent(this._drag_id);if("move"==this._drag_mode)s=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&&(s+=1e3*this.date.time_part(o.start_date)),s=this._correct_shift(s),t._ignores&&this.config.preserve_length&&this._table_view?(this.matrix&&(d=this.matrix[this._mode]),d=d||{x_step:1,x_unit:"day"},i=1*s+this._get_fictional_event_length(s,this._drag_event._event_length,d)):i=o.end_date.valueOf()-(o.start_date.valueOf()-s); -else{if(s=o.start_date.valueOf(),i=o.end_date.valueOf(),this._table_view){var l=this._min_date.valueOf()+t.y*this.config.time_step*6e4+(t.custom?0:864e5);if("month"==this._mode)if(l=this._correct_shift(l,!1),this._drag_from_start){var h=864e5;l<=scheduler.date.date_part(new Date(i+h-1)).valueOf()&&(s=l-h)}else i=l;else t.resize_from_start?s=l:i=l}else i=this.date.date_part(new Date(o.end_date.valueOf()-1)).valueOf()+t.y*this.config.time_step*6e4,this._els.dhx_cal_data[0].style.cursor="s-resize",("week"==this._mode||"day"==this._mode)&&(i=this._correct_shift(i)); -if("new-size"==this._drag_mode)if(i<=this._drag_start){var _=t.shift||(this._table_view&&!t.custom?864e5:0);s=i-(t.shift?0:_),i=this._drag_start+(_||6e4*this.config.time_step)}else s=this._drag_start;else s>=i&&(i=s+6e4*this.config.time_step)}var c=new Date(i-1),u=new Date(s);if(scheduler.config.limit_drag_out&&(+u<+scheduler._min_date||+i>+scheduler._max_date)){var f=i-u;+u<+scheduler._min_date?(u=new Date(scheduler._min_date),i=new Date(+u+f)):(i=new Date(scheduler._max_date),u=new Date(+i-f)); -var c=new Date(i-1)}if(!this._table_view&&(t.x!=this._get_event_sday({start_date:new Date(i),end_date:new Date(i)})||new Date(i).getHours()>=this.config.last_hour)){var f=i-u,h=this._min_date.valueOf()+24*t.x*60*6e4;i=scheduler.date.date_part(new Date(h)),i.setHours(this.config.last_hour),c=new Date(i-1),"move"==this._drag_mode&&(u=new Date(+i-f))}if(this._table_view||c.getDate()==u.getDate()&&c.getHours()<this.config.last_hour||scheduler._allow_dnd)if(o.start_date=u,o.end_date=new Date(i),this.config.update_render){var g=scheduler._els.dhx_cal_data[0].scrollTop; +if(!this._drag_pos||t.force_redraw||this._drag_pos.x!=t.x||this._drag_pos.y!=t.y){var i,s;if(this._edit_id!=this._drag_id&&this._close_not_saved(),this._drag_pos=t,"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 n=this.callEvent("onBeforeEventCreated",[e,this._drag_id]);if(!n)return;return void(this._drag_start=i)}s=i,s==this._drag_start;var r=new Date(this._drag_start),a=new Date(s); +"day"!=this._mode&&"week"!=this._mode||r.getHours()!=a.getHours()||r.getMinutes()!=a.getMinutes()||(a=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(r,a,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,o=this.getEvent(this._drag_id);if("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(o.start_date)),i=this._correct_shift(i),t._ignores&&this.config.preserve_length&&this._table_view?(this.matrix&&(d=this.matrix[this._mode]),d=d||{x_step:1,x_unit:"day"},s=1*i+this._get_fictional_event_length(i,this._drag_event._event_length,d)):s=o.end_date.valueOf()-(o.start_date.valueOf()-i); +else{if(i=o.start_date.valueOf(),s=o.end_date.valueOf(),this._table_view){var l=this._min_date.valueOf()+t.y*this.config.time_step*6e4+(t.custom?0:864e5);if("month"==this._mode)if(l=this._correct_shift(l,!1),this._drag_from_start){var h=864e5;l<=scheduler.date.date_part(new Date(s+h-1)).valueOf()&&(i=l-h)}else s=l;else t.resize_from_start?i=l:s=l}else s=this.date.date_part(new Date(o.end_date.valueOf()-1)).valueOf()+t.y*this.config.time_step*6e4,this._els.dhx_cal_data[0].style.cursor="s-resize",("week"==this._mode||"day"==this._mode)&&(s=this._correct_shift(s)); +if("new-size"==this._drag_mode)if(s<=this._drag_start){var _=t.shift||(this._table_view&&!t.custom?864e5:0);i=s-(t.shift?0:_),s=this._drag_start+(_||6e4*this.config.time_step)}else i=this._drag_start;else i>=s&&(s=i+6e4*this.config.time_step)}var c=new Date(s-1),u=new Date(i);if(scheduler.config.limit_drag_out&&(+u<+scheduler._min_date||+s>+scheduler._max_date)){var f=s-u;+u<+scheduler._min_date?(u=new Date(scheduler._min_date),s=new Date(+u+f)):(s=new Date(scheduler._max_date),u=new Date(+s-f)); +var c=new Date(s-1)}if(!this._table_view&&(t.x!=this._get_event_sday({start_date:new Date(s),end_date:new Date(s)})||new Date(s).getHours()>=this.config.last_hour)){var f=s-u,h=this._min_date.valueOf()+24*t.x*60*6e4;s=scheduler.date.date_part(new Date(h)),s.setHours(this.config.last_hour),c=new Date(s-1),"move"==this._drag_mode&&(u=new Date(+s-f))}if(this._table_view||c.getDate()==u.getDate()&&c.getHours()<this.config.last_hour||scheduler._allow_dnd)if(o.start_date=u,o.end_date=new Date(s),this.config.update_render){var g=scheduler._els.dhx_cal_data[0].scrollTop; this.update_view(),scheduler._els.dhx_cal_data[0].scrollTop=g}else this.updateEvent(this._drag_id);this._table_view&&this.for_rendered(this._drag_id,function(e){e.className+=" dhx_in_move"}),this.callEvent("onEventDrag",[this._drag_id,this._drag_mode,e])}}else if(scheduler.checkEvent("onMouseMove")){var v=this._locate_event(e.target||e.srcElement);this.callEvent("onMouseMove",[v,e])}},scheduler._on_mouse_down=function(e,t){if(2!=e.button&&!this.config.readonly&&!this._drag_mode){t=t||e.target||e.srcElement; -var s=t.className&&t.className.split(" ")[0];switch(s){case"dhx_cal_event_line":case"dhx_cal_event_clear":this._table_view&&(this._drag_mode="move");break;case"dhx_event_move":case"dhx_wa_ev_body":this._drag_mode="move";break;case"dhx_event_resize":this._drag_mode="resize",scheduler._drag_from_start=(t.className||"").indexOf("dhx_event_resize_end")<0?!0:!1;break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_matrix_cell":case"dhx_marked_timespan":this._drag_mode="create"; -break;case"":if(t.parentNode)return scheduler._on_mouse_down(e,t.parentNode);break;default:if((!scheduler.checkEvent("onMouseDown")||scheduler.callEvent("onMouseDown",[s]))&&t.parentNode&&t!=this&&"dhx_body"!=s)return scheduler._on_mouse_down(e,t.parentNode);this._drag_mode=null,this._drag_id=null}if(this._drag_mode){var i=this._locate_event(t);this.config["drag_"+this._drag_mode]&&this.callEvent("onBeforeDrag",[i,this._drag_mode,e])?(this._drag_id=i,this._drag_event=scheduler._lame_clone(this.getEvent(this._drag_id)||{})):this._drag_mode=this._drag_id=0 -}this._drag_start=null}},scheduler._get_private_properties=function(e){var t={};for(var s in e)0===s.indexOf("_")&&(t[s]=!0);return t},scheduler._clear_temporary_properties=function(e,t){var s=this._get_private_properties(e),i=this._get_private_properties(t);for(var n in i)s[n]||delete t[n]},scheduler._on_mouse_up=function(e){if(!e||2!=e.button||!scheduler.config.touch){if(this._drag_mode&&this._drag_id){this._els.dhx_cal_data[0].style.cursor="default";var t=this.getEvent(this._drag_id);if(this._drag_event._dhx_changed||!this._drag_event.start_date||t.start_date.valueOf()!=this._drag_event.start_date.valueOf()||t.end_date.valueOf()!=this._drag_event.end_date.valueOf()){var s="new-size"==this._drag_mode; -if(this.callEvent("onBeforeEventChanged",[t,e,s,this._drag_event])){var i=this._drag_id,n=this._drag_mode;if(this._drag_id=this._drag_mode=null,s&&this.config.edit_on_create){if(this.unselect(),this._new_event=new Date,this._table_view||this.config.details_on_create||!this.config.select)return scheduler.callEvent("onDragEnd",[i,n,e]),this.showLightbox(i);this._drag_pos=!0,this._select_id=this._edit_id=i}else this._new_event||this.callEvent(s?"onEventAdded":"onEventChanged",[i,this.getEvent(i)])}else s?this.deleteEvent(t.id,!0):(this._drag_event._dhx_changed=!1,this._clear_temporary_properties(t,this._drag_event),scheduler._lame_copy(t,this._drag_event),this.updateEvent(t.id)) +var i=t.className&&t.className.split(" ")[0];switch(i){case"dhx_cal_event_line":case"dhx_cal_event_clear":this._table_view&&(this._drag_mode="move");break;case"dhx_event_move":case"dhx_wa_ev_body":this._drag_mode="move";break;case"dhx_event_resize":this._drag_mode="resize",scheduler._drag_from_start=(t.className||"").indexOf("dhx_event_resize_end")<0?!0:!1;break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_matrix_cell":case"dhx_marked_timespan":this._drag_mode="create"; +break;case"":if(t.parentNode)return scheduler._on_mouse_down(e,t.parentNode);break;default:if((!scheduler.checkEvent("onMouseDown")||scheduler.callEvent("onMouseDown",[i]))&&t.parentNode&&t!=this&&"dhx_body"!=i)return scheduler._on_mouse_down(e,t.parentNode);this._drag_mode=null,this._drag_id=null}if(this._drag_mode){var s=this._locate_event(t);this.config["drag_"+this._drag_mode]&&this.callEvent("onBeforeDrag",[s,this._drag_mode,e])?(this._drag_id=s,this._drag_event=scheduler._lame_clone(this.getEvent(this._drag_id)||{})):this._drag_mode=this._drag_id=0 +}this._drag_start=null}},scheduler._get_private_properties=function(e){var t={};for(var i in e)0===i.indexOf("_")&&(t[i]=!0);return t},scheduler._clear_temporary_properties=function(e,t){var i=this._get_private_properties(e),s=this._get_private_properties(t);for(var n in s)i[n]||delete t[n]},scheduler._on_mouse_up=function(e){if(!e||2!=e.button||!scheduler.config.touch){if(this._drag_mode&&this._drag_id){this._els.dhx_cal_data[0].style.cursor="default";var t=this.getEvent(this._drag_id);if(this._drag_event._dhx_changed||!this._drag_event.start_date||t.start_date.valueOf()!=this._drag_event.start_date.valueOf()||t.end_date.valueOf()!=this._drag_event.end_date.valueOf()){var i="new-size"==this._drag_mode; +if(this.callEvent("onBeforeEventChanged",[t,e,i,this._drag_event])){var s=this._drag_id,n=this._drag_mode;if(this._drag_id=this._drag_mode=null,i&&this.config.edit_on_create){if(this.unselect(),this._new_event=new Date,this._table_view||this.config.details_on_create||!this.config.select)return scheduler.callEvent("onDragEnd",[s,n,e]),this.showLightbox(s);this._drag_pos=!0,this._select_id=this._edit_id=s}else this._new_event||this.callEvent(i?"onEventAdded":"onEventChanged",[s,this.getEvent(s)])}else i?this.deleteEvent(t.id,!0):(this._drag_event._dhx_changed=!1,this._clear_temporary_properties(t,this._drag_event),scheduler._lame_copy(t,this._drag_event),this.updateEvent(t.id)) }this._drag_pos&&this.render_view_data(),scheduler.callEvent("onDragEnd",[this._drag_id,this._drag_mode,e])}this._drag_id=null,this._drag_mode=null,this._drag_pos=null}},scheduler._trigger_dyn_loading=function(){return this._load_mode&&this._load()?(this._render_wait=!0,!0):!1},scheduler.update_view=function(){var e=this[this._mode+"_view"];return e?e(!0):this._reset_scale(),this._trigger_dyn_loading()?!0:void this.render_view_data()},scheduler.isViewExists=function(e){return!!(scheduler[e+"_view"]||scheduler.date[e+"_start"]&&scheduler.templates[e+"_date"]&&scheduler.templates[e+"_scale_date"]) -},scheduler.updateView=function(e,t){e=e||this._date,t=t||this._mode;var s="dhx_cal_data";this._mode?this._obj.className=this._obj.className.replace("dhx_scheduler_"+this._mode,"dhx_scheduler_"+t):this._obj.className+=" dhx_scheduler_"+t;var i=this._mode==t&&this.config.preserve_scroll?this._els[s][0].scrollTop:!1;this[this._mode+"_view"]&&t&&this._mode!=t&&this[this._mode+"_view"](!1),this._close_not_saved();var n="dhx_multi_day";this._els[n]&&(this._els[n][0].parentNode.removeChild(this._els[n][0]),this._els[n]=null),this._mode=t,this._date=e,this._table_view="month"==this._mode,this._dy_shift=0; -var a=this._els.dhx_cal_tab;if(a)for(var r=0;r<a.length;r++){var d=a[r].className;d=d.replace(/ active/g,""),a[r].getAttribute("name")==this._mode+"_tab"&&(d+=" active"),a[r].className=d}this.update_view(),"number"==typeof i&&(this._els[s][0].scrollTop=i)},scheduler.setCurrentView=function(e,t){this.callEvent("onBeforeViewChange",[this._mode,this._date,t||this._mode,e||this._date])&&(this.updateView(e,t),this.callEvent("onViewChange",[this._mode,this._date]))},scheduler._render_x_header=function(e,t,s,i){var n=document.createElement("DIV"); -n.className="dhx_scale_bar",this.templates[this._mode+"_scalex_class"]&&(n.className+=" "+this.templates[this._mode+"_scalex_class"](s));var a=this._cols[e]-1;"month"==this._mode&&0===e&&this.config.left_border&&(n.className+=" dhx_scale_bar_border",t+=1),this.set_xy(n,a,this.xy.scale_height-2,t,0),n.innerHTML=this.templates[this._mode+"_scale_date"](s,this._mode),i.appendChild(n)},scheduler._get_columns_num=function(e,t){var s=7;if(!scheduler._table_view){var i=scheduler.date["get_"+scheduler._mode+"_end"]; -i&&(t=i(e)),s=Math.round((t.valueOf()-e.valueOf())/864e5)}return s},scheduler._get_timeunit_start=function(){return this.date[this._mode+"_start"](new Date(this._date.valueOf()))},scheduler._get_view_end=function(){var e=this._get_timeunit_start(),t=scheduler.date.add(e,1,this._mode);if(!scheduler._table_view){var s=scheduler.date["get_"+scheduler._mode+"_end"];s&&(t=s(e))}return t},scheduler._calc_scale_sizes=function(e,t,s){var i=e,n=this._get_columns_num(t,s);this._process_ignores(t,n,"day",1); -for(var a=n-this._ignores_detected,r=0;n>r;r++)this._ignores[r]?(this._cols[r]=0,a++):this._cols[r]=Math.floor(i/(a-r)),i-=this._cols[r],this._colsS[r]=(this._cols[r-1]||0)+(this._colsS[r-1]||(this._table_view?0:this.xy.scale_width+2)),this._colsS.col_length=n;this._colsS[n]=this._cols[n-1]+this._colsS[n-1]},scheduler._set_scale_col_size=function(e,t,s){var i=this.config;this.set_xy(e,t-1,i.hour_size_px*(i.last_hour-i.first_hour),s+this.xy.scale_width+1,0)},scheduler._render_scales=function(e,t){var s=new Date(scheduler._min_date),i=new Date(scheduler._max_date),n=this.date.date_part(scheduler._currentDate()),a=parseInt(e.style.width,10),r=new Date(this._min_date),d=this._get_columns_num(s,i); -this._calc_scale_sizes(a,s,i);var o=0;e.innerHTML="";for(var l=0;d>l;l++){if(this._ignores[l]||this._render_x_header(l,o,r,e),!this._table_view){var h=document.createElement("DIV"),_="dhx_scale_holder";r.valueOf()==n.valueOf()&&(_="dhx_scale_holder_now"),this._ignores_detected&&this._ignores[l]&&(_+=" dhx_scale_ignore"),h.className=_+" "+this.templates.week_date_class(r,n),this._set_scale_col_size(h,this._cols[l],o),t.appendChild(h),this.callEvent("onScaleAdd",[h,r])}o+=this._cols[l],r=this.date.add(r,1,"day") -}},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],s=this.config;e.innerHTML="",t.innerHTML="";var i=(s.readonly||!s.drag_resize?" dhx_resize_denied":"")+(s.readonly||!s.drag_move?" dhx_move_denied":"");i&&(t.className="dhx_cal_data"+i),this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var n,a,r=this._get_timeunit_start(),d=scheduler._get_view_end();if(n=a=this._table_view?scheduler.date.week_start(r):r,this._min_date=n,this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](r,d,this._mode),this._max_date=d,scheduler._render_scales(e,t),this._table_view)this._reset_month_scale(t,r,a); -else if(this._reset_hours_scale(t,r,a),s.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 l=this._els.dhx_cal_navline[0],h=l.offsetHeight+this._els.dhx_cal_header[0].offsetHeight+1,_=document.createElement("DIV");_.className=o,_.style.visibility="hidden",this.set_xy(_,this._colsS[this._colsS.col_length]+this.xy.scroll_width,0,0,h),t.parentNode.insertBefore(_,t);var c=_.cloneNode(!0);c.className=o+"_icon",c.style.visibility="hidden",this.set_xy(c,this.xy.scale_width,0,0,h),_.appendChild(c),this._els[o]=[_,c],this._els[o][0].onclick=this._click.dhx_cal_data -}}},scheduler._reset_hours_scale=function(e){var t=document.createElement("DIV");t.className="dhx_scale_holder";for(var s=new Date(1980,1,1,this.config.first_hour,0,0),i=1*this.config.first_hour;i<this.config.last_hour;i++){var n=document.createElement("DIV");n.className="dhx_scale_hour",n.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var a=this.xy.scale_width;this.config.left_border&&(a-=1,n.className+=" dhx_scale_hour_border"),n.style.width=a+"px",n.innerHTML=scheduler.templates.hour_scale(s),t.appendChild(n),s=this.date.add(s,1,"hour") -}e.appendChild(t),this.config.scroll_hour&&(e.scrollTop=this.config.hour_size_px*(this.config.scroll_hour-this.config.first_hour))},scheduler._currentDate=function(){return scheduler.config.now_date?new Date(scheduler.config.now_date):new Date},scheduler._process_ignores=function(e,t,s,i,n){this._ignores={},this._ignores_detected=0;var a=scheduler["ignore_"+this._mode];if(a)for(var r=new Date(e),d=0;t>d;d++)a(r)&&(this._ignores_detected+=1,this._ignores[d]=!0,n&&t++),r=scheduler.date.add(r,i,s)},scheduler._render_month_scale=function(e,t,s){function i(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 n=scheduler.date.add(t,1,"month"),a=new Date(s),r=scheduler._currentDate();this.date.date_part(r),this.date.date_part(s);for(var d=Math.ceil(Math.round((n.valueOf()-s.valueOf())/864e5)/7),o=[],l=0;7>=l;l++){var h=(this._cols[l]||0)-1;0===l&&this.config.left_border&&(h-=1),o[l]=" style='width:"+h+"px;"}for(var _=0,c="<table cellpadding='0' cellspacing='0'>",u=[],l=0;d>l;l++){c+="<tr>"; -for(var f=Math.max(i(l)-scheduler.xy.month_head_height,0),g=0;7>g;g++){c+="<td";var v="";t>s?v="dhx_before":s>=n?v="dhx_after":s.valueOf()==r.valueOf()&&(v="dhx_now"),this._ignores_detected&&this._ignores[g]&&(v+=" dhx_scale_ignore"),c+=" class='"+v+" "+this.templates.month_date_class(s,r)+"' >";var m="dhx_month_body",p="dhx_month_head";0===g&&this.config.left_border&&(m+=" dhx_month_body_border",p+=" dhx_month_head_border"),this._ignores_detected&&this._ignores[g]?c+="<div></div><div></div>":(c+="<div class='"+p+"'>"+this.templates.month_day(s)+"</div>",c+="<div class='"+m+"' "+o[g]+";height:"+f+"px;'></div></td>"),u.push(s); -var x=s.getDate();s=this.date.add(s,1,"day"),s.getDate()-x>1&&(s=new Date(s.getFullYear(),s.getMonth(),x+1,12,0))}c+="</tr>",scheduler._colsS.heights[l]=_,_+=i(l)}c+="</table>",this._min_date=a,this._max_date=s,e.innerHTML=c,this._scales={};for(var b=e.getElementsByTagName("div"),l=0;l<u.length;l++){var e=b[2*l+1],y=u[l];this._scales[+y]=e}for(var l=0;l<u.length;l++){var y=u[l];this.callEvent("onScaleAdd",[this._scales[+y],y])}return this._max_date},scheduler._reset_month_scale=function(e,t,s){var i=scheduler.date.add(t,1,"month"),n=scheduler._currentDate(); -this.date.date_part(n),this.date.date_part(s);var a=Math.ceil(Math.round((i.valueOf()-s.valueOf())/864e5)/7),r=Math.floor(e.clientHeight/a)-this.xy.month_head_height;return this._colsS.height=r+this.xy.month_head_height,this._colsS.heights=[],scheduler._render_month_scale(e,t,s)},scheduler.getLabel=function(e,t){for(var s=this.config.lightbox.sections,i=0;i<s.length;i++)if(s[i].map_to==e)for(var n=s[i].options,a=0;a<n.length;a++)if(n[a].key==t)return n[a].label;return""},scheduler.updateCollection=function(e,t){var s=scheduler.serverList(e); -return s?(s.splice(0,s.length),s.push.apply(s,t||[]),scheduler.callEvent("onOptionsLoad",[]),scheduler.resetLightbox(),!0):!1},scheduler._lame_clone=function(e,t){var s,i,n;for(t=t||[],s=0;s<t.length;s+=2)if(e===t[s])return t[s+1];if(e&&"object"==typeof e){for(n={},i=[Array,Date,Number,String,Boolean],s=0;s<i.length;s++)e instanceof i[s]&&(n=s?new i[s](e):new i[s]);t.push(e,n);for(s in e)Object.prototype.hasOwnProperty.apply(e,[s])&&(n[s]=scheduler._lame_clone(e[s],t))}return n||e},scheduler._lame_copy=function(e,t){for(var s in t)t.hasOwnProperty(s)&&(e[s]=t[s]); -return e},scheduler._get_date_from_pos=function(e){var t=this._min_date.valueOf()+6e4*(e.y*this.config.time_step+24*(this._table_view?0:e.x)*60);return new Date(this._correct_shift(t))},scheduler.getActionData=function(e){var t=this._mouse_coords(e);return{date:this._get_date_from_pos(t),section:t.section}},scheduler._focus=function(e,t){e&&e.focus&&(this.config.touch?window.setTimeout(function(){e.focus()},100):(t&&e.select&&e.select(),e.focus()))},scheduler._get_real_event_length=function(e,t,s){var i,n=t-e,a=s._start_correction+s._end_correction||0,r=this["ignore_"+this._mode],d=0; -for(s.render?(d=this._get_date_index(s,e),i=this._get_date_index(s,t)):i=Math.round(n/60/60/1e3/24);i>d;){var o=scheduler.date.add(t,-s.x_step,s.x_unit);n-=r&&r(t)?t-o:a,t=o,i--}return n},scheduler._get_fictional_event_length=function(e,t,s,i){var n=new Date(e),a=i?-1:1;if(s._start_correction||s._end_correction){var r;r=i?60*n.getHours()+n.getMinutes()-60*(s.first_hour||0):60*(s.last_hour||0)-(60*n.getHours()+n.getMinutes());var d=60*(s.last_hour-s.first_hour),o=Math.ceil((t/6e4-r)/d);t+=o*(1440-d)*60*1e3 -}var l,h=new Date(1*e+t*a),_=this["ignore_"+this._mode],c=0;for(s.render?(c=this._get_date_index(s,n),l=this._get_date_index(s,h)):l=Math.round(t/60/60/1e3/24);l*a>=c*a;){var u=scheduler.date.add(n,s.x_step*a,s.x_unit);_&&_(n)&&(t+=(u-n)*a,l+=a),n=u,c+=a}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.date={init:function(){for(var e=scheduler.locale.date.month_short,t=scheduler.locale.date.month_short_hash={},s=0;s<e.length;s++)t[e[s]]=s;for(var e=scheduler.locale.date.month_full,t=scheduler.locale.date.month_full_hash={},s=0;s<e.length;s++)t[e[s]]=s},date_part:function(e){return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),0!==e.getHours()&&e.setTime(e.getTime()+36e5*(24-e.getHours())),e -},time_part:function(e){return(e.valueOf()/1e3-60*e.getTimezoneOffset())%86400},week_start:function(e){var t=e.getDay();return scheduler.config.start_on_monday&&(0===t?t=6:t--),this.date_part(this.add(e,-1*t,"day"))},month_start:function(e){return e.setDate(1),this.date_part(e)},year_start:function(e){return e.setMonth(0),this.month_start(e)},day_start:function(e){return this.date_part(e)},_add_days:function(e,t){var s=new Date(e.valueOf());return s.setDate(s.getDate()+t),!e.getHours()&&s.getHours()&&s.setTime(s.getTime()+36e5*(24-s.getHours())),s -},add:function(e,t,s){var i=new Date(e.valueOf());switch(s){case"day":i=scheduler.date._add_days(i,t);break;case"week":i=scheduler.date._add_days(i,7*t);break;case"month":i.setMonth(i.getMonth()+t);break;case"year":i.setYear(i.getFullYear()+t);break;case"hour":i.setHours(i.getHours()+t);break;case"minute":i.setMinutes(i.getMinutes()+t);break;default:return scheduler.date["add_"+s](e,t,s)}return i},to_fixed:function(e){return 10>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())+"'; +},scheduler.updateView=function(e,t){e=e||this._date,t=t||this._mode;var i="dhx_cal_data";this._mode?this._obj.className=this._obj.className.replace("dhx_scheduler_"+this._mode,"dhx_scheduler_"+t):this._obj.className+=" dhx_scheduler_"+t;var s=this._mode==t&&this.config.preserve_scroll?this._els[i][0].scrollTop:!1;this[this._mode+"_view"]&&t&&this._mode!=t&&this[this._mode+"_view"](!1),this._close_not_saved();var n="dhx_multi_day";this._els[n]&&(this._els[n][0].parentNode.removeChild(this._els[n][0]),this._els[n]=null),this._mode=t,this._date=e,this._table_view="month"==this._mode,this._dy_shift=0; +var r=this._els.dhx_cal_tab;if(r)for(var a=0;a<r.length;a++){var d=r[a].className;d=d.replace(/ active/g,""),r[a].getAttribute("name")==this._mode+"_tab"&&(d+=" active"),r[a].className=d}this.update_view(),"number"==typeof s&&(this._els[i][0].scrollTop=s)},scheduler.setCurrentView=function(e,t){this.callEvent("onBeforeViewChange",[this._mode,this._date,t||this._mode,e||this._date])&&(this.updateView(e,t),this.callEvent("onViewChange",[this._mode,this._date]))},scheduler._render_x_header=function(e,t,i,s){var n=document.createElement("DIV"); +n.className="dhx_scale_bar",this.templates[this._mode+"_scalex_class"]&&(n.className+=" "+this.templates[this._mode+"_scalex_class"](i));var r=this._cols[e]-1;"month"==this._mode&&0===e&&this.config.left_border&&(n.className+=" dhx_scale_bar_border",t+=1),this.set_xy(n,r,this.xy.scale_height-2,t,0),n.innerHTML=this.templates[this._mode+"_scale_date"](i,this._mode),s.appendChild(n)},scheduler._get_columns_num=function(e,t){var i=7;if(!scheduler._table_view){var s=scheduler.date["get_"+scheduler._mode+"_end"]; +s&&(t=s(e)),i=Math.round((t.valueOf()-e.valueOf())/864e5)}return i},scheduler._get_timeunit_start=function(){return this.date[this._mode+"_start"](new Date(this._date.valueOf()))},scheduler._get_view_end=function(){var e=this._get_timeunit_start(),t=scheduler.date.add(e,1,this._mode);if(!scheduler._table_view){var i=scheduler.date["get_"+scheduler._mode+"_end"];i&&(t=i(e))}return t},scheduler._calc_scale_sizes=function(e,t,i){var s=e,n=this._get_columns_num(t,i);this._process_ignores(t,n,"day",1); +for(var r=n-this._ignores_detected,a=0;n>a;a++)this._ignores[a]?(this._cols[a]=0,r++):this._cols[a]=Math.floor(s/(r-a)),s-=this._cols[a],this._colsS[a]=(this._cols[a-1]||0)+(this._colsS[a-1]||(this._table_view?0:this.xy.scale_width+2)),this._colsS.col_length=n;this._colsS[n]=this._cols[n-1]+this._colsS[n-1]},scheduler._set_scale_col_size=function(e,t,i){var s=this.config;this.set_xy(e,t-1,s.hour_size_px*(s.last_hour-s.first_hour),i+this.xy.scale_width+1,0)},scheduler._render_scales=function(e,t){var i=new Date(scheduler._min_date),s=new Date(scheduler._max_date),n=this.date.date_part(scheduler._currentDate()),r=parseInt(e.style.width,10),a=new Date(this._min_date),d=this._get_columns_num(i,s); +this._calc_scale_sizes(r,i,s);var o=0;e.innerHTML="";for(var l=0;d>l;l++){if(this._ignores[l]||this._render_x_header(l,o,a,e),!this._table_view){var h=document.createElement("DIV"),_="dhx_scale_holder";a.valueOf()==n.valueOf()&&(_="dhx_scale_holder_now"),this._ignores_detected&&this._ignores[l]&&(_+=" dhx_scale_ignore"),h.className=_+" "+this.templates.week_date_class(a,n),this._set_scale_col_size(h,this._cols[l],o),t.appendChild(h),this.callEvent("onScaleAdd",[h,a])}o+=this._cols[l],a=this.date.add(a,1,"day") +}},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 s=(i.readonly||!i.drag_resize?" dhx_resize_denied":"")+(i.readonly||!i.drag_move?" dhx_move_denied":"");t.className="dhx_cal_data"+s,this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var n,r,a=this._get_timeunit_start(),d=scheduler._get_view_end();if(n=r=this._table_view?scheduler.date.week_start(a):a,this._min_date=n,this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](a,d,this._mode),this._max_date=d,scheduler._render_scales(e,t),this._table_view)this._reset_month_scale(t,a,r); +else if(this._reset_hours_scale(t,a,r),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 l=this._els.dhx_cal_navline[0],h=l.offsetHeight+this._els.dhx_cal_header[0].offsetHeight+1,_=document.createElement("DIV");_.className=o,_.style.visibility="hidden",this.set_xy(_,this._colsS[this._colsS.col_length]+this.xy.scroll_width,0,0,h),t.parentNode.insertBefore(_,t);var c=_.cloneNode(!0);c.className=o+"_icon",c.style.visibility="hidden",this.set_xy(c,this.xy.scale_width,0,0,h),_.appendChild(c),this._els[o]=[_,c],this._els[o][0].onclick=this._click.dhx_cal_data +}}},scheduler._reset_hours_scale=function(e){var t=document.createElement("DIV");t.className="dhx_scale_holder";for(var i=new Date(1980,1,1,this.config.first_hour,0,0),s=1*this.config.first_hour;s<this.config.last_hour;s++){var n=document.createElement("DIV");n.className="dhx_scale_hour",n.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var r=this.xy.scale_width;this.config.left_border&&(r-=1,n.className+=" dhx_scale_hour_border"),n.style.width=r+"px",n.innerHTML=scheduler.templates.hour_scale(i),t.appendChild(n),i=this.date.add(i,1,"hour") +}e.appendChild(t),this.config.scroll_hour&&(e.scrollTop=this.config.hour_size_px*(this.config.scroll_hour-this.config.first_hour))},scheduler._currentDate=function(){return scheduler.config.now_date?new Date(scheduler.config.now_date):new Date},scheduler._process_ignores=function(e,t,i,s,n){this._ignores={},this._ignores_detected=0;var r=scheduler["ignore_"+this._mode];if(r)for(var a=new Date(e),d=0;t>d;d++)r(a)&&(this._ignores_detected+=1,this._ignores[d]=!0,n&&t++),a=scheduler.date.add(a,s,i)},scheduler._render_month_scale=function(e,t,i){function s(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 n=scheduler.date.add(t,1,"month"),r=new Date(i),a=scheduler._currentDate();this.date.date_part(a),this.date.date_part(i);for(var d=Math.ceil(Math.round((n.valueOf()-i.valueOf())/864e5)/7),o=[],l=0;7>=l;l++){var h=(this._cols[l]||0)-1;0===l&&this.config.left_border&&(h-=1),o[l]=" style='width:"+h+"px;"}for(var _=0,c="<table cellpadding='0' cellspacing='0'>",u=[],l=0;d>l;l++){c+="<tr>"; +for(var f=Math.max(s(l)-scheduler.xy.month_head_height,0),g=0;7>g;g++){c+="<td";var v="";t>i?v="dhx_before":i>=n?v="dhx_after":i.valueOf()==a.valueOf()&&(v="dhx_now"),this._ignores_detected&&this._ignores[g]&&(v+=" dhx_scale_ignore"),c+=" class='"+v+" "+this.templates.month_date_class(i,a)+"' >";var m="dhx_month_body",p="dhx_month_head";0===g&&this.config.left_border&&(m+=" dhx_month_body_border",p+=" dhx_month_head_border"),this._ignores_detected&&this._ignores[g]?c+="<div></div><div></div>":(c+="<div class='"+p+"'>"+this.templates.month_day(i)+"</div>",c+="<div class='"+m+"' "+o[g]+";height:"+f+"px;'></div></td>"),u.push(i); +var x=i.getDate();i=this.date.add(i,1,"day"),i.getDate()-x>1&&(i=new Date(i.getFullYear(),i.getMonth(),x+1,12,0))}c+="</tr>",scheduler._colsS.heights[l]=_,_+=s(l)}c+="</table>",this._min_date=r,this._max_date=i,e.innerHTML=c,this._scales={};for(var b=e.getElementsByTagName("div"),l=0;l<u.length;l++){var e=b[2*l+1],y=u[l];this._scales[+y]=e}for(var l=0;l<u.length;l++){var y=u[l];this.callEvent("onScaleAdd",[this._scales[+y],y])}return this._max_date},scheduler._reset_month_scale=function(e,t,i){var s=scheduler.date.add(t,1,"month"),n=scheduler._currentDate(); +this.date.date_part(n),this.date.date_part(i);var r=Math.ceil(Math.round((s.valueOf()-i.valueOf())/864e5)/7),a=Math.floor(e.clientHeight/r)-this.xy.month_head_height;return this._colsS.height=a+this.xy.month_head_height,this._colsS.heights=[],scheduler._render_month_scale(e,t,i)},scheduler.getLabel=function(e,t){for(var i=this.config.lightbox.sections,s=0;s<i.length;s++)if(i[s].map_to==e)for(var n=i[s].options,r=0;r<n.length;r++)if(n[r].key==t)return n[r].label;return""},scheduler.updateCollection=function(e,t){var i=scheduler.serverList(e); +return i?(i.splice(0,i.length),i.push.apply(i,t||[]),scheduler.callEvent("onOptionsLoad",[]),scheduler.resetLightbox(),!0):!1},scheduler._lame_clone=function(e,t){var i,s,n;for(t=t||[],i=0;i<t.length;i+=2)if(e===t[i])return t[i+1];if(e&&"object"==typeof e){for(n={},s=[Array,Date,Number,String,Boolean],i=0;i<s.length;i++)e instanceof s[i]&&(n=i?new s[i](e):new s[i]);t.push(e,n);for(i in e)Object.prototype.hasOwnProperty.apply(e,[i])&&(n[i]=scheduler._lame_clone(e[i],t))}return n||e},scheduler._lame_copy=function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i]); +return e},scheduler._get_date_from_pos=function(e){var t=this._min_date.valueOf()+6e4*(e.y*this.config.time_step+24*(this._table_view?0:e.x)*60);return new Date(this._correct_shift(t))},scheduler.getActionData=function(e){var t=this._mouse_coords(e);return{date:this._get_date_from_pos(t),section:t.section}},scheduler._focus=function(e,t){e&&e.focus&&(this.config.touch?window.setTimeout(function(){e.focus()},100):(t&&e.select&&e.select(),e.focus()))},scheduler._get_real_event_length=function(e,t,i){var s,n=t-e,r=i._start_correction+i._end_correction||0,a=this["ignore_"+this._mode],d=0; +for(i.render?(d=this._get_date_index(i,e),s=this._get_date_index(i,t)):s=Math.round(n/60/60/1e3/24);s>d;){var o=scheduler.date.add(t,-i.x_step,i.x_unit);n-=a&&a(t)?t-o:r,t=o,s--}return n},scheduler._get_fictional_event_length=function(e,t,i,s){var n=new Date(e),r=s?-1:1;if(i._start_correction||i._end_correction){var a;a=s?60*n.getHours()+n.getMinutes()-60*(i.first_hour||0):60*(i.last_hour||0)-(60*n.getHours()+n.getMinutes());var d=60*(i.last_hour-i.first_hour),o=Math.ceil((t/6e4-a)/d);t+=o*(1440-d)*60*1e3 +}var l,h=new Date(1*e+t*r),_=this["ignore_"+this._mode],c=0;for(i.render?(c=this._get_date_index(i,n),l=this._get_date_index(i,h)):l=Math.round(t/60/60/1e3/24);l*r>=c*r;){var u=scheduler.date.add(n,i.x_step*r,i.x_unit);_&&_(n)&&(t+=(u-n)*r,l+=r),n=u,c+=r}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.date={init:function(){for(var e=scheduler.locale.date.month_short,t=scheduler.locale.date.month_short_hash={},i=0;i<e.length;i++)t[e[i]]=i;for(var e=scheduler.locale.date.month_full,t=scheduler.locale.date.month_full_hash={},i=0;i<e.length;i++)t[e[i]]=i},date_part:function(e){return e.setHours(0),e.setMinutes(0),e.setSeconds(0),e.setMilliseconds(0),0!==e.getHours()&&e.setTime(e.getTime()+36e5*(24-e.getHours())),e +},time_part:function(e){return(e.valueOf()/1e3-60*e.getTimezoneOffset())%86400},week_start:function(e){var t=e.getDay();return scheduler.config.start_on_monday&&(0===t?t=6:t--),this.date_part(this.add(e,-1*t,"day"))},month_start:function(e){return e.setDate(1),this.date_part(e)},year_start:function(e){return e.setMonth(0),this.month_start(e)},day_start:function(e){return this.date_part(e)},_add_days:function(e,t){var i=new Date(e.valueOf());return i.setDate(i.getDate()+t),!e.getHours()&&i.getHours()&&i.setTime(i.getTime()+36e5*(24-i.getHours())),i +},add:function(e,t,i){var s=new Date(e.valueOf());switch(i){case"day":s=scheduler.date._add_days(s,t);break;case"week":s=scheduler.date._add_days(s,7*t);break;case"month":s.setMonth(s.getMonth()+t);break;case"year":s.setYear(s.getFullYear()+t);break;case"hour":s.setHours(s.getHours()+t);break;case"minute":s.setMinutes(s.getMinutes()+t);break;default:return scheduler.date["add_"+i](e,t,i)}return s},to_fixed:function(e){return 10>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 s="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",i=e.match(/%[a-zA-Z]/g),n=0;n<i.length;n++)switch(i[n]){case"%j":case"%d":s+="set[2]=temp["+n+"]||1;";break;case"%n":case"%m":s+="set[1]=(temp["+n+"]||1)-1;";break;case"%y":s+="set[0]=temp["+n+"]*1+(temp["+n+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":s+="set[3]=temp["+n+"]||0;";break;case"%i":s+="set[4]=temp["+n+"]||0;"; -break;case"%Y":s+="set[0]=temp["+n+"]||0;";break;case"%a":case"%A":s+="set[3]=set[3]%12+((temp["+n+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":s+="set[5]=temp["+n+"]||0;";break;case"%M":s+="set[1]=scheduler.locale.date.month_short_hash[temp["+n+"]]||0;";break;case"%F":s+="set[1]=scheduler.locale.date.month_full_hash[temp["+n+"]]||0;"}var a="set[0],set[1],set[2],set[3],set[4],set[5]";return t&&(a=" Date.UTC("+a+")"),new Function("date","var set=[0,0,1,0,0,0]; "+s+" return new Date("+a+");") -},getISOWeek:function(e){if(!e)return!1;var t=e.getDay();0===t&&(t=7);var s=new Date(e.valueOf());s.setDate(e.getDate()+(4-t));var i=s.getFullYear(),n=Math.round((s.getTime()-new Date(i,0,1).getTime())/864e5),a=1+Math.floor(n/7);return a},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"}},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},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,s=scheduler.config,i=function(e,t){for(var s in t)e[s]||(e[s]=t[s])};i(scheduler.templates,{day_date:t(s.default_date),month_date:t(s.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(s.default_date),month_scale_date:t(s.week_date),week_scale_date:t(s.day_date),hour_scale:t(s.hour_date),time_picker:t(s.hour_date),event_date:t(s.hour_date),month_day:t(s.month_day),xml_date:scheduler.date.str_to_date(s.xml_date,s.server_utc),load_format:t(s.load_date,s.server_utc),xml_format:t(s.xml_date,s.server_utc),api_date:scheduler.date.str_to_date(s.api_date),event_header:function(e,t){return scheduler.templates.event_date(e)+" - "+scheduler.templates.event_date(t) -},event_text:function(e,t,s){return s.text},event_class:function(){return""},month_date_class:function(){return""},week_date_class:function(){return""},event_bar_date:function(e){return scheduler.templates.event_date(e)+" "},event_bar_text:function(e,t,s){return s.text},month_events_link:function(e,t){return"<a>View more("+t+" events)</a>"},drag_marker_class:function(){return""},drag_marker_content:function(){return""}}),this.callEvent("onTemplatesReady",[])},scheduler.uid=function(){return this._seed||(this._seed=(new Date).valueOf()),this._seed++ -},scheduler._events={},scheduler.clearAll=function(){this._events={},this._loaded={},this.clear_view(),this.callEvent("onClearAll",[])},scheduler.addEvent=function(e,t,s,i,n){if(!arguments.length)return this.addEventNow();var a=e;1!=arguments.length&&(a=n||{},a.start_date=e,a.end_date=t,a.text=s,a.id=i),a.id=a.id||scheduler.uid(),a.text=a.text||"","string"==typeof a.start_date&&(a.start_date=this.templates.api_date(a.start_date)),"string"==typeof a.end_date&&(a.end_date=this.templates.api_date(a.end_date)); -var r=6e4*(this.config.event_duration||this.config.time_step);a.start_date.valueOf()==a.end_date.valueOf()&&a.end_date.setTime(a.end_date.valueOf()+r),a._timed=this.isOneDayEvent(a);var d=!this._events[a.id];return this._events[a.id]=a,this.event_updated(a),this._loading||this.callEvent(d?"onEventAdded":"onEventChanged",[a.id,a]),a.id},scheduler.deleteEvent=function(e,t){var s=this._events[e];(t||this.callEvent("onBeforeEventDelete",[e,s])&&this.callEvent("onConfirmedBeforeEventDelete",[e,s]))&&(s&&(this._select_id=null,delete this._events[e],this.event_updated(s)),this.callEvent("onEventDeleted",[e,s])) -},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 s=this._rendered.length-1;s>=0;s--)this._rendered[s].getAttribute("event_id")==e&&t(this._rendered[s],s)},scheduler.changeEventId=function(e,t){if(e!=t){var s=this._events[e];s&&(s.id=t,this._events[t]=s,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]}},s=function(e){return function(t,s){var i=scheduler.getEvent(t);i[e]=s,i._changed=!0,i._timed=this.isOneDayEvent(i),scheduler.event_updated(i,!0)}},i=0;i<e.length;i+=2)scheduler["getEvent"+e[i+1]]=t(e[i]),scheduler["setEvent"+e[i+1]]=s(e[i])}(),scheduler.event_updated=function(e){this.is_visible_events(e)?this.render_view_data():this.clear_event(e.id) -},scheduler.is_visible_events=function(e){var t=e.start_date<this._max_date&&this._min_date<e.end_date;if(t){var s=e.end_date.getHours()>=this.config.first_hour&&e.end_date.getHours()<this.config.last_hour||e.start_date.getHours()>=this.config.first_hour&&e.start_date.getHours()<this.config.last_hour;if(s)return!0;var i=(e.end_date.valueOf()-e.start_date.valueOf())/36e5,n=24-(this.config.last_hour-this.config.first_hour);return i>n}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 s in this._events)this.is_visible_events(this._events[s])&&(!e||this._events[s]._timed)&&this.filter_event(s,this._events[s])&&t.push(this._events[s]); -return t},scheduler.filter_event=function(e,t){var s=this["filter_"+this._mode];return s?s(e,t):!0},scheduler._is_main_area_event=function(e){return!!e._timed},scheduler.render_view_data=function(e,t){if(!e){if(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 s=0,i=e.length;i>s;s++)this._recalculate_timed(e[s]);if(this.config.multi_day&&!this._table_view){for(var n=[],a=[],s=0;s<e.length;s++)this._is_main_area_event(e[s])?n.push(e[s]):a.push(e[s]); -this._rendered_location=this._els.dhx_multi_day[0],this._table_view=!0,this.render_data(a,t),this._table_view=!1,this._rendered_location=this._els.dhx_cal_data[0],this._table_view=!1,this.render_data(n,t)}else this._rendered_location=this._els.dhx_cal_data[0],this.render_data(e,t)},scheduler._view_month_day=function(e){var t=scheduler.getActionData(e).date;scheduler.callEvent("onViewMoreClick",[t])&&scheduler.setCurrentView(t,"day")},scheduler._render_month_link=function(e){for(var t=this._rendered_location,s=this._lame_clone(e),i=e._sday;i<e._eday;i++){s._sday=i,s._eday=i+1; -var n=scheduler.date,a=scheduler._min_date;a=n.add(a,s._sweek,"week"),a=n.add(a,s._sday,"day");var r=scheduler.getEvents(a,n.add(a,1,"day")).length,d=this._get_event_bar_pos(s),o=d.x2-d.x,l=document.createElement("div");l.onclick=function(e){scheduler._view_month_day(e||event)},l.className="dhx_month_link",l.style.top=d.y+"px",l.style.left=d.x+"px",l.style.width=o+"px",l.innerHTML=scheduler.templates.month_events_link(a,r),this._rendered.push(l),t.appendChild(l)}},scheduler._recalculate_timed=function(e){if(e){var t; -t="object"!=typeof e?this._events[e]:e,t&&(t._timed=scheduler.isOneDayEvent(t))}},scheduler.attachEvent("onEventChanged",scheduler._recalculate_timed),scheduler.attachEvent("onEventAdded",scheduler._recalculate_timed),scheduler.render_data=function(e,t){e=this._pre_render_events(e,t);for(var s=0;s<e.length;s++)if(this._table_view)if("month"!=scheduler._mode)this.render_event_bar(e[s]);else{var i=scheduler.config.max_month_events;i!==1*i||e[s]._sorder<i?this.render_event_bar(e[s]):void 0!==i&&e[s]._sorder==i&&scheduler._render_month_link(e[s]) -}else this.render_event(e[s])},scheduler._pre_render_events=function(e,t){var s=this.xy.bar_height,i=this._colsS.heights,n=this._colsS.heights=[0,0,0,0,0,0,0],a=this._els.dhx_cal_data[0];if(e=this._table_view?this._pre_render_events_table(e,t):this._pre_render_events_line(e,t),this._table_view)if(t)this._colsS.heights=i;else{var r=a.firstChild;if(r.rows){for(var d=0;d<r.rows.length;d++){n[d]++;var o=this._colsS.height-this.xy.month_head_height;if(n[d]*s>o){var l=r.rows[d].cells,h=o;1*this.config.max_month_events!==this.config.max_month_events||n[d]<=this.config.max_month_events?h=n[d]*s:(this.config.max_month_events+1)*s>o&&(h=(this.config.max_month_events+1)*s); -for(var _=0;_<l.length;_++)l[_].childNodes[1].style.height=h+"px";n[d]=(n[d-1]||0)+l[0].offsetHeight}n[d]=(n[d-1]||0)+r.rows[d].cells[0].offsetHeight}if(n.unshift(0),r.parentNode.offsetHeight<r.parentNode.scrollHeight&&!scheduler._colsS.scroll_fix&&scheduler.xy.scroll_width){var c=scheduler._colsS,u=c[c.col_length],f=c.heights.slice();u-=scheduler.xy.scroll_width||0,this._calc_scale_sizes(u,this._min_date,this._max_date),scheduler._colsS.heights=f,this.set_xy(this._els.dhx_cal_header[0],u,this.xy.scale_height),scheduler._render_scales(this._els.dhx_cal_header[0]),scheduler._render_month_scale(this._els.dhx_cal_data[0],this._get_timeunit_start(),this._min_date),c.scroll_fix=!0 -}}else if(e.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(n[0]=-1),e.length||-1==n[0]){var g=(r.parentNode.childNodes,(n[0]+1)*s+1),v=g,m=g+"px";this.config.multi_day_height_limit&&(v=Math.min(g,this.config.multi_day_height_limit),m=v+"px"),a.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+v+"px",a.style.height=this._obj.offsetHeight-parseInt(a.style.top,10)-(this.xy.margin_top||0)+"px";var p=this._els.dhx_multi_day[0];p.style.height=m,p.style.visibility=-1==n[0]?"hidden":"visible"; -var x=this._els.dhx_multi_day[1];x.style.height=m,x.style.visibility=-1==n[0]?"hidden":"visible",x.className=n[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(n[0]+1)*s,n[0]=0,v!=g&&(a.style.top=parseInt(a.style.top)+2+"px",p.style.overflowY="auto",p.style.width=parseInt(p.style.width)-2+"px",x.style.position="fixed",x.style.top="",x.style.left="")}}return e},scheduler._get_event_sday=function(e){return Math.floor((e.start_date.valueOf()-this._min_date.valueOf())/864e5)},scheduler._get_event_mapped_end_date=function(e){var t=e.end_date; -if(this.config.separate_short_events){var s=(e.end_date-e.start_date)/6e4;s<this._min_mapped_duration&&(t=this.date.add(t,this._min_mapped_duration-s,"minute"))}return t},scheduler._pre_render_events_line=function(e,t){e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e.id>t.id?1:-1:e.start_date>t.start_date?1:-1});var s=[],i=[];this._min_mapped_duration=Math.ceil(60*this.xy.min_event_height/this.config.hour_size_px);for(var n=0;n<e.length;n++){var a=e[n],r=a.start_date,d=a.end_date,o=r.getHours(),l=d.getHours(); -if(a._sday=this._get_event_sday(a),this._ignores[a._sday])e.splice(n,1),n--;else{if(s[a._sday]||(s[a._sday]=[]),!t){a._inner=!1;for(var h=s[a._sday];h.length;){var _=h[h.length-1],c=this._get_event_mapped_end_date(_);if(!(c.valueOf()<=a.start_date.valueOf()))break;h.splice(h.length-1,1)}for(var u=h.length,f=!1,g=0;g<h.length;g++){var _=h[g],c=this._get_event_mapped_end_date(_);if(c.valueOf()<=a.start_date.valueOf()){f=!0,a._sorder=_._sorder,u=g,a._inner=!0;break}}if(h.length&&(h[h.length-1]._inner=!0),!f)if(h.length)if(h.length<=h[h.length-1]._sorder){if(h[h.length-1]._sorder)for(g=0;g<h.length;g++){for(var v=!1,m=0;m<h.length;m++)if(h[m]._sorder==g){v=!0; -break}if(!v){a._sorder=g;break}}else a._sorder=0;a._inner=!0}else{var p=h[0]._sorder;for(g=1;g<h.length;g++)h[g]._sorder>p&&(p=h[g]._sorder);a._sorder=p+1,a._inner=!1}else a._sorder=0;h.splice(u,u==h.length?0:1,a),h.length>(h.max_count||0)?(h.max_count=h.length,a._count=h.length):a._count=a._count?a._count:1}(o<this.config.first_hour||l>=this.config.last_hour)&&(i.push(a),e[n]=a=this._copy_event(a),o<this.config.first_hour&&(a.start_date.setHours(this.config.first_hour),a.start_date.setMinutes(0)),l>=this.config.last_hour&&(a.end_date.setMinutes(0),a.end_date.setHours(this.config.last_hour)),a.start_date>a.end_date||o==this.config.last_hour)&&(e.splice(n,1),n--) -}}if(!t){for(var n=0;n<e.length;n++)e[n]._count=s[e[n]._sday].max_count;for(var n=0;n<i.length;n++)i[n]._count=s[i[n]._sday].max_count}return e},scheduler._time_order=function(e){e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e._timed&&!t._timed?1:!e._timed&&t._timed?-1:e.id>t.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 s,i=[],n=[[],[],[],[],[],[],[]],a=this._colsS.heights,r=this._cols.length,d={},o=0;o<e.length;o++){var l=e[o],h=l.id; -d[h]||(d[h]={first_chunk:!0,last_chunk:!0});var _=d[h],c=s||l.start_date,u=l.end_date;c<this._min_date&&(_.first_chunk=!1,c=this._min_date),u>this._max_date&&(_.last_chunk=!1,u=this._max_date);var f=this.locate_holder_day(c,!1,l);if(l._sday=f%r,!this._ignores[l._sday]||!l._timed){var g=this.locate_holder_day(u,!0,l)||r;l._eday=g%r||r,l._length=g-f,l._sweek=Math.floor((this._correct_shift(c.valueOf(),1)-this._min_date.valueOf())/(864e5*r));var v,m=n[l._sweek];for(v=0;v<m.length&&!(m[v]._eday<=l._sday);v++);if(l._sorder&&t||(l._sorder=v),l._sday+l._length<=r)s=null,i.push(l),m[v]=l,a[l._sweek]=m.length-1,l._first_chunk=_.first_chunk,l._last_chunk=_.last_chunk; -else{var p=this._copy_event(l);p.id=l.id,p._length=r-l._sday,p._eday=r,p._sday=l._sday,p._sweek=l._sweek,p._sorder=l._sorder,p.end_date=this.date.add(c,p._length,"day"),p._first_chunk=_.first_chunk,_.first_chunk&&(_.first_chunk=!1),i.push(p),m[v]=p,s=p.end_date,a[l._sweek]=m.length-1,o--}}}return i},scheduler._copy_dummy=function(){var e=new Date(this.start_date),t=new Date(this.end_date);this.start_date=e,this.end_date=t},scheduler._copy_event=function(e){return this._copy_dummy.prototype=e,new this._copy_dummy +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);",s=e.match(/%[a-zA-Z]/g),n=0;n<s.length;n++)switch(s[n]){case"%j":case"%d":i+="set[2]=temp["+n+"]||1;";break;case"%n":case"%m":i+="set[1]=(temp["+n+"]||1)-1;";break;case"%y":i+="set[0]=temp["+n+"]*1+(temp["+n+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":i+="set[3]=temp["+n+"]||0;";break;case"%i":i+="set[4]=temp["+n+"]||0;"; +break;case"%Y":i+="set[0]=temp["+n+"]||0;";break;case"%a":case"%A":i+="set[3]=set[3]%12+((temp["+n+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":i+="set[5]=temp["+n+"]||0;";break;case"%M":i+="set[1]=scheduler.locale.date.month_short_hash[temp["+n+"]]||0;";break;case"%F":i+="set[1]=scheduler.locale.date.month_full_hash[temp["+n+"]]||0;"}var r="set[0],set[1],set[2],set[3],set[4],set[5]";return t&&(r=" Date.UTC("+r+")"),new Function("date","var set=[0,0,1,0,0,0]; "+i+" return new Date("+r+");") +},getISOWeek:function(e){if(!e)return!1;var t=e.getDay();0===t&&(t=7);var i=new Date(e.valueOf());i.setDate(e.getDate()+(4-t));var s=i.getFullYear(),n=Math.round((i.getTime()-new Date(s,0,1).getTime())/864e5),r=1+Math.floor(n/7);return r},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"}},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},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,s=function(e,t){for(var i in t)e[i]||(e[i]=t[i])};s(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){return scheduler.templates.event_date(e)+" - "+scheduler.templates.event_date(t) +},event_text:function(e,t,i){return i.text},event_class:function(){return""},month_date_class:function(){return""},week_date_class:function(){return""},event_bar_date:function(e){return scheduler.templates.event_date(e)+" "},event_bar_text:function(e,t,i){return i.text},month_events_link:function(e,t){return"<a>View more("+t+" events)</a>"},drag_marker_class:function(){return""},drag_marker_content:function(){return""}}),this.callEvent("onTemplatesReady",[])},scheduler.uid=function(){return this._seed||(this._seed=(new Date).valueOf()),this._seed++ +},scheduler._events={},scheduler.clearAll=function(){this._events={},this._loaded={},this.clear_view(),this.callEvent("onClearAll",[])},scheduler.addEvent=function(e,t,i,s,n){if(!arguments.length)return this.addEventNow();var r=e;1!=arguments.length&&(r=n||{},r.start_date=e,r.end_date=t,r.text=i,r.id=s),r.id=r.id||scheduler.uid(),r.text=r.text||"","string"==typeof r.start_date&&(r.start_date=this.templates.api_date(r.start_date)),"string"==typeof r.end_date&&(r.end_date=this.templates.api_date(r.end_date)); +var a=6e4*(this.config.event_duration||this.config.time_step);r.start_date.valueOf()==r.end_date.valueOf()&&r.end_date.setTime(r.end_date.valueOf()+a),r._timed=this.isOneDayEvent(r);var d=!this._events[r.id];return this._events[r.id]=r,this.event_updated(r),this._loading||this.callEvent(d?"onEventAdded":"onEventChanged",[r.id,r]),r.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 s=scheduler.getEvent(t);s[e]=i,s._changed=!0,s._timed=this.isOneDayEvent(s),scheduler.event_updated(s,!0)}},s=0;s<e.length;s+=2)scheduler["getEvent"+e[s+1]]=t(e[s]),scheduler["setEvent"+e[s+1]]=i(e[s])}(),scheduler.event_updated=function(e){this.is_visible_events(e)?this.render_view_data():this.clear_event(e.id) +},scheduler.is_visible_events=function(e){var t=e.start_date<this._max_date&&this._min_date<e.end_date;if(t){var i=e.end_date.getHours()>=this.config.first_hour&&e.end_date.getHours()<this.config.last_hour||e.start_date.getHours()>=this.config.first_hour&&e.start_date.getHours()<this.config.last_hour;if(i)return!0;var s=(e.end_date.valueOf()-e.start_date.valueOf())/36e5,n=24-(this.config.last_hour-this.config.first_hour);return s>n}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){if(!e){if(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 i=0,s=e.length;s>i;i++)this._recalculate_timed(e[i]);if(this.config.multi_day&&!this._table_view){for(var n=[],r=[],i=0;i<e.length;i++)this._is_main_area_event(e[i])?n.push(e[i]):r.push(e[i]); +this._rendered_location=this._els.dhx_multi_day[0],this._table_view=!0,this.render_data(r,t),this._table_view=!1,this._rendered_location=this._els.dhx_cal_data[0],this._table_view=!1,this.render_data(n,t)}else this._rendered_location=this._els.dhx_cal_data[0],this.render_data(e,t)},scheduler._view_month_day=function(e){var t=scheduler.getActionData(e).date;scheduler.callEvent("onViewMoreClick",[t])&&scheduler.setCurrentView(t,"day")},scheduler._render_month_link=function(e){for(var t=this._rendered_location,i=this._lame_clone(e),s=e._sday;s<e._eday;s++){i._sday=s,i._eday=s+1; +var n=scheduler.date,r=scheduler._min_date;r=n.add(r,i._sweek,"week"),r=n.add(r,i._sday,"day");var a=scheduler.getEvents(r,n.add(r,1,"day")).length,d=this._get_event_bar_pos(i),o=d.x2-d.x,l=document.createElement("div");l.onclick=function(e){scheduler._view_month_day(e||event)},l.className="dhx_month_link",l.style.top=d.y+"px",l.style.left=d.x+"px",l.style.width=o+"px",l.innerHTML=scheduler.templates.month_events_link(r,a),this._rendered.push(l),t.appendChild(l)}},scheduler._recalculate_timed=function(e){if(e){var t; +t="object"!=typeof e?this._events[e]:e,t&&(t._timed=scheduler.isOneDayEvent(t))}},scheduler.attachEvent("onEventChanged",scheduler._recalculate_timed),scheduler.attachEvent("onEventAdded",scheduler._recalculate_timed),scheduler.render_data=function(e,t){e=this._pre_render_events(e,t);for(var i=0;i<e.length;i++)if(this._table_view)if("month"!=scheduler._mode)this.render_event_bar(e[i]);else{var s=scheduler.config.max_month_events;s!==1*s||e[i]._sorder<s?this.render_event_bar(e[i]):void 0!==s&&e[i]._sorder==s&&scheduler._render_month_link(e[i]) +}else this.render_event(e[i])},scheduler._pre_render_events=function(e,t){var i=this.xy.bar_height,s=this._colsS.heights,n=this._colsS.heights=[0,0,0,0,0,0,0],r=this._els.dhx_cal_data[0];if(e=this._table_view?this._pre_render_events_table(e,t):this._pre_render_events_line(e,t),this._table_view)if(t)this._colsS.heights=s;else{var a=r.firstChild;if(a.rows){for(var d=0;d<a.rows.length;d++){n[d]++;var o=this._colsS.height-this.xy.month_head_height;if(n[d]*i>o){var l=a.rows[d].cells,h=o;1*this.config.max_month_events!==this.config.max_month_events||n[d]<=this.config.max_month_events?h=n[d]*i:(this.config.max_month_events+1)*i>o&&(h=(this.config.max_month_events+1)*i); +for(var _=0;_<l.length;_++)l[_].childNodes[1].style.height=h+"px";n[d]=(n[d-1]||0)+l[0].offsetHeight}n[d]=(n[d-1]||0)+a.rows[d].cells[0].offsetHeight}if(n.unshift(0),a.parentNode.offsetHeight<a.parentNode.scrollHeight&&!scheduler._colsS.scroll_fix&&scheduler.xy.scroll_width){var c=scheduler._colsS,u=c[c.col_length],f=c.heights.slice();u-=scheduler.xy.scroll_width||0,this._calc_scale_sizes(u,this._min_date,this._max_date),scheduler._colsS.heights=f,this.set_xy(this._els.dhx_cal_header[0],u,this.xy.scale_height),scheduler._render_scales(this._els.dhx_cal_header[0]),scheduler._render_month_scale(this._els.dhx_cal_data[0],this._get_timeunit_start(),this._min_date),c.scroll_fix=!0 +}}else if(e.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(n[0]=-1),e.length||-1==n[0]){var g=(a.parentNode.childNodes,(n[0]+1)*i+1),v=g,m=g+"px";this.config.multi_day_height_limit&&(v=Math.min(g,this.config.multi_day_height_limit),m=v+"px"),r.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+v+"px",r.style.height=this._obj.offsetHeight-parseInt(r.style.top,10)-(this.xy.margin_top||0)+"px";var p=this._els.dhx_multi_day[0];p.style.height=m,p.style.visibility=-1==n[0]?"hidden":"visible"; +var x=this._els.dhx_multi_day[1];x.style.height=m,x.style.visibility=-1==n[0]?"hidden":"visible",x.className=n[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(n[0]+1)*i,n[0]=0,v!=g&&(r.style.top=parseInt(r.style.top)+2+"px",p.style.overflowY="auto",p.style.width=parseInt(p.style.width)-2+"px",x.style.position="fixed",x.style.top="",x.style.left="")}}return e},scheduler._get_event_sday=function(e){return Math.floor((e.start_date.valueOf()-this._min_date.valueOf())/864e5)},scheduler._get_event_mapped_end_date=function(e){var t=e.end_date; +if(this.config.separate_short_events){var i=(e.end_date-e.start_date)/6e4;i<this._min_mapped_duration&&(t=this.date.add(t,this._min_mapped_duration-i,"minute"))}return t},scheduler._pre_render_events_line=function(e,t){e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e.id>t.id?1:-1:e.start_date>t.start_date?1:-1});var i=[],s=[];this._min_mapped_duration=Math.ceil(60*this.xy.min_event_height/this.config.hour_size_px);for(var n=0;n<e.length;n++){var r=e[n],a=r.start_date,d=r.end_date,o=a.getHours(),l=d.getHours(); +if(r._sday=this._get_event_sday(r),this._ignores[r._sday])e.splice(n,1),n--;else{if(i[r._sday]||(i[r._sday]=[]),!t){r._inner=!1;for(var h=i[r._sday];h.length;){var _=h[h.length-1],c=this._get_event_mapped_end_date(_);if(!(c.valueOf()<=r.start_date.valueOf()))break;h.splice(h.length-1,1)}for(var u=h.length,f=!1,g=0;g<h.length;g++){var _=h[g],c=this._get_event_mapped_end_date(_);if(c.valueOf()<=r.start_date.valueOf()){f=!0,r._sorder=_._sorder,u=g,r._inner=!0;break}}if(h.length&&(h[h.length-1]._inner=!0),!f)if(h.length)if(h.length<=h[h.length-1]._sorder){if(h[h.length-1]._sorder)for(g=0;g<h.length;g++){for(var v=!1,m=0;m<h.length;m++)if(h[m]._sorder==g){v=!0; +break}if(!v){r._sorder=g;break}}else r._sorder=0;r._inner=!0}else{var p=h[0]._sorder;for(g=1;g<h.length;g++)h[g]._sorder>p&&(p=h[g]._sorder);r._sorder=p+1,r._inner=!1}else r._sorder=0;h.splice(u,u==h.length?0:1,r),h.length>(h.max_count||0)?(h.max_count=h.length,r._count=h.length):r._count=r._count?r._count:1}(o<this.config.first_hour||l>=this.config.last_hour)&&(s.push(r),e[n]=r=this._copy_event(r),o<this.config.first_hour&&(r.start_date.setHours(this.config.first_hour),r.start_date.setMinutes(0)),l>=this.config.last_hour&&(r.end_date.setMinutes(0),r.end_date.setHours(this.config.last_hour)),r.start_date>r.end_date||o==this.config.last_hour)&&(e.splice(n,1),n--) +}}if(!t){for(var n=0;n<e.length;n++)e[n]._count=i[e[n]._sday].max_count;for(var n=0;n<s.length;n++)s[n]._count=i[s[n]._sday].max_count}return e},scheduler._time_order=function(e){e.sort(function(e,t){return e.start_date.valueOf()==t.start_date.valueOf()?e._timed&&!t._timed?1:!e._timed&&t._timed?-1:e.id>t.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,s=[],n=[[],[],[],[],[],[],[]],r=this._colsS.heights,a=this._cols.length,d={},o=0;o<e.length;o++){var l=e[o],h=l.id; +d[h]||(d[h]={first_chunk:!0,last_chunk:!0});var _=d[h],c=i||l.start_date,u=l.end_date;c<this._min_date&&(_.first_chunk=!1,c=this._min_date),u>this._max_date&&(_.last_chunk=!1,u=this._max_date);var f=this.locate_holder_day(c,!1,l);if(l._sday=f%a,!this._ignores[l._sday]||!l._timed){var g=this.locate_holder_day(u,!0,l)||a;l._eday=g%a||a,l._length=g-f,l._sweek=Math.floor((this._correct_shift(c.valueOf(),1)-this._min_date.valueOf())/(864e5*a));var v,m=n[l._sweek];for(v=0;v<m.length&&!(m[v]._eday<=l._sday);v++);if(l._sorder&&t||(l._sorder=v),l._sday+l._length<=a)i=null,s.push(l),m[v]=l,r[l._sweek]=m.length-1,l._first_chunk=_.first_chunk,l._last_chunk=_.last_chunk; +else{var p=this._copy_event(l);p.id=l.id,p._length=a-l._sday,p._eday=a,p._sday=l._sday,p._sweek=l._sweek,p._sorder=l._sorder,p.end_date=this.date.add(c,p._length,"day"),p._first_chunk=_.first_chunk,_.first_chunk&&(_.first_chunk=!1),s.push(p),m[v]=p,i=p.end_date,r[l._sweek]=m.length-1,o--}}}return s},scheduler._copy_dummy=function(){var e=new Date(this.start_date),t=new Date(this.end_date);this.start_date=e,this.end_date=t},scheduler._copy_event=function(e){return this._copy_dummy.prototype=e,new this._copy_dummy },scheduler._rendered=[],scheduler.clear_view=function(){for(var e=0;e<this._rendered.length;e++){var t=this._rendered[e];t.parentNode&&t.parentNode.removeChild(t)}this._rendered=[]},scheduler.updateEvent=function(e){var t=this.getEvent(e);this.clear_event(e),t&&this.is_visible_events(t)&&this.filter_event(e,t)&&(this._table_view||this.config.multi_day||t._timed)&&(this.config.update_render?this.render_view_data():this.render_view_data([t],!0))},scheduler.clear_event=function(e){this.for_rendered(e,function(e,t){e.parentNode&&e.parentNode.removeChild(e),scheduler._rendered.splice(t,1) -})},scheduler._y_from_date=function(e){var t=60*e.getHours()+e.getMinutes();return Math.round((60*t*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px)},scheduler._calc_event_y=function(e,t){t=t||0;var s=60*e.start_date.getHours()+e.start_date.getMinutes(),i=60*e.end_date.getHours()+e.end_date.getMinutes()||60*scheduler.config.last_hour,n=this._y_from_date(e.start_date),a=Math.max(t,(i-s)*this.config.hour_size_px/60);return{top:n,height:a}},scheduler.render_event=function(e){var t=scheduler.xy.menu_width,s=this.config.use_select_menu_space?0:t; -if(!(e._sday<0)){var i=scheduler.locate_holder(e._sday);if(i){var n=this._calc_event_y(e,scheduler.xy.min_event_height),a=n.top,r=n.height,d=e._count||1,o=e._sorder||0,l=Math.floor((i.clientWidth-s)/d),h=o*l+1;if(e._inner||(l*=d-o),this.config.cascade_event_display){var _=this.config.cascade_event_count,c=this.config.cascade_event_margin;h=o%_*c;var u=e._inner?(d-o-1)%_*c/2:0;l=Math.floor(i.clientWidth-s-h-u)}var f=this._render_v_bar(e,s+h,a,l,r,e._text_style,scheduler.templates.event_header(e.start_date,e.end_date,e),scheduler.templates.event_text(e.start_date,e.end_date,e)); -if(this._rendered.push(f),i.appendChild(f),h=h+parseInt(i.style.left,10)+s,this._edit_id==e.id){f.style.zIndex=1,l=Math.max(l-4,scheduler.xy.editor_width),f=document.createElement("DIV"),f.setAttribute("event_id",e.id),this.set_xy(f,l,r-20,h,a+14),f.className="dhx_cal_event dhx_cal_editor";var g=scheduler.templates.event_class(e.start_date,e.end_date,e);g&&(f.className+=" "+g);var v=document.createElement("DIV");this.set_xy(v,l-6,r-26),v.style.cssText+=";margin:2px 2px 2px 2px;overflow:hidden;",f.appendChild(v),this._els.dhx_cal_data[0].appendChild(f),this._rendered.push(f),v.innerHTML="<textarea class='dhx_cal_editor'>"+e.text+"</textarea>",this._quirks7&&(v.firstChild.style.height=r-12+"px"),this._editor=v.firstChild,this._editor.onkeydown=function(e){if((e||event).shiftKey)return!0; +})},scheduler._y_from_date=function(e){var t=60*e.getHours()+e.getMinutes();return Math.round((60*t*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px)},scheduler._calc_event_y=function(e,t){t=t||0;var i=60*e.start_date.getHours()+e.start_date.getMinutes(),s=60*e.end_date.getHours()+e.end_date.getMinutes()||60*scheduler.config.last_hour,n=this._y_from_date(e.start_date),r=Math.max(t,(s-i)*this.config.hour_size_px/60);return{top:n,height:r}},scheduler.render_event=function(e){var t=scheduler.xy.menu_width,i=this.config.use_select_menu_space?0:t; +if(!(e._sday<0)){var s=scheduler.locate_holder(e._sday);if(s){var n=this._calc_event_y(e,scheduler.xy.min_event_height),r=n.top,a=n.height,d=e._count||1,o=e._sorder||0,l=Math.floor((s.clientWidth-i)/d),h=o*l+1;if(e._inner||(l*=d-o),this.config.cascade_event_display){var _=this.config.cascade_event_count,c=this.config.cascade_event_margin;h=o%_*c;var u=e._inner?(d-o-1)%_*c/2:0;l=Math.floor(s.clientWidth-i-h-u)}var f=this._render_v_bar(e,i+h,r,l,a,e._text_style,scheduler.templates.event_header(e.start_date,e.end_date,e),scheduler.templates.event_text(e.start_date,e.end_date,e)); +if(this._rendered.push(f),s.appendChild(f),h=h+parseInt(s.style.left,10)+i,this._edit_id==e.id){f.style.zIndex=1,l=Math.max(l-4,scheduler.xy.editor_width),f=document.createElement("DIV"),f.setAttribute("event_id",e.id),this.set_xy(f,l,a-20,h,r+14),f.className="dhx_cal_event dhx_cal_editor";var g=scheduler.templates.event_class(e.start_date,e.end_date,e);g&&(f.className+=" "+g);var v=document.createElement("DIV");this.set_xy(v,l-6,a-26),v.style.cssText+=";margin:2px 2px 2px 2px;overflow:hidden;",f.appendChild(v),this._els.dhx_cal_data[0].appendChild(f),this._rendered.push(f),v.innerHTML="<textarea class='dhx_cal_editor'>"+e.text+"</textarea>",this._quirks7&&(v.firstChild.style.height=a-12+"px"),this._editor=v.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(v.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&&(f.style.zIndex=1);for(var m=this.config["icons_"+(this._edit_id==e.id?"edit":"select")],p="",x=e.color?"background-color: "+e.color+";":"",b=e.textColor?"color: "+e.textColor+";":"",y=0;y<m.length;y++)p+="<div class='dhx_menu_icon "+m[y]+"' style='"+x+b+"' title='"+this.locale.labels[m[y]]+"'></div>"; -var w=this._render_v_bar(e,h-t+1,a,t,20*m.length+26-2,"","<div style='"+x+b+"' class='dhx_menu_head'></div>",p,!0);w.style.left=h-t+1,this._els.dhx_cal_data[0].appendChild(w),this._rendered.push(w)}this.config.drag_highlight&&this._drag_id==e.id&&this.highlightEventPosition(e)}}},scheduler._render_v_bar=function(e,t,s,i,n,a,r,d,o){var l=document.createElement("DIV"),h=e.id,_=o?"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+";":"",f=e.textColor?"color:"+e.textColor+";":"",g='<div event_id="'+h+'" class="'+_+'" style="position:absolute; top:'+s+"px; left:"+t+"px; width:"+(i-4)+"px; height:"+n+"px;"+(a||"")+'"></div>';l.innerHTML=g;var v=l.cloneNode(!0).firstChild;if(!o&&scheduler.renderEvent(v,e,i,n,r,d))return v;v=l.firstChild;var m='<div class="dhx_event_move dhx_header" style=" width:'+(i-6)+"px;"+u+'" > </div>';m+='<div class="dhx_event_move dhx_title" style="'+u+f+'">'+r+"</div>",m+='<div class="dhx_body" style=" width:'+(i-(this._quirks?4:14))+"px; height:"+(n-(this._quirks?20:30)+1)+"px;"+u+f+'">'+d+"</div>"; -var p="dhx_event_resize dhx_footer";return o&&(p="dhx_resize_denied "+p),m+='<div class="'+p+'" style=" width:'+(i-8)+"px;"+(o?" margin-top:-1px;":"")+u+f+'" ></div>',v.innerHTML=m,v},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 s=Math.floor((this._correct_shift(e,1)-this._min_date)/864e5);return t&&this.date.time_part(e)&&s++,s -},scheduler._get_dnd_order=function(e,t,s){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 i=t*e;i+t>s;)e--,i-=t;return e=Math.max(e,0)},scheduler._get_event_bar_pos=function(e){var t=this._colsS[e._sday],s=this._colsS[e._eday];s==t&&(s=this._colsS[e._eday+1]);var i=this.xy.bar_height,n=e._sorder;if(e.id==this._drag_id){var a=this._colsS.heights[e._sweek+1]-this._colsS.heights[e._sweek]-this.xy.month_head_height;n=scheduler._get_dnd_order(n,i,a) -}var r=n*i,d=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+r;return{x:t,x2:s,y:d}},scheduler.render_event_bar=function(e){var t=this._rendered_location,s=this._get_event_bar_pos(e),i=s.y,n=s.x,a=s.x2,r="";if(a){var d=scheduler.config.resize_month_events&&"month"==this._mode&&(!e._timed||scheduler.config.resize_month_timed),o=document.createElement("DIV"),l=e.hasOwnProperty("_first_chunk")&&e._first_chunk,h=e.hasOwnProperty("_last_chunk")&&e._last_chunk,_=d&&(e._timed||l),c=d&&(e._timed||h),u="dhx_cal_event_clear"; -(!e._timed||d)&&(u="dhx_cal_event_line"),l&&(u+=" dhx_cal_event_line_start"),h&&(u+=" dhx_cal_event_line_end"),_&&(r+="<div class='dhx_event_resize dhx_event_resize_start'></div>"),c&&(r+="<div class='dhx_event_resize dhx_event_resize_end'></div>");var f=scheduler.templates.event_class(e.start_date,e.end_date,e);f&&(u+=" "+f);var g=e.color?"background:"+e.color+";":"",v=e.textColor?"color:"+e.textColor+";":"",m=["position:absolute","top:"+i+"px","left:"+n+"px","width:"+(a-n-15)+"px",v,g,e._text_style||""].join(";"),p='<div event_id="'+e.id+'" class="'+u+'" style="'+m+'">'; -d&&(p+=r),"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)+"</div>",p+="</div>",o.innerHTML=p,this._rendered.push(o.firstChild),t.appendChild(o.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.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 s=this.getEvent(this._edit_id);s&&(e&&(s.text=this._editor.value),this._edit_id=null,this._editor=null,this.updateEvent(s.id),this._edit_stop_event(s,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 s=[];for(var i in this._events){var n=this._events[i]; -n&&(!e&&!t||n.start_date<t&&n.end_date>e)&&s.push(n)}return s},scheduler.getRenderedEvent=function(e){if(e){for(var t=scheduler._rendered,s=0;s<t.length;s++){var i=t[s];if(i.getAttribute("event_id")==e)return i}return null}},scheduler.showEvent=function(e,t){var s="number"==typeof e||"string"==typeof e?scheduler.getEvent(e):e;if(t=t||scheduler._mode,s&&(!this.checkEvent("onBeforeEventDisplay")||this.callEvent("onBeforeEventDisplay",[s,t]))){var i=scheduler.config.scroll_hour;scheduler.config.scroll_hour=s.start_date.getHours(); -var n=scheduler.config.preserve_scroll;scheduler.config.preserve_scroll=!1;var a=s.color,r=s.textColor;scheduler.config.highlight_displayed_event&&(s.color=scheduler.config.displayed_event_color,s.textColor=scheduler.config.displayed_event_text_color),scheduler.setCurrentView(new Date(s.start_date),t),s.color=a,s.textColor=r,scheduler.config.scroll_hour=i,scheduler.config.preserve_scroll=n,scheduler.matrix&&scheduler.matrix[t]&&(scheduler._els.dhx_cal_data[0].scrollTop=getAbsoluteTop(scheduler.getRenderedEvent(s.id))-getAbsoluteTop(scheduler._els.dhx_cal_data[0])-20),scheduler.callEvent("onAfterEventDisplay",[s,t]) -}},scheduler._append_drag_marker=function(e){if(!e.parentNode){var t=scheduler._els.dhx_cal_data[0],s=t.lastChild;s.className&&s.className.indexOf("dhx_scale_holder")<0&&s.previousSibling&&(s=s.previousSibling),s&&0===s.className.indexOf("dhx_scale_holder")&&s.appendChild(e)}},scheduler._update_marker_position=function(e,t){var s=scheduler._calc_event_y(t,0);e.style.top=s.top+"px",e.style.height=s.height+"px"},scheduler.highlightEventPosition=function(e){var t=document.createElement("div");t.setAttribute("event_id",e.id),this._rendered.push(t),this._update_marker_position(t,e); -var s=this.templates.drag_marker_class(e.start_date,e.end_date,e),i=this.templates.drag_marker_content(e.start_date,e.end_date,e);t.className="dhx_drag_marker",s&&(t.className+=" "+s),i&&(t.innerHTML=i),this._append_drag_marker(t)},scheduler._loaded={},scheduler._load=function(e,t){if(e=e||this._load_url){e+=(-1==e.indexOf("?")?"?":"&")+"timeshift="+(new Date).getTimezoneOffset(),this.config.prevent_cache&&(e+="&uid="+this.uid());var s;if(t=t||this._date,this._load_mode){var i=this.templates.load_format; -for(t=this.date[this._load_mode+"_start"](new Date(t.valueOf()));t>this._min_date;)t=this.date.add(t,-1,this._load_mode);s=t;for(var n=!0;s<this._max_date;)s=this.date.add(s,1,this._load_mode),this._loaded[i(t)]&&n?t=this.date.add(t,1,this._load_mode):n=!1;var a=s;do s=a,a=this.date.add(s,-1,this._load_mode);while(a>t&&this._loaded[i(a)]);if(t>=s)return!1;for(dhtmlxAjax.get(e+"&from="+i(t)+"&to="+i(s),function(e){scheduler.on_load(e)});s>t;)this._loaded[i(t)]=!0,t=this.date.add(t,1,this._load_mode) +var w=this._render_v_bar(e,h-t+1,r,t,20*m.length+26-2,"","<div style='"+x+b+"' class='dhx_menu_head'></div>",p,!0);w.style.left=h-t+1,this._els.dhx_cal_data[0].appendChild(w),this._rendered.push(w)}this.config.drag_highlight&&this._drag_id==e.id&&this.highlightEventPosition(e)}}},scheduler._render_v_bar=function(e,t,i,s,n,r,a,d,o){var l=document.createElement("DIV"),h=e.id,_=o?"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+";":"",f=e.textColor?"color:"+e.textColor+";":"",g='<div event_id="'+h+'" class="'+_+'" style="position:absolute; top:'+i+"px; left:"+t+"px; width:"+(s-4)+"px; height:"+n+"px;"+(r||"")+'"></div>';l.innerHTML=g;var v=l.cloneNode(!0).firstChild;if(!o&&scheduler.renderEvent(v,e,s,n,a,d))return v;v=l.firstChild;var m='<div class="dhx_event_move dhx_header" style=" width:'+(s-6)+"px;"+u+'" > </div>';m+='<div class="dhx_event_move dhx_title" style="'+u+f+'">'+a+"</div>",m+='<div class="dhx_body" style=" width:'+(s-(this._quirks?4:14))+"px; height:"+(n-(this._quirks?20:30)+1)+"px;"+u+f+'">'+d+"</div>"; +var p="dhx_event_resize dhx_footer";return o&&(p="dhx_resize_denied "+p),m+='<div class="'+p+'" style=" width:'+(s-8)+"px;"+(o?" margin-top:-1px;":"")+u+f+'" ></div>',v.innerHTML=m,v},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 s=t*e;s+t>i;)e--,s-=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 s=this.xy.bar_height,n=e._sorder;if(e.id==this._drag_id){var r=this._colsS.heights[e._sweek+1]-this._colsS.heights[e._sweek]-this.xy.month_head_height;n=scheduler._get_dnd_order(n,s,r) +}var a=n*s,d=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+a;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),s=i.y,n=i.x,r=i.x2,a="";if(r){var d=scheduler.config.resize_month_events&&"month"==this._mode&&(!e._timed||scheduler.config.resize_month_timed),o=document.createElement("DIV"),l=e.hasOwnProperty("_first_chunk")&&e._first_chunk,h=e.hasOwnProperty("_last_chunk")&&e._last_chunk,_=d&&(e._timed||l),c=d&&(e._timed||h),u="dhx_cal_event_clear"; +(!e._timed||d)&&(u="dhx_cal_event_line"),l&&(u+=" dhx_cal_event_line_start"),h&&(u+=" dhx_cal_event_line_end"),_&&(a+="<div class='dhx_event_resize dhx_event_resize_start'></div>"),c&&(a+="<div class='dhx_event_resize dhx_event_resize_end'></div>");var f=scheduler.templates.event_class(e.start_date,e.end_date,e);f&&(u+=" "+f);var g=e.color?"background:"+e.color+";":"",v=e.textColor?"color:"+e.textColor+";":"",m=["position:absolute","top:"+s+"px","left:"+n+"px","width:"+(r-n-15)+"px",v,g,e._text_style||""].join(";"),p='<div event_id="'+e.id+'" class="'+u+'" style="'+m+'">'; +d&&(p+=a),"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)+"</div>",p+="</div>",o.innerHTML=p,this._rendered.push(o.firstChild),t.appendChild(o.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.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 s in this._events){var n=this._events[s]; +n&&(!e&&!t||n.start_date<t&&n.end_date>e)&&i.push(n)}return i},scheduler.getRenderedEvent=function(e){if(e){for(var t=scheduler._rendered,i=0;i<t.length;i++){var s=t[i];if(s.getAttribute("event_id")==e)return s}return null}},scheduler.showEvent=function(e,t){var i="number"==typeof e||"string"==typeof e?scheduler.getEvent(e):e;if(t=t||scheduler._mode,i&&(!this.checkEvent("onBeforeEventDisplay")||this.callEvent("onBeforeEventDisplay",[i,t]))){var s=scheduler.config.scroll_hour;scheduler.config.scroll_hour=i.start_date.getHours(); +var n=scheduler.config.preserve_scroll;scheduler.config.preserve_scroll=!1;var r=i.color,a=i.textColor;scheduler.config.highlight_displayed_event&&(i.color=scheduler.config.displayed_event_color,i.textColor=scheduler.config.displayed_event_text_color),scheduler.setCurrentView(new Date(i.start_date),t),i.color=r,i.textColor=a,scheduler.config.scroll_hour=s,scheduler.config.preserve_scroll=n,scheduler.matrix&&scheduler.matrix[t]&&(scheduler._els.dhx_cal_data[0].scrollTop=getAbsoluteTop(scheduler.getRenderedEvent(i.id))-getAbsoluteTop(scheduler._els.dhx_cal_data[0])-20),scheduler.callEvent("onAfterEventDisplay",[i,t]) +}},scheduler._append_drag_marker=function(e){if(!e.parentNode){var t=scheduler._els.dhx_cal_data[0],i=t.lastChild;i.className&&i.className.indexOf("dhx_scale_holder")<0&&i.previousSibling&&(i=i.previousSibling),i&&0===i.className.indexOf("dhx_scale_holder")&&i.appendChild(e)}},scheduler._update_marker_position=function(e,t){var i=scheduler._calc_event_y(t,0);e.style.top=i.top+"px",e.style.height=i.height+"px"},scheduler.highlightEventPosition=function(e){var t=document.createElement("div");t.setAttribute("event_id",e.id),this._rendered.push(t),this._update_marker_position(t,e); +var i=this.templates.drag_marker_class(e.start_date,e.end_date,e),s=this.templates.drag_marker_content(e.start_date,e.end_date,e);t.className="dhx_drag_marker",i&&(t.className+=" "+i),s&&(t.innerHTML=s),this._append_drag_marker(t)},scheduler._loaded={},scheduler._load=function(e,t){if(e=e||this._load_url){e+=(-1==e.indexOf("?")?"?":"&")+"timeshift="+(new Date).getTimezoneOffset(),this.config.prevent_cache&&(e+="&uid="+this.uid());var i;if(t=t||this._date,this._load_mode){var s=this.templates.load_format; +for(t=this.date[this._load_mode+"_start"](new Date(t.valueOf()));t>this._min_date;)t=this.date.add(t,-1,this._load_mode);i=t;for(var n=!0;i<this._max_date;)i=this.date.add(i,1,this._load_mode),this._loaded[s(t)]&&n?t=this.date.add(t,1,this._load_mode):n=!1;var r=i;do i=r,r=this.date.add(i,-1,this._load_mode);while(r>t&&this._loaded[s(r)]);if(t>=i)return!1;for(dhtmlxAjax.get(e+"&from="+s(t)+"&to="+s(i),function(e){scheduler.on_load(e)});i>t;)this._loaded[s(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;t=this._process&&"xml"!=this._process?this[this._process].parse(e.xmlDoc.responseText):this._magic_parser(e),scheduler._process_loading(t),this.callEvent("onXLE",[])},scheduler._process_loading=function(e){this._loading=!0,this._not_render=!0;for(var t=0;t<e.length;t++)this.callEvent("onEventLoading",[e[t]])&&this.addEvent(e[t]);this._not_render=!1,this._render_wait&&this.render_view_data(),this._loading=!1,this._after_call&&this._after_call(),this._after_call=null },scheduler._init_event=function(e){e.text=e.text||e._tagvalue||"",e.start_date=scheduler._init_date(e.start_date),e.end_date=scheduler._init_date(e.end_date)},scheduler._init_date=function(e){return e?"string"==typeof e?scheduler.templates.xml_date(e):new Date(e):null},scheduler.json={},scheduler.json.parse=function(data){"string"==typeof data&&(scheduler._temp=eval("("+data+")"),data=scheduler._temp?scheduler._temp.data||scheduler._temp.d||scheduler._temp:[]),data.dhx_security&&(dhtmlx.security_key=data.dhx_security); var collections=scheduler._temp&&scheduler._temp.collections?scheduler._temp.collections:{},collections_loaded=!1;for(var key in collections)if(collections.hasOwnProperty(key)){collections_loaded=!0;var collection=collections[key],arr=scheduler.serverList[key];if(!arr)continue;arr.splice(0,arr.length);for(var j=0;j<collection.length;j++){var option=collection[j],obj={key:option.value,label:option.label};for(var option_key in option)if(option.hasOwnProperty(option_key)){if("value"==option_key||"label"==option_key)continue; obj[option_key]=option[option_key]}arr.push(obj)}}collections_loaded&&scheduler.callEvent("onOptionsLoad",[]);for(var evs=[],i=0;i<data.length;i++){var event=data[i];scheduler._init_event(event),evs.push(event)}return evs},scheduler.parse=function(e,t){this._process=t,this.on_load({xmlDoc:{responseText:e}})},scheduler.load=function(e,t){"string"==typeof t&&(this._process=t,t=arguments[2]),this._load_url=e,this._after_call=t,this._load(e,this._date)},scheduler.setLoadMode=function(e){"all"==e&&(e=""),this._load_mode=e -},scheduler.serverList=function(e,t){return t?(this.serverList[e]=t.slice(0),this.serverList[e]):(this.serverList[e]=this.serverList[e]||[],this.serverList[e])},scheduler._userdata={},scheduler._magic_parser=function(e){var t;if(!e.getXMLTopNode){var s=e.xmlDoc.responseText;e=new dtmlXMLLoaderObject(function(){}),e.loadXMLString(s)}if(t=e.getXMLTopNode("data"),"data"!=t.tagName)return[];var i=t.getAttribute("dhx_security");i&&(dhtmlx.security_key=i);for(var n=e.doXPath("//coll_options"),a=0;a<n.length;a++){var r=n[a].getAttribute("for"),d=this.serverList[r]; -if(d){d.splice(0,d.length);for(var o=e.doXPath(".//item",n[a]),l=0;l<o.length;l++){for(var h=o[l],_=h.attributes,c={key:o[l].getAttribute("value"),label:o[l].getAttribute("label")},u=0;u<_.length;u++){var f=_[u];"value"!=f.nodeName&&"label"!=f.nodeName&&(c[f.nodeName]=f.nodeValue)}d.push(c)}}}n.length&&scheduler.callEvent("onOptionsLoad",[]);for(var g=e.doXPath("//userdata"),a=0;a<g.length;a++){var v=this._xmlNodeToJSON(g[a]);this._userdata[v.name]=v.text}var m=[];t=e.doXPath("//event");for(var a=0;a<t.length;a++){var p=m[a]=this._xmlNodeToJSON(t[a]); -scheduler._init_event(p)}return m},scheduler._xmlNodeToJSON=function(e){for(var t={},s=0;s<e.attributes.length;s++)t[e.attributes[s].name]=e.attributes[s].value;for(var s=0;s<e.childNodes.length;s++){var i=e.childNodes[s];1==i.nodeType&&(t[i.tagName]=i.firstChild?i.firstChild.nodeValue:"")}return t.text||(t.text=e.firstChild?e.firstChild.nodeValue:""),t},scheduler.attachEvent("onXLS",function(){if(this.config.show_loading===!0){var e;e=this.config.show_loading=document.createElement("DIV"),e.className="dhx_loading",e.style.left=Math.round((this._x-128)/2)+"px",e.style.top=Math.round((this._y-15)/2)+"px",this._obj.appendChild(e) -}}),scheduler.attachEvent("onXLE",function(){var e=this.config.show_loading;e&&"object"==typeof e&&(this._obj.removeChild(e),this.config.show_loading=!0)}),scheduler.ical={parse:function(e){var t=e.match(RegExp(this.c_start+"[^\f]*"+this.c_end,""));if(t.length){t[0]=t[0].replace(/[\r\n]+(?=[a-z \t])/g," "),t[0]=t[0].replace(/\;[^:\r\n]*:/g,":");for(var s,i=[],n=RegExp("(?:"+this.e_start+")([^\f]*?)(?:"+this.e_end+")","g");null!==(s=n.exec(t));){for(var a,r={},d=/[^\r\n]+[\r\n]+/g;null!==(a=d.exec(s[1]));)this.parse_param(a.toString(),r); -r.uid&&!r.id&&(r.id=r.uid),i.push(r)}return i}},parse_param:function(e,t){var s=e.indexOf(":");if(-1!=s){var i=e.substr(0,s).toLowerCase(),n=e.substr(s+1).replace(/\\\,/g,",").replace(/[\r\n]+$/,"");"summary"==i?i="text":"dtstart"==i?(i="start_date",n=this.parse_date(n,0,0)):"dtend"==i&&(i="end_date",n=this.parse_date(n,0,0)),t[i]=n}},parse_date:function(e,t,s){var i=e.split("T");i[1]&&(t=i[1].substr(0,2),s=i[1].substr(2,2));var n=i[0].substr(0,4),a=parseInt(i[0].substr(4,2),10)-1,r=i[0].substr(6,2); -return scheduler.config.server_utc&&!i[1]?new Date(Date.UTC(n,a,r,t,s)):new Date(n,a,r,t,s)},c_start:"BEGIN:VCALENDAR",e_start:"BEGIN:VEVENT",e_end:"END:VEVENT",c_end:"END:VCALENDAR"},scheduler._lightbox_controls={},scheduler.formSection=function(e){var t=this.config.lightbox.sections,s=0;for(s;s<t.length&&t[s].name!=e;s++);var i=t[s];scheduler._lightbox||scheduler.getLightbox();var n=document.getElementById(i.id),a=n.nextSibling,r={section:i,header:n,node:a,getValue:function(e){return scheduler.form_blocks[i.type].get_value(a,e||{},i) -},setValue:function(e,t){return scheduler.form_blocks[i.type].set_value(a,e,t||{},i)}},d=scheduler._lightbox_controls["get_"+i.type+"_control"];return d?d(r):r},scheduler._lightbox_controls.get_template_control=function(e){return e.control=e.node,e},scheduler._lightbox_controls.get_select_control=function(e){return e.control=e.node.getElementsByTagName("select")[0],e},scheduler._lightbox_controls.get_textarea_control=function(e){return e.control=e.node.getElementsByTagName("textarea")[0],e},scheduler._lightbox_controls.get_time_control=function(e){return e.control=e.node.getElementsByTagName("select"),e +},scheduler.serverList=function(e,t){return t?(this.serverList[e]=t.slice(0),this.serverList[e]):(this.serverList[e]=this.serverList[e]||[],this.serverList[e])},scheduler._userdata={},scheduler._magic_parser=function(e){var t;if(!e.getXMLTopNode){var i=e.xmlDoc.responseText;e=new dtmlXMLLoaderObject(function(){}),e.loadXMLString(i)}if(t=e.getXMLTopNode("data"),"data"!=t.tagName)return[];var s=t.getAttribute("dhx_security");s&&(dhtmlx.security_key=s);for(var n=e.doXPath("//coll_options"),r=0;r<n.length;r++){var a=n[r].getAttribute("for"),d=this.serverList[a]; +if(d){d.splice(0,d.length);for(var o=e.doXPath(".//item",n[r]),l=0;l<o.length;l++){for(var h=o[l],_=h.attributes,c={key:o[l].getAttribute("value"),label:o[l].getAttribute("label")},u=0;u<_.length;u++){var f=_[u];"value"!=f.nodeName&&"label"!=f.nodeName&&(c[f.nodeName]=f.nodeValue)}d.push(c)}}}n.length&&scheduler.callEvent("onOptionsLoad",[]);for(var g=e.doXPath("//userdata"),r=0;r<g.length;r++){var v=this._xmlNodeToJSON(g[r]);this._userdata[v.name]=v.text}var m=[];t=e.doXPath("//event");for(var r=0;r<t.length;r++){var p=m[r]=this._xmlNodeToJSON(t[r]); +scheduler._init_event(p)}return m},scheduler._xmlNodeToJSON=function(e){for(var t={},i=0;i<e.attributes.length;i++)t[e.attributes[i].name]=e.attributes[i].value;for(var i=0;i<e.childNodes.length;i++){var s=e.childNodes[i];1==s.nodeType&&(t[s.tagName]=s.firstChild?s.firstChild.nodeValue:"")}return t.text||(t.text=e.firstChild?e.firstChild.nodeValue:""),t},scheduler.attachEvent("onXLS",function(){if(this.config.show_loading===!0){var e;e=this.config.show_loading=document.createElement("DIV"),e.className="dhx_loading",e.style.left=Math.round((this._x-128)/2)+"px",e.style.top=Math.round((this._y-15)/2)+"px",this._obj.appendChild(e) +}}),scheduler.attachEvent("onXLE",function(){var e=this.config.show_loading;e&&"object"==typeof e&&(this._obj.removeChild(e),this.config.show_loading=!0)}),scheduler.ical={parse:function(e){var t=e.match(RegExp(this.c_start+"[^\f]*"+this.c_end,""));if(t.length){t[0]=t[0].replace(/[\r\n]+(?=[a-z \t])/g," "),t[0]=t[0].replace(/\;[^:\r\n]*:/g,":");for(var i,s=[],n=RegExp("(?:"+this.e_start+")([^\f]*?)(?:"+this.e_end+")","g");null!==(i=n.exec(t));){for(var r,a={},d=/[^\r\n]+[\r\n]+/g;null!==(r=d.exec(i[1]));)this.parse_param(r.toString(),a); +a.uid&&!a.id&&(a.id=a.uid),s.push(a)}return s}},parse_param:function(e,t){var i=e.indexOf(":");if(-1!=i){var s=e.substr(0,i).toLowerCase(),n=e.substr(i+1).replace(/\\\,/g,",").replace(/[\r\n]+$/,"");"summary"==s?s="text":"dtstart"==s?(s="start_date",n=this.parse_date(n,0,0)):"dtend"==s&&(s="end_date",n=this.parse_date(n,0,0)),t[s]=n}},parse_date:function(e,t,i){var s=e.split("T");s[1]&&(t=s[1].substr(0,2),i=s[1].substr(2,2));var n=s[0].substr(0,4),r=parseInt(s[0].substr(4,2),10)-1,a=s[0].substr(6,2); +return scheduler.config.server_utc&&!s[1]?new Date(Date.UTC(n,r,a,t,i)):new Date(n,r,a,t,i)},c_start:"BEGIN:VCALENDAR",e_start:"BEGIN:VEVENT",e_end:"END:VEVENT",c_end:"END:VCALENDAR"},scheduler._lightbox_controls={},scheduler.formSection=function(e){var t=this.config.lightbox.sections,i=0;for(i;i<t.length&&t[i].name!=e;i++);var s=t[i];scheduler._lightbox||scheduler.getLightbox();var n=document.getElementById(s.id),r=n.nextSibling,a={section:s,header:n,node:r,getValue:function(e){return scheduler.form_blocks[s.type].get_value(r,e||{},s) +},setValue:function(e,t){return scheduler.form_blocks[s.type].set_value(r,e,t||{},s)}},d=scheduler._lightbox_controls["get_"+s.type+"_control"];return d?d(a):a},scheduler._lightbox_controls.get_template_control=function(e){return e.control=e.node,e},scheduler._lightbox_controls.get_select_control=function(e){return e.control=e.node.getElementsByTagName("select")[0],e},scheduler._lightbox_controls.get_textarea_control=function(e){return e.control=e.node.getElementsByTagName("textarea")[0],e},scheduler._lightbox_controls.get_time_control=function(e){return e.control=e.node.getElementsByTagName("select"),e },scheduler.form_blocks={template:{render:function(e){var t=(e.height||"30")+"px";return"<div class='dhx_cal_ltext dhx_cal_template' style='height:"+t+";'></div>"},set_value:function(e,t){e.innerHTML=t||""},get_value:function(e){return e.innerHTML||""},focus:function(){}},textarea:{render:function(e){var t=(e.height||"130")+"px";return"<div class='dhx_cal_ltext' style='height:"+t+";'><textarea></textarea></div>"},set_value:function(e,t){e.firstChild.value=t||""},get_value:function(e){return e.firstChild.value -},focus:function(e){var t=e.firstChild;scheduler._focus(t,!0)}},select:{render:function(e){for(var t=(e.height||"23")+"px",s="<div class='dhx_cal_ltext' style='height:"+t+";'><select style='width:100%;'>",i=0;i<e.options.length;i++)s+="<option value='"+e.options[i].key+"'>"+e.options[i].label+"</option>";return s+="</select></div>"},set_value:function(e,t,s,i){var n=e.firstChild;!n._dhx_onchange&&i.onchange&&(n.onchange=i.onchange,n._dhx_onchange=!0),"undefined"==typeof t&&(t=(n.options[0]||{}).value),n.value=t||"" -},get_value:function(e){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,s=scheduler.config,i=this.date.date_part(scheduler._currentDate()),n=1440,a=0;scheduler.config.limit_time_select&&(n=60*s.last_hour+1,a=60*s.first_hour,i.setHours(s.first_hour));for(var r="",d=0;d<t.length;d++){var o=t[d];switch(d>0&&(r+=" "),o){case"%Y":e._time_format_order[3]=d,r+="<select>"; -for(var l=i.getFullYear()-5,h=0;10>h;h++)r+="<option value='"+(l+h)+"'>"+(l+h)+"</option>";r+="</select> ";break;case"%m":e._time_format_order[2]=d,r+="<select>";for(var h=0;12>h;h++)r+="<option value='"+h+"'>"+this.locale.date.month_full[h]+"</option>";r+="</select>";break;case"%d":e._time_format_order[1]=d,r+="<select>";for(var h=1;32>h;h++)r+="<option value='"+h+"'>"+h+"</option>";r+="</select>";break;case"%H:%i":e._time_format_order[0]=d,r+="<select>";var h=a,_=i.getDate();for(e._time_values=[];n>h;){var c=this.templates.time_picker(i); -r+="<option value='"+h+"'>"+c+"</option>",e._time_values.push(h),i.setTime(i.valueOf()+60*this.config.time_step*1e3);var u=i.getDate()!=_?1:0;h=24*u*60+60*i.getHours()+i.getMinutes()}r+="</select>"}}return"<div style='height:30px;padding-top:0px;font-size:inherit;' class='dhx_section_time'>"+r+"<span style='font-weight:normal; font-size:10pt;'> – </span>"+r+"</div>"},set_value:function(e,t,s,i){function n(e,t,s){for(var n=i._time_values,a=60*s.getHours()+s.getMinutes(),r=a,d=!1,o=0;o<n.length;o++){var h=n[o]; -if(h===a){d=!0;break}a>h&&(r=h)}e[t+l[0]].value=d?a:r,d||r||(e[t+l[0]].selectedIndex=-1),e[t+l[1]].value=s.getDate(),e[t+l[2]].value=s.getMonth(),e[t+l[3]].value=s.getFullYear()}var a,r,d=scheduler.config,o=e.getElementsByTagName("select"),l=i._time_format_order;if(d.full_day){if(!e._full_day){var h="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+" </label></input>";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(s.start_date)&&0===scheduler.date.time_part(s.end_date),o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,_.onclick=function(){if(_.checked){var t={};scheduler.form_blocks.time.get_value(e,t,i),a=scheduler.date.date_part(t.start_date),r=scheduler.date.date_part(t.end_date),(+r==+a||+r>=+a&&(0!==s.end_date.getHours()||0!==s.end_date.getMinutes()))&&(r=scheduler.date.add(r,1,"day"))}o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,n(o,0,a||s.start_date),n(o,4,r||s.end_date) -}}if(d.auto_end_date&&d.event_duration)for(var c=function(){a=new Date(o[l[3]].value,o[l[2]].value,o[l[1]].value,0,o[l[0]].value),r=new Date(a.getTime()+60*scheduler.config.event_duration*1e3),n(o,4,r)},u=0;4>u;u++)o[u].onchange=c;n(o,0,s.start_date),n(o,4,s.end_date)},get_value:function(e,t,s){var i=e.getElementsByTagName("select"),n=s._time_format_order;return t.start_date=new Date(i[n[3]].value,i[n[2]].value,i[n[1]].value,0,i[n[0]].value),t.end_date=new Date(i[n[3]+4].value,i[n[2]+4].value,i[n[1]+4].value,0,i[n[0]+4].value),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,s=window.pageXOffset||document.body.scrollLeft||document.documentElement.scrollLeft,i=window.innerHeight||document.documentElement.clientHeight;e.style.top=t?Math.round(t+Math.max((i-e.offsetHeight)/2,0))+"px":Math.round(Math.max((i-e.offsetHeight)/2,0)+9)+"px",e.style.left=document.documentElement.scrollWidth>document.body.offsetWidth?Math.round(s+(document.body.offsetWidth-e.offsetWidth)/2)+"px":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.callEvent("onLightbox",[e])}},scheduler._fill_lightbox=function(e,t){var s=this.getEvent(e),i=t.getElementsByTagName("span");scheduler.templates.lightbox_header?(i[1].innerHTML="",i[2].innerHTML=scheduler.templates.lightbox_header(s.start_date,s.end_date,s)):(i[1].innerHTML=this.templates.event_header(s.start_date,s.end_date,s),i[2].innerHTML=(this.templates.event_bar_text(s.start_date,s.end_date,s)||"").substr(0,70)); -for(var n=this.config.lightbox.sections,a=0;a<n.length;a++){var r=n[a],d=document.getElementById(r.id).nextSibling,o=this.form_blocks[r.type],l=void 0!==s[r.map_to]?s[r.map_to]:r.default_value;o.set_value.call(this,d,l,s,r),n[a].focus&&o.focus.call(this,d)}scheduler._lightbox_id=e},scheduler._lightbox_out=function(e){for(var t=this.config.lightbox.sections,s=0;s<t.length;s++){var i=document.getElementById(t[s].id);i=i?i.nextSibling:i;var n=this.form_blocks[t[s].type],a=n.get_value.call(this,i,e,t[s]); -"auto"!=t[s].map_to&&(e[t[s].map_to]=a)}return e},scheduler._empty_lightbox=function(e){{var t=scheduler._lightbox_id,s=this.getEvent(t);this.getLightbox()}this._lame_copy(s,e),this.setEvent(s.id,s),this._edit_stop_event(s,!0),this.render_view_data()},scheduler.hide_lightbox=function(){this.hideCover(this.getLightbox()),this._lightbox_id=null,this.callEvent("onAfterLightbox",[])},scheduler.hideCover=function(e){e&&(e.style.display="none"),this.hide_cover()},scheduler.hide_cover=function(){this._cover&&this._cover.parentNode.removeChild(this._cover),this._cover=null +},focus:function(e){var t=e.firstChild;scheduler._focus(t,!0)}},select:{render:function(e){for(var t=(e.height||"23")+"px",i="<div class='dhx_cal_ltext' style='height:"+t+";'><select style='width:100%;'>",s=0;s<e.options.length;s++)i+="<option value='"+e.options[s].key+"'>"+e.options[s].label+"</option>";return i+="</select></div>"},set_value:function(e,t,i,s){var n=e.firstChild;!n._dhx_onchange&&s.onchange&&(n.onchange=s.onchange,n._dhx_onchange=!0),"undefined"==typeof t&&(t=(n.options[0]||{}).value),n.value=t||"" +},get_value:function(e){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,s=this.date.date_part(scheduler._currentDate()),n=1440,r=0;scheduler.config.limit_time_select&&(n=60*i.last_hour+1,r=60*i.first_hour,s.setHours(i.first_hour));for(var a="",d=0;d<t.length;d++){var o=t[d];switch(d>0&&(a+=" "),o){case"%Y":e._time_format_order[3]=d,a+="<select>"; +for(var l=s.getFullYear()-5,h=0;10>h;h++)a+="<option value='"+(l+h)+"'>"+(l+h)+"</option>";a+="</select> ";break;case"%m":e._time_format_order[2]=d,a+="<select>";for(var h=0;12>h;h++)a+="<option value='"+h+"'>"+this.locale.date.month_full[h]+"</option>";a+="</select>";break;case"%d":e._time_format_order[1]=d,a+="<select>";for(var h=1;32>h;h++)a+="<option value='"+h+"'>"+h+"</option>";a+="</select>";break;case"%H:%i":e._time_format_order[0]=d,a+="<select>";var h=r,_=s.getDate();for(e._time_values=[];n>h;){var c=this.templates.time_picker(s); +a+="<option value='"+h+"'>"+c+"</option>",e._time_values.push(h),s.setTime(s.valueOf()+60*this.config.time_step*1e3);var u=s.getDate()!=_?1:0;h=24*u*60+60*s.getHours()+s.getMinutes()}a+="</select>"}}return"<div style='height:30px;padding-top:0px;font-size:inherit;' class='dhx_section_time'>"+a+"<span style='font-weight:normal; font-size:10pt;'> – </span>"+a+"</div>"},set_value:function(e,t,i,s){function n(e,t,i){for(var n=s._time_values,r=60*i.getHours()+i.getMinutes(),a=r,d=!1,o=0;o<n.length;o++){var h=n[o]; +if(h===r){d=!0;break}r>h&&(a=h)}e[t+l[0]].value=d?r:a,d||a||(e[t+l[0]].selectedIndex=-1),e[t+l[1]].value=i.getDate(),e[t+l[2]].value=i.getMonth(),e[t+l[3]].value=i.getFullYear()}var r,a,d=scheduler.config,o=e.getElementsByTagName("select"),l=s._time_format_order;if(d.full_day){if(!e._full_day){var h="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+" </label></input>";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),o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,_.onclick=function(){if(_.checked){var t={};scheduler.form_blocks.time.get_value(e,t,s),r=scheduler.date.date_part(t.start_date),a=scheduler.date.date_part(t.end_date),(+a==+r||+a>=+r&&(0!==i.end_date.getHours()||0!==i.end_date.getMinutes()))&&(a=scheduler.date.add(a,1,"day"))}o[l[0]].disabled=_.checked,o[l[0]+o.length/2].disabled=_.checked,n(o,0,r||i.start_date),n(o,4,a||i.end_date) +}}if(d.auto_end_date&&d.event_duration)for(var c=function(){r=new Date(o[l[3]].value,o[l[2]].value,o[l[1]].value,0,o[l[0]].value),a=new Date(r.getTime()+60*scheduler.config.event_duration*1e3),n(o,4,a)},u=0;4>u;u++)o[u].onchange=c;n(o,0,i.start_date),n(o,4,i.end_date)},get_value:function(e,t,i){var s=e.getElementsByTagName("select"),n=i._time_format_order;return t.start_date=new Date(s[n[3]].value,s[n[2]].value,s[n[1]].value,0,s[n[0]].value),t.end_date=new Date(s[n[3]+4].value,s[n[2]+4].value,s[n[1]+4].value,0,s[n[0]+4].value),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,s=window.innerHeight||document.documentElement.clientHeight;e.style.top=t?Math.round(t+Math.max((s-e.offsetHeight)/2,0))+"px":Math.round(Math.max((s-e.offsetHeight)/2,0)+9)+"px",e.style.left=document.documentElement.scrollWidth>document.body.offsetWidth?Math.round(i+(document.body.offsetWidth-e.offsetWidth)/2)+"px":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.callEvent("onLightbox",[e])}},scheduler._fill_lightbox=function(e,t){var i=this.getEvent(e),s=t.getElementsByTagName("span");scheduler.templates.lightbox_header?(s[1].innerHTML="",s[2].innerHTML=scheduler.templates.lightbox_header(i.start_date,i.end_date,i)):(s[1].innerHTML=this.templates.event_header(i.start_date,i.end_date,i),s[2].innerHTML=(this.templates.event_bar_text(i.start_date,i.end_date,i)||"").substr(0,70)); +for(var n=this.config.lightbox.sections,r=0;r<n.length;r++){var a=n[r],d=document.getElementById(a.id).nextSibling,o=this.form_blocks[a.type],l=void 0!==i[a.map_to]?i[a.map_to]:a.default_value;o.set_value.call(this,d,l,i,a),n[r].focus&&o.focus.call(this,d)}scheduler._lightbox_id=e},scheduler._lightbox_out=function(e){for(var t=this.config.lightbox.sections,i=0;i<t.length;i++){var s=document.getElementById(t[i].id);s=s?s.nextSibling:s;var n=this.form_blocks[t[i].type],r=n.get_value.call(this,s,e,t[i]); +"auto"!=t[i].map_to&&(e[t[i].map_to]=r)}return e},scheduler._empty_lightbox=function(e){{var t=scheduler._lightbox_id,i=this.getEvent(t);this.getLightbox()}this._lame_copy(i,e),this.setEvent(i.id,i),this._edit_stop_event(i,!0),this.render_view_data()},scheduler.hide_lightbox=function(){this.hideCover(this.getLightbox()),this._lightbox_id=null,this.callEvent("onAfterLightbox",[])},scheduler.hideCover=function(e){e&&(e.style.display="none"),this.hide_cover()},scheduler.hide_cover=function(){this._cover&&this._cover.parentNode.removeChild(this._cover),this._cover=null },scheduler.show_cover=function(){if(!this._cover){this._cover=document.createElement("DIV"),this._cover.className="dhx_cal_cover";var e=void 0!==document.height?document.height:document.body.offsetHeight,t=document.documentElement?document.documentElement.scrollHeight:0;this._cover.style.height=Math.max(e,t)+"px",document.body.appendChild(this._cover)}},scheduler.save_lightbox=function(){var e=this._lightbox_out({},this._lame_copy(this.getEvent(this._lightbox_id)));(!this.checkEvent("onEventSave")||this.callEvent("onEventSave",[this._lightbox_id,e,this._new_event]))&&(this._empty_lightbox(e),this.hide_lightbox()) },scheduler.startLightbox=function(e,t){this._lightbox_id=e,this._custom_lightbox=!0,this._temp_lightbox=this._lightbox,this._lightbox=t,this.showCover(t)},scheduler.endLightbox=function(e,t){this._edit_stop_event(scheduler.getEvent(this._lightbox_id),e),e&&scheduler.render_view_data(),this.hideCover(t),this._custom_lightbox&&(this._lightbox=this._temp_lightbox,this._custom_lightbox=!1),this._temp_lightbox=this._lightbox_id=null},scheduler.resetLightbox=function(){scheduler._lightbox&&!scheduler._custom_lightbox&&scheduler._lightbox.parentNode.removeChild(scheduler._lightbox),scheduler._lightbox=null -},scheduler.cancel_lightbox=function(){this.callEvent("onEventCancel",[this._lightbox_id,this._new_event]),this.endLightbox(!1),this.hide_lightbox()},scheduler._init_lightbox_events=function(){this.getLightbox().onclick=function(e){var t=e?e.target:event.srcElement;if(t.className||(t=t.previousSibling),t&&t.className)switch(t.className){case"dhx_save_btn":scheduler.save_lightbox();break;case"dhx_delete_btn":var s=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(s,scheduler.locale.labels.title_confirm_deleting,function(){scheduler.deleteEvent(scheduler._lightbox_id),scheduler._new_event=null,scheduler.hide_lightbox() -});break;case"dhx_cancel_btn":scheduler.cancel_lightbox();break;default:if(t.getAttribute("dhx_button"))scheduler.callEvent("onLightboxButton",[t.className,t,e]);else{var i,n,a;-1!=t.className.indexOf("dhx_custom_button")&&(-1!=t.className.indexOf("dhx_custom_button_")?(i=t.parentNode.getAttribute("index"),a=t.parentNode.parentNode):(i=t.getAttribute("index"),a=t.parentNode,t=t.firstChild)),i&&(n=scheduler.form_blocks[scheduler.config.lightbox.sections[i].type],n.button_click(i,t,a,a.nextSibling)) +},scheduler.cancel_lightbox=function(){this.callEvent("onEventCancel",[this._lightbox_id,this._new_event]),this.endLightbox(!1),this.hide_lightbox()},scheduler._init_lightbox_events=function(){this.getLightbox().onclick=function(e){var t=e?e.target:event.srcElement;if(t.className||(t=t.previousSibling),t&&t.className)switch(t.className){case"dhx_save_btn":scheduler.save_lightbox();break;case"dhx_delete_btn":var i=scheduler.locale.labels.confirm_deleting;scheduler._dhtmlx_confirm(i,scheduler.locale.labels.title_confirm_deleting,function(){scheduler.deleteEvent(scheduler._lightbox_id),scheduler._new_event=null,scheduler.hide_lightbox() +});break;case"dhx_cancel_btn":scheduler.cancel_lightbox();break;default:if(t.getAttribute("dhx_button"))scheduler.callEvent("onLightboxButton",[t.className,t,e]);else{var s,n,r;-1!=t.className.indexOf("dhx_custom_button")&&(-1!=t.className.indexOf("dhx_custom_button_")?(s=t.parentNode.getAttribute("index"),r=t.parentNode.parentNode):(s=t.getAttribute("index"),r=t.parentNode,t=t.firstChild)),s&&(n=scheduler.form_blocks[scheduler.config.lightbox.sections[s].type],n.button_click(s,t,r,r.nextSibling)) }}},this.getLightbox().onkeydown=function(e){switch((e||event).keyCode){case scheduler.keys.edit_save:if((e||event).shiftKey)return;scheduler.save_lightbox();break;case scheduler.keys.edit_cancel:scheduler.cancel_lightbox()}}},scheduler.setLightboxSize=function(){var e=this._lightbox;if(e){var t=e.childNodes[1];t.style.height="0px",t.style.height=t.scrollHeight+"px",e.style.height=t.scrollHeight+scheduler.xy.lightbox_additional_height+"px",t.style.height=t.scrollHeight+"px"}},scheduler._init_dnd_events=function(){dhtmlxEvent(document.body,"mousemove",scheduler._move_while_dnd),dhtmlxEvent(document.body,"mouseup",scheduler._finish_dnd),scheduler._init_dnd_events=function(){} -},scheduler._move_while_dnd=function(e){if(scheduler._dnd_start_lb){document.dhx_unselectable||(document.body.className+=" dhx_unselectable",document.dhx_unselectable=!0);var t=scheduler.getLightbox(),s=e&&e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY];t.style.top=scheduler._lb_start[1]+s[1]-scheduler._dnd_start_lb[1]+"px",t.style.left=scheduler._lb_start[0]+s[0]-scheduler._dnd_start_lb[0]+"px"}},scheduler._ready_to_dnd=function(e){var t=scheduler.getLightbox();scheduler._lb_start=[parseInt(t.style.left,10),parseInt(t.style.top,10)],scheduler._dnd_start_lb=e&&e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY] +},scheduler._move_while_dnd=function(e){if(scheduler._dnd_start_lb){document.dhx_unselectable||(document.body.className+=" dhx_unselectable",document.dhx_unselectable=!0);var t=scheduler.getLightbox(),i=e&&e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY];t.style.top=scheduler._lb_start[1]+i[1]-scheduler._dnd_start_lb[1]+"px",t.style.left=scheduler._lb_start[0]+i[0]-scheduler._dnd_start_lb[0]+"px"}},scheduler._ready_to_dnd=function(e){var t=scheduler.getLightbox();scheduler._lb_start=[parseInt(t.style.left,10),parseInt(t.style.top,10)],scheduler._dnd_start_lb=e&&e.target?[e.pageX,e.pageY]:[event.clientX,event.clientY] },scheduler._finish_dnd=function(){scheduler._lb_start&&(scheduler._lb_start=scheduler._dnd_start_lb=!1,document.body.className=document.body.className.replace(" dhx_unselectable",""),document.dhx_unselectable=!1)},scheduler.getLightbox=function(){if(!this._lightbox){var e=document.createElement("DIV");e.className="dhx_cal_light",scheduler.config.wide_form&&(e.className+=" dhx_cal_light_wide"),scheduler.form_blocks.recurring&&(e.className+=" dhx_cal_light_rec"),/msie|MSIE 6/.test(navigator.userAgent)&&(e.className+=" dhx_ie6"),e.style.visibility="hidden"; -for(var t=this._lightbox_template,s=this.config.buttons_left,i=0;i<s.length;i++)t+="<div class='dhx_btn_set dhx_left_btn_set "+s[i]+"_set'><div dhx_button='1' class='"+s[i]+"'></div><div>"+scheduler.locale.labels[s[i]]+"</div></div>";s=this.config.buttons_right;for(var i=0;i<s.length;i++)t+="<div class='dhx_btn_set dhx_right_btn_set "+s[i]+"_set' style='float:right;'><div dhx_button='1' class='"+s[i]+"'></div><div>"+scheduler.locale.labels[s[i]]+"</div></div>";t+="</div>",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()),document.body.insertBefore(e,document.body.firstChild),this._lightbox=e;var n=this.config.lightbox.sections;t="";for(var i=0;i<n.length;i++){var a=this.form_blocks[n[i].type];if(a){n[i].id="area_"+this.uid();var r="";n[i].button&&(r="<div class='dhx_custom_button' index='"+i+"'><div class='dhx_custom_button_"+n[i].button+"'></div><div>"+this.locale.labels["button_"+n[i].button]+"</div></div>"),this.config.wide_form&&(t+="<div class='dhx_wrap_section'>"); -var d=this.locale.labels["section_"+n[i].name];"string"!=typeof d&&(d=n[i].name),t+="<div id='"+n[i].id+"' class='dhx_cal_lsection'>"+r+d+"</div>"+a.render.call(this,n[i]),t+="</div>"}}for(var o=e.getElementsByTagName("div"),i=0;i<o.length;i++){var l=o[i];if("dhx_cal_larea"==l.className){l.innerHTML=t;break}}this.setLightboxSize(),this._init_lightbox_events(this),e.style.display="none",e.style.visibility="visible"}return this._lightbox},scheduler._lightbox_template="<div class='dhx_cal_ltitle'><span class='dhx_mark'> </span><span class='dhx_time'></span><span class='dhx_title'></span></div><div class='dhx_cal_larea'></div>",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}),this._obj.ondblclick=function(){}):this._touch_events(["touchmove","touchstart","touchend"],function(e){return e.touches&&e.touches.length>1?null:e.touches[0]?{target:e.target,pageX:e.touches[0].pageX,pageY:e.touches[0].pageY}:e},function(){return!1}))},scheduler._touch_events=function(e,t,s){function i(e,t,s){dhtmlxEvent(e,t,function(e){return scheduler._is_lightbox_open()?!0:s(e)})}function n(e,t,s){if(e&&t){var i=Math.abs(e.pageY-t.pageY),n=Math.abs(e.pageX-t.pageX); -n>s&&(!i||n/i>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button())}}function a(e){scheduler._hide_global_tip(),l&&(scheduler._on_mouse_up(t(e||event)),scheduler._temp_touch_block=!1),scheduler._drag_id=null,scheduler._drag_mode=null,scheduler._drag_pos=null,clearTimeout(o),l=_=!1,h=!0}var r,d,o,l,h,_,c=-1!=navigator.userAgent.indexOf("Android")&&-1!=navigator.userAgent.indexOf("WebKit"),u=0;i(document.body,e[0],function(e){if(!s(e)){if(l)return scheduler._on_mouse_move(t(e)),scheduler._update_global_tip(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1; -if(d&&c&&n(d,t(e),0),d=t(e),_)return d?void((r.target!=d.target||Math.abs(r.pageX-d.pageX)>5||Math.abs(r.pageY-d.pageY)>5)&&(h=!0,clearTimeout(o))):void(h=!0)}}),i(this._els.dhx_cal_data[0],"scroll",a),i(this._els.dhx_cal_data[0],"touchcancel",a),i(this._els.dhx_cal_data[0],"contextmenu",function(e){return _?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),i(this._els.dhx_cal_data[0],e[1],function(e){if(!s(e)){var i;if(l=h=!1,_=!0,scheduler._temp_touch_block=!0,i=d=t(e),!i)return void(h=!0); -var n=new Date;if(!h&&!l&&250>n-u)return scheduler._click.dhx_cal_data(i),window.setTimeout(function(){scheduler._on_dbl_click(i)},50),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._block_next_stop=!0,!1;u=n,h||l||!scheduler.config.touch_drag||(o=setTimeout(function(){l=!0;var e=r.target;if(e&&e.className&&-1!=e.className.indexOf("dhx_body")&&(e=e.previousSibling),scheduler._on_mouse_down(r,e),scheduler._drag_mode&&"create"!=scheduler._drag_mode){var t=-1;if(scheduler.for_rendered(scheduler._drag_id,function(e,s){t=e.getBoundingClientRect().top,e.style.display="none",scheduler._rendered.splice(s,1) -}),t>=0){var s=scheduler.config.time_step;scheduler._move_pos_shift=s*Math.round(60*(i.pageY-t)/(scheduler.config.hour_size_px*s))}}scheduler.config.touch_tip&&scheduler._show_global_tip(),scheduler._on_mouse_move(r)},scheduler.config.touch_drag),r=i)}}),i(this._els.dhx_cal_data[0],e[2],function(e){return s(e)?void 0:(l||n(r,d,200),l&&(scheduler._ignore_next_click=!0),a(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],a) -},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 s="";if(scheduler._drag_id&&!e){var i=scheduler.getEvent(scheduler._drag_id);i&&(s="<div>"+(i._timed?scheduler.templates.event_header(i.start_date,i.end_date,i):scheduler.templates.day_date(i.start_date,i.end_date,i))+"</div>") -}t.innerHTML="create"==scheduler._drag_mode||"new-size"==scheduler._drag_mode?(scheduler.locale.drag_to_create||"Drag to create")+s:(scheduler.locale.drag_to_move||"Drag to move")+s}},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","","changeEventId","_dp_hook_delete"],this._dp_hook_delete=function(e){return this.deleteEvent(e,!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 s=e.getState(t);return"inserted"==s||this._new_event?(e.setUpdated(t,!1),!0):"deleted"==s?!1:"true_deleted"==s?!0:(e.setUpdated(t,!0,"deleted"),!1)}}),this.attachEvent("onEventChanged",function(t){!this._loading&&this._validId(t)&&e.setUpdated(t,!0,"updated")}),e._getRowData=function(e){var t=this.obj.getEvent(e),s={};for(var i in t)0!==i.indexOf("_")&&(s[i]=t[i]&&t[i].getUTCFullYear?this.obj.templates.xml_format(t[i]):t[i]); -return s},e._clearUpdateFlag=function(){},e.attachEvent("insertCallback",scheduler._update_callback),e.attachEvent("updateCallback",scheduler._update_callback),e.attachEvent("deleteCallback",function(e,t){this.obj.setUserData(t,this.action_param,"true_deleted"),this.obj.deleteEvent(t)})},scheduler._validId=function(){return!0},scheduler.setUserData=function(e,t,s){e?this.getEvent(e)[t]=s:this._userdata[t]=s},scheduler.getUserData=function(e,t){return e?this.getEvent(e)[t]:this._userdata[t]},scheduler._set_event_text_style=function(e,t){this.for_rendered(e,function(e){e.style.cssText+=";"+t -});var s=this.getEvent(e);s._text_style=t,this.event_updated(s)},scheduler._update_callback=function(e){var t=scheduler._xmlNodeToJSON(e.firstChild);t.text=t.text||t._tagvalue,t.start_date=scheduler.templates.xml_date(t.start_date),t.end_date=scheduler.templates.xml_date(t.end_date),scheduler.addEvent(t)},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,s){for(var i in t)"undefined"==typeof e[i]&&(e[i]=t[i][s]) -},scheduler._skin_init=function(){if(!scheduler.skin)for(var e=document.getElementsByTagName("link"),t=0;t<e.length;t++){var s=e[t].href.match("dhtmlxscheduler_([a-z]+).css");if(s){scheduler.skin=s[1];break}}var i=0;if(!scheduler.skin||"classic"!==scheduler.skin&&"glossy"!==scheduler.skin||(i=1),this._configure(scheduler.config,scheduler._skin_settings,i),this._configure(scheduler.xy,scheduler._skin_xy,i),!i){var n=scheduler.config.minicalendar;n&&(n.padding=14),scheduler.templates.event_bar_date=function(e){return"• <b>"+scheduler.templates.event_date(e)+"</b> " -},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(s){if("month"==this._mode){var i=e(s);return 1==s.getDate()&&(i=scheduler.locale.date.month_full[s.getMonth()]+" "+i),+s==+scheduler.date.date_part(new Date)&&(i=scheduler.locale.labels.dhx_cal_today_button+" "+i),i}return t.call(this,s) -},scheduler.config.fix_tab_position){for(var s=scheduler._els.dhx_cal_navline[0].getElementsByTagName("div"),i=null,n=211,a=0;a<s.length;a++){var r=s[a],d=r.getAttribute("name");if(d)switch(r.style.right="auto",d){case"day_tab":r.style.left="14px",r.className+=" dhx_cal_tab_first";break;case"week_tab":r.style.left="75px";break;case"month_tab":r.style.left="136px",r.className+=" dhx_cal_tab_last";break;default:r.style.left=n+"px",r.className+=" dhx_cal_tab_standalone",n=n+14+r.offsetWidth}else 0===(r.className||"").indexOf("dhx_minical_icon")&&r.parentNode==scheduler._els.dhx_cal_navline[0]&&(i=r) -}i&&(i.style.left=n+"px")}scheduler.skin&&"flat"===scheduler.skin&&(scheduler.xy.scale_height=35,scheduler.templates.hour_scale=function(e){var t=e.getMinutes();t=10>t?"0"+t:t;var s="<span class='dhx_scale_h'>"+e.getHours()+"</span><span class='dhx_scale_m'> "+t+"</span>";return s})}),scheduler._skin_init=function(){}}},window.jQuery&&!function(e){var t=[];e.fn.dhx_scheduler=function(s){if("string"!=typeof s){var i=[];return this.each(function(){if(this&&this.getAttribute&&!this.getAttribute("dhxscheduler")){for(var e in s)"data"!=e&&(scheduler.config[e]=s[e]); -this.getElementsByTagName("div").length||(this.innerHTML='<div class="dhx_cal_navline"><div class="dhx_cal_prev_button"> </div><div class="dhx_cal_next_button"> </div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div><div class="dhx_cal_tab" name="day_tab" style="right:204px;"></div><div class="dhx_cal_tab" name="week_tab" style="right:140px;"></div><div class="dhx_cal_tab" name="month_tab" style="right:76px;"></div></div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div>',this.className+=" dhx_cal_container"),scheduler.init(this,scheduler.config.date,scheduler.config.mode),s.data&&scheduler.parse(s.data),i.push(scheduler) -}}),1===i.length?i[0]:i}return t[s]?t[s].apply(this,[]):void e.error("Method "+s+" does not exist on jQuery.dhx_scheduler")}}(jQuery); +for(var t=this._lightbox_template,i=this.config.buttons_left,s=0;s<i.length;s++)t+="<div class='dhx_btn_set dhx_left_btn_set "+i[s]+"_set'><div dhx_button='1' class='"+i[s]+"'></div><div>"+scheduler.locale.labels[i[s]]+"</div></div>";i=this.config.buttons_right;for(var s=0;s<i.length;s++)t+="<div class='dhx_btn_set dhx_right_btn_set "+i[s]+"_set' style='float:right;'><div dhx_button='1' class='"+i[s]+"'></div><div>"+scheduler.locale.labels[i[s]]+"</div></div>";t+="</div>",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()),document.body.insertBefore(e,document.body.firstChild),this._lightbox=e;var n=this.config.lightbox.sections;t="";for(var s=0;s<n.length;s++){var r=this.form_blocks[n[s].type];if(r){n[s].id="area_"+this.uid();var a="";n[s].button&&(a="<div class='dhx_custom_button' index='"+s+"'><div class='dhx_custom_button_"+n[s].button+"'></div><div>"+this.locale.labels["button_"+n[s].button]+"</div></div>"),this.config.wide_form&&(t+="<div class='dhx_wrap_section'>"); +var d=this.locale.labels["section_"+n[s].name];"string"!=typeof d&&(d=n[s].name),t+="<div id='"+n[s].id+"' class='dhx_cal_lsection'>"+a+d+"</div>"+r.render.call(this,n[s]),t+="</div>"}}for(var o=e.getElementsByTagName("div"),s=0;s<o.length;s++){var l=o[s];if("dhx_cal_larea"==l.className){l.innerHTML=t;break}}this.setLightboxSize(),this._init_lightbox_events(this),e.style.display="none",e.style.visibility="visible"}return this._lightbox},scheduler._lightbox_template="<div class='dhx_cal_ltitle'><span class='dhx_mark'> </span><span class='dhx_time'></span><span class='dhx_title'></span></div><div class='dhx_cal_larea'></div>",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}),this._obj.ondblclick=function(){}):this._touch_events(["touchmove","touchstart","touchend"],function(e){return e.touches&&e.touches.length>1?null:e.touches[0]?{target:e.target,pageX:e.touches[0].pageX,pageY:e.touches[0].pageY}:e},function(){return!1}))},scheduler._touch_events=function(e,t,i){function s(e,t,i){dhtmlxEvent(e,t,function(e){return scheduler._is_lightbox_open()?!0:i(e)})}function n(e,t,i){if(e&&t){var s=Math.abs(e.pageY-t.pageY),n=Math.abs(e.pageX-t.pageX); +n>i&&(!s||n/s>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button())}}function r(e){scheduler._hide_global_tip(),l&&(scheduler._on_mouse_up(t(e||event)),scheduler._temp_touch_block=!1),scheduler._drag_id=null,scheduler._drag_mode=null,scheduler._drag_pos=null,clearTimeout(o),l=_=!1,h=!0}var a,d,o,l,h,_,c=-1!=navigator.userAgent.indexOf("Android")&&-1!=navigator.userAgent.indexOf("WebKit"),u=0;s(document.body,e[0],function(e){if(!i(e)){if(l)return scheduler._on_mouse_move(t(e)),scheduler._update_global_tip(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1; +if(d&&c&&n(d,t(e),0),d=t(e),_)return d?void((a.target!=d.target||Math.abs(a.pageX-d.pageX)>5||Math.abs(a.pageY-d.pageY)>5)&&(h=!0,clearTimeout(o))):void(h=!0)}}),s(this._els.dhx_cal_data[0],"scroll",r),s(this._els.dhx_cal_data[0],"touchcancel",r),s(this._els.dhx_cal_data[0],"contextmenu",function(e){return _?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),s(this._els.dhx_cal_data[0],e[1],function(e){if(!i(e)){var s;if(l=h=!1,_=!0,scheduler._temp_touch_block=!0,s=d=t(e),!s)return void(h=!0); +var n=new Date;if(!h&&!l&&250>n-u)return scheduler._click.dhx_cal_data(s),window.setTimeout(function(){scheduler._on_dbl_click(s)},50),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,scheduler._block_next_stop=!0,!1;u=n,h||l||!scheduler.config.touch_drag||(o=setTimeout(function(){l=!0;var e=a.target;if(e&&e.className&&-1!=e.className.indexOf("dhx_body")&&(e=e.previousSibling),scheduler._on_mouse_down(a,e),scheduler._drag_mode&&"create"!=scheduler._drag_mode){var t=-1;if(scheduler.for_rendered(scheduler._drag_id,function(e,i){t=e.getBoundingClientRect().top,e.style.display="none",scheduler._rendered.splice(i,1) +}),t>=0){var i=scheduler.config.time_step;scheduler._move_pos_shift=i*Math.round(60*(s.pageY-t)/(scheduler.config.hour_size_px*i))}}scheduler.config.touch_tip&&scheduler._show_global_tip(),scheduler._on_mouse_move(a)},scheduler.config.touch_drag),a=s)}}),s(this._els.dhx_cal_data[0],e[2],function(e){return i(e)?void 0:(l||n(a,d,200),l&&(scheduler._ignore_next_click=!0),r(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],r) +},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 s=scheduler.getEvent(scheduler._drag_id);s&&(i="<div>"+(s._timed?scheduler.templates.event_header(s.start_date,s.end_date,s):scheduler.templates.day_date(s.start_date,s.end_date,s))+"</div>") +}t.innerHTML="create"==scheduler._drag_mode||"new-size"==scheduler._drag_mode?(scheduler.locale.drag_to_create||"Drag to create")+i:(scheduler.locale.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","","changeEventId","_dp_hook_delete"],this._dp_hook_delete=function(e){return this.deleteEvent(e,!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")}),e._getRowData=function(e){var t=this.obj.getEvent(e),i={};for(var s in t)0!==s.indexOf("_")&&(i[s]=t[s]&&t[s].getUTCFullYear?this.obj.templates.xml_format(t[s]):t[s]); +return i},e._clearUpdateFlag=function(){},e.attachEvent("insertCallback",scheduler._update_callback),e.attachEvent("updateCallback",scheduler._update_callback),e.attachEvent("deleteCallback",function(e,t){this.obj.setUserData(t,this.action_param,"true_deleted"),this.obj.deleteEvent(t)})},scheduler._validId=function(){return!0},scheduler.setUserData=function(e,t,i){e?this.getEvent(e)[t]=i:this._userdata[t]=i},scheduler.getUserData=function(e,t){return e?this.getEvent(e)[t]:this._userdata[t]},scheduler._set_event_text_style=function(e,t){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){var t=scheduler._xmlNodeToJSON(e.firstChild);t.text=t.text||t._tagvalue,t.start_date=scheduler.templates.xml_date(t.start_date),t.end_date=scheduler.templates.xml_date(t.end_date),scheduler.addEvent(t)},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 s in t)"undefined"==typeof e[s]&&(e[s]=t[s][i]) +},scheduler._skin_init=function(){if(!scheduler.skin)for(var e=document.getElementsByTagName("link"),t=0;t<e.length;t++){var i=e[t].href.match("dhtmlxscheduler_([a-z]+).css");if(i){scheduler.skin=i[1];break}}var s=0;if(!scheduler.skin||"classic"!==scheduler.skin&&"glossy"!==scheduler.skin||(s=1),this._configure(scheduler.config,scheduler._skin_settings,s),this._configure(scheduler.xy,scheduler._skin_xy,s),!s){var n=scheduler.config.minicalendar;n&&(n.padding=14),scheduler.templates.event_bar_date=function(e){return"• <b>"+scheduler.templates.event_date(e)+"</b> " +},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 s=e(i);return 1==i.getDate()&&(s=scheduler.locale.date.month_full[i.getMonth()]+" "+s),+i==+scheduler.date.date_part(new Date)&&(s=scheduler.locale.labels.dhx_cal_today_button+" "+s),s}return t.call(this,i) +},scheduler.config.fix_tab_position){for(var i=scheduler._els.dhx_cal_navline[0].getElementsByTagName("div"),s=null,n=211,r=0;r<i.length;r++){var a=i[r],d=a.getAttribute("name");if(d)switch(a.style.right="auto",d){case"day_tab":a.style.left="14px",a.className+=" dhx_cal_tab_first";break;case"week_tab":a.style.left="75px";break;case"month_tab":a.style.left="136px",a.className+=" dhx_cal_tab_last";break;default:a.style.left=n+"px",a.className+=" dhx_cal_tab_standalone",n=n+14+a.offsetWidth}else 0===(a.className||"").indexOf("dhx_minical_icon")&&a.parentNode==scheduler._els.dhx_cal_navline[0]&&(s=a) +}s&&(s.style.left=n+"px")}scheduler.skin&&"flat"===scheduler.skin&&(scheduler.xy.scale_height=35,scheduler.templates.hour_scale=function(e){var t=e.getMinutes();t=10>t?"0"+t:t;var i="<span class='dhx_scale_h'>"+e.getHours()+"</span><span class='dhx_scale_m'> "+t+"</span>";return i})}),scheduler._skin_init=function(){}}},window.jQuery&&!function(e){var t=[];e.fn.dhx_scheduler=function(i){if("string"!=typeof i){var s=[];return this.each(function(){if(this&&this.getAttribute&&!this.getAttribute("dhxscheduler")){for(var e in i)"data"!=e&&(scheduler.config[e]=i[e]); +this.getElementsByTagName("div").length||(this.innerHTML='<div class="dhx_cal_navline"><div class="dhx_cal_prev_button"> </div><div class="dhx_cal_next_button"> </div><div class="dhx_cal_today_button"></div><div class="dhx_cal_date"></div><div class="dhx_cal_tab" name="day_tab" style="right:204px;"></div><div class="dhx_cal_tab" name="week_tab" style="right:140px;"></div><div class="dhx_cal_tab" name="month_tab" style="right:76px;"></div></div><div class="dhx_cal_header"></div><div class="dhx_cal_data"></div>',this.className+=" dhx_cal_container"),scheduler.init(this,scheduler.config.date,scheduler.config.mode),i.data&&scheduler.parse(i.data),s.push(scheduler) +}}),1===s.length?s[0]:s}return t[i]?t[i].apply(this,[]):void e.error("Method "+i+" does not exist on jQuery.dhx_scheduler")}}(jQuery); //# sourceMappingURL=sources/dhtmlxscheduler.js.map
\ No newline at end of file diff --git a/codebase/ext/dhtmlxscheduler_agenda_view.js b/codebase/ext/dhtmlxscheduler_agenda_view.js index 450d334..94174cb 100644 --- a/codebase/ext/dhtmlxscheduler_agenda_view.js +++ b/codebase/ext/dhtmlxscheduler_agenda_view.js @@ -5,10 +5,10 @@ This software is covered by GPL license. You also can obtain Commercial or Enter (c) Dinamenta, UAB. */ -scheduler.date.add_agenda=function(e){return scheduler.date.add(e,1,"year")},scheduler.templates.agenda_time=function(e,d,t){return t._timed?this.day_date(t.start_date,t.end_date,t)+" "+this.event_date(e):scheduler.templates.day_date(e)+" – "+scheduler.templates.day_date(d)},scheduler.templates.agenda_text=function(e,d,t){return t.text},scheduler.templates.agenda_date=function(){return""},scheduler.date.agenda_start=function(){return scheduler.date.date_part(scheduler._currentDate())},scheduler.attachEvent("onTemplatesReady",function(){function e(e){if(e){var d=scheduler.locale.labels; -scheduler._els.dhx_cal_header[0].innerHTML="<div class='dhx_agenda_line'><div>"+d.date+"</div><span style='padding-left:25px'>"+d.description+"</span></div>",scheduler._table_view=!0,scheduler.set_sizes()}}function d(){var e=(scheduler._date,scheduler.get_visible_events());e.sort(function(e,d){return e.start_date>d.start_date?1:-1});for(var d="<div class='dhx_agenda_area'>",t=0;t<e.length;t++){var a=e[t],l=a.color?"background:"+a.color+";":"",s=a.textColor?"color:"+a.textColor+";":"",r=scheduler.templates.event_class(a.start_date,a.end_date,a); -d+="<div class='dhx_agenda_line"+(r?" "+r:"")+"' event_id='"+a.id+"' style='"+s+l+(a._text_style||"")+"'><div class='dhx_agenda_event_time'>"+scheduler.templates.agenda_time(a.start_date,a.end_date,a)+"</div>",d+="<div class='dhx_event_icon icon_details'> </div>",d+="<span>"+scheduler.templates.agenda_text(a.start_date,a.end_date,a)+"</span></div>"}d+="<div class='dhx_v_border'></div></div>",scheduler._els.dhx_cal_data[0].innerHTML=d,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=scheduler._agendaScrollTop||0; -var c=scheduler._els.dhx_cal_data[0].childNodes[0],_=c.childNodes[c.childNodes.length-1];_.style.height=c.offsetHeight<scheduler._els.dhx_cal_data[0].offsetHeight?"100%":c.offsetHeight+"px";var n=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates.agenda_date(scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._rendered=[];for(var t=0;t<n.length-1;t++)scheduler._rendered[t]=n[t]}var t=scheduler.dblclick_dhx_cal_data;scheduler.dblclick_dhx_cal_data=function(){if("agenda"==this._mode)!this.config.readonly&&this.config.dblclick_create&&this.addEventNow(); -else if(t)return t.apply(this,arguments)},scheduler.attachEvent("onSchedulerResize",function(){return"agenda"==this._mode?(this.agenda_view(!0),!1):!0});var a=scheduler.render_data;scheduler.render_data=function(){return"agenda"!=this._mode?a.apply(this,arguments):void d()};var l=scheduler.render_view_data;scheduler.render_view_data=function(){return"agenda"==this._mode&&(scheduler._agendaScrollTop=scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=0),l.apply(this,arguments) -},scheduler.agenda_view=function(t){scheduler._min_date=scheduler.config.agenda_start||scheduler.date.agenda_start(scheduler._date),scheduler._max_date=scheduler.config.agenda_end||scheduler.date.add_agenda(scheduler._min_date,1),scheduler._table_view=!0,e(t),t&&d()}}); +scheduler.date.add_agenda=function(e){return scheduler.date.add(e,1,"year")},scheduler.templates.agenda_time=function(e,t,s){return s._timed?this.day_date(s.start_date,s.end_date,s)+" "+this.event_date(e):scheduler.templates.day_date(e)+" – "+scheduler.templates.day_date(t)},scheduler.templates.agenda_text=function(e,t,s){return s.text},scheduler.templates.agenda_date=function(){return""},scheduler.date.agenda_start=function(){return scheduler.date.date_part(scheduler._currentDate())},scheduler.attachEvent("onTemplatesReady",function(){function e(e){if(e){var t=scheduler.locale.labels; +scheduler._els.dhx_cal_header[0].innerHTML="<div class='dhx_agenda_line'><div>"+t.date+"</div><span style='padding-left:25px'>"+t.description+"</span></div>",scheduler._table_view=!0,scheduler.set_sizes()}}function t(){var e=(scheduler._date,scheduler.get_visible_events());e.sort(function(e,t){return e.start_date>t.start_date?1:-1});for(var t="<div class='dhx_agenda_area'>",s=0;s<e.length;s++){var i=e[s],n=i.color?"background:"+i.color+";":"",a=i.textColor?"color:"+i.textColor+";":"",r=scheduler.templates.event_class(i.start_date,i.end_date,i); +t+="<div class='dhx_agenda_line"+(r?" "+r:"")+"' event_id='"+i.id+"' style='"+a+n+(i._text_style||"")+"'><div class='dhx_agenda_event_time'>"+scheduler.templates.agenda_time(i.start_date,i.end_date,i)+"</div>",t+="<div class='dhx_event_icon icon_details'> </div>",t+="<span>"+scheduler.templates.agenda_text(i.start_date,i.end_date,i)+"</span></div>"}t+="<div class='dhx_v_border'></div></div>",scheduler._els.dhx_cal_data[0].innerHTML=t,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=scheduler._agendaScrollTop||0; +var d=scheduler._els.dhx_cal_data[0].childNodes[0],o=d.childNodes[d.childNodes.length-1];o.style.height=d.offsetHeight<scheduler._els.dhx_cal_data[0].offsetHeight?"100%":d.offsetHeight+"px";var l=scheduler._els.dhx_cal_data[0].firstChild.childNodes;scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates.agenda_date(scheduler._min_date,scheduler._max_date,scheduler._mode),scheduler._rendered=[];for(var s=0;s<l.length-1;s++)scheduler._rendered[s]=l[s]}var s=scheduler.dblclick_dhx_cal_data;scheduler.dblclick_dhx_cal_data=function(){if("agenda"==this._mode)!this.config.readonly&&this.config.dblclick_create&&this.addEventNow(); +else if(s)return s.apply(this,arguments)},scheduler.attachEvent("onSchedulerResize",function(){return"agenda"==this._mode?(this.agenda_view(!0),!1):!0});var i=scheduler.render_data;scheduler.render_data=function(){return"agenda"!=this._mode?i.apply(this,arguments):void t()};var n=scheduler.render_view_data;scheduler.render_view_data=function(){return"agenda"==this._mode&&(scheduler._agendaScrollTop=scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop,scheduler._els.dhx_cal_data[0].childNodes[0].scrollTop=0),n.apply(this,arguments) +},scheduler.agenda_view=function(s){scheduler._min_date=scheduler.config.agenda_start||scheduler.date.agenda_start(scheduler._date),scheduler._max_date=scheduler.config.agenda_end||scheduler.date.add_agenda(scheduler._min_date,1),scheduler._table_view=!0,e(s),s&&t()}}); //# sourceMappingURL=../sources/ext/dhtmlxscheduler_agenda_view.js.map
\ No newline at end of file diff --git a/codebase/ext/dhtmlxscheduler_all_timed.js b/codebase/ext/dhtmlxscheduler_all_timed.js index d74f717..eaa2bb3 100644 --- a/codebase/ext/dhtmlxscheduler_all_timed.js +++ b/codebase/ext/dhtmlxscheduler_all_timed.js @@ -5,9 +5,9 @@ This software is covered by GPL license. You also can obtain Commercial or Enter (c) Dinamenta, UAB. */ -!function(){scheduler.config.all_timed="short";var e=function(e){return!((e.end_date-e.start_date)/36e5>=24)};scheduler._safe_copy=function(e){var t=null,s=null;return e.event_pid&&(t=scheduler.getEvent(e.event_pid)),t&&t.isPrototypeOf(e)?(s=scheduler._copy_event(e),delete s.event_length,delete s.event_pid,delete s.rec_pattern,delete s.rec_type):s=scheduler._lame_clone(e),s};var t=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(s,i){function n(e){var t=a(e.start_date); -return+e.end_date>+t}function a(e){var t=scheduler.date.add(e,1,"day");return t=scheduler.date.date_part(t)}function r(e,t){var s=scheduler.date.date_part(new Date(e));return s.setHours(t),s}if(!this.config.all_timed)return t.call(this,s,i);for(var d=0;d<s.length;d++){var o=s[d];if(!o._timed)if("short"!=this.config.all_timed||e(o)){var l=this._safe_copy(o);l.start_date=new Date(l.start_date),n(o)?(l.end_date=a(l.start_date),24!=this.config.last_hour&&(l.end_date=r(l.start_date,this.config.last_hour))):l.end_date=new Date(o.end_date); -var h=!1;l.start_date<this._max_date&&l.end_date>this._min_date&&l.start_date<l.end_date&&(s[d]=l,h=!0);var _=this._safe_copy(o);if(_.end_date=new Date(_.end_date),_.start_date=_.start_date<this._min_date?r(this._min_date,this.config.first_hour):r(a(o.start_date),this.config.first_hour),_.start_date<this._max_date&&_.start_date<_.end_date){if(!h){s[d--]=_;continue}s.splice(d+1,0,_)}}else s.splice(d--,1)}var c="move"==this._drag_mode?!1:i;return t.call(this,s,c)};var s=scheduler.get_visible_events; +!function(){scheduler.config.all_timed="short";var e=function(e){return!((e.end_date-e.start_date)/36e5>=24)};scheduler._safe_copy=function(e){var t=null,s=null;return e.event_pid&&(t=scheduler.getEvent(e.event_pid)),t&&t.isPrototypeOf(e)?(s=scheduler._copy_event(e),delete s.event_length,delete s.event_pid,delete s.rec_pattern,delete s.rec_type):s=scheduler._lame_clone(e),s};var t=scheduler._pre_render_events_line;scheduler._pre_render_events_line=function(s,i){function a(e){var t=n(e.start_date); +return+e.end_date>+t}function n(e){var t=scheduler.date.add(e,1,"day");return t=scheduler.date.date_part(t)}function r(e,t){var s=scheduler.date.date_part(new Date(e));return s.setHours(t),s}if(!this.config.all_timed)return t.call(this,s,i);for(var d=0;d<s.length;d++){var o=s[d];if(!o._timed)if("short"!=this.config.all_timed||e(o)){var l=this._safe_copy(o);l.start_date=new Date(l.start_date),a(o)?(l.end_date=n(l.start_date),24!=this.config.last_hour&&(l.end_date=r(l.start_date,this.config.last_hour))):l.end_date=new Date(o.end_date); +var h=!1;l.start_date<this._max_date&&l.end_date>this._min_date&&l.start_date<l.end_date&&(s[d]=l,h=!0);var _=this._safe_copy(o);if(_.end_date=new Date(_.end_date),_.start_date=_.start_date<this._min_date?r(this._min_date,this.config.first_hour):r(n(o.start_date),this.config.first_hour),_.start_date<this._max_date&&_.start_date<_.end_date){if(!h){s[d--]=_;continue}s.splice(d+1,0,_)}}else s.splice(d--,1)}var c="move"==this._drag_mode?!1:i;return t.call(this,s,c)};var s=scheduler.get_visible_events; scheduler.get_visible_events=function(e){return this.config.all_timed&&this.config.multi_day?s.call(this,!1):s.call(this,e)},scheduler.attachEvent("onBeforeViewChange",function(e,t,s){return scheduler._allow_dnd="day"==s||"week"==s,!0}),scheduler._is_main_area_event=function(t){return!!(t._timed||this.config.all_timed===!0||"short"==this.config.all_timed&&e(t))};var i=scheduler.updateEvent;scheduler.updateEvent=function(e){var t,s=scheduler.config.all_timed&&!(scheduler.isOneDayEvent(scheduler._events[e])||scheduler.getState().drag_id); s&&(t=scheduler.config.update_render,scheduler.config.update_render=!0),i.apply(scheduler,arguments),s&&(scheduler.config.update_render=t)}}(); //# sourceMappingURL=../sources/ext/dhtmlxscheduler_all_timed.js.map
\ No newline at end of file diff --git a/codebase/sources/dhtmlxscheduler.js b/codebase/sources/dhtmlxscheduler.js index 4656403..0d51953 100644 --- a/codebase/sources/dhtmlxscheduler.js +++ b/codebase/sources/dhtmlxscheduler.js @@ -1993,7 +1993,6 @@ scheduler.init=function(id,date,mode){ if(this._obj){ this.unset_actions(); - this._obj.innerHTML = ""; } this._obj=(typeof id == "string")?document.getElementById(id):id; @@ -2893,7 +2892,7 @@ scheduler._reset_scale=function(){ data_area.innerHTML = ""; var str = ((c.readonly || (!c.drag_resize)) ? " dhx_resize_denied" : "") + ((c.readonly || (!c.drag_move)) ? " dhx_move_denied" : ""); - if (str) data_area.className = "dhx_cal_data" + str; + data_area.className = "dhx_cal_data" + str; this._scales = {}; this._cols = []; //store for data section diff --git a/codebase/sources/dhtmlxscheduler.js.map b/codebase/sources/dhtmlxscheduler.js.map index 8ab2925..b7141c9 100644 --- a/codebase/sources/dhtmlxscheduler.js.map +++ b/codebase/sources/dhtmlxscheduler.js.map @@ -1 +1 @@ -{"version":3,"file":"dhtmlxscheduler.js.map","sources":["dhtmlxscheduler.js"],"names":["dtmlXMLLoaderObject","funcObject","dhtmlObject","async","rSeed","this","xmlDoc","onloadAction","mainObject","waitCall","callerFunction","handler","e","window","event","getAbsoluteLeft","htmlObject","getOffset","left","getAbsoluteTop","top","getOffsetSum","elem","parseInt","offsetTop","offsetLeft","offsetParent","getOffsetRect","box","getBoundingClientRect","body","document","docElem","documentElement","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","Math","round","convertStringToBoolean","inputString","toLowerCase","getUrlSymbol","str","indexOf","dhtmlDragAndDropObject","dhtmlDragAndDrop","lastLanding","dragNode","dragStartNode","dragStartObject","tempDOMU","tempDOMM","waitDrag","_dhtmlxError","catches","dhtmlXHeir","a","b","c","dhtmlxEvent","el","addEventListener","attachEvent","dataProcessor","serverProcessorURL","serverProcessor","action_param","object","updatedRows","autoUpdate","updateMode","_tMode","post_delim","_waitMode","_in_progress","_invalid","mandatoryFields","messages","styles","updated","inserted","deleted","invalid","invalid_cell","error","clear","enableUTFencoding","dhtmlxEventable","dhtmlXScheduler","scheduler","version","dhtmlx","obj","extend_api","name","map","ext","t","that","tagName","apply","_init","arguments","_patch","prototype","dhtmlxAjax","get","url","callback","length","loadXML","post","getSync","postSync","count","waitLoadFunction","once","check","readyState","call","getXMLTopNode","oldObj","z","responseXML","temp","getElementsByTagName","split","_retry","_isIE","loadXMLString","responseText","replace","dhtmlxError","throwError","createElement","xmlString","silent","ActiveXObject","onreadystatechange","parser","DOMParser","parseFromString","filePath","postMode","postVars","rpc","Date","valueOf","XMLHttpRequest","open","setRequestHeader","navigator","userAgent","send","destructor","_filterXPath","_getAllNamedChilds","doXPath","doXPathOpera","doXSLTransToObject","doXSLTransToString","doSerialization","xmlNodeToJSON","setXSLParamValue","node","i","attributes","value","firstChild","nodeValue","childNodes","push","removeDraggableItem","htmlNode","onmousedown","dragStarter","dragLanding","addDraggableItem","preCreateDragCopy","addDragLanding","button","onmouseup","onmousemove","stopDrag","callDrag","downtime","preventDefault","dragger","_createDragNode","onselectstart","gldragNode","appendChild","pWindow","initFrameRoute","parentNode","grd","old","removeChild","oldBody","_dragOut","div","innerHTML","outerHTML","cloneNode","style","clientX","fx","clientY","fy","srcElement","target","checkLanding","calculateFramePosition","n","parent","frames","frameElement","ls","_dragIn","lastLanding_scr","_onNotFound","mode","stopFrameRoute","_drag","win","_isFF","_FFrv","_isOpera","_isKHTML","_isMacOS","_isChrome","_KHTMLrv","_OperaRv","parseFloat","substr","appName","appVersion","compatMode","xpathExp","docObj","namespace","result_type","XPathResult","nodeName","setProperty","selectSingleNode","selectNodes","Array","nodeObj","ownerDocument","retType","ANY_TYPE","FIRST_ORDERED_NODE_TYPE","rowsCol","col","evaluate","singleNodeValue","thisColMemb","iterateNext","catchError","type","func_name","params","alert","getAttribute","toUpperCase","j","xslDoc","paramName","paramValue","item","result","transformNodeToObject","transformNode","XSLProcessor","XSLTProcessor","importStylesheet","transformToDocument","res","xml","xmlSerializer","XMLSerializer","serializeToString","catcher","callObj","eventCatcher","addEvent","callEvent","arg0","checkEvent","dhx_catch","zr","ev","eval","removeEvent","id","detachEvent","list","detachAllEvents","config","usercall","modality","_dhx_msg_cfg","modal_key","code","which","keyCode","message","keyboard","cancelBubble","cover","onkeydown","className","scrollHeight","display","text","css","button_css","info","area","position","hide","onclick","insertBefore","expire","timers","setTimeout","pull","_boxStructure","ok","cancel","setAttribute","inner","width","height","title","content","ok_text","locale","labels","message_ok","undefined","cancel_text","message_cancel","buttons","getElementById","source","_createBox","hidden","x","abs","floor","innerWidth","offsetWidth","y","innerHeight","offsetHeight","focus","modalbox","alertPopup","confirmPopup","boxPopup","box_params","uid","confirm","subtype","seed","hideAll","key","clearTimeout","setTransactionMode","total","_tSend","escape","data","_utf","encodeURIComponent","setDataColumns","val","_columns","getSyncState","enableDataNames","_endnm","enablePartialDataSend","_changed","setUpdateMode","dnd","ignore","master","_silent_mode","setUpdated","rowId","state","ind","findRow","existing","getUserData","set_invalid","setUserData","is_invalid","splice","_clearUpdateFlag","markRow","sendData","_methods","details","getState","toString","checkBeforeUpdate","mytype","_h2","editStop","sendAllData","_beforeSendData","_getRowData","_sendData","serialize","serialize_one","stack","keys","hasOwnProperty","join","security_key","pref","a1","a2","afterUpdate","a3","_user","valid","_getAllData","out","has_one","setVerificator","verifFunction","clearVerificator","pattern","defineAction","_uActions","afterUpdateCallback","sid","tid","action","btag","marker","correct","soid","d","atag","finalizeUpdate","init","anObj","_dp_init","setOnAfterUpdate","enableDebug","setOnBeforeUpdateHandler","func","setAutoUpdate","interval","user","_need_update","_loader","_update_busy","xml_node","afterAutoUpdate","fullSync","self","setInterval","loadUpdate","getUpdates","_v","_a","arr","vers","upds","status","dhtmlXGridObject","_init_point_connector","_init_point","clear_url","hdr","rows","combine_urls","_connector_sorting","_connector_filter","sorting_url","dir","filtering_url","inds","vals","_con_f_used","xmlFileUrl","clearAndLoad","setSortImgState","_in_header_connector_text_filter","_in_header_text_filter","_in_header_connector_select_filter","_in_header_select_filter","load_connector","load","concat","_colls_loaded","cellType","ar","_parseHead_connector","_parseHead","cols","xmlLoader","f","v","combo","getColumnCombo","getCombo","os","lab","addOption","put","init_original","_dataprocessor","_detachDomEvent","removeEventListener","_init_once","getWindowSize","w","clientWidth","h","clientHeight","equals","oldSize","newSize","_resize_timer","update_view","date","_currentDate","_obj","unset_actions","_skin_init","_els","_scroll","_quirks","_quirks7","get_elements","init_templates","set_actions","_init_touch_events","set_sizes","setCurrentView","xy","min_event_height","scale_width","scroll_width","scale_height","month_scale_height","menu_width","margin_top","margin_left","editor_width","month_head_height","edit_save","edit_cancel","_x","_y","scale_x","_table_view","scale_s","set_xy","nav_height","actual_height","data_y","max","els","class_name","attr_value","label","_click","ondblclick","oncontextmenu","_temp_touch_block","_on_mouse_move","_ignore_next_click","_on_mouse_down","_on_mouse_up","_on_dbl_click","src","returnValue","_locate_event","select","_select_id","unselect","updateEvent","getEvent","_mode","_date","min_date","_min_date","max_date","_max_date","editor_id","_edit_id","lightbox_id","_lightbox_id","new_event","_new_event","select_id","expanded","drag_id","_drag_id","drag_mode","_drag_mode","dhx_cal_data","trg","readonly","getActionData","mask","_close_not_saved","dhx_cal_prev_button","dhx_cal_next_button","dummy","step","add","dhx_cal_today_button","dhx_cal_tab","substring","search","delete","confirm_deleting","_dhtmlx_confirm","title_confirm_deleting","deleteEvent","edit","save","showLightbox","opts","addEventNow","start","end","base","constructor","match","event_duration","time_step","start_date","start_hour","first_hour","getHours","setHours","end_date","setTime","_loading","_drag_event","dblclick_create","details_on_dblclick","_timed","_get_column_index","x_pos","column","_cols","_ignores","_week_indexes_from_pos","pos","min","ceil","hour_size_px","_mouse_coords","pageX","pageY","_dy_shift","_colsS","dy","heights","_ignores_detected","preserve_length","_event_length","_get_real_event_length","x_step","x_unit","confirm_closing","title_confirm_closing","positive_closing","_correct_shift","back","getTimezoneOffset","_drag_pos","force_redraw","_get_date_from_pos","_drag_start","getMinutes","fields","_move_pos_shift","custom","time_part","matrix","_get_fictional_event_length","resize_date","_drag_from_start","day","date_part","resize_from_start","cursor","shift","new_end","new_start","limit_drag_out","duration","_get_event_sday","last_hour","getDate","_allow_dnd","update_render","sx","for_rendered","r","classname","_lame_clone","_get_private_properties","_clear_temporary_properties","clean","flagged_event","initial","current_state","touch","_dhx_changed","is_new","edit_on_create","details_on_create","_lame_copy","render_view_data","_trigger_dyn_loading","_load_mode","_load","_render_wait","view","_reset_scale","isViewExists","templates","updateView","prev_scroll","preserve_scroll","dhx_multi_day","tabs","_render_x_header","head","left_border","_get_columns_num","from","to","count_n","_get_timeunit_start","_get_view_end","dd","ed","_calc_scale_sizes","summ","_process_ignores","realcount","_set_scale_col_size","_render_scales","header","data_area","sd","today","scales","cls","week_date_class","drag_resize","drag_move","_scales","week_start","_reset_month_scale","_reset_hours_scale","multi_day","navline","c1","visibility","col_length","c2","cc","hour_scale","scroll_hour","now_date","preserve","ign_date","_render_month_scale","getCellHeight","row","view_start","cd","tdcss","cell_width","cellheight","html","rendered_dates","row_height","month_date_class","body_class","head_class","month_day","bf1","getFullYear","getMonth","divs","getLabel","property","sections","lightbox","map_to","options","updateCollection","list_name","collection","serverList","resetLightbox","cache","Number","String","Boolean","Object","n_ev","section","_focus","fd","end_slot","ev_length","hours","_start_correction","_end_correction","start_slot","render","_get_date_index","per_day","days","_get_section_view","_props","_get_section_property","y_property","_is_initialized","_is_lightbox_open","s","month_short","month_short_hash","month_full","month_full_hash","setMinutes","setSeconds","setMilliseconds","getTime","getDay","start_on_monday","month_start","setDate","year_start","setMonth","day_start","_add_days","inc","ndate","setYear","to_fixed","num","copy","date_to_str","format","utc","Function","str_to_date","splt","getISOWeek","nday","first_thursday","year_number","ordinal_date","week_number","getUTCISOWeek","convert_to_utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","day_full","day_short","day_tab","week_tab","month_tab","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","section_description","section_time","full_day","confirm_recurring","section_recurring","button_recurring","button_recurring_open","button_edit_series","button_edit_occurrence","agenda_tab","description","year_tab","week_agenda_tab","grid_tab","drag_to_create","drag_to_move","default_date","month_date","load_date","week_date","day_date","hour_date","xml_date","api_date","drag_create","resize_month_events","resize_month_timed","cascade_event_display","cascade_event_count","cascade_event_margin","multi_day_height_limit","drag_lightbox","server_utc","touch_tip","touch_drag","quick_info_detached","drag_highlight","icons_edit","icons_select","buttons_left","buttons_right","highlight_displayed_event","dhx_save_btn","dhx_cancel_btn","dhx_delete_btn","d1","d2","day_scale_date","month_scale_date","week_scale_date","time_picker","event_date","load_format","xml_format","event_header","event_text","event_class","event_bar_date","event_bar_text","month_events_link","drag_marker_class","drag_marker_content","_seed","_events","clearAll","_loaded","clear_view","extra_data","isOneDayEvent","event_updated","setEvent","hash","method","_rendered","changeEventId","new_id","attrs","create_getter","create_setter","is_visible_events","clear_event","in_visible_range","end_dates_visible","hidden_duration","delta","get_visible_events","only_timed","filter_event","filter","_is_main_area_event","evs","hold","_not_render","len","_recalculate_timed","tvs","tvd","_rendered_location","render_data","_view_month_day","_render_month_link","toRender","_sday","_eday","curr","_sweek","getEvents","_get_event_bar_pos","widt","x2","_pre_render_events","render_event_bar","max_evs","max_month_events","_sorder","render_event","hb","bar_height","h_old","_pre_render_events_table","_pre_render_events_line","evl","cellHeight","cells","cHeight","unshift","scroll_fix","scale_settings","sum_width","row_heights","slice","full_multi_day_height","used_multi_day_height","used_multi_day_height_css","multi_day_section","multi_day_icon","overflowY","_get_event_mapped_end_date","separate_short_events","ev_duration","_min_mapped_duration","sort","evs_originals","sh","eh","_inner","t_ev","t_end_date","slot_index","sorderSet","_is_sorder","k","_max_sorder","max_count","_count","_copy_event","_time_order","weeks","chunks_info","first_chunk","last_chunk","chunk_info","locate_s","locate_holder_day","locate_e","_length","stack_line","_first_chunk","_last_chunk","_copy_dummy","_y_from_date","sm","_calc_event_y","min_height","em","menu","menu_offset","locate_holder","pos_y","ev_count","ev_sorder","limit","margin","right","_render_v_bar","_text_style","zIndex","tplClass","cssText","_editor","shiftKey","icons","icons_str","bg_color","color","textColor","highlightEventPosition","contentA","contentB","bottom","cs","cse","container","renderEvent","inner_html","footer_class","past","_get_dnd_order","order","ev_height","max_height","_orig_sorder","evTop","y_event_offset","resize_handle","resizable","left_chunk","right_chunk","resize_left","resize_right","style_text","_edit_stop_event","getRenderedEvent","rendered_events","rendered_event","showEvent","original_color","original_text_color","displayed_event_color","displayed_event_text_color","_append_drag_marker","m","zone","scale","lastChild","previousSibling","_update_marker_position","size","_load_url","prevent_cache","lf","cache_line","temp_to","l","on_load","loader","_process","parse","_magic_parser","_process_loading","_after_call","_init_event","_tagvalue","_init_date","json","_temp","dhx_security","collections","collections_loaded","option","option_key","setLoadMode","array","_userdata","xml_string","skey","bind","itms","itm","attr","ud","udx","_xmlNodeToJSON","child","nodeType","show_loading","ical","RegExp","c_start","c_end","incoming","event_r","e_start","e_end","exec","param","param_r","parse_param","parse_date","dh","dm","dn","UTC","_lightbox_controls","formSection","_lightbox","getLightbox","nextSibling","getValue","form_blocks","get_value","setValue","set_value","get_template_control","control","get_select_control","get_textarea_control","get_time_control","template","sns","textarea","_dhx_onchange","onchange","time","time_format","_time_format_order","cfg","dt","last","first","limit_time_select","p","time_option","year","tdate","_time_values","diff","_fill_lightbox_select","time_values","direct_value","fixed_value","value_found","t_v","selectedIndex","_full_day","wide_form","input","checked","disabled","auto_end_date","_update_lightbox_select","showCover","scroll_top","scroll_left","view_height","scrollWidth","show_cover","_fill_lightbox","lightbox_header","current_sns","block","default_value","_lightbox_out","_empty_lightbox","hide_lightbox","hideCover","hide_cover","_cover","_document_height","_scroll_height","save_lightbox","startLightbox","_custom_lightbox","_temp_lightbox","endLightbox","cancel_lightbox","_init_lightbox_events","index","sec","button_click","setLightboxSize","con","lightbox_additional_height","_init_dnd_events","_move_while_dnd","_finish_dnd","_dnd_start_lb","dhx_unselectable","lb","now","_lb_start","_ready_to_dnd","recurring","test","_lightbox_template","label_name","ds","t_ds","msPointerEnabled","_touch_events","pointerType","MSPOINTER_TYPE_MOUSE","touches","names","accessor","attachTouchEvent","element","check_direction_swipe","s_ev","e_ev","dx","drag_cancel","_hide_global_tip","timer","action_mode","scroll_mode","tracker","a_webkit","dblclicktime","_update_global_tip","fake_event","_block_next_stop","_show_global_tip","toptip","_global_tip","dp","_dp_hook_delete","_validId","_update_callback","upd","_set_event_text_style","_skin_settings","fix_tab_position","use_select_menu_space","_skin_xy","_configure","skin","links","href","set","minic","minicalendar","padding","_old_month_day","old_month_day","navline_divs","minical","jQuery","$","methods","fn","dhx_scheduler","views","each"],"mappings":"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"}
\ No newline at end of file +{"version":3,"file":"dhtmlxscheduler.js.map","sources":["dhtmlxscheduler.js"],"names":["dtmlXMLLoaderObject","funcObject","dhtmlObject","async","rSeed","this","xmlDoc","onloadAction","mainObject","waitCall","callerFunction","handler","e","window","event","getAbsoluteLeft","htmlObject","getOffset","left","getAbsoluteTop","top","getOffsetSum","elem","parseInt","offsetTop","offsetLeft","offsetParent","getOffsetRect","box","getBoundingClientRect","body","document","docElem","documentElement","scrollTop","pageYOffset","scrollLeft","pageXOffset","clientTop","clientLeft","Math","round","convertStringToBoolean","inputString","toLowerCase","getUrlSymbol","str","indexOf","dhtmlDragAndDropObject","dhtmlDragAndDrop","lastLanding","dragNode","dragStartNode","dragStartObject","tempDOMU","tempDOMM","waitDrag","_dhtmlxError","catches","dhtmlXHeir","a","b","c","dhtmlxEvent","el","addEventListener","attachEvent","dataProcessor","serverProcessorURL","serverProcessor","action_param","object","updatedRows","autoUpdate","updateMode","_tMode","post_delim","_waitMode","_in_progress","_invalid","mandatoryFields","messages","styles","updated","inserted","deleted","invalid","invalid_cell","error","clear","enableUTFencoding","dhtmlxEventable","dhtmlXScheduler","scheduler","version","dhtmlx","obj","extend_api","name","map","ext","t","that","tagName","apply","_init","arguments","_patch","prototype","dhtmlxAjax","get","url","callback","length","loadXML","post","getSync","postSync","count","waitLoadFunction","once","check","readyState","call","getXMLTopNode","oldObj","z","responseXML","temp","getElementsByTagName","split","_retry","_isIE","loadXMLString","responseText","replace","dhtmlxError","throwError","createElement","xmlString","silent","ActiveXObject","onreadystatechange","parser","DOMParser","parseFromString","filePath","postMode","postVars","rpc","Date","valueOf","XMLHttpRequest","open","setRequestHeader","navigator","userAgent","send","destructor","_filterXPath","_getAllNamedChilds","doXPath","doXPathOpera","doXSLTransToObject","doXSLTransToString","doSerialization","xmlNodeToJSON","setXSLParamValue","node","i","attributes","value","firstChild","nodeValue","childNodes","push","removeDraggableItem","htmlNode","onmousedown","dragStarter","dragLanding","addDraggableItem","preCreateDragCopy","addDragLanding","button","onmouseup","onmousemove","stopDrag","callDrag","downtime","preventDefault","dragger","_createDragNode","onselectstart","gldragNode","appendChild","pWindow","initFrameRoute","parentNode","grd","old","removeChild","oldBody","_dragOut","div","innerHTML","outerHTML","cloneNode","style","clientX","fx","clientY","fy","srcElement","target","checkLanding","calculateFramePosition","n","parent","frames","frameElement","ls","_dragIn","lastLanding_scr","_onNotFound","mode","stopFrameRoute","_drag","win","_isFF","_FFrv","_isOpera","_isKHTML","_isMacOS","_isChrome","_KHTMLrv","_OperaRv","parseFloat","substr","appName","appVersion","compatMode","xpathExp","docObj","namespace","result_type","XPathResult","nodeName","setProperty","selectSingleNode","selectNodes","Array","nodeObj","ownerDocument","retType","ANY_TYPE","FIRST_ORDERED_NODE_TYPE","rowsCol","col","evaluate","singleNodeValue","thisColMemb","iterateNext","catchError","type","func_name","params","alert","getAttribute","toUpperCase","j","xslDoc","paramName","paramValue","item","result","transformNodeToObject","transformNode","XSLProcessor","XSLTProcessor","importStylesheet","transformToDocument","res","xml","xmlSerializer","XMLSerializer","serializeToString","catcher","callObj","eventCatcher","addEvent","callEvent","arg0","checkEvent","dhx_catch","zr","ev","eval","removeEvent","id","detachEvent","list","detachAllEvents","config","usercall","modality","_dhx_msg_cfg","modal_key","code","which","keyCode","message","keyboard","cancelBubble","cover","onkeydown","className","scrollHeight","display","text","css","button_css","info","area","position","hide","onclick","insertBefore","expire","timers","setTimeout","pull","_boxStructure","ok","cancel","setAttribute","inner","width","height","title","content","ok_text","locale","labels","message_ok","undefined","cancel_text","message_cancel","buttons","getElementById","source","_createBox","hidden","x","abs","floor","innerWidth","offsetWidth","y","innerHeight","offsetHeight","focus","modalbox","alertPopup","confirmPopup","boxPopup","box_params","uid","confirm","subtype","seed","hideAll","key","clearTimeout","setTransactionMode","total","_tSend","escape","data","_utf","encodeURIComponent","setDataColumns","val","_columns","getSyncState","enableDataNames","_endnm","enablePartialDataSend","_changed","setUpdateMode","dnd","ignore","master","_silent_mode","setUpdated","rowId","state","ind","findRow","existing","getUserData","set_invalid","setUserData","is_invalid","splice","_clearUpdateFlag","markRow","sendData","_methods","details","getState","toString","checkBeforeUpdate","mytype","_h2","editStop","sendAllData","_beforeSendData","_getRowData","_sendData","serialize","serialize_one","stack","keys","hasOwnProperty","join","security_key","pref","a1","a2","afterUpdate","a3","_user","valid","_getAllData","out","has_one","setVerificator","verifFunction","clearVerificator","pattern","defineAction","_uActions","afterUpdateCallback","sid","tid","action","btag","marker","correct","soid","d","atag","finalizeUpdate","init","anObj","_dp_init","setOnAfterUpdate","enableDebug","setOnBeforeUpdateHandler","func","setAutoUpdate","interval","user","_need_update","_loader","_update_busy","xml_node","afterAutoUpdate","fullSync","self","setInterval","loadUpdate","getUpdates","_v","_a","arr","vers","upds","status","dhtmlXGridObject","_init_point_connector","_init_point","clear_url","hdr","rows","combine_urls","_connector_sorting","_connector_filter","sorting_url","dir","filtering_url","inds","vals","_con_f_used","xmlFileUrl","clearAndLoad","setSortImgState","_in_header_connector_text_filter","_in_header_text_filter","_in_header_connector_select_filter","_in_header_select_filter","load_connector","load","concat","_colls_loaded","cellType","ar","_parseHead_connector","_parseHead","cols","xmlLoader","f","v","combo","getColumnCombo","getCombo","os","lab","addOption","put","init_original","_dataprocessor","_detachDomEvent","removeEventListener","_init_once","getWindowSize","w","clientWidth","h","clientHeight","equals","oldSize","newSize","_resize_timer","update_view","date","_currentDate","_obj","unset_actions","_skin_init","_els","_scroll","_quirks","_quirks7","get_elements","init_templates","set_actions","_init_touch_events","set_sizes","setCurrentView","xy","min_event_height","scale_width","scroll_width","scale_height","month_scale_height","menu_width","margin_top","margin_left","editor_width","month_head_height","edit_save","edit_cancel","_x","_y","scale_x","_table_view","scale_s","set_xy","nav_height","actual_height","data_y","max","els","class_name","attr_value","label","_click","ondblclick","oncontextmenu","_temp_touch_block","_on_mouse_move","_ignore_next_click","_on_mouse_down","_on_mouse_up","_on_dbl_click","src","returnValue","_locate_event","select","_select_id","unselect","updateEvent","getEvent","_mode","_date","min_date","_min_date","max_date","_max_date","editor_id","_edit_id","lightbox_id","_lightbox_id","new_event","_new_event","select_id","expanded","drag_id","_drag_id","drag_mode","_drag_mode","dhx_cal_data","trg","readonly","getActionData","mask","_close_not_saved","dhx_cal_prev_button","dhx_cal_next_button","dummy","step","add","dhx_cal_today_button","dhx_cal_tab","substring","search","delete","confirm_deleting","_dhtmlx_confirm","title_confirm_deleting","deleteEvent","edit","save","showLightbox","opts","addEventNow","start","end","base","constructor","match","event_duration","time_step","start_date","start_hour","first_hour","getHours","setHours","end_date","setTime","_loading","_drag_event","dblclick_create","details_on_dblclick","_timed","_get_column_index","x_pos","column","_cols","_ignores","_week_indexes_from_pos","pos","min","ceil","hour_size_px","_mouse_coords","pageX","pageY","_dy_shift","_colsS","dy","heights","_ignores_detected","preserve_length","_event_length","_get_real_event_length","x_step","x_unit","confirm_closing","title_confirm_closing","positive_closing","_correct_shift","back","getTimezoneOffset","_drag_pos","force_redraw","_get_date_from_pos","_drag_start","getMinutes","fields","_move_pos_shift","custom","time_part","matrix","_get_fictional_event_length","resize_date","_drag_from_start","day","date_part","resize_from_start","cursor","shift","new_end","new_start","limit_drag_out","duration","_get_event_sday","last_hour","getDate","_allow_dnd","update_render","sx","for_rendered","r","classname","_lame_clone","_get_private_properties","_clear_temporary_properties","clean","flagged_event","initial","current_state","touch","_dhx_changed","is_new","edit_on_create","details_on_create","_lame_copy","render_view_data","_trigger_dyn_loading","_load_mode","_load","_render_wait","view","_reset_scale","isViewExists","templates","updateView","prev_scroll","preserve_scroll","dhx_multi_day","tabs","_render_x_header","head","left_border","_get_columns_num","from","to","count_n","_get_timeunit_start","_get_view_end","dd","ed","_calc_scale_sizes","summ","_process_ignores","realcount","_set_scale_col_size","_render_scales","header","data_area","sd","today","scales","cls","week_date_class","drag_resize","drag_move","_scales","week_start","_reset_month_scale","_reset_hours_scale","multi_day","navline","c1","visibility","col_length","c2","cc","hour_scale","scroll_hour","now_date","preserve","ign_date","_render_month_scale","getCellHeight","row","view_start","cd","tdcss","cell_width","cellheight","html","rendered_dates","row_height","month_date_class","body_class","head_class","month_day","bf1","getFullYear","getMonth","divs","getLabel","property","sections","lightbox","map_to","options","updateCollection","list_name","collection","serverList","resetLightbox","cache","Number","String","Boolean","Object","n_ev","section","_focus","fd","end_slot","ev_length","hours","_start_correction","_end_correction","start_slot","render","_get_date_index","per_day","days","_get_section_view","_props","_get_section_property","y_property","_is_initialized","_is_lightbox_open","s","month_short","month_short_hash","month_full","month_full_hash","setMinutes","setSeconds","setMilliseconds","getTime","getDay","start_on_monday","month_start","setDate","year_start","setMonth","day_start","_add_days","inc","ndate","setYear","to_fixed","num","copy","date_to_str","format","utc","Function","str_to_date","splt","getISOWeek","nday","first_thursday","year_number","ordinal_date","week_number","getUTCISOWeek","convert_to_utc","getUTCFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","day_full","day_short","day_tab","week_tab","month_tab","icon_save","icon_cancel","icon_details","icon_edit","icon_delete","section_description","section_time","full_day","confirm_recurring","section_recurring","button_recurring","button_recurring_open","button_edit_series","button_edit_occurrence","agenda_tab","description","year_tab","week_agenda_tab","grid_tab","drag_to_create","drag_to_move","default_date","month_date","load_date","week_date","day_date","hour_date","xml_date","api_date","drag_create","resize_month_events","resize_month_timed","cascade_event_display","cascade_event_count","cascade_event_margin","multi_day_height_limit","drag_lightbox","server_utc","touch_tip","touch_drag","quick_info_detached","drag_highlight","icons_edit","icons_select","buttons_left","buttons_right","highlight_displayed_event","dhx_save_btn","dhx_cancel_btn","dhx_delete_btn","d1","d2","day_scale_date","month_scale_date","week_scale_date","time_picker","event_date","load_format","xml_format","event_header","event_text","event_class","event_bar_date","event_bar_text","month_events_link","drag_marker_class","drag_marker_content","_seed","_events","clearAll","_loaded","clear_view","extra_data","isOneDayEvent","event_updated","setEvent","hash","method","_rendered","changeEventId","new_id","attrs","create_getter","create_setter","is_visible_events","clear_event","in_visible_range","end_dates_visible","hidden_duration","delta","get_visible_events","only_timed","filter_event","filter","_is_main_area_event","evs","hold","_not_render","len","_recalculate_timed","tvs","tvd","_rendered_location","render_data","_view_month_day","_render_month_link","toRender","_sday","_eday","curr","_sweek","getEvents","_get_event_bar_pos","widt","x2","_pre_render_events","render_event_bar","max_evs","max_month_events","_sorder","render_event","hb","bar_height","h_old","_pre_render_events_table","_pre_render_events_line","evl","cellHeight","cells","cHeight","unshift","scroll_fix","scale_settings","sum_width","row_heights","slice","full_multi_day_height","used_multi_day_height","used_multi_day_height_css","multi_day_section","multi_day_icon","overflowY","_get_event_mapped_end_date","separate_short_events","ev_duration","_min_mapped_duration","sort","evs_originals","sh","eh","_inner","t_ev","t_end_date","slot_index","sorderSet","_is_sorder","k","_max_sorder","max_count","_count","_copy_event","_time_order","weeks","chunks_info","first_chunk","last_chunk","chunk_info","locate_s","locate_holder_day","locate_e","_length","stack_line","_first_chunk","_last_chunk","_copy_dummy","_y_from_date","sm","_calc_event_y","min_height","em","menu","menu_offset","locate_holder","pos_y","ev_count","ev_sorder","limit","margin","right","_render_v_bar","_text_style","zIndex","tplClass","cssText","_editor","shiftKey","icons","icons_str","bg_color","color","textColor","highlightEventPosition","contentA","contentB","bottom","cs","cse","container","renderEvent","inner_html","footer_class","past","_get_dnd_order","order","ev_height","max_height","_orig_sorder","evTop","y_event_offset","resize_handle","resizable","left_chunk","right_chunk","resize_left","resize_right","style_text","_edit_stop_event","getRenderedEvent","rendered_events","rendered_event","showEvent","original_color","original_text_color","displayed_event_color","displayed_event_text_color","_append_drag_marker","m","zone","scale","lastChild","previousSibling","_update_marker_position","size","_load_url","prevent_cache","lf","cache_line","temp_to","l","on_load","loader","_process","parse","_magic_parser","_process_loading","_after_call","_init_event","_tagvalue","_init_date","json","_temp","dhx_security","collections","collections_loaded","option","option_key","setLoadMode","array","_userdata","xml_string","skey","bind","itms","itm","attr","ud","udx","_xmlNodeToJSON","child","nodeType","show_loading","ical","RegExp","c_start","c_end","incoming","event_r","e_start","e_end","exec","param","param_r","parse_param","parse_date","dh","dm","dn","UTC","_lightbox_controls","formSection","_lightbox","getLightbox","nextSibling","getValue","form_blocks","get_value","setValue","set_value","get_template_control","control","get_select_control","get_textarea_control","get_time_control","template","sns","textarea","_dhx_onchange","onchange","time","time_format","_time_format_order","cfg","dt","last","first","limit_time_select","p","time_option","year","tdate","_time_values","diff","_fill_lightbox_select","time_values","direct_value","fixed_value","value_found","t_v","selectedIndex","_full_day","wide_form","input","checked","disabled","auto_end_date","_update_lightbox_select","showCover","scroll_top","scroll_left","view_height","scrollWidth","show_cover","_fill_lightbox","lightbox_header","current_sns","block","default_value","_lightbox_out","_empty_lightbox","hide_lightbox","hideCover","hide_cover","_cover","_document_height","_scroll_height","save_lightbox","startLightbox","_custom_lightbox","_temp_lightbox","endLightbox","cancel_lightbox","_init_lightbox_events","index","sec","button_click","setLightboxSize","con","lightbox_additional_height","_init_dnd_events","_move_while_dnd","_finish_dnd","_dnd_start_lb","dhx_unselectable","lb","now","_lb_start","_ready_to_dnd","recurring","test","_lightbox_template","label_name","ds","t_ds","msPointerEnabled","_touch_events","pointerType","MSPOINTER_TYPE_MOUSE","touches","names","accessor","attachTouchEvent","element","check_direction_swipe","s_ev","e_ev","dx","drag_cancel","_hide_global_tip","timer","action_mode","scroll_mode","tracker","a_webkit","dblclicktime","_update_global_tip","fake_event","_block_next_stop","_show_global_tip","toptip","_global_tip","dp","_dp_hook_delete","_validId","_update_callback","upd","_set_event_text_style","_skin_settings","fix_tab_position","use_select_menu_space","_skin_xy","_configure","skin","links","href","set","minic","minicalendar","padding","_old_month_day","old_month_day","navline_divs","minical","jQuery","$","methods","fn","dhx_scheduler","views","each"],"mappings":"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"}
\ No newline at end of file |