Plugin Directory

Changeset 1882925


Ignore:
Timestamp:
05/29/2018 03:30:41 AM (8 years ago)
Author:
Tanaka Hisao
Message:

1.8.9

Location:
salon-booking/trunk
Files:
1 added
8 edited

Legend:

Unmodified
Added
Removed
  • salon-booking/trunk/booking/dhtmlxscheduler.js

    r1742391 r1882925  
    44*/
    55function dtmlXMLLoaderObject(e,t,i,s){return this.xmlDoc="","undefined"!=typeof i?this.async=i:this.async=!0,this.onloadAction=e||null,this.mainObject=t||null,this.waitCall=null,this.rSeed=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,r=window.pageYOffset||s.scrollTop||i.scrollTop,a=window.pageXOffset||s.scrollLeft||i.scrollLeft,n=s.clientTop||i.clientTop||0,d=s.clientLeft||i.clientLeft||0,o=t.top+r-n,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=new Array),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.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){if(e&&"object"==typeof e&&!e.tagName){var i=s.apply(this,t._init?t._init(e):arguments);for(var r in dhtmlx)t[r]&&this[t[r]](dhtmlx[r]);for(var r in e)t[r]?this[t[r]](e[r]):0==r.indexOf("on")&&this.attachEvent(r,e[r])}else var 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&&null!=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){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]);var s=i[0]}else var s=this.xmlDoc.documentElement;if(s)return this._retry=!1,s;if(!this._retry){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,!_isIE&&window.XMLHttpRequest?this.xmlDoc=new XMLHttpRequest:this.xmlDoc=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(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){if(e||(e=window.event),dragger=window.dhtmlDragAndDrop,!((new Date).valueOf()-dragger.downtime<100)){if(!dragger.dragNode){if(!dragger.waitDrag)return dragger.stopDrag(e,!0);if(dragger.dragNode=dragger.dragStartObject._createDragNode(dragger.dragStartNode,e),!dragger.dragNode)return dragger.stopDrag();dragger.dragNode.onselectstart=function(){return!1},dragger.gldragNode=dragger.dragNode,document.body.appendChild(dragger.dragNode),document.body.onmouseup=dragger.stopDrag,dragger.waitDrag=0,dragger.dragNode.pWindow=window,dragger.initFrameRoute()}if(dragger.dragNode.parentNode!=window.document.body&&dragger.gldragNode){var t=dragger.gldragNode;dragger.gldragNode.old&&(t=dragger.gldragNode.old),t.parentNode.removeChild(t);var i=dragger.dragNode.pWindow;if(t.pWindow&&t.pWindow.dhtmlDragAndDrop.lastLanding&&t.pWindow.dhtmlDragAndDrop.lastLanding.dragLanding._dragOut(t.pWindow.dhtmlDragAndDrop.lastLanding),_isIE){var s=document.createElement("Div");s.innerHTML=dragger.dragNode.outerHTML,dragger.dragNode=s.childNodes[0]}else dragger.dragNode=dragger.dragNode.cloneNode(!0);dragger.dragNode.pWindow=window,dragger.gldragNode.old=dragger.dragNode,document.body.appendChild(dragger.dragNode),i.dhtmlDragAndDrop.dragNode=dragger.dragNode}if(dragger.dragNode.style.left=e.clientX+15+(dragger.fx?-1*dragger.fx:0)+(document.body.scrollLeft||document.documentElement.scrollLeft)+"px",dragger.dragNode.style.top=e.clientY+3+(dragger.fy?-1*dragger.fy:0)+(document.body.scrollTop||document.documentElement.scrollTop)+"px",e.srcElement)r=e.srcElement;else var r=e.target;dragger.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 r=parent.dhtmlDragAndDrop.calculateFramePosition(1);i+=1*r.split("_")[0],s+=1*r.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){if(dragger=window.dhtmlDragAndDrop,!t){dragger.stopFrameRoute();var i=dragger.lastLanding;dragger.lastLanding=null,i&&i.dragLanding._drag(dragger.dragStartNode,dragger.dragStartObject,i,_isIE?event.srcElement:e.target)}dragger.lastLanding=null,dragger.dragNode&&dragger.dragNode.parentNode==document.body&&dragger.dragNode.parentNode.removeChild(dragger.dragNode),dragger.dragNode=0,dragger.gldragNode=0,dragger.fx=0,dragger.fy=0,dragger.dragStartNode=0,dragger.dragStartObject=0,document.body.onmouseup=dragger.tempDOMU,document.body.onmousemove=dragger.tempDOMM,dragger.tempDOMU=null,dragger.tempDOMM=null,dragger.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||_FFrv<1.8)&&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)):(_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]),null!=i&&t.setProperty("SelectionNamespaces","xmlns:xsl='"+i+"'"),"single"==s?t.selectSingleNode(e):t.selectNodes(e)||new Array(0);var r=t;t||(t=this.xmlDoc.nodeName?this.xmlDoc:this.xmlDoc.responseXML),t||dhtmlxError.throwError("LoadXML","Incorrect XML",[t||this.xmlDoc,this.mainObject]),-1!=t.nodeName.indexOf("document")?r=t:(r=t,t=t.ownerDocument);var a=XPathResult.ANY_TYPE;"single"==s&&(a=XPathResult.FIRST_ORDERED_NODE_TYPE);var n=new Array,d=t.evaluate(e,r,function(){return i},a,null);if(a==XPathResult.FIRST_ORDERED_NODE_TYPE)return d.singleNodeValue;for(var o=d.iterateNext();o;)n[n.length]=o,o=d.iterateNext();return n},_dhtmlxError.prototype.catchError=function(e,t){this.catches[e]=t},_dhtmlxError.prototype.throwError=function(e,t,i){return this.catches[e]?this.catches[e](e,t,i):this.catches.ALL?this.catches.ALL(e,t,i):(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,r=1;if(!i.length)return[];if("."==i[0])s=[t];else{if(""!=i[0])return[];s=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(i[r].replace(/\[[^\]]*\]/g,"")),r++}for(r;r<i.length;r++)s=this._getAllNamedChilds(s,i[r]);return-1!=i[r-1].indexOf("[")&&(s=this._filterXPath(s,i[r-1])),s},dtmlXMLLoaderObject.prototype._filterXPath=function(e,t){for(var i=new Array,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=new Array;_isKHTML&&(t=t.toUpperCase());for(var s=0;s<e.length;s++)for(var r=0;r<e[s].childNodes.length;r++)_isKHTML?e[s].childNodes[r].tagName&&e[s].childNodes[r].tagName.toUpperCase()==t&&(i[i.length]=e[s].childNodes[r]):e[s].childNodes[r].tagName==t&&(i[i.length]=e[s].childNodes[r]);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");null!=s&&(s.firstChild.nodeValue=t)},dtmlXMLLoaderObject.prototype.doXSLTransToObject=function(e,t){if(e||(e=this.xslDoc),e.responseXML&&(e=e.responseXML),t||(t=this.xmlDoc),t.responseXML&&(t=t.responseXML),_isIE){var 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));var 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(null!=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(0!=e){var t=e.split(":");this[t[0]].removeEvent(t[1])}},obj.detachAllEvents=function(){for(var e in this)0==e.indexOf("ev_")&&delete this[e]},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){var i="dhtmlx_"+e.toLowerCase().replace(/ /g,"_")+"_button";return"<div class='dhtmlx_popup_button "+i+"' result='"+t+"' ><div>"+e+"</div></div>"}function r(e){u.area||(u.area=document.createElement("DIV"),u.area.className="dhtmlx_message_area",u.area.style[u.position]="5px",document.body.appendChild(u.area)),u.hide(e.id);var t=document.createElement("DIV");return t.innerHTML="<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,i,r){var a=document.createElement("DIV");a.className=" dhtmlx_modal_box dhtmlx-"+t.type,a.setAttribute("dhxbox",1);var n="";if(t.width&&(a.style.width=t.width),t.height&&(a.style.height=t.height),t.title&&(n+='<div class="dhtmlx_popup_title">'+t.title+"</div>"),n+='<div class="dhtmlx_popup_text"><span>'+(t.content?"":t.text)+'</span></div><div  class="dhtmlx_popup_controls">',i&&(n+=s(t.ok||"OK",!0)),r&&(n+=s(t.cancel||"Cancel",!1)),t.buttons)for(var d=0;d<t.buttons.length;d++)n+=s(t.buttons[d],d);if(n+="</div>",a.innerHTML=n,t.content){var o=t.content;"string"==typeof o&&(o=document.getElementById(o)),"none"==o.style.display&&(o.style.display=""),a.childNodes[t.title?1:0].appendChild(o)}return a.onclick=function(i){i=i||event;var s=i.target||i.srcElement;s.className||(s=s.parentNode),"dhtmlx_popup_button"==s.className.split(" ")[0]&&(result=s.getAttribute("result"),result="true"==result||("false"==result?!1:result),e(t,result))},t.box=a,(i||r)&&(c=t),a}function n(e,s,r){var n=e.tagName?e:a(e,s,r);e.hidden||i(!0),document.body.appendChild(n);var d=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-n.offsetWidth)/2)),o=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-n.offsetHeight)/2));return"top"==e.position?n.style.top="-3px":n.style.top=o+"px",n.style.left=d+"px",n.onkeydown=t,n.focus(),e.hidden&&dhtmlx.modalbox.hide(n),n}function d(e){return n(e,!0,!1)}function o(e){return n(e,!0,!0)}function l(e){return n(e)}function h(e,t,i){return"object"!=typeof e&&("function"==typeof t&&(i=t,t=""),e={text:e,type:t,callback:i}),e}function _(e,t,i,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(){return text=h.apply(this,arguments),text.type=text.type||"confirm",d(text)},dhtmlx.confirm=function(){return text=h.apply(this,arguments),text.type=text.type||"alert",o(text)},dhtmlx.modalbox=function(){return text=h.apply(this,arguments),text.type=text.type||"alert",l(text)},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 r(e)}};u.seed=(new Date).valueOf(),u.uid=function(){return u.seed++},u.expire=4e3,u.keyboard=!0,u.position="top",u.pull={},u.timers={},u.hideAll=function(){for(var e in u.pull)u.hide(e)},u.hide=function(e){var t=u.pull[e];t&&t.parentNode&&(window.setTimeout(function(){t.parentNode.removeChild(t),t=null},2e3),t.className+=" hidden",u.timers[e]&&window.clearTimeout(u.timers[e]),delete u.pull[e])}}(),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,i){if(!this._silent_mode){var s=this.findRow(e);i=i||"updated";var r=this.obj.getUserData(e,this.action_param);r&&"updated"==i&&(i=r),t?(this.set_invalid(e,!1),this.updatedRows[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="",r=this.is_invalid(e);if(r&&(s=this.styles[r],t=!0),this.callEvent("onRowMark",[e,t,i,r])&&(s=this.styles[t?i:"clear"]+s,this.obj[this._methods[0]](e,s),r&&r.details)){s+=this.styles[r+"_cell"];for(var a=0;a<r.details.length;a++)r.details[a]&&this.obj[this._methods[1]](e,a,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("onValidatationError",[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 r in e)e.hasOwnProperty(r)&&(i.push(this.serialize_one(e[r],r+this.post_delim)),s.push(r));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("onValidatationError",["",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,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 r=e,a="error"!=i&&"invalid"!=i;if(a||this.set_invalid(e,i),this._uActions&&this._uActions[i]&&!this._uActions[i](s))return delete this._in_progress[r];"wait"!=this._in_progress[r]&&this.setUpdated(e,!1);switch(i){case"update":case"updated":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[r],this.callEvent("onAfterUpdate",[e,i,t,s])}"wait"!=this._in_progress[r]?(a&&this.obj.setUserData(e,this.action_param,""),delete this._in_progress[r]):(delete this._in_progress[r],this.setUpdated(t,!0,this.obj.getUserData(e,this.action_param))),this.callEvent("onAfterUpdate",[e,i,t,s])},afterUpdate:function(e,t,i,s,r){if(r.getXMLTopNode("data"),r.xmlDoc.responseXML){for(var a=r.doXPath("//data/action"),n=0;n<a.length;n++){var d=a[n],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 1==this._need_update&&(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 r=i[s].getAttribute("status"),a=i[s].getAttribute("id"),n=i[s].getAttribute("parent");switch(r){case"inserted":e.callEvent("insertCallback",[i[s],a,n]);break;case"updated":e.callEvent("updateCallback",[i[s],a,n]);break;case"deleted":e.callEvent("deleteCallback",[i[s],a,n])}}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 r=0;r<i.length;r++)i[r]="dhx_filter["+i[r]+"]="+encodeURIComponent(s[r]);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 r=this;return this.clearAndLoad(i.call(this,this.xmlFileUrl,e,s),function(){r.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(){if(!this._colls_loaded&&this.cellType){for(var e=[],t=0;t<this.cellType.length;t++)0!=this.cellType[t].indexOf("co")&&2!=this._con_f_used[t]||e.push(t);e.length&&(arguments[0]+=(-1!=arguments[0].indexOf("?")?"&":"?")+"connector=true&dhx_colls="+e.join(","))}return this.load_connector.apply(this,arguments)},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=[],r=null;"combo"==this.cellType[i]&&(r=this.getColumnCombo(i)),0==this.cellType[i].indexOf("co")&&(r=this.getCombo(i));for(var a=this.xmlLoader.doXPath("./item",e[t]),n=0;n<a.length;n++){var d=a[n].getAttribute("value");if(r){var o=a[n].getAttribute("label")||d;r.addOption?r.addOption([[d,o]]):r.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){0!=i[0].status&&alert(i[0].responseText);
    6 }),window.dhtmlXScheduler=window.scheduler={version:"3.7.0"},dhtmlxEventable(scheduler),scheduler.init=function(e,t,i){t=t||scheduler._currentDate(),i=i||"week",scheduler.date.init(),this._obj="string"==typeof e?document.getElementById(e):e,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(),dhtmlxEvent(window,"resize",function(){window.clearTimeout(scheduler._resize_timer),scheduler._resize_timer=window.setTimeout(function(){scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize",[]))},100)}),this._init_touch_events(),this.set_sizes(),scheduler.callEvent("onSchedulerReady",[]),this.setCurrentView(t,i)},scheduler.xy={nav_height:22,min_event_height:40,scale_width:50,bar_height:20,scroll_width:18,scale_height:20,month_scale_height:20,menu_width:25,margin_top:0,margin_left:0,editor_width:140,lightbox_additional_height:50},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 r=this._els.dhx_cal_navline[0].offsetHeight;r>0&&(this.xy.nav_height=r);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,i,s,r){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=r+"px")},scheduler.get_elements=function(){for(var e=this._obj.getElementsByTagName("DIV"),t=0;t<e.length;t++){var i=e[t].className;i&&(i=i.split(" ")[0]),this._els[i]||(this._els[i]=[]),this._els[i].push(e[t]);var s=scheduler.locale.labels[e[t].getAttribute("name")||i];s&&(e[t].innerHTML=s)}},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,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.updateEvent(t)}},scheduler.getState=function(){return{mode:this._mode,date:this._date,min_date:this._min_date,max_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;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()},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,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 r=6e4*(this.config.event_duration||this.config.time_step);e||(e=s.start_date||Math.round(scheduler._currentDate().valueOf()/r)*r);var a=new Date(e);if(!t){var n=this.config.first_hour;this.config.last_hour<24&&n>a.getHours()&&(a.setHours(n),e=a.valueOf()),t=e.valueOf()+r}var d=new Date(t);a.valueOf()==d.valueOf()&&d.setTime(d.valueOf()+r),s.start_date=s.start_date||a,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":case"dhx_marked_timespan":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 r=this["dblclick_"+i];if(r)r.call(this,e);else if(t.parentNode&&t!=this)return scheduler._on_dbl_click(e,t.parentNode)}}},scheduler._mouse_coords=function(e){var t,i=document.body,s=document.documentElement;t=e.pageX||e.pageY?{x:e.pageX,y:e.pageY}:{x:e.clientX+(i.scrollLeft||s.scrollLeft||0)-i.clientLeft,y:e.clientY+(i.scrollTop||s.scrollTop||0)-i.clientTop},t.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width),t.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els.dhx_cal_data[0].scrollTop,t.ev=e;var r=this["mouse_"+this._mode];if(r)return r.call(this,t);if(this._table_view){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,t.x/this._cols[0])+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(t.x/this._cols[0])-1)+7*Math.max(0,a-1))*60/this.config.time_step),t.x=0}else t.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(t.x/this._cols[0])-1)),t.y=Math.max(0,Math.ceil(60*t.y/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step);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 i,s;if(this._edit_id!=this._drag_id&&this._close_not_saved(),this._drag_pos=t,"create"==this._drag_mode){this._close_not_saved(),this._loading=!0,i=this._get_date_from_pos(t).valueOf();var r=this.callEvent("onBeforeEventCreated",[e]);if(!r)return;if(!this._drag_start)return void(this._drag_start=i);s=i,s==this._drag_start;var a=new Date(this._drag_start),n=new Date(s);"day"!=this._mode&&"week"!=this._mode||a.getHours()!=n.getHours()||a.getMinutes()!=n.getMinutes()||(n=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(a,n,this.locale.labels.new_event,this._drag_id,t.fields),this.callEvent("onEventCreated",[this._drag_id,e]),this._loading=!1,this._drag_mode="new-size"}var d=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(d.start_date)),i=this._correct_shift(i),s=d.end_date.valueOf()-(d.start_date.valueOf()-i);else{if(i=d.start_date.valueOf(),s=d.end_date.valueOf(),this._table_view){var o=this._min_date.valueOf()+t.y*this.config.time_step*6e4+(t.custom?0:864e5);"month"==this._mode&&(o=this._correct_shift(o,!1)),t.resize_from_start?i=o:s=o}else{var l;if(this.config.last_hour_48>2400){var h=this.date.date_part(new Date(d.start_date));d.start_date.getHours()<this.config.first_hour&&h.setDate(h.getDate()-1),s=h.valueOf()+t.y*this.config.time_step*6e4}else s=this.date.date_part(new Date(d.end_date)).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 l;this.config.last_hour_48>2400?(l=new Date(s),scheduler._allow_dnd=!0):l=new Date(s-1);var c=new Date(i);if(this._table_view||l.getDate()==c.getDate()&&l.getHours()<this.config.last_hour||scheduler._allow_dnd)if(d.start_date=c,d.end_date=new Date(s),this.config.update_render){var u=scheduler._els.dhx_cal_data[0].scrollTop;this.update_view(),scheduler._els.dhx_cal_data[0].scrollTop=u}else this.updateEvent(this._drag_id);this._table_view&&this.for_rendered(this._drag_id,function(e){e.className+=" dhx_in_move"})}}else if(scheduler.checkEvent("onMouseMove")){var g=this._locate_event(e.target||e.srcElement);this.callEvent("onMouseMove",[g,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 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";break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_matrix_cell":case"dhx_marked_timespan":case"dhx_scale_cell_plus":this._drag_mode="create",this.unselect(this._select_id);break;case"":if(t.parentNode)return scheduler._on_mouse_down(e,t.parentNode);default:if(scheduler.checkEvent("onMouseDown")&&scheduler.callEvent("onMouseDown",[i])&&t.parentNode&&t!=this)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._on_mouse_up=function(e){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;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 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,scheduler._lame_copy(t,this._drag_event),this.updateEvent(t.id))}this._drag_pos&&this.render_view_data()}this._drag_id=null,this._drag_mode=null,this._drag_pos=null},scheduler.update_view=function(){return this._reset_scale(),this._load_mode&&this._load()?this._render_wait=!0:void this.render_view_data()},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 r="dhx_multi_day";this._els[r]&&(this._els[r][0].parentNode.removeChild(this._els[r][0]),this._els[r]=null),this._mode=t,this._date=e,this._table_view="month"==this._mode;var a=this._els.dhx_cal_tab;if(a)for(var n=0;n<a.length;n++){var d=a[n].className;d=d.replace(/ active/g,""),a[n].getAttribute("name")==this._mode+"_tab"&&(d+=" active"),a[n].className=d}var o=this[this._mode+"_view"];o?o(!0):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,e])&&(this.updateView(e,t),this.callEvent("onViewChange",[this._mode,this._date]))},scheduler._render_x_header=function(e,t,i,s){var r=document.createElement("DIV");r.className="dhx_scale_bar";var a=this._cols[e]-1;"month"==this._mode&&0===e&&this.config.left_border&&(r.className+=" dhx_scale_bar_border",t+=1),this.set_xy(r,a,this.xy.scale_height-2,t,0),r.innerHTML=this.templates[this._mode+"_scale_date"](i,this._mode),s.appendChild(r)},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.scrollTop=0,t.innerHTML="";var s=(i.readonly||!i.drag_resize?" dhx_resize_denied":"")+(i.readonly||!i.drag_move?" dhx_move_denied":"");s&&(t.className="dhx_cal_data"+s),this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var r,a,n,d,o=parseInt(e.style.width,10),l=0;a=this.date[this._mode+"_start"](new Date(this._date.valueOf())),r=n=this._table_view?scheduler.date.week_start(a):a,d=this.date.date_part(scheduler._currentDate());var h=scheduler.date.add(a,1,this._mode),_=7;if(!this._table_view){var c=this.date["get_"+this._mode+"_end"];c&&(h=c(a)),_=Math.round((h.valueOf()-a.valueOf())/864e5)}this._min_date=r,this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](a,h,this._mode);for(var u=0;_>u;u++){if(this._cols[u]=Math.floor(o/(_-u)),this._render_x_header(u,l,r,e),!this._table_view){var g=document.createElement("DIV"),f="dhx_scale_holder";r.valueOf()==d.valueOf()&&(f="dhx_scale_holder_now"),g.className=f+" "+this.templates.week_date_class(r,d),this.set_xy(g,this._cols[u]-1,i.hour_size_px*(i.last_hour-i.first_hour),l+this.xy.scale_width+1,0);for(var v=new Date(1980,1,1,this.config.first_hour,0,0),p=1*this.config.first_hour;p<this.config.last_hour;p++){var m=document.createElement("DIV");m.className="dhx_scale_cell_plus dhx_scale_hour",m.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var x=this._cols[u]-1;this.config.left_border&&(x-=1,m.className+=" dhx_scale_hour_border"),m.style.width=x+"px",g.appendChild(m),v=this.date.add(v,1,"hour")}t.appendChild(g),this.callEvent("onScaleAdd",[g,r])}r=this.date.add(r,1,"day"),o-=this._cols[u],l+=this._cols[u],this._colsS[u]=(this._cols[u-1]||0)+(this._colsS[u-1]||(this._table_view?0:this.xy.scale_width+2)),this._colsS.col_length=_+1}if(this._max_date=r,this.config.last_hour_48>2400&&this._max_date.setHours(this.config.last_hour-24),this._colsS[_]=this._cols[_-1]+this._colsS[_-1],this._table_view){this._reset_month_scale(t,a,n),o=parseInt(t.clientWidth,10),l=0;for(var u=0;_>u;u++)this._cols[u]=Math.floor(o/(_-u)),e.childNodes[u].style.width=this._cols[u]-1+"px",e.childNodes[u].style.left=l+"px",o-=this._cols[u],l+=this._cols[u],this._colsS[u]=(this._cols[u-1]||0)+(this._colsS[u-1]||(this._table_view?0:this.xy.scale_width+2));this._colsS[_]=this._cols[_-1]+this._colsS[_-1]}else if(this._reset_hours_scale(t,a,n),i.multi_day){var b="dhx_multi_day";this._els[b]&&(this._els[b][0].parentNode.removeChild(this._els[b][0]),this._els[b]=null);var y=this._els.dhx_cal_navline[0],w=y.offsetHeight+this._els.dhx_cal_header[0].offsetHeight+1,D=document.createElement("DIV");D.className=b,D.style.visibility="hidden",this.set_xy(D,this._colsS[this._colsS.col_length-1]+this.xy.scroll_width,0,0,w),t.parentNode.insertBefore(D,t);var E=D.cloneNode(!0);E.className=b+"_icon",E.style.visibility="hidden",this.set_xy(E,this.xy.scale_width,0,0,w),D.appendChild(E),this._els[b]=[D,E],this._els[b][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 r=document.createElement("DIV");r.className="dhx_scale_hour",r.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var a=this.xy.scale_width;this.config.left_border&&(a-=1,r.className+=" dhx_scale_hour_border"),r.style.width=a+"px",r.innerHTML=scheduler.templates.hour_scale(i),t.appendChild(r),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._reset_month_scale=function(e,t,i){var s=scheduler.date.add(t,1,"month"),r=scheduler._currentDate();this.date.date_part(r),this.date.date_part(i);var a=Math.ceil(Math.round((s.valueOf()-i.valueOf())/864e5)/7),n=[],d=[],o=[],l=Math.floor(e.clientHeight/a)-22;this._colsS.height=l+22;for(var h=this._colsS.heights=[],_=0;7>=_;_++){var c=(this._cols[_]||0)-1;0===_&&this.config.left_border&&(c-=1),n[_]=" style='height:"+l+"px;' ",d[_]=" style='height:22px; width:"+(c-5)+"px;' ",o[_]=" style='height:"+(l+22)+"px; width:"+(c+1)+"px;' "}var u=0;this._min_date=i;for(var g="<table cellpadding='0' cellspacing='0'>",f=[],_=0;a>_;_++){g+="<tr>";for(var v=0;7>v;v++){g+="<td  ";var p="";t>i?p="dhx_before":i>=s?p="dhx_after":i.valueOf()==r.valueOf()&&(p="dhx_now"),g+=" class='"+p+" "+this.templates.month_date_class(i,r)+"' >";var m="dhx_month_body",x="dhx_month_head";0===v&&this.config.left_border&&(m+=" dhx_month_body_border",x+=" dhx_month_head_border"),g+="<div style='position:relative;' >",g+="<div class='"+x+"' >"+this.templates.month_day(i)+"</div>",g+="<div class='"+m+"' "+n[v]+"></div></div></td>",f.push(i),i=this.date.add(i,1,"day")}g+="</tr>",h[_]=u,u+=this._colsS.height}g+="</table>",this._max_date=i,e.innerHTML=g,this._scales={};for(var b=e.getElementsByTagName("div"),_=0;_<f.length;_++){var y=b[3*_+2],w=f[_];this._scales[+w]=y}for(var _=0;_<f.length;_++){var w=f[_];this.callEvent("onScaleAdd",[this._scales[+w],w])}return 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 r=i[s].options,a=0;a<r.length;a++)if(r[a].key==t)return r[a].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,r;for(t=t||[],i=0;i<t.length;i+=2)if(e===t[i])return t[i+1];if(e&&"object"==typeof e){for(r={},s=[Array,Date,Number,String,Boolean],i=0;i<s.length;i++)e instanceof s[i]&&(r=i?new s[i](e):new s[i]);t.push(e,r);for(i in e)Object.prototype.hasOwnProperty.apply(e,[i])&&(r[i]=scheduler._lame_clone(e[i],t))}return r||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.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:function(e,t,i){var s=new Date(e.valueOf());switch(i){case"week":t*=7;case"day":s.setDate(s.getDate()+t),!e.getHours()&&s.getHours()&&s.setTime(s.getTime()+36e5*(24-s.getHours()));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 i="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",s=e.match(/%[a-zA-Z]/g),r=0;r<s.length;r++)switch(s[r]){case"%j":case"%d":i+="set[2]=temp["+r+"]||1;";break;case"%n":case"%m":i+="set[1]=(temp["+r+"]||1)-1;";break;case"%y":i+="set[0]=temp["+r+"]*1+(temp["+r+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":i+="set[3]=temp["+r+"]||0;";break;case"%i":i+="set[4]=temp["+r+"]||0;";break;case"%Y":i+="set[0]=temp["+r+"]||0;";break;case"%a":case"%A":i+="set[3]=set[3]%12+((temp["+r+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":i+="set[5]=temp["+r+"]||0;";break;case"%M":i+="set[1]=scheduler.locale.date.month_short_hash[temp["+r+"]]||0;";break;case"%F":i+="set[1]=scheduler.locale.date.month_full_hash[temp["+r+"]]||0;"}var 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]; "+i+" return new Date("+a+");")},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(),r=Math.round((i.getTime()-new Date(s,0,1).getTime())/864e5),a=1+Math.floor(r/7);return a},getUTCISOWeek:function(e){return this.getISOWeek(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"}},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",hour_size_px:42,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,click_form_details:0,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,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,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,displayed_event_color:"#ffc5ab",displayed_event_text_color:"#7e2727",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)+" &ndash; "+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}}),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,r){if(!arguments.length)return this.addEventNow();var a=e;1!=arguments.length&&(a=r||{},a.start_date=e,a.end_date=t,a.text=i,a.id=s),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 n=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()+n),a._timed=this.is_one_day_event(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 i=this._events[e];(t||this.callEvent("onBeforeEventDelete",[e,i])&&this.callEvent("onConfirmedBeforeEventDelete",[e,i]))&&(i&&(delete this._events[e],this.unselect(e),this.event_updated(i)),this.callEvent("onEventDeleted",[e,i]))},scheduler.getEvent=function(e){return this._events[e]},scheduler.setEvent=function(e,t){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.is_one_day_event(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){return e.start_date<this._max_date&&this._min_date<e.end_date},scheduler.is_one_day_event=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;
    7 },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))}if(this.config.multi_day&&!this._table_view){for(var i=[],s=[],r=0;r<e.length;r++)e[r]._timed?i.push(e[r]):s.push(e[r]);this._rendered_location=this._els.dhx_multi_day[0],this._table_view=!0,this.render_data(s,t),this._table_view=!1,this._rendered_location=this._els.dhx_cal_data[0],this._table_view=!1,this.render_data(i,t)}else this._rendered_location=this._els.dhx_cal_data[0],this.render_data(e,t)},scheduler.render_data=function(e,t){e=this._pre_render_events(e,t);for(var i=0;i<e.length;i++)this._table_view?this.render_event_bar(e[i]):this.render_event(e[i])},scheduler._pre_render_events=function(e,t){var i=this.xy.bar_height,s=this._colsS.heights,r=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=s;else{var n=a.firstChild;if(n.rows){for(var d=0;d<n.rows.length;d++){if(r[d]++,r[d]*i>this._colsS.height-22){for(var o=n.rows[d].cells,l=0;l<o.length;l++)o[l].childNodes[1].style.height=r[d]*i+"px";r[d]=(r[d-1]||0)+o[0].offsetHeight}r[d]=(r[d-1]||0)+n.rows[d].cells[0].offsetHeight}if(r.unshift(0),n.parentNode.offsetHeight<n.parentNode.scrollHeight&&!n._h_fix&&scheduler.xy.scroll_width){for(var d=0;d<n.rows.length;d++){var h=n.rows[d].cells[6].childNodes[0],_=h.offsetWidth-scheduler.xy.scroll_width+"px";h.style.width=_,h.nextSibling.style.width=_}n._h_fix=!0}}else if(e.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(r[0]=-1),e.length||-1==r[0]){var c=(n.parentNode.childNodes,(r[0]+1)*i+1),u=c,g=c+"px";this.config.multi_day_height_limit&&(u=Math.min(c,this.config.multi_day_height_limit),g=u+"px"),a.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+u+"px",a.style.height=this._obj.offsetHeight-parseInt(a.style.top,10)-(this.xy.margin_top||0)+"px";var f=this._els.dhx_multi_day[0];f.style.height=g,f.style.visibility=-1==r[0]?"hidden":"visible";var v=this._els.dhx_multi_day[1];v.style.height=g,v.style.visibility=-1==r[0]?"hidden":"visible",v.className=r[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(r[0]+1)*i,r[0]=0,u!=c&&(a.style.top=parseInt(a.style.top)+2+"px",f.style.overflowY="auto",f.style.width=parseInt(f.style.width)-2+"px",v.style.position="fixed",v.style.top="",v.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 r=0;r<e.length;r++){var a=e[r],n=a.start_date,d=a.end_date,o=n.getHours(),l=d.getHours();if(a._sday=this._get_event_sday(a),this.config.last_hour_48>2400&&a.start_date.getHours()<this.config.first_hour&&(a._sday-=1),i[a._sday]||(i[a._sday]=[]),!t){a._inner=!1;for(var h=i[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=!1,g=0;g<h.length;g++){var _=h[g],c=this._get_event_mapped_end_date(_);if(c.valueOf()<=a.start_date.valueOf()){u=!0,a._sorder=_._sorder,h.splice(g,1),a._inner=!0;break}}if(h.length&&(h[h.length-1]._inner=!0),!u)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 f=!1,v=0;v<h.length;v++)if(h[v]._sorder==g){f=!0;break}if(!f){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.push(a),h.length>(h.max_count||0)?(h.max_count=h.length,a._count=h.length):a._count=a._count?a._count:1}this.config.last_hour_48>2400&&(o<this.config.first_hour&&(o+=24),l<this.config.first_hour&&(l+=24)),(o<this.config.first_hour||l>=this.config.last_hour)&&(s.push(a),e[r]=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(r,1),r--)}if(!t){for(var r=0;r<e.length;r++)e[r]._count=i[e[r]._sday].max_count;for(var r=0;r<s.length;r++)s[r]._count=i[s[r]._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=[],r=[[],[],[],[],[],[],[]],a=this._colsS.heights,n=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 g=this.locate_holder_day(c,!1,l);l._sday=g%n;var f=this.locate_holder_day(u,!0,l)||n;l._eday=f%n||n,l._length=f-g,l._sweek=Math.floor((this._correct_shift(c.valueOf(),1)-this._min_date.valueOf())/(864e5*n));var v,p=r[l._sweek];for(v=0;v<p.length&&!(p[v]._eday<=l._sday);v++);if(l._sorder&&t||(l._sorder=v),l._sday+l._length<=n)i=null,s.push(l),p[v]=l,a[l._sweek]=p.length-1,l._first_chunk=_.first_chunk,l._last_chunk=_.last_chunk;else{var m=this._copy_event(l);m.id=l.id,m._length=n-l._sday,m._eday=n,m._sday=l._sday,m._sweek=l._sweek,m._sorder=l._sorder,m.end_date=this.date.add(c,m._length,"day"),m._first_chunk=_.first_chunk,_.first_chunk&&(_.first_chunk=!1),s.push(m),p[v]=m,i=m.end_date,a[l._sweek]=p.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.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 r=60*e.start_date.getHours()+e.start_date.getMinutes();if(this.config.last_hour_48>2400){e.start_date.getHours()<this.config.first_hour&&(r+=1440);var a=60*e.end_date.getHours()+e.end_date.getMinutes();e.end_date.getHours()<this.config.first_hour&&(a+=1440)}else var a=60*e.end_date.getHours()+e.end_date.getMinutes()||60*scheduler.config.last_hour;var n=e._count||1,d=e._sorder||0,o=Math.round((60*r*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px),l=Math.max(scheduler.xy.min_event_height,(a-r)*this.config.hour_size_px/60),h=Math.floor((s.clientWidth-i)/n),_=d*h+1;if(e._inner||(h*=n-d),this.config.cascade_event_display){var c=this.config.cascade_event_count,u=this.config.cascade_event_margin;_=d%c*u;var g=e._inner?(n-d-1)%c*u/2:0;h=Math.floor(s.clientWidth-i-_-g)}var f=this._render_v_bar(e.id,i+_,o,h,l,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),_=_+parseInt(s.style.left,10)+i,this._edit_id==e.id){f.style.zIndex=1,h=Math.max(h-4,scheduler.xy.editor_width),f=document.createElement("DIV"),f.setAttribute("event_id",e.id),this.set_xy(f,h,l-20,_,o+14),f.className="dhx_cal_editor";var v=document.createElement("DIV");this.set_xy(v,h-6,l-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=l-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},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 p=this.config["icons_"+(this._edit_id==e.id?"edit":"select")],m="",x=e.color?"background-color: "+e.color+";":"",b=e.textColor?"color: "+e.textColor+";":"",y=0;y<p.length;y++)m+="<div class='dhx_menu_icon "+p[y]+"' style='"+x+b+"' title='"+this.locale.labels[p[y]]+"'></div>";var w=this._render_v_bar(e.id,_-t+1,o,t,20*p.length+26-2,"","<div style='"+x+b+"' class='dhx_menu_head'></div>",m,!0);w.style.left=_-t+1,this._els.dhx_cal_data[0].appendChild(w),this._rendered.push(w)}}}},scheduler._render_v_bar=function(e,t,i,s,r,a,n,d,o){var l=document.createElement("DIV"),h=this.getEvent(e),_=o?"dhx_cal_event dhx_cal_select_menu":"dhx_cal_event",c=scheduler.templates.event_class(h.start_date,h.end_date,h);c&&(_=_+" "+c);var u=h.color?"background:"+h.color+";":"",g=h.textColor?"color:"+h.textColor+";":"",f='<div event_id="'+e+'" class="'+_+'" style="position:absolute; top:'+i+"px; left:"+t+"px; width:"+(s-4)+"px; height:"+r+"px;"+(a||"")+'"></div>';l.innerHTML=f;var v=l.cloneNode(!0).firstChild;if(scheduler.renderEvent&&!o&&scheduler.renderEvent(v,h))return v;v=l.firstChild;var p='<div class="dhx_event_move dhx_header" style=" width:'+(s-6)+"px;"+u+'" >&nbsp;</div>';p+='<div class="dhx_event_move dhx_title" style="'+u+g+'">'+n+"</div>",p+='<div class="dhx_body" style=" width:'+(s-(this._quirks?4:14))+"px; height:"+(r-(this._quirks?20:30)+1)+"px;"+u+g+'">'+d+"</div>";var m="dhx_event_resize dhx_footer";return o&&(m="dhx_resize_denied "+m),p+='<div class="'+m+'" style=" width:'+(s-8)+"px;"+(o?" margin-top:-1px;":"")+u+g+'" ></div>',v.innerHTML=p,v},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.render_event_bar=function(e){var t=this._rendered_location,i=this._colsS[e._sday],s=this._colsS[e._eday];s==i&&(s=this._colsS[e._eday+1]);var r=this.xy.bar_height,a=e.id==this._drag_id?0:e._sorder*r,n=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+a,d=document.createElement("DIV"),o="dhx_cal_event_clear";e._timed||(o="dhx_cal_event_line",e.hasOwnProperty("_first_chunk")&&e._first_chunk&&(o+=" dhx_cal_event_line_start"),e.hasOwnProperty("_last_chunk")&&e._last_chunk&&(o+=" dhx_cal_event_line_end"));var l=scheduler.templates.event_class(e.start_date,e.end_date,e);l&&(o=o+" "+l);var h=e.color?"background:"+e.color+";":"",_=e.textColor?"color:"+e.textColor+";":"",c='<div event_id="'+e.id+'" class="'+o+'" style="position:absolute; top:'+n+"px; left:"+i+"px; width:"+(s-i-15)+"px;"+_+h+(e._text_style||"")+'">';e=scheduler.getEvent(e.id),e._timed&&(c+=scheduler.templates.event_bar_date(e.start_date,e.end_date,e)),c+=scheduler.templates.event_bar_text(e.start_date,e.end_date,e)+"</div>",c+="</div>",d.innerHTML=c,this._rendered.push(d.firstChild),t.appendChild(d.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 r=this._events[s];r&&(!e&&!t||r.start_date<t&&r.end_date>e)&&i.push(r)}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 r=scheduler.config.preserve_scroll;scheduler.config.preserve_scroll=!1;var a=i.color,n=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=a,i.textColor=n,scheduler.config.scroll_hour=s,scheduler.config.preserve_scroll=r,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._loaded={},scheduler._load=function(e,t){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 r=!0;i<this._max_date;)i=this.date.add(i,1,this._load_mode),this._loaded[s(t)]&&r?t=this.date.add(t,1,this._load_mode):r=!1;var a=i;do i=a,a=this.date.add(i,-1,this._load_mode);while(a>t&&this._loaded[s(a)]);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?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=e.start_date?scheduler.templates.xml_date(e.start_date):null,e.end_date=e.end_date?scheduler.templates.xml_date(e.end_date):null},scheduler.json={},scheduler.json.parse=function(data){"string"==typeof data&&(scheduler._temp=eval("("+data+")"),data=scheduler._temp?scheduler._temp.data||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.refresh=function(){alert("not implemented")},scheduler.serverList=function(e,t){return t?this.serverList[e]=t.slice(0):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 r=e.doXPath("//coll_options"),a=0;a<r.length;a++){var n=r[a].getAttribute("for"),d=this.serverList[n];if(d){d.splice(0,d.length);for(var o=e.doXPath(".//item",r[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 g=_[u];"value"!=g.nodeName&&"label"!=g.nodeName&&(c[g.nodeName]=g.nodeValue)}d.push(c)}}}r.length&&scheduler.callEvent("onOptionsLoad",[]);for(var f=e.doXPath("//userdata"),a=0;a<f.length;a++){var v=this.xmlNodeToJSON(f[a]);this._userdata[v.name]=v.text}var p=[];t=e.doXPath("//event");for(var a=0;a<t.length;a++){var m=p[a]=this.xmlNodeToJSON(t[a]);scheduler._init_event(m)}return p},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;(e=this.config.show_loading)&&"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=[],r=RegExp("(?:"+this.e_start+")([^\f]*?)(?:"+this.e_end+")","g");i=r.exec(t);){for(var a,n={},d=/[^\r\n]+[\r\n]+/g;a=d.exec(i[1]);)this.parse_param(a.toString(),n);n.uid&&!n.id&&(n.id=n.uid),s.push(n)}return s}},parse_param:function(e,t){var i=e.indexOf(":");if(-1!=i){var s=e.substr(0,i).toLowerCase(),r=e.substr(i+1).replace(/\\\,/g,",").replace(/[\r\n]+$/,"");"summary"==s?s="text":"dtstart"==s?(s="start_date",r=this.parse_date(r,0,0)):"dtend"==s&&(s="end_date",r=this.parse_date(r,0,0)),t[s]=r}},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 r=s[0].substr(0,4),a=parseInt(s[0].substr(4,2),10)-1,n=s[0].substr(6,2);return scheduler.config.server_utc&&!s[1]?new Date(Date.UTC(r,a,n,t,i)):new Date(r,a,n,t,i)},c_start:"BEGIN:VCALENDAR",e_start:"BEGIN:VEVENT",e_end:"END:VEVENT",c_end:"END:VCALENDAR"},scheduler.lightbox={},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 r=document.getElementById(s.id),a=r.nextSibling,n={section:s,header:r,node:a,getValue:function(e){return scheduler.form_blocks[s.type].get_value(a,e||{},s)},setValue:function(e,t){return scheduler.form_blocks[s.type].set_value(a,e,t||{},s)}},d=scheduler.lightbox["get_"+s.type+"_control"];return d?d(n):n},scheduler.lightbox.get_template_control=function(e){return e.control=e.node,e},scheduler.lightbox.get_select_control=function(e){return e.control=e.node.getElementsByTagName("select")[0],e},scheduler.lightbox.get_textarea_control=function(e){return e.control=e.node.getElementsByTagName("textarea")[0],e},scheduler.lightbox.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",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 r=e.firstChild;!r._dhx_onchange&&s.onchange&&(r.onchange=s.onchange,r._dhx_onchange=!0),"undefined"==typeof t&&(t=(r.options[0]||{}).value),r.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()),r=1440,a=0;scheduler.config.limit_time_select&&(r=60*i.last_hour+1,a=60*i.first_hour,s.setHours(i.first_hour));for(var n="",d=0;d<t.length;d++){var o=t[d];switch(d>0&&(n+=" "),o){case"%Y":e._time_format_order[3]=d,n+="<select>";for(var l=s.getFullYear()-5,h=0;10>h;h++)n+="<option value='"+(l+h)+"'>"+(l+h)+"</option>";n+="</select> ";break;case"%m":e._time_format_order[2]=d,n+="<select>";for(var h=0;12>h;h++)n+="<option value='"+h+"'>"+this.locale.date.month_full[h]+"</option>";n+="</select>";break;case"%d":e._time_format_order[1]=d,n+="<select>";for(var h=1;32>h;h++)n+="<option value='"+h+"'>"+h+"</option>";n+="</select>";break;case"%H:%i":e._time_format_order[0]=d,n+="<select>";var h=a,_=s.getDate();for(e._time_values=[];r>h;){var c=this.templates.time_picker(s);n+="<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()}n+="</select>"}}return"<div style='height:30px;padding-top:0px;font-size:inherit;' class='dhx_section_time'>"+n+"<span style='font-weight:normal; font-size:10pt;'> &nbsp;&ndash;&nbsp; </span>"+n+"</div>"},set_value:function(e,t,i,s){function r(){var e=new Date(d[o[3]].value,d[o[2]].value,d[o[1]].value,0,d[o[0]].value),t=new Date(e.getTime()+60*scheduler.config.event_duration*1e3);a(d,4,t)}function a(e,t,i){for(var r=s._time_values,a=60*i.getHours()+i.getMinutes(),n=a,d=!1,l=0;l<r.length;l++){var h=r[l];if(h===a){d=!0;break}a>h&&(n=h)}e[t+o[0]].value=d?a:n,d||n||(e[t+o[0]].selectedIndex=-1),e[t+o[1]].value=i.getDate(),e[t+o[2]].value=i.getMonth(),e[t+o[3]].value=i.getFullYear()}var n=scheduler.config,d=e.getElementsByTagName("select"),o=s._time_format_order;if(n.full_day){if(!e._full_day){var l="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+"&nbsp;</label></input>";scheduler.config.wide_form||(l=e.previousSibling.innerHTML+l),e.previousSibling.innerHTML=l,e._full_day=!0}var h=e.previousSibling.getElementsByTagName("input")[0];h.checked=0===scheduler.date.time_part(i.start_date)&&0===scheduler.date.time_part(i.end_date),d[o[0]].disabled=h.checked,d[o[0]+d.length/2].disabled=h.checked,h.onclick=function(){if(h.checked){var t={};scheduler.form_blocks.time.get_value(e,t,s);var r=scheduler.date.date_part(t.start_date),n=scheduler.date.date_part(t.end_date);(+n==+r||+n>=+r&&(0!=i.end_date.getHours()||0!=i.end_date.getMinutes()))&&(n=scheduler.date.add(n,1,"day"))}d[o[0]].disabled=h.checked,d[o[0]+d.length/2].disabled=h.checked,a(d,0,r||i.start_date),a(d,4,n||i.end_date)}}if(n.auto_end_date&&n.event_duration)for(var _=0;4>_;_++)d[_].onchange=r;a(d,0,i.start_date),a(d,4,i.end_date)},get_value:function(e,t,i){s=e.getElementsByTagName("select");var r=i._time_format_order;return t.start_date=new Date(s[r[3]].value,s[r[2]].value,s[r[1]].value,0,s[r[0]].value),t.end_date=new Date(s[r[3]+4].value,s[r[2]+4].value,s[r[1]+4].value,0,s[r[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;t?e.style.top=Math.round(t+Math.max((s-e.offsetHeight)/2,0))+"px":e.style.top=Math.round(Math.max((s-e.offsetHeight)/2,0)+9)+"px",document.documentElement.scrollWidth>document.body.offsetWidth?e.style.left=Math.round(i+(document.body.offsetWidth-e.offsetWidth)/2)+"px":e.style.left=Math.round((document.body.offsetWidth-e.offsetWidth)/2)+"px"}this.show_cover()},scheduler.showLightbox=function(e){if(e){if(!this.callEvent("onBeforeLightbox",[e]))return void(this._new_event&&(this._new_event=null));var t=this.getLightbox();this.showCover(t),this._fill_lightbox(e,t),this.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 r=this.config.lightbox.sections,a=0;a<r.length;a++){var n=r[a],d=document.getElementById(n.id).nextSibling,o=this.form_blocks[n.type],l=void 0!==i[n.map_to]?i[n.map_to]:n.default_value;o.set_value.call(this,d,l,i,n),r[a].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 r=this.form_blocks[t[i].type],a=r.get_value.call(this,s,e,t[i]);"auto"!=t[i].map_to&&(e[t[i].map_to]=a)}return e},scheduler._empty_lightbox=function(e){var t=scheduler._lightbox_id,i=this.getEvent(t);this.getLightbox();this._lame_copy(i,e),i._timed=this.is_one_day_event(i),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(){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._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._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 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,r,a;-1!=t.className.indexOf("dhx_custom_button")&&(-1!=t.className.indexOf("dhx_custom_button_")?(s=t.parentNode.getAttribute("index"),a=t.parentNode.parentNode):(s=t.getAttribute("index"),a=t.parentNode,t=t.firstChild)),s&&(r=scheduler.form_blocks[scheduler.config.lightbox.sections[s].type],r.button_click(s,t,a,a.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(),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,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>";
    8 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 r=this.config.lightbox.sections;t="";for(var s=0;s<r.length;s++){var a=this.form_blocks[r[s].type];if(a){r[s].id="area_"+this.uid();var n="";r[s].button&&(n="<div class='dhx_custom_button' index='"+s+"'><div class='dhx_custom_button_"+r[s].button+"'></div><div>"+this.locale.labels["button_"+r[s].button]+"</div></div>"),this.config.wide_form&&(t+="<div class='dhx_wrap_section'>"),t+="<div id='"+r[s].id+"' class='dhx_cal_lsection'>"+n+this.locale.labels["section_"+r[s].name]+"</div>"+a.render.call(this,r[s]),t+="</div>"}}for(var d=e.getElementsByTagName("div"),s=0;s<d.length;s++){var o=d[s];if("dhx_cal_larea"==o.className){o.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'>&nbsp;</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._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){if(e&&t){var s=Math.abs(e.pageY-t.pageY),r=Math.abs(e.pageX-t.pageX);r>i&&(!s||r/s>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button())}}function r(e){i(e)||(scheduler._hide_global_tip(),o&&(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(d),o=l=h=!1)}var a,n,d,o,l,h,_=-1!=navigator.userAgent.indexOf("Android")&&-1!=navigator.userAgent.indexOf("WebKit"),c=0;dhtmlxEvent(document.body,e[0],function(e){if(!i(e)){if(o)return scheduler._on_mouse_move(t(e)),scheduler._update_global_tip(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1;if(n&&_&&s(n,t(e),0),n=t(e),h)return n?void((a.target!=n.target||Math.abs(a.pageX-n.pageX)>5||Math.abs(a.pageY-n.pageY)>5)&&(l=!0,clearTimeout(d))):void(l=!0)}}),dhtmlxEvent(this._els.dhx_cal_data[0],"scroll",r),dhtmlxEvent(this._els.dhx_cal_data[0],"touchcancel",r),dhtmlxEvent(this._els.dhx_cal_data[0],"contextmenu",function(e){return h?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),dhtmlxEvent(this._els.dhx_cal_data[0],e[1],function(e){if(!i(e)){o=l=n=!1,h=!0,scheduler._temp_touch_block=!0;var s=n=t(e);if(!s)return void(l=!0);var r=new Date;if(!l&&!o&&250>r-c)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;c=r,l||o||!scheduler.config.touch_drag||(d=setTimeout(function(){o=!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)}}),dhtmlxEvent(this._els.dhx_cal_data[0],e[2],function(e){return i(e)?void 0:(o||s(a,n,200),o&&(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>")}"create"==scheduler._drag_mode||"new-size"==scheduler._drag_mode?t.innerHTML=(scheduler.locale.drag_to_create||"Drag to create")+i:t.innerHTML=(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=["setEventTextStyle","","changeEventId","deleteEvent"],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("_")&&(t[s]&&t[s].getUTCFullYear?i[s]=this.obj.templates.xml_format(t[s]):i[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.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.setEventTextStyle=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.validId=function(){return!0},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)};
     6}),window.dhtmlXScheduler=window.scheduler={version:"3.7.0"},dhtmlxEventable(scheduler),scheduler.init=function(e,t,i){t=t||scheduler._currentDate(),i=i||"week",scheduler.date.init(),this._obj="string"==typeof e?document.getElementById(e):e,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(),dhtmlxEvent(window,"resize",function(){window.clearTimeout(scheduler._resize_timer),scheduler._resize_timer=window.setTimeout(function(){scheduler.callEvent("onSchedulerResize",[])&&(scheduler.update_view(),scheduler.callEvent("onAfterSchedulerResize",[]))},100)}),this._init_touch_events(),this.set_sizes(),scheduler.callEvent("onSchedulerReady",[]),this.setCurrentView(t,i)},scheduler.xy={nav_height:22,min_event_height:40,scale_width:50,bar_height:20,scroll_width:18,scale_height:20,month_scale_height:20,menu_width:25,margin_top:0,margin_left:0,editor_width:140,lightbox_additional_height:50},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 r=this._els.dhx_cal_navline[0].offsetHeight;r>0&&(this.xy.nav_height=r);var a=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0);"month"==this._mode?this.set_xy(this._els.dhx_cal_data[0],e,t-(a+2),0,a+2):this.set_xy(this._els.dhx_cal_data[0],e,t-(a+2),0,a+2)},scheduler.set_xy=function(e,t,i,s,r){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=r+"px")},scheduler.get_elements=function(){for(var e=this._obj.getElementsByTagName("DIV"),t=0;t<e.length;t++){var i=e[t].className;i&&(i=i.split(" ")[0]),this._els[i]||(this._els[i]=[]),this._els[i].push(e[t]);var s=scheduler.locale.labels[e[t].getAttribute("name")||i];s&&(e[t].innerHTML=s)}},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,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.updateEvent(t)}},scheduler.getState=function(){return{mode:this._mode,date:this._date,min_date:this._min_date,max_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;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()},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,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 r=6e4*(this.config.event_duration||this.config.time_step);e||(e=s.start_date||Math.round(scheduler._currentDate().valueOf()/r)*r);var a=new Date(e);if(!t){var n=this.config.first_hour;this.config.last_hour<24&&n>a.getHours()&&(a.setHours(n),e=a.valueOf()),t=e.valueOf()+r}var d=new Date(t);a.valueOf()==d.valueOf()&&d.setTime(d.valueOf()+r),s.start_date=s.start_date||a,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":case"dhx_marked_timespan":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 r=this["dblclick_"+i];if(r)r.call(this,e);else if(t.parentNode&&t!=this)return scheduler._on_dbl_click(e,t.parentNode)}}},scheduler._mouse_coords=function(e){var t,i=document.body,s=document.documentElement;t=e.pageX||e.pageY?{x:e.pageX,y:e.pageY}:{x:e.clientX+(i.scrollLeft||s.scrollLeft||0)-i.clientLeft,y:e.clientY+(i.scrollTop||s.scrollTop||0)-i.clientTop},t.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width),t.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els.dhx_cal_data[0].scrollTop,t.ev=e;var r=this["mouse_"+this._mode];if(r)return r.call(this,t);if(this._table_view){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,t.x/this._cols[0])+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(t.x/this._cols[0])-1)+7*Math.max(0,a-1))*60/this.config.time_step),t.x=0}else t.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(t.x/this._cols[0])-1)),t.y=Math.max(0,Math.ceil(60*t.y/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step);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 i,s;if(this._edit_id!=this._drag_id&&this._close_not_saved(),this._drag_pos=t,"create"==this._drag_mode){this._close_not_saved(),this._loading=!0,i=this._get_date_from_pos(t).valueOf();var r=this.callEvent("onBeforeEventCreated",[e]);if(!r)return;if(!this._drag_start)return void(this._drag_start=i);s=i,s==this._drag_start;var a=new Date(this._drag_start),n=new Date(s);"day"!=this._mode&&"week"!=this._mode||a.getHours()!=n.getHours()||a.getMinutes()!=n.getMinutes()||(n=new Date(this._drag_start+1e3)),this._drag_id=this.uid(),this.addEvent(a,n,this.locale.labels.new_event,this._drag_id,t.fields),this.callEvent("onEventCreated",[this._drag_id,e]),this._loading=!1,this._drag_mode="new-size"}var d=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(d.start_date)),i=this._correct_shift(i),s=d.end_date.valueOf()-(d.start_date.valueOf()-i);else{if(i=d.start_date.valueOf(),s=d.end_date.valueOf(),this._table_view){var o=this._min_date.valueOf()+t.y*this.config.time_step*6e4+(t.custom?0:864e5);"month"==this._mode&&(o=this._correct_shift(o,!1)),t.resize_from_start?i=o:s=o}else{var l;if(this.config.last_hour_48>2400){var h=this.date.date_part(new Date(d.start_date));d.start_date.getHours()<this.config.first_hour&&h.setDate(h.getDate()-1),s=h.valueOf()+t.y*this.config.time_step*6e4}else s=this.date.date_part(new Date(d.end_date)).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 l;this.config.last_hour_48>2400?(l=new Date(s),scheduler._allow_dnd=!0):l=new Date(s-1);var c=new Date(i);if(this._table_view||l.getDate()==c.getDate()&&l.getHours()<this.config.last_hour||scheduler._allow_dnd)if(d.start_date=c,d.end_date=new Date(s),this.config.update_render){var u=scheduler._els.dhx_cal_data[0].scrollTop;this.update_view(),scheduler._els.dhx_cal_data[0].scrollTop=u}else this.updateEvent(this._drag_id);this._table_view&&this.for_rendered(this._drag_id,function(e){e.className+=" dhx_in_move"})}}else if(scheduler.checkEvent("onMouseMove")){var g=this._locate_event(e.target||e.srcElement);this.callEvent("onMouseMove",[g,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 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";break;case"dhx_scale_holder":case"dhx_scale_holder_now":case"dhx_month_body":case"dhx_matrix_cell":case"dhx_marked_timespan":case"dhx_scale_cell_plus":this._drag_mode="create",this.unselect(this._select_id);break;case"":if(t.parentNode)return scheduler._on_mouse_down(e,t.parentNode);default:if(scheduler.checkEvent("onMouseDown")&&scheduler.callEvent("onMouseDown",[i])&&t.parentNode&&t!=this)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._on_mouse_up=function(e){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;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 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,scheduler._lame_copy(t,this._drag_event),this.updateEvent(t.id))}this._drag_pos&&this.render_view_data()}this._drag_id=null,this._drag_mode=null,this._drag_pos=null},scheduler.update_view=function(){return this._reset_scale(),this._load_mode&&this._load()?this._render_wait=!0:void this.render_view_data()},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 r="dhx_multi_day";this._els[r]&&(this._els[r][0].parentNode.removeChild(this._els[r][0]),this._els[r]=null),this._mode=t,this._date=e,this._table_view="month"==this._mode;var a=this._els.dhx_cal_tab;if(a)for(var n=0;n<a.length;n++){var d=a[n].className;d=d.replace(/ active/g,""),a[n].getAttribute("name")==this._mode+"_tab"&&(d+=" active"),a[n].className=d}var o=this[this._mode+"_view"];o?o(!0):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,e])&&(this.updateView(e,t),this.callEvent("onViewChange",[this._mode,this._date]))},scheduler._render_x_header=function(e,t,i,s){var r=document.createElement("DIV");r.className="dhx_scale_bar";var a=this._cols[e]-1;"month"==this._mode&&0===e&&this.config.left_border&&(r.className+=" dhx_scale_bar_border",t+=1),this.set_xy(r,a,this.xy.scale_height-2,t,0),r.innerHTML=this.templates[this._mode+"_scale_date"](i,this._mode),s.appendChild(r)},scheduler._reset_scale=function(){if(this._table_view?this._els.dhx_cal_data[0].style.cssText=this._els.dhx_cal_data[0].style.cssText+"overflow-y:hidden;":this._els.dhx_cal_data[0].style.cssText=this._els.dhx_cal_data[0].style.cssText+"overflow-y:auto;",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.scrollTop=0,t.innerHTML="";var s=(i.readonly||!i.drag_resize?" dhx_resize_denied":"")+(i.readonly||!i.drag_move?" dhx_move_denied":"");s&&(t.className="dhx_cal_data"+s),this._scales={},this._cols=[],this._colsS={height:0},this._dy_shift=0,this.set_sizes();var r,a,n,d,o=parseInt(e.style.width,10),l=0;a=this.date[this._mode+"_start"](new Date(this._date.valueOf())),r=n=this._table_view?scheduler.date.week_start(a):a,d=this.date.date_part(scheduler._currentDate());var h=scheduler.date.add(a,1,this._mode),_=7;if(!this._table_view){var c=this.date["get_"+this._mode+"_end"];c&&(h=c(a)),_=Math.round((h.valueOf()-a.valueOf())/864e5)}this._min_date=r,this._els.dhx_cal_date[0].innerHTML=this.templates[this._mode+"_date"](a,h,this._mode);for(var u=0;_>u;u++){if(this._cols[u]=Math.floor(o/(_-u)),this._render_x_header(u,l,r,e),!this._table_view){var g=document.createElement("DIV"),f="dhx_scale_holder";r.valueOf()==d.valueOf()&&(f="dhx_scale_holder_now"),g.className=f+" "+this.templates.week_date_class(r,d),this.set_xy(g,this._cols[u]-1,i.hour_size_px*(i.last_hour-i.first_hour),l+this.xy.scale_width+1,0);for(var v=new Date(1980,1,1,this.config.first_hour,0,0),p=1*this.config.first_hour;p<this.config.last_hour;p++){var m=document.createElement("DIV");m.className="dhx_scale_cell_plus dhx_scale_hour",m.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var x=this._cols[u]-1;this.config.left_border&&(x-=1,m.className+=" dhx_scale_hour_border"),m.style.width=x+"px",g.appendChild(m),v=this.date.add(v,1,"hour")}t.appendChild(g),this.callEvent("onScaleAdd",[g,r])}r=this.date.add(r,1,"day"),o-=this._cols[u],l+=this._cols[u],this._colsS[u]=(this._cols[u-1]||0)+(this._colsS[u-1]||(this._table_view?0:this.xy.scale_width+2)),this._colsS.col_length=_+1}if(this._max_date=r,this.config.last_hour_48>2400&&this._max_date.setHours(this.config.last_hour-24),this._colsS[_]=this._cols[_-1]+this._colsS[_-1],this._table_view){this._reset_month_scale(t,a,n),o=parseInt(t.clientWidth,10),l=0;for(var u=0;_>u;u++)this._cols[u]=Math.floor(o/(_-u)),e.childNodes[u].style.width=this._cols[u]-1+"px",e.childNodes[u].style.left=l+"px",o-=this._cols[u],l+=this._cols[u],this._colsS[u]=(this._cols[u-1]||0)+(this._colsS[u-1]||(this._table_view?0:this.xy.scale_width+2));this._colsS[_]=this._cols[_-1]+this._colsS[_-1]}else if(this._reset_hours_scale(t,a,n),i.multi_day){var b="dhx_multi_day";this._els[b]&&(this._els[b][0].parentNode.removeChild(this._els[b][0]),this._els[b]=null);var y=this._els.dhx_cal_navline[0],w=y.offsetHeight+this._els.dhx_cal_header[0].offsetHeight+1,D=document.createElement("DIV");D.className=b,D.style.visibility="hidden",this.set_xy(D,this._colsS[this._colsS.col_length-1]+this.xy.scroll_width,0,0,w),t.parentNode.insertBefore(D,t);var E=D.cloneNode(!0);E.className=b+"_icon",E.style.visibility="hidden",this.set_xy(E,this.xy.scale_width,0,0,w),D.appendChild(E),this._els[b]=[D,E],this._els[b][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 r=document.createElement("DIV");r.className="dhx_scale_hour",r.style.height=this.config.hour_size_px-(this._quirks?0:1)+"px";var a=this.xy.scale_width;this.config.left_border&&(a-=1,r.className+=" dhx_scale_hour_border"),r.style.width=a+"px",r.innerHTML=scheduler.templates.hour_scale(i),t.appendChild(r),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._reset_month_scale=function(e,t,i){var s=scheduler.date.add(t,1,"month"),r=scheduler._currentDate();this.date.date_part(r),this.date.date_part(i);var a=Math.ceil(Math.round((s.valueOf()-i.valueOf())/864e5)/7),n=[],d=[],o=[],l=Math.floor(e.clientHeight/a)-22;this._colsS.height=l+22;for(var h=this._colsS.heights=[],_=0;7>=_;_++){var c=(this._cols[_]||0)-1;0===_&&this.config.left_border&&(c-=1),n[_]=" style='height:"+l+"px;' ",d[_]=" style='height:22px; width:"+(c-5)+"px;' ",o[_]=" style='height:"+(l+22)+"px; width:"+(c+1)+"px;' "}var u=0;this._min_date=i;for(var g="<table cellpadding='0' cellspacing='0'>",f=[],_=0;a>_;_++){g+="<tr>";for(var v=0;7>v;v++){g+="<td  ";var p="";t>i?p="dhx_before":i>=s?p="dhx_after":i.valueOf()==r.valueOf()&&(p="dhx_now"),g+=" class='"+p+" "+this.templates.month_date_class(i,r)+"' >";var m="dhx_month_body",x="dhx_month_head";0===v&&this.config.left_border&&(m+=" dhx_month_body_border",x+=" dhx_month_head_border"),g+="<div style='position:relative;' >",g+="<div class='"+x+"' >"+this.templates.month_day(i)+"</div>",g+="<div class='"+m+"' "+n[v]+"></div></div></td>",f.push(i),i=this.date.add(i,1,"day")}g+="</tr>",h[_]=u,u+=this._colsS.height}g+="</table>",this._max_date=i,e.innerHTML=g,this._scales={};for(var b=e.getElementsByTagName("div"),_=0;_<f.length;_++){var y=b[3*_+2],w=f[_];this._scales[+w]=y}for(var _=0;_<f.length;_++){var w=f[_];this.callEvent("onScaleAdd",[this._scales[+w],w])}return 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 r=i[s].options,a=0;a<r.length;a++)if(r[a].key==t)return r[a].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,r;for(t=t||[],i=0;i<t.length;i+=2)if(e===t[i])return t[i+1];if(e&&"object"==typeof e){for(r={},s=[Array,Date,Number,String,Boolean],i=0;i<s.length;i++)e instanceof s[i]&&(r=i?new s[i](e):new s[i]);t.push(e,r);for(i in e)Object.prototype.hasOwnProperty.apply(e,[i])&&(r[i]=scheduler._lame_clone(e[i],t))}return r||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.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:function(e,t,i){var s=new Date(e.valueOf());switch(i){case"week":t*=7;case"day":s.setDate(s.getDate()+t),!e.getHours()&&s.getHours()&&s.setTime(s.getTime()+36e5*(24-s.getHours()));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 i="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);",s=e.match(/%[a-zA-Z]/g),r=0;r<s.length;r++)switch(s[r]){case"%j":case"%d":i+="set[2]=temp["+r+"]||1;";break;case"%n":case"%m":i+="set[1]=(temp["+r+"]||1)-1;";break;case"%y":i+="set[0]=temp["+r+"]*1+(temp["+r+"]>50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":i+="set[3]=temp["+r+"]||0;";break;case"%i":i+="set[4]=temp["+r+"]||0;";break;case"%Y":i+="set[0]=temp["+r+"]||0;";break;case"%a":case"%A":i+="set[3]=set[3]%12+((temp["+r+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":i+="set[5]=temp["+r+"]||0;";break;case"%M":i+="set[1]=scheduler.locale.date.month_short_hash[temp["+r+"]]||0;";break;case"%F":i+="set[1]=scheduler.locale.date.month_full_hash[temp["+r+"]]||0;"}var 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]; "+i+" return new Date("+a+");")},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(),r=Math.round((i.getTime()-new Date(s,0,1).getTime())/864e5),a=1+Math.floor(r/7);return a},getUTCISOWeek:function(e){return this.getISOWeek(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"}},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",hour_size_px:42,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,click_form_details:0,cascade_event_display:!1,cascade_event_count:4,cascade_event_margin:30,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,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,displayed_event_color:"#ffc5ab",displayed_event_text_color:"#7e2727",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)+" &ndash; "+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}}),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,r){if(!arguments.length)return this.addEventNow();var a=e;1!=arguments.length&&(a=r||{},a.start_date=e,a.end_date=t,a.text=i,a.id=s),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 n=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()+n),a._timed=this.is_one_day_event(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 i=this._events[e];(t||this.callEvent("onBeforeEventDelete",[e,i])&&this.callEvent("onConfirmedBeforeEventDelete",[e,i]))&&(i&&(delete this._events[e],this.unselect(e),this.event_updated(i)),this.callEvent("onEventDeleted",[e,i]))},scheduler.getEvent=function(e){return this._events[e]},scheduler.setEvent=function(e,t){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.is_one_day_event(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){return e.start_date<this._max_date&&this._min_date<e.end_date},scheduler.is_one_day_event=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){
     7var 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.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))}if(this.config.multi_day&&!this._table_view){for(var i=[],s=[],r=0;r<e.length;r++)e[r]._timed?i.push(e[r]):s.push(e[r]);this._rendered_location=this._els.dhx_multi_day[0],this._table_view=!0,this.render_data(s,t),this._table_view=!1,this._rendered_location=this._els.dhx_cal_data[0],this._table_view=!1,this.render_data(i,t)}else this._rendered_location=this._els.dhx_cal_data[0],this.render_data(e,t)},scheduler.render_data=function(e,t){e=this._pre_render_events(e,t);for(var i=0;i<e.length;i++)this._table_view?this.render_event_bar(e[i]):this.render_event(e[i])},scheduler._pre_render_events=function(e,t){var i=this.xy.bar_height,s=this._colsS.heights,r=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=s;else{var n=a.firstChild;if(n.rows){for(var d=0;d<n.rows.length;d++){if(r[d]++,r[d]*i>this._colsS.height-22){for(var o=n.rows[d].cells,l=0;l<o.length;l++)o[l].childNodes[1].style.height=r[d]*i+"px";r[d]=(r[d-1]||0)+o[0].offsetHeight}r[d]=(r[d-1]||0)+n.rows[d].cells[0].offsetHeight}if(r.unshift(0),n.parentNode.offsetHeight<n.parentNode.scrollHeight&&!n._h_fix&&scheduler.xy.scroll_width){for(var d=0;d<n.rows.length;d++){var h=n.rows[d].cells[6].childNodes[0],_=h.offsetWidth-scheduler.xy.scroll_width+"px";h.style.width=_,h.nextSibling.style.width=_}n._h_fix=!0}}else if(e.length||"visible"!=this._els.dhx_multi_day[0].style.visibility||(r[0]=-1),e.length||-1==r[0]){var c=(n.parentNode.childNodes,(r[0]+1)*i+1),u=c,g=c+"px";this.config.multi_day_height_limit&&(u=Math.min(c,this.config.multi_day_height_limit),g=u+"px"),a.style.top=this._els.dhx_cal_navline[0].offsetHeight+this._els.dhx_cal_header[0].offsetHeight+u+"px",a.style.height=this._obj.offsetHeight-parseInt(a.style.top,10)-(this.xy.margin_top||0)+"px";var f=this._els.dhx_multi_day[0];f.style.height=g,f.style.visibility=-1==r[0]?"hidden":"visible";var v=this._els.dhx_multi_day[1];v.style.height=g,v.style.visibility=-1==r[0]?"hidden":"visible",v.className=r[0]?"dhx_multi_day_icon":"dhx_multi_day_icon_small",this._dy_shift=(r[0]+1)*i,r[0]=0,u!=c&&(a.style.top=parseInt(a.style.top)+2+"px",f.style.overflowY="auto",f.style.width=parseInt(f.style.width)-2+"px",v.style.position="fixed",v.style.top="",v.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 r=0;r<e.length;r++){var a=e[r],n=a.start_date,d=a.end_date,o=n.getHours(),l=d.getHours();if(a._sday=this._get_event_sday(a),this.config.last_hour_48>2400&&a.start_date.getHours()<this.config.first_hour&&(a._sday-=1),i[a._sday]||(i[a._sday]=[]),!t){a._inner=!1;for(var h=i[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=!1,g=0;g<h.length;g++){var _=h[g],c=this._get_event_mapped_end_date(_);if(c.valueOf()<=a.start_date.valueOf()){u=!0,a._sorder=_._sorder,h.splice(g,1),a._inner=!0;break}}if(h.length&&(h[h.length-1]._inner=!0),!u)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 f=!1,v=0;v<h.length;v++)if(h[v]._sorder==g){f=!0;break}if(!f){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.push(a),h.length>(h.max_count||0)?(h.max_count=h.length,a._count=h.length):a._count=a._count?a._count:1}this.config.last_hour_48>2400&&(o<this.config.first_hour&&(o+=24),l<this.config.first_hour&&(l+=24)),(o<this.config.first_hour||l>=this.config.last_hour)&&(s.push(a),e[r]=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(r,1),r--)}if(!t){for(var r=0;r<e.length;r++)e[r]._count=i[e[r]._sday].max_count;for(var r=0;r<s.length;r++)s[r]._count=i[s[r]._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=[],r=[[],[],[],[],[],[],[]],a=this._colsS.heights,n=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 g=this.locate_holder_day(c,!1,l);l._sday=g%n;var f=this.locate_holder_day(u,!0,l)||n;l._eday=f%n||n,l._length=f-g,l._sweek=Math.floor((this._correct_shift(c.valueOf(),1)-this._min_date.valueOf())/(864e5*n));var v,p=r[l._sweek];for(v=0;v<p.length&&!(p[v]._eday<=l._sday);v++);if(l._sorder&&t||(l._sorder=v),l._sday+l._length<=n)i=null,s.push(l),p[v]=l,a[l._sweek]=p.length-1,l._first_chunk=_.first_chunk,l._last_chunk=_.last_chunk;else{var m=this._copy_event(l);m.id=l.id,m._length=n-l._sday,m._eday=n,m._sday=l._sday,m._sweek=l._sweek,m._sorder=l._sorder,m.end_date=this.date.add(c,m._length,"day"),m._first_chunk=_.first_chunk,_.first_chunk&&(_.first_chunk=!1),s.push(m),p[v]=m,i=m.end_date,a[l._sweek]=p.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.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 r=60*e.start_date.getHours()+e.start_date.getMinutes();if(this.config.last_hour_48>2400){e.start_date.getHours()<this.config.first_hour&&(r+=1440);var a=60*e.end_date.getHours()+e.end_date.getMinutes();e.end_date.getHours()<this.config.first_hour&&(a+=1440)}else var a=60*e.end_date.getHours()+e.end_date.getMinutes()||60*scheduler.config.last_hour;var n=e._count||1,d=e._sorder||0,o=Math.round((60*r*1e3-60*this.config.first_hour*60*1e3)*this.config.hour_size_px/36e5)%(24*this.config.hour_size_px),l=Math.max(scheduler.xy.min_event_height,(a-r)*this.config.hour_size_px/60),h=Math.floor((s.clientWidth-i)/n),_=d*h+1;if(e._inner||(h*=n-d),this.config.cascade_event_display){var c=this.config.cascade_event_count,u=this.config.cascade_event_margin;_=d%c*u;var g=e._inner?(n-d-1)%c*u/2:0;h=Math.floor(s.clientWidth-i-_-g)}var f=this._render_v_bar(e.id,i+_,o,h,l,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),_=_+parseInt(s.style.left,10)+i,this._edit_id==e.id){f.style.zIndex=1,h=Math.max(h-4,scheduler.xy.editor_width),f=document.createElement("DIV"),f.setAttribute("event_id",e.id),this.set_xy(f,h,l-20,_,o+14),f.className="dhx_cal_editor";var v=document.createElement("DIV");this.set_xy(v,h-6,l-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=l-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},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 p=this.config["icons_"+(this._edit_id==e.id?"edit":"select")],m="",x=e.color?"background-color: "+e.color+";":"",b=e.textColor?"color: "+e.textColor+";":"",y=0;y<p.length;y++)m+="<div class='dhx_menu_icon "+p[y]+"' style='"+x+b+"' title='"+this.locale.labels[p[y]]+"'></div>";var w=this._render_v_bar(e.id,_-t+1,o,t,20*p.length+26-2,"","<div style='"+x+b+"' class='dhx_menu_head'></div>",m,!0);w.style.left=_-t+1,this._els.dhx_cal_data[0].appendChild(w),this._rendered.push(w)}}}},scheduler._render_v_bar=function(e,t,i,s,r,a,n,d,o){var l=document.createElement("DIV"),h=this.getEvent(e),_=o?"dhx_cal_event dhx_cal_select_menu":"dhx_cal_event",c=scheduler.templates.event_class(h.start_date,h.end_date,h);c&&(_=_+" "+c);var u=h.color?"background:"+h.color+";":"",g=h.textColor?"color:"+h.textColor+";":"",f='<div event_id="'+e+'" class="'+_+'" style="position:absolute; top:'+i+"px; left:"+t+"px; width:"+(s-4)+"px; height:"+r+"px;"+(a||"")+'"></div>';l.innerHTML=f;var v=l.cloneNode(!0).firstChild;if(scheduler.renderEvent&&!o&&scheduler.renderEvent(v,h))return v;v=l.firstChild;var p='<div class="dhx_event_move dhx_header" style=" width:'+(s-6)+"px;"+u+'" >&nbsp;</div>';p+='<div class="dhx_event_move dhx_title" style="'+u+g+'">'+n+"</div>",p+='<div class="dhx_body" style=" width:'+(s-(this._quirks?4:14))+"px; height:"+(r-(this._quirks?20:30)+1)+"px;"+u+g+'">'+d+"</div>";var m="dhx_event_resize dhx_footer";return o&&(m="dhx_resize_denied "+m),p+='<div class="'+m+'" style=" width:'+(s-8)+"px;"+(o?" margin-top:-1px;":"")+u+g+'" ></div>',v.innerHTML=p,v},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.render_event_bar=function(e){var t=this._rendered_location,i=this._colsS[e._sday],s=this._colsS[e._eday];s==i&&(s=this._colsS[e._eday+1]);var r=this.xy.bar_height,a=e.id==this._drag_id?0:e._sorder*r,n=this._colsS.heights[e._sweek]+(this._colsS.height?this.xy.month_scale_height+2:2)+a,d=document.createElement("DIV"),o="dhx_cal_event_clear";e._timed||(o="dhx_cal_event_line",e.hasOwnProperty("_first_chunk")&&e._first_chunk&&(o+=" dhx_cal_event_line_start"),e.hasOwnProperty("_last_chunk")&&e._last_chunk&&(o+=" dhx_cal_event_line_end"));var l=scheduler.templates.event_class(e.start_date,e.end_date,e);l&&(o=o+" "+l);var h=e.color?"background:"+e.color+";":"",_=e.textColor?"color:"+e.textColor+";":"",c='<div event_id="'+e.id+'" class="'+o+'" style="position:absolute; top:'+n+"px; left:"+i+"px; width:"+(s-i-15)+"px;"+_+h+(e._text_style||"")+'">';e=scheduler.getEvent(e.id),e._timed&&(c+=scheduler.templates.event_bar_date(e.start_date,e.end_date,e)),c+=scheduler.templates.event_bar_text(e.start_date,e.end_date,e)+"</div>",c+="</div>",d.innerHTML=c,this._rendered.push(d.firstChild),t.appendChild(d.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 r=this._events[s];r&&(!e&&!t||r.start_date<t&&r.end_date>e)&&i.push(r)}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 r=scheduler.config.preserve_scroll;scheduler.config.preserve_scroll=!1;var a=i.color,n=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=a,i.textColor=n,scheduler.config.scroll_hour=s,scheduler.config.preserve_scroll=r,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._loaded={},scheduler._load=function(e,t){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 r=!0;i<this._max_date;)i=this.date.add(i,1,this._load_mode),this._loaded[s(t)]&&r?t=this.date.add(t,1,this._load_mode):r=!1;var a=i;do i=a,a=this.date.add(i,-1,this._load_mode);while(a>t&&this._loaded[s(a)]);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?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=e.start_date?scheduler.templates.xml_date(e.start_date):null,e.end_date=e.end_date?scheduler.templates.xml_date(e.end_date):null},scheduler.json={},scheduler.json.parse=function(data){"string"==typeof data&&(scheduler._temp=eval("("+data+")"),data=scheduler._temp?scheduler._temp.data||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.refresh=function(){alert("not implemented")},scheduler.serverList=function(e,t){return t?this.serverList[e]=t.slice(0):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 r=e.doXPath("//coll_options"),a=0;a<r.length;a++){var n=r[a].getAttribute("for"),d=this.serverList[n];if(d){d.splice(0,d.length);for(var o=e.doXPath(".//item",r[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 g=_[u];"value"!=g.nodeName&&"label"!=g.nodeName&&(c[g.nodeName]=g.nodeValue)}d.push(c)}}}r.length&&scheduler.callEvent("onOptionsLoad",[]);for(var f=e.doXPath("//userdata"),a=0;a<f.length;a++){var v=this.xmlNodeToJSON(f[a]);this._userdata[v.name]=v.text}var p=[];t=e.doXPath("//event");for(var a=0;a<t.length;a++){var m=p[a]=this.xmlNodeToJSON(t[a]);scheduler._init_event(m)}return p},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;(e=this.config.show_loading)&&"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=[],r=RegExp("(?:"+this.e_start+")([^\f]*?)(?:"+this.e_end+")","g");i=r.exec(t);){for(var a,n={},d=/[^\r\n]+[\r\n]+/g;a=d.exec(i[1]);)this.parse_param(a.toString(),n);n.uid&&!n.id&&(n.id=n.uid),s.push(n)}return s}},parse_param:function(e,t){var i=e.indexOf(":");if(-1!=i){var s=e.substr(0,i).toLowerCase(),r=e.substr(i+1).replace(/\\\,/g,",").replace(/[\r\n]+$/,"");"summary"==s?s="text":"dtstart"==s?(s="start_date",r=this.parse_date(r,0,0)):"dtend"==s&&(s="end_date",r=this.parse_date(r,0,0)),t[s]=r}},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 r=s[0].substr(0,4),a=parseInt(s[0].substr(4,2),10)-1,n=s[0].substr(6,2);return scheduler.config.server_utc&&!s[1]?new Date(Date.UTC(r,a,n,t,i)):new Date(r,a,n,t,i)},c_start:"BEGIN:VCALENDAR",e_start:"BEGIN:VEVENT",e_end:"END:VEVENT",c_end:"END:VCALENDAR"},scheduler.lightbox={},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 r=document.getElementById(s.id),a=r.nextSibling,n={section:s,header:r,node:a,getValue:function(e){return scheduler.form_blocks[s.type].get_value(a,e||{},s)},setValue:function(e,t){return scheduler.form_blocks[s.type].set_value(a,e,t||{},s)}},d=scheduler.lightbox["get_"+s.type+"_control"];return d?d(n):n},scheduler.lightbox.get_template_control=function(e){return e.control=e.node,e},scheduler.lightbox.get_select_control=function(e){return e.control=e.node.getElementsByTagName("select")[0],e},scheduler.lightbox.get_textarea_control=function(e){return e.control=e.node.getElementsByTagName("textarea")[0],e},scheduler.lightbox.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",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 r=e.firstChild;!r._dhx_onchange&&s.onchange&&(r.onchange=s.onchange,r._dhx_onchange=!0),"undefined"==typeof t&&(t=(r.options[0]||{}).value),r.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()),r=1440,a=0;scheduler.config.limit_time_select&&(r=60*i.last_hour+1,a=60*i.first_hour,s.setHours(i.first_hour));for(var n="",d=0;d<t.length;d++){var o=t[d];switch(d>0&&(n+=" "),o){case"%Y":e._time_format_order[3]=d,n+="<select>";for(var l=s.getFullYear()-5,h=0;10>h;h++)n+="<option value='"+(l+h)+"'>"+(l+h)+"</option>";n+="</select> ";break;case"%m":e._time_format_order[2]=d,n+="<select>";for(var h=0;12>h;h++)n+="<option value='"+h+"'>"+this.locale.date.month_full[h]+"</option>";n+="</select>";break;case"%d":e._time_format_order[1]=d,n+="<select>";for(var h=1;32>h;h++)n+="<option value='"+h+"'>"+h+"</option>";n+="</select>";break;case"%H:%i":e._time_format_order[0]=d,n+="<select>";var h=a,_=s.getDate();for(e._time_values=[];r>h;){var c=this.templates.time_picker(s);n+="<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()}n+="</select>"}}return"<div style='height:30px;padding-top:0px;font-size:inherit;' class='dhx_section_time'>"+n+"<span style='font-weight:normal; font-size:10pt;'> &nbsp;&ndash;&nbsp; </span>"+n+"</div>"},set_value:function(e,t,i,s){function r(){var e=new Date(d[o[3]].value,d[o[2]].value,d[o[1]].value,0,d[o[0]].value),t=new Date(e.getTime()+60*scheduler.config.event_duration*1e3);a(d,4,t)}function a(e,t,i){for(var r=s._time_values,a=60*i.getHours()+i.getMinutes(),n=a,d=!1,l=0;l<r.length;l++){var h=r[l];if(h===a){d=!0;break}a>h&&(n=h)}e[t+o[0]].value=d?a:n,d||n||(e[t+o[0]].selectedIndex=-1),e[t+o[1]].value=i.getDate(),e[t+o[2]].value=i.getMonth(),e[t+o[3]].value=i.getFullYear()}var n=scheduler.config,d=e.getElementsByTagName("select"),o=s._time_format_order;if(n.full_day){if(!e._full_day){var l="<label class='dhx_fullday'><input type='checkbox' name='full_day' value='true'> "+scheduler.locale.labels.full_day+"&nbsp;</label></input>";scheduler.config.wide_form||(l=e.previousSibling.innerHTML+l),e.previousSibling.innerHTML=l,e._full_day=!0}var h=e.previousSibling.getElementsByTagName("input")[0];h.checked=0===scheduler.date.time_part(i.start_date)&&0===scheduler.date.time_part(i.end_date),d[o[0]].disabled=h.checked,d[o[0]+d.length/2].disabled=h.checked,h.onclick=function(){if(h.checked){var t={};scheduler.form_blocks.time.get_value(e,t,s);var r=scheduler.date.date_part(t.start_date),n=scheduler.date.date_part(t.end_date);(+n==+r||+n>=+r&&(0!=i.end_date.getHours()||0!=i.end_date.getMinutes()))&&(n=scheduler.date.add(n,1,"day"))}d[o[0]].disabled=h.checked,d[o[0]+d.length/2].disabled=h.checked,a(d,0,r||i.start_date),a(d,4,n||i.end_date)}}if(n.auto_end_date&&n.event_duration)for(var _=0;4>_;_++)d[_].onchange=r;a(d,0,i.start_date),a(d,4,i.end_date)},get_value:function(e,t,i){s=e.getElementsByTagName("select");var r=i._time_format_order;return t.start_date=new Date(s[r[3]].value,s[r[2]].value,s[r[1]].value,0,s[r[0]].value),t.end_date=new Date(s[r[3]+4].value,s[r[2]+4].value,s[r[1]+4].value,0,s[r[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;t?e.style.top=Math.round(t+Math.max((s-e.offsetHeight)/2,0))+"px":e.style.top=Math.round(Math.max((s-e.offsetHeight)/2,0)+9)+"px",document.documentElement.scrollWidth>document.body.offsetWidth?e.style.left=Math.round(i+(document.body.offsetWidth-e.offsetWidth)/2)+"px":e.style.left=Math.round((document.body.offsetWidth-e.offsetWidth)/2)+"px"}this.show_cover()},scheduler.showLightbox=function(e){if(e){if(!this.callEvent("onBeforeLightbox",[e]))return void(this._new_event&&(this._new_event=null));var t=this.getLightbox();this.showCover(t),this._fill_lightbox(e,t),this.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 r=this.config.lightbox.sections,a=0;a<r.length;a++){var n=r[a],d=document.getElementById(n.id).nextSibling,o=this.form_blocks[n.type],l=void 0!==i[n.map_to]?i[n.map_to]:n.default_value;o.set_value.call(this,d,l,i,n),r[a].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 r=this.form_blocks[t[i].type],a=r.get_value.call(this,s,e,t[i]);"auto"!=t[i].map_to&&(e[t[i].map_to]=a)}return e},scheduler._empty_lightbox=function(e){var t=scheduler._lightbox_id,i=this.getEvent(t);this.getLightbox();this._lame_copy(i,e),i._timed=this.is_one_day_event(i),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(){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._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._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 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,r,a;-1!=t.className.indexOf("dhx_custom_button")&&(-1!=t.className.indexOf("dhx_custom_button_")?(s=t.parentNode.getAttribute("index"),a=t.parentNode.parentNode):(s=t.getAttribute("index"),a=t.parentNode,t=t.firstChild)),s&&(r=scheduler.form_blocks[scheduler.config.lightbox.sections[s].type],r.button_click(s,t,a,a.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(),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"),
     8scheduler.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,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 r=this.config.lightbox.sections;t="";for(var s=0;s<r.length;s++){var a=this.form_blocks[r[s].type];if(a){r[s].id="area_"+this.uid();var n="";r[s].button&&(n="<div class='dhx_custom_button' index='"+s+"'><div class='dhx_custom_button_"+r[s].button+"'></div><div>"+this.locale.labels["button_"+r[s].button]+"</div></div>"),this.config.wide_form&&(t+="<div class='dhx_wrap_section'>"),t+="<div id='"+r[s].id+"' class='dhx_cal_lsection'>"+n+this.locale.labels["section_"+r[s].name]+"</div>"+a.render.call(this,r[s]),t+="</div>"}}for(var d=e.getElementsByTagName("div"),s=0;s<d.length;s++){var o=d[s];if("dhx_cal_larea"==o.className){o.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'>&nbsp;</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._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){if(e&&t){var s=Math.abs(e.pageY-t.pageY),r=Math.abs(e.pageX-t.pageX);r>i&&(!s||r/s>3)&&(e.pageX>t.pageX?scheduler._click.dhx_cal_next_button():scheduler._click.dhx_cal_prev_button())}}function r(e){i(e)||(scheduler._hide_global_tip(),o&&(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(d),o=l=h=!1)}var a,n,d,o,l,h,_=-1!=navigator.userAgent.indexOf("Android")&&-1!=navigator.userAgent.indexOf("WebKit"),c=0;dhtmlxEvent(document.body,e[0],function(e){if(!i(e)){if(o)return scheduler._on_mouse_move(t(e)),scheduler._update_global_tip(),e.preventDefault&&e.preventDefault(),e.cancelBubble=!0,!1;if(n&&_&&s(n,t(e),0),n=t(e),h)return n?void((a.target!=n.target||Math.abs(a.pageX-n.pageX)>5||Math.abs(a.pageY-n.pageY)>5)&&(l=!0,clearTimeout(d))):void(l=!0)}}),dhtmlxEvent(this._els.dhx_cal_data[0],"scroll",r),dhtmlxEvent(this._els.dhx_cal_data[0],"touchcancel",r),dhtmlxEvent(this._els.dhx_cal_data[0],"contextmenu",function(e){return h?(e&&e.preventDefault&&e.preventDefault(),(e||event).cancelBubble=!0,!1):void 0}),dhtmlxEvent(this._els.dhx_cal_data[0],e[1],function(e){if(!i(e)){o=l=n=!1,h=!0,scheduler._temp_touch_block=!0;var s=n=t(e);if(!s)return void(l=!0);var r=new Date;if(!l&&!o&&250>r-c)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;c=r,l||o||!scheduler.config.touch_drag||(d=setTimeout(function(){o=!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)}}),dhtmlxEvent(this._els.dhx_cal_data[0],e[2],function(e){return i(e)?void 0:(o||s(a,n,200),o&&(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>")}"create"==scheduler._drag_mode||"new-size"==scheduler._drag_mode?t.innerHTML=(scheduler.locale.drag_to_create||"Drag to create")+i:t.innerHTML=(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=["setEventTextStyle","","changeEventId","deleteEvent"],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("_")&&(t[s]&&t[s].getUTCFullYear?i[s]=this.obj.templates.xml_format(t[s]):i[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.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.setEventTextStyle=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.validId=function(){return!0},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)};
  • salon-booking/trunk/booking/dhtmlxscheduler_timeline.js

    r1637636 r1882925  
    1 !function(){function e(){for(var e=scheduler.get_visible_events(),t=[],r=0;r<this.y_unit.length;r++)t[r]=[];t[s]||(t[s]=[]);for(var r=0;r<e.length;r++){for(var s=this.order[e[r][this.y_property]],l=0;this._trace_x[l+1]&&e[r].start_date>=this._trace_x[l+1];)l++;for(;this._trace_x[l]&&e[r].end_date>this._trace_x[l];)t[s][l]||(t[s][l]=[]),t[s][l].push(e[r]),l++}return t}function t(e){for(var t=0,r=this._trace_x;t<r.length-1&&+e>=+r[t+1];)t++;return t}function r(e,r,s){var l=0,a=s._step,d=s.round_position,_=0,i=r?e.end_date:e.start_date;i.valueOf()>scheduler._max_date.valueOf()&&(i=scheduler._max_date);var h=i-scheduler._min_date_timeline;if(h>0){for(var c=t.call(s,i),n=0;c>n;n++)l+=scheduler._cols[n];var u=scheduler.date.add(scheduler._min_date_timeline,scheduler.matrix[scheduler._mode].x_step*c,scheduler.matrix[scheduler._mode].x_unit);d?+i>+u&&r&&(_=scheduler._cols[c]):(h=i-u,_=Math.round(h/a))}return l+=r?0==h||d?_-14:_-12:_+1}function s(e,r){var s=t.call(this,e),l=this._trace_x[s];return r&&+e!=+this._trace_x[s]&&(l=this._trace_x[s+1]?this._trace_x[s+1]:scheduler.date.add(this._trace_x[s],this.x_step,this.x_unit)),new Date(l)}function l(e){var t="";if(e&&"cell"!=this.render){e.sort(this.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});for(var r=[],l=e.length,a=0;l>a;a++){var d=e[a];d._inner=!1;var _=this.round_position?s.apply(this,[d.start_date,!1]):d.start_date;for(this.round_position?s.apply(this,[d.end_date,!0]):d.end_date;r.length;){var i=r[r.length-1];if(!(i.end_date.valueOf()<=_.valueOf()))break;r.splice(r.length-1,1)}for(var h=!1,c=0;c<r.length;c++){var n=r[c];if(n.end_date.valueOf()<=_.valueOf()){h=!0,d._sorder=n._sorder,r.splice(c,1),d._inner=!0;break}}if(r.length&&(r[r.length-1]._inner=!0),!h)if(r.length)if(r.length<=r[r.length-1]._sorder){if(r[r.length-1]._sorder)for(var u=0;u<r.length;u++){for(var o=!1,x=0;x<r.length;x++)if(r[x]._sorder==u){o=!0;break}if(!o){d._sorder=u;break}}else d._sorder=0;d._inner=!0}else{for(var m=r[0]._sorder,v=1;v<r.length;v++)r[v]._sorder>m&&(m=r[v]._sorder);d._sorder=m+1,d._inner=!1}else d._sorder=0;r.push(d),r.length>(r.max_count||0)?(r.max_count=r.length,d._count=r.length):d._count=d._count?d._count:1}for(var f=0;f<e.length;f++)e[f]._count=r.max_count;for(var p=0;l>p;p++)t+=scheduler.render_timeline_event.call(this,e[p],!1)}return t}function a(t){var r="<table style='table-layout:fixed;' cellspacing='0' cellpadding='0'>",s=[];if(scheduler._load_mode&&scheduler._load(),"cell"==this.render)s=e.call(this);else for(var a=scheduler.get_visible_events(),d=this.order,_=0;_<a.length;_++){var i=a[_],h=i[this.y_property],c=this.order[h];if(this.show_unassigned&&!h){for(var n in d)if(d.hasOwnProperty(n)){c=d[n],s[c]||(s[c]=[]);var u=scheduler._lame_copy({},i);u[this.y_property]=n,s[c].push(u)}}else s[c]||(s[c]=[]),s[c].push(i)}for(var o=0,x=0;x<scheduler._cols.length;x++)o+=scheduler._cols[x];var m=new Date;m=(scheduler.date.add(m,this.x_step*this.x_size,this.x_unit)-m)/o,this._step=m,this._summ=o;var v=scheduler._colsS.heights=[];this._events_height={},this._section_height={};for(var x=0;x<this.y_unit.length;x++){var f=this._logic(this.render,this.y_unit[x],this);scheduler._merge(f,{height:this.dy}),this.section_autoheight&&(this.y_unit.length*f.height<t.offsetHeight&&(f.height=Math.max(f.height,Math.floor((t.offsetHeight-1)/this.y_unit.length))),this._section_height[this.y_unit[x].key]=f.height),scheduler._merge(f,{tr_className:"",style_height:"height:"+f.height+"px;",style_width:"width:"+(this.dx-1)+"px;",td_className:"dhx_matrix_scell"+(scheduler.templates[this.name+"_scaley_class"](this.y_unit[x].key,this.y_unit[x].label,this.y_unit[x])?" "+scheduler.templates[this.name+"_scaley_class"](this.y_unit[x].key,this.y_unit[x].label,this.y_unit[x]):""),td_content:scheduler.templates[this.name+"_scale_label"](this.y_unit[x].key,this.y_unit[x].label,this.y_unit[x]),summ_width:"width:"+o+"px;",table_className:""});var p=l.call(this,s[x]);if(this.fit_events){var g=this._events_height[this.y_unit[x].key]||0;f.height=g>f.height?g:f.height,f.style_height="height:"+f.height+"px;",this._section_height[this.y_unit[x].key]=f.height}var y=f.td_content.replace(/<div/,'<div style="'+f.style_width+'"');if(r+="<tr class='"+f.tr_className+"' style='"+f.style_height+"'><td class='"+f.td_className+"' style='"+f.style_width+" height:"+(f.height-1)+"px;'>"+y+"</td>","cell"==this.render)for(var _=0;_<scheduler._cols.length;_++)r+="<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](s[x][_],this._trace_x[_],this.y_unit[x])+"' style='width:"+(scheduler._cols[_]-1)+"px'><div style='width:"+(scheduler._cols[_]-1)+"px'>"+scheduler.templates[this.name+"_cell_value"](s[x][_])+"</div></td>";else{r+="<td><div style='"+f.summ_width+" "+f.style_height+" position:relative;' class='dhx_matrix_line'>",r+=p,r+="<table class='"+f.table_className+"' cellpadding='0' cellspacing='0' style='"+f.summ_width+" "+f.style_height+"' >";for(var _=0;_<scheduler._cols.length;_++)r+="<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](s[x],this._trace_x[_],this.y_unit[x])+"' style='width:"+(scheduler._cols[_]-1)+"px'><div style='width:"+(scheduler._cols[_]-1)+"px'></div></td>";r+="</table>",r+="</div></td>"}r+="</tr>"}r+="</table>",this._matrix=s,t.innerHTML=r,scheduler._rendered=[];for(var k=scheduler._obj.getElementsByTagName("DIV"),x=0;x<k.length;x++)k[x].getAttribute("event_id")&&scheduler._rendered.push(k[x]);this._scales={};for(var x=0;x<t.firstChild.rows.length;x++){v.push(t.firstChild.rows[x].offsetHeight);var b=this.y_unit[x].key,w=this._scales[b]=scheduler._isRender("cell")?t.firstChild.rows[x]:t.firstChild.rows[x].childNodes[1].getElementsByTagName("div")[0];scheduler.callEvent("onScaleAdd",[w,b])}}function d(e){var t=scheduler.xy.scale_height,r=this._header_resized||scheduler.xy.scale_height;scheduler._cols=[],scheduler._colsS={height:0},this._trace_x=[];var s=scheduler._x-this.dx-18,l=[this.dx],a=scheduler._els.dhx_cal_header[0];a.style.width=l[0]+s+"px",scheduler._min_date_timeline=scheduler._min_date;for(var d=scheduler._min_date,i=0;i<this.x_size;i++)this._trace_x[i]=new Date(d),d=scheduler.date.add(d,this.x_step,this.x_unit),scheduler._cols[i]=Math.floor(s/(this.x_size-i)),s-=scheduler._cols[i],l[i+1]=l[i]+scheduler._cols[i];if(e.innerHTML="<div></div>",this.second_scale){for(var h=this.second_scale.x_unit,c=[this._trace_x[0]],n=[],u=[this.dx,this.dx],x=0,m=0;m<this._trace_x.length;m++){var v=this._trace_x[m],f=_(h,v,c[x]);f&&(++x,c[x]=v,u[x+1]=u[x]);var p=x+1;n[x]=scheduler._cols[m]+(n[x]||0),u[p]+=scheduler._cols[m]}e.innerHTML="<div></div><div></div>";var g=e.firstChild;g.style.height=r+"px";var y=e.lastChild;y.style.position="relative";for(var k=0;k<c.length;k++){var b=c[k],w=scheduler.templates[this.name+"_second_scalex_class"](b),E=document.createElement("DIV");E.className="dhx_scale_bar dhx_second_scale_bar"+(w?" "+w:""),scheduler.set_xy(E,n[k]-1,r-3,u[k],0),E.innerHTML=scheduler.templates[this.name+"_second_scale_date"](b),g.appendChild(E)}}scheduler.xy.scale_height=r,e=e.lastChild;for(var z=0;z<this._trace_x.length;z++){d=this._trace_x[z],scheduler._render_x_header(z,l[z],d,e);var C=scheduler.templates[this.name+"_scalex_class"](d);C&&(e.lastChild.className+=" "+C)}scheduler.xy.scale_height=t;var N=this._trace_x;e.onclick=function(e){var t=o(e);t&&scheduler.callEvent("onXScaleClick",[t.x,N[t.x],e||event])},e.ondblclick=function(e){var t=o(e);t&&scheduler.callEvent("onXScaleDblClick",[t.x,N[t.x],e||event])}}function _(e,t,r){switch(e){case"hour":return t.getHours()!=r.getHours()||_("day",t,r);case"day":return!(t.getDate()==r.getDate()&&t.getMonth()==r.getMonth()&&t.getFullYear()==r.getFullYear());case"week":return!(scheduler.date.getISOWeek(t)==scheduler.date.getISOWeek(r)&&t.getFullYear()==r.getFullYear());case"month":return!(t.getMonth()==r.getMonth()&&t.getFullYear()==r.getFullYear());case"year":return!(t.getFullYear()==r.getFullYear());default:return!1}}function i(e){if(e){scheduler.set_sizes(),n();var t=scheduler._min_date;d.call(this,scheduler._els.dhx_cal_header[0]),a.call(this,scheduler._els.dhx_cal_data[0]),scheduler._min_date=t,scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates[this.name+"_date"](scheduler._min_date,scheduler._max_date),scheduler.markNow&&scheduler.markNow()}h()}function h(){scheduler._tooltip&&(scheduler._tooltip.style.display="none",scheduler._tooltip.date="")}function c(e,t,r){if("cell"==e.render){var s=t.x+"_"+t.y,l=e._matrix[t.y][t.x];if(!l)return h();if(l.sort(function(e,t){return e.start_date>t.start_date?1:-1}),scheduler._tooltip){if(scheduler._tooltip.date==s)return;scheduler._tooltip.innerHTML=""}else{var a=scheduler._tooltip=document.createElement("DIV");a.className="dhx_year_tooltip",document.body.appendChild(a),a.onclick=scheduler._click.dhx_cal_data}for(var d="",_=0;_<l.length;_++){var i=l[_].color?"background-color:"+l[_].color+";":"",c=l[_].textColor?"color:"+l[_].textColor+";":"";d+="<div class='dhx_tooltip_line' event_id='"+l[_].id+"' style='"+i+c+"'>",d+="<div class='dhx_tooltip_date'>"+(l[_]._timed?scheduler.templates.event_date(l[_].start_date):"")+"</div>",d+="<div class='dhx_event_icon icon_details'>&nbsp;</div>",d+=scheduler.templates[e.name+"_tooltip"](l[_].start_date,l[_].end_date,l[_])+"</div>"}scheduler._tooltip.style.display="",scheduler._tooltip.style.top="0px",document.body.offsetWidth-r.left-scheduler._tooltip.offsetWidth<0?scheduler._tooltip.style.left=r.left-scheduler._tooltip.offsetWidth+"px":scheduler._tooltip.style.left=r.left+t.src.offsetWidth+"px",scheduler._tooltip.date=s,scheduler._tooltip.innerHTML=d,document.body.offsetHeight-r.top-scheduler._tooltip.offsetHeight<0?scheduler._tooltip.style.top=r.top-scheduler._tooltip.offsetHeight+t.src.offsetHeight+"px":scheduler._tooltip.style.top=r.top+"px"}}function n(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(e){var t=scheduler.matrix[scheduler._mode];if(t&&"cell"==t.render){if(t){var r=scheduler._locate_cell_timeline(e),e=e||event;e.target||e.srcElement;if(r)return c(t,r,getOffset(r.src))}h()}}),n=function(){}}function u(e){for(var t=e.parentNode.childNodes,r=0;r<t.length;r++)if(t[r]==e)return r;return-1}function o(e){e=e||event;for(var t=e.target?e.target:e.srcElement;t&&"DIV"!=t.tagName;)t=t.parentNode;if(t&&"DIV"==t.tagName){var r=t.className.split(" ")[0];if("dhx_scale_bar"==r)return{x:u(t),y:-1,src:t,scale:!0}}}scheduler.matrix={},scheduler._merge=function(e,t){for(var r in t)"undefined"==typeof e[r]&&(e[r]=t[r])},scheduler.createTimelineView=function(e){scheduler._merge(e,{section_autoheight:!0,name:"matrix",x:"time",y:"time",x_step:1,x_unit:"hour",y_unit:"day",y_step:1,x_start:0,x_size:24,y_start:0,y_size:7,render:"cell",dx:200,dy:50,event_dy:scheduler.xy.bar_height-5,event_min_dy:scheduler.xy.bar_height-5,resize_events:!0,fit_events:!0,show_unassigned:!1,second_scale:!1,round_position:!1,_logic:function(e,t,r){var s={};return scheduler.checkEvent("onBeforeViewRender")&&(s=scheduler.callEvent("onBeforeViewRender",[e,t,r])),s}}),e._original_x_start=e.x_start,scheduler.checkEvent("onTimelineCreated")&&scheduler.callEvent("onTimelineCreated",[e]);var t=scheduler.render_data;scheduler.render_data=function(r,s){if(this._mode!=e.name)return t.apply(this,arguments);if(s&&!e.show_unassigned&&"cell"!=e.render)for(var l=0;l<r.length;l++)this.clear_event(r[l]),this.render_timeline_event.call(this.matrix[this._mode],r[l],!0);else scheduler.renderMatrix.call(e,!0,!0)},scheduler.matrix[e.name]=e,scheduler.templates[e.name+"_cell_value"]=function(e){return e?e.length:""},scheduler.templates[e.name+"_cell_class"]=function(){return""},scheduler.templates[e.name+"_scalex_class"]=function(){return""},scheduler.templates[e.name+"_second_scalex_class"]=function(){return""},scheduler.templates[e.name+"_scaley_class"]=function(){return""},scheduler.templates[e.name+"_scale_label"]=function(e,t){return t},scheduler.templates[e.name+"_tooltip"]=function(e,t,r){return r.text},scheduler.templates[e.name+"_date"]=function(e,t){return 864e5>t-e?scheduler.templates.day_date(e):scheduler.templates.week_date(e,t)},scheduler.templates[e.name+"_scale_date"]=scheduler.date.date_to_str(e.x_date||scheduler.config.hour_date),scheduler.templates[e.name+"_second_scale_date"]=scheduler.date.date_to_str(e.second_scale&&e.second_scale.x_date?e.second_scale.x_date:scheduler.config.hour_date),scheduler.date["add_"+e.name]=function(t,r){var s=scheduler.date.add(t,(e.x_length||e.x_size)*r*e.x_step,e.x_unit);if(("minute"==e.x_unit||"hour"==e.x_unit)&&!e.x_length)if(+scheduler.date.date_part(new Date(t))==+scheduler.date.date_part(new Date(s)))e.x_start+=r*e.x_size;else{var l="hour"==e.x_unit?60*e.x_step:e.x_step,a=1440/(e.x_size*l)-1;r>0?e.x_start=e.x_start-a*e.x_size:e.x_start=a*e.x_size+e.x_start}return s},scheduler.attachEvent("onBeforeTodayDisplayed",function(){return e.x_start=e._original_x_start,!0}),scheduler.date[e.name+"_start"]=function(t){var r=scheduler.date[e.x_unit+"_start"]||scheduler.date.day_start,s=r.call(scheduler.date,t);return s=scheduler.date.add(s,e.x_step*e.x_start,e.x_unit)},scheduler.attachEvent("onSchedulerResize",function(){return this._mode==e.name?(scheduler.renderMatrix.call(e,!0,!0),!1):!0}),scheduler.attachEvent("onOptionsLoad",function(){e.order={},scheduler.callEvent("onOptionsLoadStart",[]);for(var t=0;t<e.y_unit.length;t++)e.order[e.y_unit[t].key]=t;scheduler.callEvent("onOptionsLoadFinal",[]),scheduler._date&&e.name==scheduler._mode&&scheduler.setCurrentView(scheduler._date,scheduler._mode)}),scheduler.callEvent("onOptionsLoad",[e]),scheduler[e.name+"_view"]=function(){scheduler.renderMatrix.apply(e,arguments)};var r=new Date;scheduler.date.add(r,e.x_step,e.x_unit).valueOf()-r.valueOf();scheduler["mouse_"+e.name]=function(t){var r=this._drag_event;this._drag_id&&(r=this.getEvent(this._drag_id),this._drag_event._dhx_changed=!0),t.x-=e.dx;var l=0,a=0,d=0;for(a;a<=this._cols.length-1;a++){var _=this._cols[a];if(l+=_,l>t.x){var i=(t.x-(l-_))/_;i=0>i?0:i;break}}for(l=0,d;d<this._colsS.heights.length&&(l+=this._colsS.heights[d],!(l>t.y));d++);t.fields={},e.y_unit[d]||(d=e.y_unit.length-1),d>=0&&e.y_unit[d]&&(t.section=t.fields[e.y_property]=e.y_unit[d].key,r&&(r[e.y_property]=t.section)),t.x=0,t.force_redraw=!0,t.custom=!0;var h;if(a>=e._trace_x.length)h=scheduler.date.add(e._trace_x[e._trace_x.length-1],e.x_step,e.x_unit);else{var c=e._trace_x[a+1]?e._trace_x[a+1]:scheduler.date.add(e._trace_x[e._trace_x.length-1],e.x_step,e.x_unit),n=Math.ceil(i*(c-e._trace_x[a]));h=new Date(+e._trace_x[a]+n)}if("move"==this._drag_mode&&this._drag_id&&this._drag_event){var r=this.getEvent(this._drag_id),u=this._drag_event;u._move_delta||(u._move_delta=(r.start_date-h)/6e4),h=scheduler.date.add(h,u._move_delta,"minute")}if("resize"==this._drag_mode&&r&&(t.resize_from_start=!!(Math.abs(r.start_date-h)<Math.abs(r.end_date-h))),e.round_position)switch(this._drag_mode){case"move":h=s.call(e,h,!1),"day"==e.x_unit&&(t.custom=!1);break;case"resize":this._drag_event&&(null==this._drag_event._resize_from_start&&(this._drag_event._resize_from_start=t.resize_from_start),t.resize_from_start=this._drag_event._resize_from_start,h=s.call(e,h,!this._drag_event._resize_from_start))}return t.y=Math.round((h-this._min_date)/(6e4*this.config.time_step)),t.shift=this.config.time_step,t}},scheduler.render_timeline_event=function(e,t){var s=e[this.y_property];if(!s)return"";var l=e._sorder,a=r(e,!1,this),d=r(e,!0,this),_=this.event_dy;"full"==this.event_dy&&(_=this.section_autoheight?this._section_height[s]-6:this.dy-3),this.resize_events&&(_=Math.max(Math.floor(_/e._count),this.event_min_dy));var i=_-2;e._inner||"full"!=this.event_dy||(i=(i+2)*(e._count-l)-2);var h=2+l*_+(l?2*l:0);scheduler.config.cascade_event_display&&(h=2+l*scheduler.config.cascade_event_margin+(l?2*l:0));var c=_+h+2;(!this._events_height[s]||this._events_height[s]<c)&&(this._events_height[s]=c);var n=scheduler.templates.event_class(e.start_date,e.end_date,e);n="dhx_cal_event_line "+(n||"");var u=e.color?"background:"+e.color+";":"",o=e.textColor?"color:"+e.textColor+";":"",x=scheduler.templates.event_bar_text(e.start_date,e.end_date,e),m='<div event_id="'+e.id+'" class="'+n+'" style="'+u+o+"position:absolute; top:"+h+"px; height: "+i+"px; left:"+a+"px; width:"+Math.max(0,d-a)+"px;"+(e._text_style||"")+'">';if(scheduler.config.drag_resize&&!scheduler.config.readonly){var v="dhx_event_resize";m+="<div class='"+v+" "+v+"_start' style='height: "+i+"px;'></div><div class='"+v+" "+v+"_end' style='height: "+i+"px;'></div>"}if(m+=x+"</div>",!t)return m;var f=document.createElement("DIV");f.innerHTML=m;var p=this.order[s],g=scheduler._els.dhx_cal_data[0].firstChild.rows[p].cells[1].firstChild;scheduler._rendered.push(f.firstChild),g.appendChild(f.firstChild)},scheduler.renderMatrix=function(e,t){if(t||(scheduler._els.dhx_cal_data[0].scrollTop=0),scheduler._min_date=scheduler.date[this.name+"_start"](scheduler._date),scheduler._max_date=scheduler.date.add(scheduler._min_date,this.x_size*this.x_step,this.x_unit),scheduler._table_view=!0,this.second_scale&&(e&&!this._header_resized&&(this._header_resized=scheduler.xy.scale_height,scheduler.xy.scale_height*=2,scheduler._els.dhx_cal_header[0].className+=" dhx_second_cal_header"),!e&&this._header_resized)){scheduler.xy.scale_height/=2,this._header_resized=!1;var r=scheduler._els.dhx_cal_header[0];r.className=r.className.replace(/ dhx_second_cal_header/gi,"")}i.call(this,e)},scheduler._locate_cell_timeline=function(e){e=e||event;for(var t=e.target?e.target:e.srcElement,r={},s=scheduler.matrix[scheduler._mode],l=scheduler.getActionData(e),a=0;a<s._trace_x.length-1&&!(+l.date<s._trace_x[a+1]);a++);r.x=a,r.y=s.order[l.section];var d=scheduler._isRender("cell")?1:0;r.src=s._scales[l.section]?s._scales[l.section].getElementsByTagName("td")[a+d]:null;for(var _=!1;0==r.x&&"dhx_cal_data"!=t.className&&t.parentNode;){if("dhx_matrix_scell"==t.className.split(" ")[0]){_=!0;break}t=t.parentNode}return _&&(r.x=-1,r.src=t,r.scale=!0),r};var x=scheduler._click.dhx_cal_data;scheduler._click.dhx_marked_timespan=scheduler._click.dhx_cal_data=function(e){var t=x.apply(this,arguments),r=scheduler.matrix[scheduler._mode];if(r){var s=scheduler._locate_cell_timeline(e);s&&(s.scale?scheduler.callEvent("onYScaleClick",[s.y,r.y_unit[s.y],e||event]):scheduler.callEvent("onCellClick",[s.x,s.y,r._trace_x[s.x],(r._matrix[s.y]||{})[s.x]||[],e||event]))}return t},scheduler.dblclick_dhx_marked_timespan=scheduler.dblclick_dhx_matrix_cell=function(e){var t=scheduler.matrix[scheduler._mode];if(t){var r=scheduler._locate_cell_timeline(e);r&&(r.scale?scheduler.callEvent("onYScaleDblClick",[r.y,t.y_unit[r.y],e||event]):scheduler.callEvent("onCellDblClick",[r.x,r.y,t._trace_x[r.x],(t._matrix[r.y]||{})[r.x]||[],e||event]))}},scheduler.dblclick_dhx_matrix_scell=function(e){return scheduler.dblclick_dhx_matrix_cell(e)},scheduler._isRender=function(e){return scheduler.matrix[scheduler._mode]&&scheduler.matrix[scheduler._mode].render==e},scheduler.attachEvent("onCellDblClick",function(e,t,r,s,l){if(!this.config.readonly&&("dblclick"!=l.type||this.config.dblclick_create)){var a=scheduler.matrix[scheduler._mode],d={};d.start_date=a._trace_x[e],d.end_date=a._trace_x[e+1]?a._trace_x[e+1]:scheduler.date.add(a._trace_x[e],a.x_step,a.x_unit),d[a.y_property]=a.y_unit[t].key,scheduler.addEventNow(d,null,l)}}),scheduler.attachEvent("onBeforeDrag",function(){return!scheduler._isRender("cell")}),scheduler.attachEvent("onEventChanged",function(e,t){t._timed=this.is_one_day_event(t)});var m=scheduler._render_marked_timespan;scheduler._render_marked_timespan=function(e,t,s){if(!scheduler.config.display_marked_timespans)return[];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){if(scheduler._isRender("cell"))return;var l=scheduler.matrix[scheduler._mode],a=[],d=[],_=[];if(s)_=[t],d=[s];else{var i=l.order;for(var h in i)i.hasOwnProperty(h)&&(d.push(h),_.push(l._scales[h]))}var c=scheduler._min_date,n=scheduler._max_date,u=[];if(e.days>6){var o=new Date(e.days);scheduler.date.date_part(new Date(c))<=+o&&+n>=+o&&u.push(o)}else u.push.apply(u,scheduler._get_dates_by_index(e.days));for(var x=e.zones,v=scheduler._get_css_classes_by_config(e),f=0;f<d.length;f++){t=_[f],s=d[f];for(var p=0;p<u.length;p++)for(var g=u[p],y=0;y<x.length;y+=2){var k=x[y],b=x[y+1],w=new Date(+g+60*k*1e3),E=new Date(+g+60*b*1e3);if(scheduler._min_date<E&&scheduler._max_date>w){var z=scheduler._get_block_by_config(e);z.className=v;var C=r({start_date:w},!1,l)-1,N=r({start_date:E},!1,l)-1,D=Math.max(1,N-C-1),M=l._section_height[s]-1;z.style.cssText="height: "+M+"px; left: "+C+"px; width: "+D+"px; top: 0;",t.insertBefore(z,t.firstChild),a.push(z)}}}return a}return m.apply(scheduler,[e,t,s])};var v=scheduler._append_mark_now;scheduler._append_mark_now=function(e,t){if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var r=scheduler._currentDate(),s=scheduler._get_zone_minutes(r),l={days:+scheduler.date.date_part(r),zones:[s,s+1],css:"dhx_matrix_now_time",type:"dhx_now_time"};return scheduler._render_marked_timespan(l)}return v.apply(scheduler,[e,t])},scheduler.attachEvent("onScaleAdd",function(e,t){var r=scheduler._marked_timespans;if(r&&scheduler.matrix&&scheduler.matrix[scheduler._mode])for(var s=scheduler._mode,l=scheduler._min_date,a=scheduler._max_date,d=r.global,_=scheduler.date.date_part(new Date(l));a>_;_=scheduler.date.add(_,1,"day")){var i=+_,h=_.getDay(),c=[],n=d[i]||d[h];if(c.push.apply(c,scheduler._get_configs_to_render(n)),r[s]&&r[s][t]){var u=scheduler._get_types_to_render(r[s][t][h],r[s][t][i]);c.push.apply(c,scheduler._get_configs_to_render(u))}for(var o=0;o<c.length;o++){var x=c[o],m=x.days;7>m?(m=i,scheduler._render_marked_timespan(x,e,t),m=h):scheduler._render_marked_timespan(x,e,t)}}})}();
     1!function(){function e(){for(var e=scheduler.get_visible_events(),t=[],r=0;r<this.y_unit.length;r++)t[r]=[];t[s]||(t[s]=[]);for(var r=0;r<e.length;r++){for(var s=this.order[e[r][this.y_property]],l=0;this._trace_x[l+1]&&e[r].start_date>=this._trace_x[l+1];)l++;for(;this._trace_x[l]&&e[r].end_date>this._trace_x[l];)t[s][l]||(t[s][l]=[]),t[s][l].push(e[r]),l++}return t}function t(e){for(var t=0,r=this._trace_x;t<r.length-1&&+e>=+r[t+1];)t++;return t}function r(e,r,s){var l=0,a=s._step,d=s.round_position,_=0,i=r?e.end_date:e.start_date;i.valueOf()>scheduler._max_date.valueOf()&&(i=scheduler._max_date);var h=i-scheduler._min_date_timeline;if(h>0){for(var c=t.call(s,i),n=0;c>n;n++)l+=scheduler._cols[n];var u=scheduler.date.add(scheduler._min_date_timeline,scheduler.matrix[scheduler._mode].x_step*c,scheduler.matrix[scheduler._mode].x_unit);d?+i>+u&&r&&(_=scheduler._cols[c]):(h=i-u,_=Math.round(h/a))}return l+=r?0==h||d?_-14:_-12:_+1}function s(e,r){var s=t.call(this,e),l=this._trace_x[s];return r&&+e!=+this._trace_x[s]&&(l=this._trace_x[s+1]?this._trace_x[s+1]:scheduler.date.add(this._trace_x[s],this.x_step,this.x_unit)),new Date(l)}function l(e){var t="";if(e&&"cell"!=this.render){e.sort(this.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});for(var r=[],l=e.length,a=0;l>a;a++){var d=e[a];d._inner=!1;var _=this.round_position?s.apply(this,[d.start_date,!1]):d.start_date;for(this.round_position?s.apply(this,[d.end_date,!0]):d.end_date;r.length;){var i=r[r.length-1];if(!(i.end_date.valueOf()<=_.valueOf()))break;r.splice(r.length-1,1)}for(var h=!1,c=0;c<r.length;c++){var n=r[c];if(n.end_date.valueOf()<=_.valueOf()){h=!0,d._sorder=n._sorder,r.splice(c,1),d._inner=!0;break}}if(r.length&&(r[r.length-1]._inner=!0),!h)if(r.length)if(r.length<=r[r.length-1]._sorder){if(r[r.length-1]._sorder)for(var u=0;u<r.length;u++){for(var o=!1,x=0;x<r.length;x++)if(r[x]._sorder==u){o=!0;break}if(!o){d._sorder=u;break}}else d._sorder=0;d._inner=!0}else{for(var m=r[0]._sorder,v=1;v<r.length;v++)r[v]._sorder>m&&(m=r[v]._sorder);d._sorder=m+1,d._inner=!1}else d._sorder=0;r.push(d),r.length>(r.max_count||0)?(r.max_count=r.length,d._count=r.length):d._count=d._count?d._count:1}for(var f=0;f<e.length;f++)e[f]._count=r.max_count;for(var p=0;l>p;p++)t+=scheduler.render_timeline_event.call(this,e[p],!1)}return t}function a(t){t.style.cssText=t.style.cssText.replace("hidden","auto");var r="<table style='table-layout:fixed;' cellspacing='0' cellpadding='0'>",s=[];if(scheduler._load_mode&&scheduler._load(),"cell"==this.render)s=e.call(this);else for(var a=scheduler.get_visible_events(),d=this.order,_=0;_<a.length;_++){var i=a[_],h=i[this.y_property],c=this.order[h];if(this.show_unassigned&&!h){for(var n in d)if(d.hasOwnProperty(n)){c=d[n],s[c]||(s[c]=[]);var u=scheduler._lame_copy({},i);u[this.y_property]=n,s[c].push(u)}}else s[c]||(s[c]=[]),s[c].push(i)}for(var o=0,x=0;x<scheduler._cols.length;x++)o+=scheduler._cols[x];var m=new Date;m=(scheduler.date.add(m,this.x_step*this.x_size,this.x_unit)-m)/o,this._step=m,this._summ=o;var v=scheduler._colsS.heights=[];this._events_height={},this._section_height={};for(var x=0;x<this.y_unit.length;x++){var f=this._logic(this.render,this.y_unit[x],this);scheduler._merge(f,{height:this.dy}),this.section_autoheight&&(this.y_unit.length*f.height<t.offsetHeight&&(f.height=Math.max(f.height,Math.floor((t.offsetHeight-1)/this.y_unit.length))),this._section_height[this.y_unit[x].key]=f.height),scheduler._merge(f,{tr_className:"",style_height:"height:"+f.height+"px;",style_width:"width:"+(this.dx-1)+"px;",td_className:"dhx_matrix_scell"+(scheduler.templates[this.name+"_scaley_class"](this.y_unit[x].key,this.y_unit[x].label,this.y_unit[x])?" "+scheduler.templates[this.name+"_scaley_class"](this.y_unit[x].key,this.y_unit[x].label,this.y_unit[x]):""),td_content:scheduler.templates[this.name+"_scale_label"](this.y_unit[x].key,this.y_unit[x].label,this.y_unit[x]),summ_width:"width:"+o+"px;",table_className:""});var p=l.call(this,s[x]);if(this.fit_events){var g=this._events_height[this.y_unit[x].key]||0;f.height=g>f.height?g:f.height,f.style_height="height:"+f.height+"px;",this._section_height[this.y_unit[x].key]=f.height}var y=f.td_content.replace(/<div/,'<div style="'+f.style_width+'"');if(r+="<tr class='"+f.tr_className+"' style='"+f.style_height+"'><td class='"+f.td_className+"' style='"+f.style_width+" height:"+(f.height-1)+"px;'>"+y+"</td>","cell"==this.render)for(var _=0;_<scheduler._cols.length;_++)r+="<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](s[x][_],this._trace_x[_],this.y_unit[x])+"' style='width:"+(scheduler._cols[_]-1)+"px'><div style='width:"+(scheduler._cols[_]-1)+"px'>"+scheduler.templates[this.name+"_cell_value"](s[x][_])+"</div></td>";else{r+="<td><div style='"+f.summ_width+" "+f.style_height+" position:relative;' class='dhx_matrix_line'>",r+=p,r+="<table class='"+f.table_className+"' cellpadding='0' cellspacing='0' style='"+f.summ_width+" "+f.style_height+"' >";for(var _=0;_<scheduler._cols.length;_++)r+="<td class='dhx_matrix_cell "+scheduler.templates[this.name+"_cell_class"](s[x],this._trace_x[_],this.y_unit[x])+"' style='width:"+(scheduler._cols[_]-1)+"px'><div style='width:"+(scheduler._cols[_]-1)+"px'></div></td>";r+="</table>",r+="</div></td>"}r+="</tr>"}r+="</table>",this._matrix=s,t.innerHTML=r,scheduler._rendered=[];for(var k=scheduler._obj.getElementsByTagName("DIV"),x=0;x<k.length;x++)k[x].getAttribute("event_id")&&scheduler._rendered.push(k[x]);this._scales={};for(var x=0;x<t.firstChild.rows.length;x++){v.push(t.firstChild.rows[x].offsetHeight);var b=this.y_unit[x].key,w=this._scales[b]=scheduler._isRender("cell")?t.firstChild.rows[x]:t.firstChild.rows[x].childNodes[1].getElementsByTagName("div")[0];scheduler.callEvent("onScaleAdd",[w,b])}}function d(e){var t=scheduler.xy.scale_height,r=this._header_resized||scheduler.xy.scale_height;scheduler._cols=[],scheduler._colsS={height:0},this._trace_x=[];var s=scheduler._x-this.dx-18,l=[this.dx],a=scheduler._els.dhx_cal_header[0];a.style.width=l[0]+s+"px",scheduler._min_date_timeline=scheduler._min_date;for(var d=scheduler._min_date,i=0;i<this.x_size;i++)this._trace_x[i]=new Date(d),d=scheduler.date.add(d,this.x_step,this.x_unit),scheduler._cols[i]=Math.floor(s/(this.x_size-i)),s-=scheduler._cols[i],l[i+1]=l[i]+scheduler._cols[i];if(e.innerHTML="<div></div>",this.second_scale){for(var h=this.second_scale.x_unit,c=[this._trace_x[0]],n=[],u=[this.dx,this.dx],x=0,m=0;m<this._trace_x.length;m++){var v=this._trace_x[m],f=_(h,v,c[x]);f&&(++x,c[x]=v,u[x+1]=u[x]);var p=x+1;n[x]=scheduler._cols[m]+(n[x]||0),u[p]+=scheduler._cols[m]}e.innerHTML="<div></div><div></div>";var g=e.firstChild;g.style.height=r+"px";var y=e.lastChild;y.style.position="relative";for(var k=0;k<c.length;k++){var b=c[k],w=scheduler.templates[this.name+"_second_scalex_class"](b),E=document.createElement("DIV");E.className="dhx_scale_bar dhx_second_scale_bar"+(w?" "+w:""),scheduler.set_xy(E,n[k]-1,r-3,u[k],0),E.innerHTML=scheduler.templates[this.name+"_second_scale_date"](b),g.appendChild(E)}}scheduler.xy.scale_height=r,e=e.lastChild;for(var z=0;z<this._trace_x.length;z++){d=this._trace_x[z],scheduler._render_x_header(z,l[z],d,e);var C=scheduler.templates[this.name+"_scalex_class"](d);C&&(e.lastChild.className+=" "+C)}scheduler.xy.scale_height=t;var N=this._trace_x;e.onclick=function(e){var t=o(e);t&&scheduler.callEvent("onXScaleClick",[t.x,N[t.x],e||event])},e.ondblclick=function(e){var t=o(e);t&&scheduler.callEvent("onXScaleDblClick",[t.x,N[t.x],e||event])}}function _(e,t,r){switch(e){case"hour":return t.getHours()!=r.getHours()||_("day",t,r);case"day":return!(t.getDate()==r.getDate()&&t.getMonth()==r.getMonth()&&t.getFullYear()==r.getFullYear());case"week":return!(scheduler.date.getISOWeek(t)==scheduler.date.getISOWeek(r)&&t.getFullYear()==r.getFullYear());case"month":return!(t.getMonth()==r.getMonth()&&t.getFullYear()==r.getFullYear());case"year":return!(t.getFullYear()==r.getFullYear());default:return!1}}function i(e){if(e){scheduler.set_sizes(),n();var t=scheduler._min_date;d.call(this,scheduler._els.dhx_cal_header[0]),a.call(this,scheduler._els.dhx_cal_data[0]),scheduler._min_date=t,scheduler._els.dhx_cal_date[0].innerHTML=scheduler.templates[this.name+"_date"](scheduler._min_date,scheduler._max_date),scheduler.markNow&&scheduler.markNow()}h()}function h(){scheduler._tooltip&&(scheduler._tooltip.style.display="none",scheduler._tooltip.date="")}function c(e,t,r){if("cell"==e.render){var s=t.x+"_"+t.y,l=e._matrix[t.y][t.x];if(!l)return h();if(l.sort(function(e,t){return e.start_date>t.start_date?1:-1}),scheduler._tooltip){if(scheduler._tooltip.date==s)return;scheduler._tooltip.innerHTML=""}else{var a=scheduler._tooltip=document.createElement("DIV");a.className="dhx_year_tooltip",document.body.appendChild(a),a.onclick=scheduler._click.dhx_cal_data}for(var d="",_=0;_<l.length;_++){var i=l[_].color?"background-color:"+l[_].color+";":"",c=l[_].textColor?"color:"+l[_].textColor+";":"";d+="<div class='dhx_tooltip_line' event_id='"+l[_].id+"' style='"+i+c+"'>",d+="<div class='dhx_tooltip_date'>"+(l[_]._timed?scheduler.templates.event_date(l[_].start_date):"")+"</div>",d+="<div class='dhx_event_icon icon_details'>&nbsp;</div>",d+=scheduler.templates[e.name+"_tooltip"](l[_].start_date,l[_].end_date,l[_])+"</div>"}scheduler._tooltip.style.display="",scheduler._tooltip.style.top="0px",document.body.offsetWidth-r.left-scheduler._tooltip.offsetWidth<0?scheduler._tooltip.style.left=r.left-scheduler._tooltip.offsetWidth+"px":scheduler._tooltip.style.left=r.left+t.src.offsetWidth+"px",scheduler._tooltip.date=s,scheduler._tooltip.innerHTML=d,document.body.offsetHeight-r.top-scheduler._tooltip.offsetHeight<0?scheduler._tooltip.style.top=r.top-scheduler._tooltip.offsetHeight+t.src.offsetHeight+"px":scheduler._tooltip.style.top=r.top+"px"}}function n(){dhtmlxEvent(scheduler._els.dhx_cal_data[0],"mouseover",function(e){var t=scheduler.matrix[scheduler._mode];if(t&&"cell"==t.render){if(t){var r=scheduler._locate_cell_timeline(e),e=e||event;e.target||e.srcElement;if(r)return c(t,r,getOffset(r.src))}h()}}),n=function(){}}function u(e){for(var t=e.parentNode.childNodes,r=0;r<t.length;r++)if(t[r]==e)return r;return-1}function o(e){e=e||event;for(var t=e.target?e.target:e.srcElement;t&&"DIV"!=t.tagName;)t=t.parentNode;if(t&&"DIV"==t.tagName){var r=t.className.split(" ")[0];if("dhx_scale_bar"==r)return{x:u(t),y:-1,src:t,scale:!0}}}scheduler.matrix={},scheduler._merge=function(e,t){for(var r in t)"undefined"==typeof e[r]&&(e[r]=t[r])},scheduler.createTimelineView=function(e){scheduler._merge(e,{section_autoheight:!0,name:"matrix",x:"time",y:"time",x_step:1,x_unit:"hour",y_unit:"day",y_step:1,x_start:0,x_size:24,y_start:0,y_size:7,render:"cell",dx:200,dy:50,event_dy:scheduler.xy.bar_height-5,event_min_dy:scheduler.xy.bar_height-5,resize_events:!0,fit_events:!0,show_unassigned:!1,second_scale:!1,round_position:!1,_logic:function(e,t,r){var s={};return scheduler.checkEvent("onBeforeViewRender")&&(s=scheduler.callEvent("onBeforeViewRender",[e,t,r])),s}}),e._original_x_start=e.x_start,scheduler.checkEvent("onTimelineCreated")&&scheduler.callEvent("onTimelineCreated",[e]);var t=scheduler.render_data;scheduler.render_data=function(r,s){if(this._mode!=e.name)return t.apply(this,arguments);if(s&&!e.show_unassigned&&"cell"!=e.render)for(var l=0;l<r.length;l++)this.clear_event(r[l]),this.render_timeline_event.call(this.matrix[this._mode],r[l],!0);else scheduler.renderMatrix.call(e,!0,!0)},scheduler.matrix[e.name]=e,scheduler.templates[e.name+"_cell_value"]=function(e){return e?e.length:""},scheduler.templates[e.name+"_cell_class"]=function(){return""},scheduler.templates[e.name+"_scalex_class"]=function(){return""},scheduler.templates[e.name+"_second_scalex_class"]=function(){return""},scheduler.templates[e.name+"_scaley_class"]=function(){return""},scheduler.templates[e.name+"_scale_label"]=function(e,t){return t},scheduler.templates[e.name+"_tooltip"]=function(e,t,r){return r.text},scheduler.templates[e.name+"_date"]=function(e,t){return 864e5>t-e?scheduler.templates.day_date(e):scheduler.templates.week_date(e,t)},scheduler.templates[e.name+"_scale_date"]=scheduler.date.date_to_str(e.x_date||scheduler.config.hour_date),scheduler.templates[e.name+"_second_scale_date"]=scheduler.date.date_to_str(e.second_scale&&e.second_scale.x_date?e.second_scale.x_date:scheduler.config.hour_date),scheduler.date["add_"+e.name]=function(t,r){var s=scheduler.date.add(t,(e.x_length||e.x_size)*r*e.x_step,e.x_unit);if(("minute"==e.x_unit||"hour"==e.x_unit)&&!e.x_length)if(+scheduler.date.date_part(new Date(t))==+scheduler.date.date_part(new Date(s)))e.x_start+=r*e.x_size;else{var l="hour"==e.x_unit?60*e.x_step:e.x_step,a=1440/(e.x_size*l)-1;r>0?e.x_start=e.x_start-a*e.x_size:e.x_start=a*e.x_size+e.x_start}return s},scheduler.attachEvent("onBeforeTodayDisplayed",function(){return e.x_start=e._original_x_start,!0}),scheduler.date[e.name+"_start"]=function(t){var r=scheduler.date[e.x_unit+"_start"]||scheduler.date.day_start,s=r.call(scheduler.date,t);return s=scheduler.date.add(s,e.x_step*e.x_start,e.x_unit)},scheduler.attachEvent("onSchedulerResize",function(){return this._mode==e.name?(scheduler.renderMatrix.call(e,!0,!0),!1):!0}),scheduler.attachEvent("onOptionsLoad",function(){e.order={},scheduler.callEvent("onOptionsLoadStart",[]);for(var t=0;t<e.y_unit.length;t++)e.order[e.y_unit[t].key]=t;scheduler.callEvent("onOptionsLoadFinal",[]),scheduler._date&&e.name==scheduler._mode&&scheduler.setCurrentView(scheduler._date,scheduler._mode)}),scheduler.callEvent("onOptionsLoad",[e]),scheduler[e.name+"_view"]=function(){scheduler.renderMatrix.apply(e,arguments)};var r=new Date;scheduler.date.add(r,e.x_step,e.x_unit).valueOf()-r.valueOf();scheduler["mouse_"+e.name]=function(t){var r=this._drag_event;this._drag_id&&(r=this.getEvent(this._drag_id),this._drag_event._dhx_changed=!0),t.x-=e.dx;var l=0,a=0,d=0;for(a;a<=this._cols.length-1;a++){var _=this._cols[a];if(l+=_,l>t.x){var i=(t.x-(l-_))/_;i=0>i?0:i;break}}for(l=0,d;d<this._colsS.heights.length&&(l+=this._colsS.heights[d],!(l>t.y));d++);t.fields={},e.y_unit[d]||(d=e.y_unit.length-1),d>=0&&e.y_unit[d]&&(t.section=t.fields[e.y_property]=e.y_unit[d].key,r&&(r[e.y_property]=t.section)),t.x=0,t.force_redraw=!0,t.custom=!0;var h;if(a>=e._trace_x.length)h=scheduler.date.add(e._trace_x[e._trace_x.length-1],e.x_step,e.x_unit);else{var c=e._trace_x[a+1]?e._trace_x[a+1]:scheduler.date.add(e._trace_x[e._trace_x.length-1],e.x_step,e.x_unit),n=Math.ceil(i*(c-e._trace_x[a]));h=new Date(+e._trace_x[a]+n)}if("move"==this._drag_mode&&this._drag_id&&this._drag_event){var r=this.getEvent(this._drag_id),u=this._drag_event;u._move_delta||(u._move_delta=(r.start_date-h)/6e4),h=scheduler.date.add(h,u._move_delta,"minute")}if("resize"==this._drag_mode&&r&&(t.resize_from_start=!!(Math.abs(r.start_date-h)<Math.abs(r.end_date-h))),e.round_position)switch(this._drag_mode){case"move":h=s.call(e,h,!1),"day"==e.x_unit&&(t.custom=!1);break;case"resize":this._drag_event&&(null==this._drag_event._resize_from_start&&(this._drag_event._resize_from_start=t.resize_from_start),t.resize_from_start=this._drag_event._resize_from_start,h=s.call(e,h,!this._drag_event._resize_from_start))}return t.y=Math.round((h-this._min_date)/(6e4*this.config.time_step)),t.shift=this.config.time_step,t}},scheduler.render_timeline_event=function(e,t){var s=e[this.y_property];if(!s)return"";var l=e._sorder,a=r(e,!1,this),d=r(e,!0,this),_=this.event_dy;"full"==this.event_dy&&(_=this.section_autoheight?this._section_height[s]-6:this.dy-3),this.resize_events&&(_=Math.max(Math.floor(_/e._count),this.event_min_dy));var i=_-2;e._inner||"full"!=this.event_dy||(i=(i+2)*(e._count-l)-2);var h=2+l*_+(l?2*l:0);scheduler.config.cascade_event_display&&(h=2+l*scheduler.config.cascade_event_margin+(l?2*l:0));var c=_+h+2;(!this._events_height[s]||this._events_height[s]<c)&&(this._events_height[s]=c);var n=scheduler.templates.event_class(e.start_date,e.end_date,e);n="dhx_cal_event_line "+(n||"");var u=e.color?"background:"+e.color+";":"",o=e.textColor?"color:"+e.textColor+";":"",x=scheduler.templates.event_bar_text(e.start_date,e.end_date,e),m='<div event_id="'+e.id+'" class="'+n+'" style="'+u+o+"position:absolute; top:"+h+"px; height: "+i+"px; left:"+a+"px; width:"+Math.max(0,d-a)+"px;"+(e._text_style||"")+'">';if(scheduler.config.drag_resize&&!scheduler.config.readonly){var v="dhx_event_resize";m+="<div class='"+v+" "+v+"_start' style='height: "+i+"px;'></div><div class='"+v+" "+v+"_end' style='height: "+i+"px;'></div>"}if(m+=x+"</div>",!t)return m;var f=document.createElement("DIV");f.innerHTML=m;var p=this.order[s],g=scheduler._els.dhx_cal_data[0].firstChild.rows[p].cells[1].firstChild;scheduler._rendered.push(f.firstChild),g.appendChild(f.firstChild)},scheduler.renderMatrix=function(e,t){if(t||(scheduler._els.dhx_cal_data[0].scrollTop=0),scheduler._min_date=scheduler.date[this.name+"_start"](scheduler._date),scheduler._max_date=scheduler.date.add(scheduler._min_date,this.x_size*this.x_step,this.x_unit),scheduler._table_view=!0,this.second_scale&&(e&&!this._header_resized&&(this._header_resized=scheduler.xy.scale_height,scheduler.xy.scale_height*=2,scheduler._els.dhx_cal_header[0].className+=" dhx_second_cal_header"),!e&&this._header_resized)){scheduler.xy.scale_height/=2,this._header_resized=!1;var r=scheduler._els.dhx_cal_header[0];r.className=r.className.replace(/ dhx_second_cal_header/gi,"")}i.call(this,e)},scheduler._locate_cell_timeline=function(e){e=e||event;for(var t=e.target?e.target:e.srcElement,r={},s=scheduler.matrix[scheduler._mode],l=scheduler.getActionData(e),a=0;a<s._trace_x.length-1&&!(+l.date<s._trace_x[a+1]);a++);r.x=a,r.y=s.order[l.section];var d=scheduler._isRender("cell")?1:0;r.src=s._scales[l.section]?s._scales[l.section].getElementsByTagName("td")[a+d]:null;for(var _=!1;0==r.x&&"dhx_cal_data"!=t.className&&t.parentNode;){if("dhx_matrix_scell"==t.className.split(" ")[0]){_=!0;break}t=t.parentNode}return _&&(r.x=-1,r.src=t,r.scale=!0),r};var x=scheduler._click.dhx_cal_data;scheduler._click.dhx_marked_timespan=scheduler._click.dhx_cal_data=function(e){var t=x.apply(this,arguments),r=scheduler.matrix[scheduler._mode];if(r){var s=scheduler._locate_cell_timeline(e);s&&(s.scale?scheduler.callEvent("onYScaleClick",[s.y,r.y_unit[s.y],e||event]):scheduler.callEvent("onCellClick",[s.x,s.y,r._trace_x[s.x],(r._matrix[s.y]||{})[s.x]||[],e||event]))}return t},scheduler.dblclick_dhx_marked_timespan=scheduler.dblclick_dhx_matrix_cell=function(e){var t=scheduler.matrix[scheduler._mode];if(t){var r=scheduler._locate_cell_timeline(e);r&&(r.scale?scheduler.callEvent("onYScaleDblClick",[r.y,t.y_unit[r.y],e||event]):scheduler.callEvent("onCellDblClick",[r.x,r.y,t._trace_x[r.x],(t._matrix[r.y]||{})[r.x]||[],e||event]))}},scheduler.dblclick_dhx_matrix_scell=function(e){return scheduler.dblclick_dhx_matrix_cell(e)},scheduler._isRender=function(e){return scheduler.matrix[scheduler._mode]&&scheduler.matrix[scheduler._mode].render==e},scheduler.attachEvent("onCellDblClick",function(e,t,r,s,l){if(!this.config.readonly&&("dblclick"!=l.type||this.config.dblclick_create)){var a=scheduler.matrix[scheduler._mode],d={};d.start_date=a._trace_x[e],d.end_date=a._trace_x[e+1]?a._trace_x[e+1]:scheduler.date.add(a._trace_x[e],a.x_step,a.x_unit),d[a.y_property]=a.y_unit[t].key,scheduler.addEventNow(d,null,l)}}),scheduler.attachEvent("onBeforeDrag",function(){return!scheduler._isRender("cell")}),scheduler.attachEvent("onEventChanged",function(e,t){t._timed=this.is_one_day_event(t)});var m=scheduler._render_marked_timespan;scheduler._render_marked_timespan=function(e,t,s){if(!scheduler.config.display_marked_timespans)return[];if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){if(scheduler._isRender("cell"))return;var l=scheduler.matrix[scheduler._mode],a=[],d=[],_=[];if(s)_=[t],d=[s];else{var i=l.order;for(var h in i)i.hasOwnProperty(h)&&(d.push(h),_.push(l._scales[h]))}var c=scheduler._min_date,n=scheduler._max_date,u=[];if(e.days>6){var o=new Date(e.days);scheduler.date.date_part(new Date(c))<=+o&&+n>=+o&&u.push(o)}else u.push.apply(u,scheduler._get_dates_by_index(e.days));for(var x=e.zones,v=scheduler._get_css_classes_by_config(e),f=0;f<d.length;f++){t=_[f],s=d[f];for(var p=0;p<u.length;p++)for(var g=u[p],y=0;y<x.length;y+=2){var k=x[y],b=x[y+1],w=new Date(+g+60*k*1e3),E=new Date(+g+60*b*1e3);if(scheduler._min_date<E&&scheduler._max_date>w){var z=scheduler._get_block_by_config(e);z.className=v;var C=r({start_date:w},!1,l)-1,N=r({start_date:E},!1,l)-1,D=Math.max(1,N-C-1),M=l._section_height[s]-1;z.style.cssText="height: "+M+"px; left: "+C+"px; width: "+D+"px; top: 0;",t.insertBefore(z,t.firstChild),a.push(z)}}}return a}return m.apply(scheduler,[e,t,s])};var v=scheduler._append_mark_now;scheduler._append_mark_now=function(e,t){if(scheduler.matrix&&scheduler.matrix[scheduler._mode]){var r=scheduler._currentDate(),s=scheduler._get_zone_minutes(r),l={days:+scheduler.date.date_part(r),zones:[s,s+1],css:"dhx_matrix_now_time",type:"dhx_now_time"};return scheduler._render_marked_timespan(l)}return v.apply(scheduler,[e,t])},scheduler.attachEvent("onScaleAdd",function(e,t){var r=scheduler._marked_timespans;if(r&&scheduler.matrix&&scheduler.matrix[scheduler._mode])for(var s=scheduler._mode,l=scheduler._min_date,a=scheduler._max_date,d=r.global,_=scheduler.date.date_part(new Date(l));a>_;_=scheduler.date.add(_,1,"day")){var i=+_,h=_.getDay(),c=[],n=d[i]||d[h];if(c.push.apply(c,scheduler._get_configs_to_render(n)),r[s]&&r[s][t]){var u=scheduler._get_types_to_render(r[s][t][h],r[s][t][i]);c.push.apply(c,scheduler._get_configs_to_render(u))}for(var o=0;o<c.length;o++){var x=c[o],m=x.days;7>m?(m=i,scheduler._render_marked_timespan(x,e,t),m=h):scheduler._render_marked_timespan(x,e,t)}}})}();
  • salon-booking/trunk/readme.txt

    r1874969 r1882925  
    44Requires at least: 4.0
    55Tested up to: 4.9.5
    6 Stable tag: 1.8.8
     6Stable tag: 1.8.9
    77License: GPLv2 or later
    88License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    7474
    7575== Changelog ==
     76= 1.8.9 =
     77* Added update collation about plugin's table
     78* Changed style pc
     79
    7680= 1.8.8 =
    7781* Fixed display max date in mobile screen
  • salon-booking/trunk/salon.php

    r1874969 r1882925  
    44Plugin URI: http://salon.mallory.jp
    55Description: Salon Booking enables the reservation to one-on-one business between a client and a staff member.
    6 Version: 1.8.8
     6Version: 1.8.9
    77Author: tanaka-hisao
    88Author URI: http://salon.mallory.jp
     
    1010Domain Path: /languages/
    1111*/
    12 define( 'SL_VERSION', '1.8.8' );
     12define( 'SL_VERSION', '1.8.9' );
    1313define( 'SL_DOMAIN', 'salon-booking' );
    1414define( 'SL_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
     
    9595        add_action('wp_ajax_slbooking', array( &$this,'edit_booking'));
    9696        add_action('wp_ajax_slconfig', array( &$this,'edit_config'));
     97        add_action('wp_ajax_slcheckconfig', array( &$this,'salon_booking_check_config'));
    9798        add_action('wp_ajax_slconfirm', array( &$this,'edit_confirm'));
    9899        add_action('wp_ajax_slcustomer', array( &$this,'edit_customer'));
  • salon-booking/trunk/src/control/checkconfig-control.php

    r1641954 r1882925  
    2828        $this->set_config($this->datas->getConfigData());
    2929        $this->comp = new Checkconfig_Component($this->datas);
    30         $this->permits = array('Checkconfig_Page');
     30        $this->permits = array('Checkconfig_Page','Checkconfig_Edit');
    3131    }
    3232
     
    4545            $this->pages->setDatas("TABLE",$this->datas->getTableData());
    4646            $this->pages->setDatas("CONFIG",$this->datas->getConfigShowData());
    47 
     47            $this->pages->setDatas("COLLATION",$this->datas->getCollationData());
     48        }
     49        elseif ($this->action_class == 'Checkconfig_Edit' ) {
     50            $this->datas->updateCollation();
    4851        }
    4952
  • salon-booking/trunk/src/data/checkconfig-data.php

    r1641954 r1882925  
    6969        $return['MENU'] = $result;
    7070
     71
    7172        return $return;
    7273    }
    7374
     75    public function getCollationData() {
     76        global $wpdb;
     77        $sql = 'show full columns from '.$wpdb->prefix.'salon_staff'
     78            .' where field = "user_login"';
     79        if ($wpdb->query($sql) === false ) {
     80            $this->_dbAccessAbnormalEnd();
     81        }
     82        else {
     83            $result = $wpdb->get_results($sql,ARRAY_A);
     84        }
     85        $return['collation']['staff'] = $result[0]['Collation'];
     86
     87        $sql = 'show full columns from '.$wpdb->prefix.'salon_customer'
     88            .' where field = "user_login"';
     89        if ($wpdb->query($sql) === false ) {
     90            $this->_dbAccessAbnormalEnd();
     91        }
     92        else {
     93            $result = $wpdb->get_results($sql,ARRAY_A);
     94        }
     95        $return['collation']['customer'] = $result[0]['Collation'];
     96
     97        $sql = 'show full columns from '.$wpdb->prefix.'users'
     98            .' where field = "user_login"';
     99        if ($wpdb->query($sql) === false ) {
     100            $this->_dbAccessAbnormalEnd();
     101        }
     102        else {
     103            $result = $wpdb->get_results($sql,ARRAY_A);
     104        }
     105        $return['collation']['users'] = $result[0]['Collation'];
     106
     107        return $return;
     108    }
    74109    public function getConfigShowData() {
    75110        $result = $this->getConfigData();
     
    77112    }
    78113
     114    public function updateCollation() {
     115        $collations = $this->getCollationData();
     116        global $wpdb;
     117        if ($collations['collation']['users'] !=
     118                $collations['collation']['customer'] ) {
     119            $sql =$wpdb->prepare("ALTER TABLE ".$wpdb->prefix."salon_customer "
     120                    ."MODIFY COLUMN user_login varchar(60) collate %s "
     121                    ,$collations['collation']['users']);
     122            if ($wpdb->query($sql) === false ) {
     123                $this->_dbAccessAbnormalEnd();
     124            }
     125        }
     126        if ($collations['collation']['users'] !=
     127                $collations['collation']['staff'] ) {
     128            $sql =$wpdb->prepare("ALTER TABLE ".$wpdb->prefix."salon_staff "
     129                    ."MODIFY COLUMN user_login varchar(60) collate %s "
     130                    ,$collations['collation']['users']);
     131            if ($wpdb->query($sql) === false ) {
     132                $this->_dbAccessAbnormalEnd();
     133            }
     134        }
     135    }
     136
    79137
    80138
  • salon-booking/trunk/src/page/booking_pc-page.php

    r1874969 r1882925  
    4545            <?php parent::echoSearchCustomer($this->url); //検索画面 ?>
    4646
     47            scheduler.config.limit_start = null;
     48            scheduler.config.limit_end= null;
    4749            scheduler.config.multi_day = true;
    4850            scheduler.config.all_timed = true;
  • salon-booking/trunk/src/page/checkconfig-page.php

    r1641954 r1882925  
    88
    99    private $datas = null;
     10    private $is_collation_different = false;
     11    private $collation_datas = null;
    1012
    1113
     
    1719    public function setDatas($key,$data) {
    1820        $this->datas[$key] = $data;
     21        if ($key == "COLLATION") {
     22            $this->collation_datas = $data['collation'];
     23            if ($data['collation']['users'] != $data['collation']['staff']
     24                || $data['collation']['users'] != $data['collation']['customer'])
     25            $this->is_collation_different = true;
     26
     27        }
    1928    }
    2029
     
    2635                    $details = "";
    2736                    $comma = "";
    28                     foreach($d1 as $k2 => $d2 ) {
    29                         $details .= $k2.":".$d2.$comma;
    30                         $comma=",";
     37                    if (is_array($d1)) {
     38                        foreach($d1 as $k2 => $d2 ) {
     39                            $details .= $k2.":".$d2.$comma;
     40                            $comma=",";
     41                        }
     42                    }
     43                    else {
     44                        $details = $d1;
    3145                    }
    3246                    echo "<li>".$details."</li>";
     
    4862        wp_enqueue_style('salon', SL_PLUGIN_URL.'/css/salon.css');
    4963?>
     64    <script type="text/javascript" charset="utf-8">
     65        var $j = jQuery;
     66        var ajaxOn = false;
     67        $j(document).ready(function() {
     68            $j("#sl_button_update_collation").click(function() {
    5069
    51         <div id="salon_detail">
     70                if (ajaxOn) return;
     71                ajaxOn = true;
     72                $j.ajax({
     73                        type: "post",
     74                        url:  "<?php echo get_bloginfo( 'wpurl' ); ?>/wp-admin/admin-ajax.php?action=slcheckconfig",
     75                        dataType : "json",
     76                        data: {
     77                            "menu_func":"Checkconfig_Edit"
     78                            ,"nonce":"<?php echo $this->nonce; ?>"
     79                        },
     80                        success: function(data) {
     81                            ajaxOn = false;
     82                            if (data.status == "Error" ) {
     83                                alert(data.message);
     84                                return false;
     85                            }
     86                            else {
     87                                location.reload();
     88                            }
     89                        },
     90                        error:  function(XMLHttpRequest, textStatus){
     91                            ajaxOn = false;
     92                            alert (textStatus);
     93                            return false;
     94                        }
     95                });
     96            });
     97        });
     98    </script>
     99
     100    <div id="salon_detail">
    52101        <ol >
    53102<?php
     
    55104?>
    56105        </ol>
     106<?php
     107        if ($this->is_collation_different ){
     108            echo <<<EOF
     109            <input type="button" value="UPDATE COLLATION" id="sl_button_update_collation" class="sl_button"  />
     110EOF;
     111        }
     112?>
     113
    57114        </div>
    58115<?php
Note: See TracChangeset for help on using the changeset viewer.