if(!window.dhtmlx){dhtmlx=function(B){for(var A in B){dhtmlx[A]=B[A]}return dhtmlx}}dhtmlx.extend_api=function(A,D,C){var B=window[A];if(!B){return }window[A]=function(G){if(G&&typeof G=="object"&&!G.tagName&&!(G instanceof Array)){var F=B.apply(this,(D._init?D._init(G):arguments));for(var E in dhtmlx){if(D[E]){this[D[E]](dhtmlx[E])}}for(var E in G){if(D[E]){this[D[E]](G[E])}else{if(E.indexOf("on")==0){this.attachEvent(E,G[E])}}}}else{var F=B.apply(this,arguments)}if(D._patch){D._patch(this)}return F||this};window[A].prototype=B.prototype;if(C){dhtmlXHeir(window[A].prototype,C)}};dhtmlxAjax={get:function(A,C){var B=new dtmlXMLLoaderObject(true);B.async=(arguments.length<3);B.waitCall=C;B.loadXML(A);return B},post:function(A,C,D){var B=new dtmlXMLLoaderObject(true);B.async=(arguments.length<4);B.waitCall=D;B.loadXML(A,true,C);return B},getSync:function(A){return this.get(A,null,true)},postSync:function(A,B){return this.post(A,B,null,true)}};function dtmlXMLLoaderObject(B,D,C,A){this.xmlDoc="";if(typeof (C)!="undefined"){this.async=C}else{this.async=true}this.onloadAction=B||null;this.mainObject=D||null;this.waitCall=null;this.rSeed=A||false;return this}dtmlXMLLoaderObject.prototype.waitLoadFunction=function(B){var A=true;this.check=function(){if((B)&&(B.onloadAction!=null)){if((!B.xmlDoc.readyState)||(B.xmlDoc.readyState==4)){if(!A){return }A=false;if(typeof B.onloadAction=="function"){B.onloadAction(B.mainObject,null,null,null,B)}if(B.waitCall){B.waitCall.call(this,B);B.waitCall=null}}}};return this.check};dtmlXMLLoaderObject.prototype.getXMLTopNode=function(C,A){if(this.xmlDoc.responseXML){var B=this.xmlDoc.responseXML.getElementsByTagName(C);if(B.length==0&&C.indexOf(":")!=-1){var B=this.xmlDoc.responseXML.getElementsByTagName((C.split(":"))[1])}var E=B[0]}else{var E=this.xmlDoc.documentElement}if(E){this._retry=false;return E}if((_isIE)&&(!this._retry)){var D=this.xmlDoc.responseText;var A=this.xmlDoc;this._retry=true;this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");this.xmlDoc.async=false;this.xmlDoc.loadXML(D);return this.getXMLTopNode(C,A)}dhtmlxError.throwError("LoadXML","Incorrect XML",[(A||this.xmlDoc),this.mainObject]);return document.createElement("DIV")};dtmlXMLLoaderObject.prototype.loadXMLString=function(B){try{var C=new DOMParser();this.xmlDoc=C.parseFromString(B,"text/xml")}catch(A){this.xmlDoc=new ActiveXObject("Microsoft.XMLDOM");this.xmlDoc.async=this.async;this.xmlDoc.loadXML(B)}this.onloadAction(this.mainObject,null,null,null,this);if(this.waitCall){this.waitCall();this.waitCall=null}};dtmlXMLLoaderObject.prototype.loadXML=function(C,B,A,D){if(this.rSeed){C+=((C.indexOf("?")!=-1)?"&":"?")+"a_dhx_rSeed="+(new Date()).valueOf()}this.filePath=C;if((!_isIE)&&(window.XMLHttpRequest)){this.xmlDoc=new XMLHttpRequest()}else{this.xmlDoc=new ActiveXObject("Microsoft.XMLHTTP")}if(this.async){this.xmlDoc.onreadystatechange=new this.waitLoadFunction(this)}this.xmlDoc.open(B?"POST":"GET",C,this.async);if(D){this.xmlDoc.setRequestHeader("User-Agent","dhtmlxRPC v0.1 ("+navigator.userAgent+")");this.xmlDoc.setRequestHeader("Content-type","text/xml")}else{if(B){this.xmlDoc.setRequestHeader("Content-type","application/x-www-form-urlencoded")}}this.xmlDoc.setRequestHeader("X-Requested-With","XMLHttpRequest");this.xmlDoc.send(null||A);if(!this.async){(new this.waitLoadFunction(this))()}};dtmlXMLLoaderObject.prototype.destructor=function(){this.onloadAction=null;this.mainObject=null;this.xmlDoc=null;return null};dtmlXMLLoaderObject.prototype.xmlNodeToJSON=function(D){var C={};for(var B=0;B-1){_isChrome=true}if((navigator.userAgent.indexOf("Safari")!=-1)||(navigator.userAgent.indexOf("Konqueror")!=-1)){var _KHTMLrv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Safari")+7,5));if(_KHTMLrv>525){_isFF=true;var _FFrv=1.9}else{_isKHTML=true}}else{if(navigator.userAgent.indexOf("Opera")!=-1){_isOpera=true;_OperaRv=parseFloat(navigator.userAgent.substr(navigator.userAgent.indexOf("Opera")+6,3))}else{if(navigator.appName.indexOf("Microsoft")!=-1){_isIE=true;if(navigator.appVersion.indexOf("MSIE 8.0")!=-1&&document.compatMode!="BackCompat"){_isIE=8}}else{_isFF=true;var _FFrv=parseFloat(navigator.userAgent.split("rv:")[1])}}}dtmlXMLLoaderObject.prototype.doXPath=function(C,E,D,I){if(_isKHTML||(!_isIE&&!window.XPathResult)){return this.doXPathOpera(C,E)}if(_isIE){if(!E){if(!this.xmlDoc.nodeName){E=this.xmlDoc.responseXML}else{E=this.xmlDoc}}if(!E){dhtmlxError.throwError("LoadXML","Incorrect XML",[(E||this.xmlDoc),this.mainObject])}if(D!=null){E.setProperty("SelectionNamespaces","xmlns:xsl='"+D+"'")}if(I=="single"){return E.selectSingleNode(C)}else{return E.selectNodes(C)||new Array(0)}}else{var A=E;if(!E){if(!this.xmlDoc.nodeName){E=this.xmlDoc.responseXML}else{E=this.xmlDoc}}if(!E){dhtmlxError.throwError("LoadXML","Incorrect XML",[(E||this.xmlDoc),this.mainObject])}if(E.nodeName.indexOf("document")!=-1){A=E}else{A=E;E=E.ownerDocument}var G=XPathResult.ANY_TYPE;if(I=="single"){G=XPathResult.FIRST_ORDERED_NODE_TYPE}var F=new Array();var B=E.evaluate(C,A,function(J){return D},G,null);if(G==XPathResult.FIRST_ORDERED_NODE_TYPE){return B.singleNodeValue}var H=B.iterateNext();while(H){F[F.length]=H;H=B.iterateNext()}return F}};function _dhtmlxError(B,A,C){if(!this.catches){this.catches=new Array()}return this}_dhtmlxError.prototype.catchError=function(B,A){this.catches[B]=A};_dhtmlxError.prototype.throwError=function(B,A,C){if(this.catches[B]){return this.catches[B](B,A,C)}if(this.catches.ALL){return this.catches.ALL(B,A,C)}alert("Error type: "+arguments[0]+"\nDescription: "+arguments[1]);return null};window.dhtmlxError=new _dhtmlxError();dtmlXMLLoaderObject.prototype.doXPathOpera=function(C,A){var E=C.replace(/[\/]+/gi,"/").split("/");var D=null;var B=1;if(!E.length){return[]}if(E[0]=="."){D=[A]}else{if(E[0]==""){D=(this.xmlDoc.responseXML||this.xmlDoc).getElementsByTagName(E[B].replace(/\[[^\]]*\]/g,""));B++}else{return[]}}for(B;B
"+P+"
"}function C(P){if(!M.area){M.area=document.createElement("DIV");M.area.className="dhtmlx_message_area";M.area.style[M.position]="5px";document.body.appendChild(M.area)}M.hide(P.id);var O=document.createElement("DIV");O.innerHTML="
"+P.text+"
";O.className="dhtmlx-info dhtmlx-"+P.type;O.onclick=function(){M.hide(P.id);P=null};if(M.position=="bottom"&&M.area.firstChild){M.area.insertBefore(O,M.area.firstChild)}else{M.area.appendChild(O)}if(P.expire>0){M.timers[P.id]=window.setTimeout(function(){M.hide(P.id)},P.expire)}M.pull[P.id]=O;O=null;return P.id}function G(P,R,U){var T=document.createElement("DIV");T.className=" dhtmlx_modal_box dhtmlx-"+P.type;T.setAttribute("dhxbox",1);var O="";if(P.width){T.style.width=P.width}if(P.height){T.style.height=P.height}if(P.title){O+='
'+P.title+"
"}O+='
'+(P.content?"":P.text)+'
';if(R){O+=F(P.ok||"OK",true)}if(U){O+=F(P.cancel||"Cancel",false)}if(P.buttons){for(var Q=0;Q";T.innerHTML=O;if(P.content){var S=P.content;if(typeof S=="string"){S=document.getElementById(S)}if(S.style.display=="none"){S.style.display=""}T.childNodes[P.title?1:0].appendChild(S)}T.onclick=function(W){W=W||event;var V=W.target||W.srcElement;if(!V.className){V=V.parentNode}if(V.className=="dhtmlx_popup_button"){result=V.getAttribute("result");result=(result=="true")||(result=="false"?false:result);L(P,result)}};P.box=T;if(R||U){J=P}return T}function N(P,Q,S){var R=P.tagName?P:G(P,Q,S);if(!P.hidden){K(true)}document.body.appendChild(R);var O=Math.abs(Math.floor(((window.innerWidth||document.documentElement.offsetWidth)-R.offsetWidth)/2));var T=Math.abs(Math.floor(((window.innerHeight||document.documentElement.offsetHeight)-R.offsetHeight)/2));if(P.position=="top"){R.style.top="-3px"}else{R.style.top=T+"px"}R.style.left=O+"px";R.onkeydown=A;R.focus();if(P.hidden){dhtmlx.modalbox.hide(R)}return R}function I(O){return N(O,true,false)}function B(O){return N(O,true,true)}function E(O){return N(O)}function H(P,O,Q){if(typeof P!="object"){if(typeof O=="function"){Q=O;O=""}P={text:P,type:O,callback:Q}}return P}function D(Q,P,O,R){if(typeof Q!="object"){Q={text:Q,type:P,expire:O,id:R}}Q.id=Q.id||M.uid();Q.expire=Q.expire||M.expire;return Q}dhtmlx.alert=function(){text=H.apply(this,arguments);text.type=text.type||"confirm";return I(text)};dhtmlx.confirm=function(){text=H.apply(this,arguments);text.type=text.type||"alert";return B(text)};dhtmlx.modalbox=function(){text=H.apply(this,arguments);text.type=text.type||"alert";return E(text)};dhtmlx.modalbox.hide=function(O){while(O&&O.getAttribute&&!O.getAttribute("dhxbox")){O=O.parentNode}if(O){O.parentNode.removeChild(O);K(false)}};var M=dhtmlx.message=function(R,Q,P,S){R=D.apply(this,arguments);R.type=R.type||"info";var O=R.type.split("-")[0];switch(O){case"alert":return I(R);case"confirm":return B(R);case"modalbox":return E(R);default:return C(R);break}};M.seed=(new Date()).valueOf();M.uid=function(){return M.seed++};M.expire=4000;M.keyboard=true;M.position="top";M.pull={};M.timers={};M.hideAll=function(){for(var O in M.pull){M.hide(O)}};M.hide=function(P){var O=M.pull[P];if(O&&O.parentNode){window.setTimeout(function(){O.parentNode.removeChild(O);O=null},2000);O.className+=" hidden";if(M.timers[P]){window.clearTimeout(M.timers[P])}delete M.pull[P]}}})();function dataProcessor(A){this.serverProcessor=A;this.action_param="!nativeeditor_status";this.object=null;this.updatedRows=[];this.autoUpdate=true;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(true);dhtmlxEventable(this);return this}dataProcessor.prototype={setTransactionMode:function(B,A){this._tMode=B;this._tSend=A},escape:function(A){if(this._utf){return encodeURIComponent(A)}else{return escape(A)}},enableUTFencoding:function(A){this._utf=convertStringToBoolean(A)},setDataColumns:function(A){this._columns=(typeof A=="string")?A.split(","):A},getSyncState:function(){return !this.updatedRows.length},enableDataNames:function(A){this._endnm=convertStringToBoolean(A)},enablePartialDataSend:function(A){this._changed=convertStringToBoolean(A)},setUpdateMode:function(B,A){this.autoUpdate=(B=="cell");this.updateMode=B;this.dnd=A},ignore:function(B,A){this._silent_mode=true;B.call(A||window);this._silent_mode=false},setUpdated:function(D,C,E){if(this._silent_mode){return }var B=this.findRow(D);E=E||"updated";var A=this.obj.getUserData(D,this.action_param);if(A&&E=="updated"){E=A}if(C){this.set_invalid(D,false);this.updatedRows[B]=D;this.obj.setUserData(D,this.action_param,E);if(this._in_progress[D]){this._in_progress[D]="wait"}}else{if(!this.is_invalid(D)){this.updatedRows.splice(B,1);this.obj.setUserData(D,this.action_param,"")}}if(!C){this._clearUpdateFlag(D)}this.markRow(D,C,E);if(C&&this.autoUpdate){this.sendData(D)}},_clearUpdateFlag:function(A){},markRow:function(F,C,E){var D="";var B=this.is_invalid(F);if(B){D=this.styles[B];C=true}if(this.callEvent("onRowMark",[F,C,E,B])){D=this.styles[C?E:"clear"]+D;this.obj[this._methods[0]](F,D);if(B&&B.details){D+=this.styles[B+"_cell"];for(var A=0;A0?"&dhx_no_header=1":"")};var D=function(E){return A.call(this,E)+(this._connector_sorting||"")+(this._connector_filter||"")};var C=function(F,G,E){this._connector_sorting="&dhx_sort["+G+"]="+E;return D.call(this,F)};var B=function(F,E,H){for(var G=0;G0){this.xy.nav_height=F}var C=this.xy.scale_height+this.xy.nav_height+(this._quirks?-2:0);this.set_xy(this._els.dhx_cal_data[0],B,D-(C+2),0,C+2)};scheduler.set_xy=function(D,B,C,A,E){D.style.width=Math.max(0,B)+"px";D.style.height=Math.max(0,C)+"px";if(arguments.length>3){D.style.left=A+"px";D.style.top=E+"px"}};scheduler.get_elements=function(){var D=this._obj.getElementsByTagName("DIV");for(var C=0;CA.getHours()){A.setHours(G);H=A.valueOf()}B=H.valueOf()+E}var F=new Date(B);if(A.valueOf()==F.valueOf()){F.setTime(F.valueOf()+E)}C.start_date=C.start_date||A;C.end_date=C.end_date||F;C.text=C.text||this.locale.labels.new_event;C.id=this._drag_id=this.uid();this._drag_mode="new-size";this._loading=true;this.addEvent(C);this.callEvent("onEventCreated",[this._drag_id,D]);this._loading=false;this._drag_event={};this._on_mouse_up(D)};scheduler._on_dbl_click=function(C,D){D=D||(C.target||C.srcElement);if(this.config.readonly){return }var A=D.className.split(" ")[0];switch(A){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(C).date,null,C);break;case"dhx_cal_event":case"dhx_wa_ev_body":case"dhx_agenda_line":case"dhx_cal_event_line":case"dhx_cal_event_clear":var E=this._locate_event(D);if(!this.callEvent("onDblClick",[E,C])){return }if(this.config.details_on_dblclick||this._table_view||!this.getEvent(E)._timed||!this.config.select){this.showLightbox(E)}else{this.edit(E)}break;case"dhx_cal_container":return ;break;default:var B=this["dblclick_"+A];if(B){B.call(this,C)}else{if(D.parentNode&&D!=this){return scheduler._on_dbl_click(C,D.parentNode)}}break}};scheduler._mouse_coords=function(D){var F;var A=document.body;var E=document.documentElement;if(D.pageX||D.pageY){F={x:D.pageX,y:D.pageY}}else{F={x:D.clientX+(A.scrollLeft||E.scrollLeft||0)-A.clientLeft,y:D.clientY+(A.scrollTop||E.scrollTop||0)-A.clientTop}}F.x-=getAbsoluteLeft(this._obj)+(this._table_view?0:this.xy.scale_width);F.y-=getAbsoluteTop(this._obj)+this.xy.nav_height+(this._dy_shift||0)+this.xy.scale_height-this._els.dhx_cal_data[0].scrollTop;F.ev=D;var C=this["mouse_"+this._mode];if(C){return C.call(this,F)}if(!this._table_view){F.x=Math.min(this._cols.length-1,Math.max(0,Math.ceil(F.x/this._cols[0])-1));F.y=Math.max(0,Math.ceil(F.y*60/(this.config.time_step*this.config.hour_size_px))-1)+this.config.first_hour*(60/this.config.time_step)}else{var B=0;for(B=1;BF.y){break}}F.y=Math.ceil((Math.max(0,F.x/this._cols[0])+Math.max(0,B-1)*7)*24*60/this.config.time_step);if(scheduler._drag_mode){F.y=(Math.max(0,Math.ceil(F.x/this._cols[0])-1)+Math.max(0,B-1)*7)*24*60/this.config.time_step}F.x=0}return F};scheduler._close_not_saved=function(){if(new Date().valueOf()-(scheduler._new_event||0)>500&&scheduler._edit_id){var A=scheduler.locale.labels.confirm_closing;scheduler._dhtmlx_confirm(A,function(){scheduler.editStop(scheduler.config.positive_closing)})}};scheduler._correct_shift=function(B,A){return B-=((new Date(scheduler._min_date)).getTimezoneOffset()-(new Date(B)).getTimezoneOffset())*60000*(A?-1:1)};scheduler._on_mouse_move=function(F){if(this._drag_mode){var I=this._mouse_coords(F);if(!this._drag_pos||I.custom||this._drag_pos.x!=I.x||this._drag_pos.y!=I.y){var B,E;if(this._edit_id!=this._drag_id){this._close_not_saved()}this._drag_pos=I;if(this._drag_mode=="create"){this._close_not_saved();this._loading=true;B=this._get_date_from_pos(I).valueOf();var G=this.callEvent("onBeforeEventCreated",[F]);if(!G){return }if(!this._drag_start){this._drag_start=B;return }E=B;if(E==this._drag_start){return }this._drag_id=this.uid();this.addEvent(new Date(this._drag_start),new Date(E),this.locale.labels.new_event,this._drag_id,I.fields);this.callEvent("onEventCreated",[this._drag_id,F]);this._loading=false;this._drag_mode="new-size"}var J=this.getEvent(this._drag_id);if(this._drag_mode=="move"){B=this._min_date.valueOf()+(I.y*this.config.time_step+I.x*24*60)*60000;if(!I.custom&&this._table_view){B+=this.date.time_part(J.start_date)*1000}B=this._correct_shift(B);E=J.end_date.valueOf()-(J.start_date.valueOf()-B)}else{B=J.start_date.valueOf();E=J.end_date.valueOf();if(this._table_view){var H=this._min_date.valueOf()+I.y*this.config.time_step*60000+(I.custom?0:24*60*60000);if(this._mode=="month"){H=this._correct_shift(H,false)}if(I.resize_from_start){B=H}else{E=H}}else{E=this.date.date_part(new Date(J.end_date)).valueOf()+I.y*this.config.time_step*60000;this._els.dhx_cal_data[0].style.cursor="s-resize";if(this._mode=="week"||this._mode=="day"){E=this._correct_shift(E)}}if(this._drag_mode=="new-size"){if(E<=this._drag_start){var D=I.shift||((this._table_view&&!I.custom)?24*60*60000:0);B=E-(I.shift?0:D);E=this._drag_start+(D||(this.config.time_step*60000))}else{B=this._drag_start}}else{if(E<=B){E=B+this.config.time_step*60000}}}var L=new Date(E-1);var C=new Date(B);if(this._table_view||(L.getDate()==C.getDate()&&L.getHours()";for(var L=0;L<7;L++){G+="=D){B="dhx_after"}else{if(A.valueOf()==I.valueOf()){B="dhx_now"}}}G+=" class='"+B+" "+this.templates.month_date_class(A,I)+"' ";G+=">
"+this.templates.month_day(A)+"
";E.push(A);A=this.date.add(A,1,"day")}G+="";N[M]=C;C+=this._colsS.height}G+="";this._max_date=A;Q.innerHTML=G;this._scales={};var K=Q.getElementsByTagName("div");for(var M=0;M11?"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 C}});if(A){B=B.replace(/date\.get/g,"date.getUTC")}return new Function("date",'return "'+B+'";')},str_to_date:function(E,C){var F="var temp=date.match(/[a-zA-Z]+|[0-9]+/g);";var A=E.match(/%[a-zA-Z]/g);for(var B=0;B50?1900:2000);";break;case"%g":case"%G":case"%h":case"%H":F+="set[3]=temp["+B+"]||0;";break;case"%i":F+="set[4]=temp["+B+"]||0;";break;case"%Y":F+="set[0]=temp["+B+"]||0;";break;case"%a":case"%A":F+="set[3]=set[3]%12+((temp["+B+"]||'').toLowerCase()=='am'?0:12);";break;case"%s":F+="set[5]=temp["+B+"]||0;";break;case"%M":F+="set[1]=scheduler.locale.date.month_short_hash[temp["+B+"]]||0;";break;case"%F":F+="set[1]=scheduler.locale.date.month_full_hash[temp["+B+"]]||0;";break;default:break}}var D="set[0],set[1],set[2],set[3],set[4],set[5]";if(C){D=" Date.UTC("+D+")"}return new Function("date","var set=[0,0,1,0,0,0]; "+F+" return new Date("+D+");")},getISOWeek:function(C){if(!C){return false}var B=C.getDay();if(B===0){B=7}var D=new Date(C.valueOf());D.setDate(C.getDate()+(4-B));var A=D.getFullYear();var F=Math.round((D.getTime()-new Date(A,0,1).getTime())/86400000);var E=1+Math.floor(F/7);return E},getUTCISOWeek:function(A){return this.getISOWeek(A)},convert_to_utc:function(A){return new Date(A.getUTCFullYear(),A.getUTCMonth(),A.getUTCDate(),A.getUTCHours(),A.getUTCMinutes(),A.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"}};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:false,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:false,cascade_event_count:4,cascade_event_margin:30,drag_lightbox:true,preserve_scroll:true,select:true,server_utc:false,positive_closing:false,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:true},{name:"time",height:72,type:"time",map_to:"auto"}]},repeat_date_of_end:"01.01.2012"};scheduler.templates={};scheduler.init_templates=function(){var D=scheduler.locale.labels;D.dhx_save_btn=D.icon_save;D.dhx_cancel_btn=D.icon_cancel;D.dhx_delete_btn=D.icon_delete;var B=scheduler.date.date_to_str;var C=scheduler.config;var A=function(F,E){for(var G in E){if(!F[G]){F[G]=E[G]}}};A(scheduler.templates,{day_date:B(C.default_date),month_date:B(C.month_date),week_date:function(F,E){return scheduler.templates.day_date(F)+" – "+scheduler.templates.day_date(scheduler.date.add(E,-1,"day"))},day_scale_date:B(C.default_date),month_scale_date:B(C.week_date),week_scale_date:B(C.day_date),hour_scale:B(C.hour_date),time_picker:B(C.hour_date),event_date:B(C.hour_date),month_day:B(C.month_day),xml_date:scheduler.date.str_to_date(C.xml_date,C.server_utc),load_format:B(C.load_date,C.server_utc),xml_format:B(C.xml_date,C.server_utc),api_date:scheduler.date.str_to_date(C.api_date),event_header:function(G,E,F){return scheduler.templates.event_date(G)+" - "+scheduler.templates.event_date(E)},event_text:function(G,E,F){return F.text},event_class:function(G,E,F){return""},month_date_class:function(E){return""},week_date_class:function(E){return""},event_bar_date:function(G,E,F){return scheduler.templates.event_date(G)+" "},event_bar_text:function(G,E,F){return F.text}});this.callEvent("onTemplatesReady",[])};scheduler.uid=function(){if(!this._seed){this._seed=(new Date).valueOf()}return this._seed++};scheduler._events={};scheduler.clearAll=function(){this._events={};this._loaded={};this.clear_view()};scheduler.addEvent=function(A,H,E,G,B){if(!arguments.length){return this.addEventNow()}var C=A;if(arguments.length!=1){C=B||{};C.start_date=A;C.end_date=H;C.text=E;C.id=G}C.id=C.id||scheduler.uid();C.text=C.text||"";if(typeof C.start_date=="string"){C.start_date=this.templates.api_date(C.start_date)}if(typeof C.end_date=="string"){C.end_date=this.templates.api_date(C.end_date)}var D=(this.config.event_duration||this.config.time_step)*60000;if(C.start_date.valueOf()==C.end_date.valueOf()){C.end_date.setTime(C.end_date.valueOf()+D)}C._timed=this.is_one_day_event(C);var F=!this._events[C.id];this._events[C.id]=C;this.event_updated(C);if(!this._loading){this.callEvent(F?"onEventAdded":"onEventChanged",[C.id,C])}return C.id};scheduler.deleteEvent=function(C,A){var B=this._events[C];if(!A&&(!this.callEvent("onBeforeEventDelete",[C,B])||!this.callEvent("onConfirmedBeforeEventDelete",[C,B]))){return }if(B){delete this._events[C];this.unselect(C);this.event_updated(B)}this.callEvent("onEventDeleted",[C,B])};scheduler.getEvent=function(A){return this._events[A]};scheduler.setEvent=function(B,A){this._events[B]=A};scheduler.for_rendered=function(C,B){for(var A=this._rendered.length-1;A>=0;A--){if(this._rendered[A].getAttribute("event_id")==C){B(this._rendered[A],A)}}};scheduler.changeEventId=function(C,A){if(C==A){return }var B=this._events[C];if(B){B.id=A;this._events[A]=B;delete this._events[C]}this.for_rendered(C,function(D){D.setAttribute("event_id",A)});if(this._select_id==C){this._select_id=A}if(this._edit_id==C){this._edit_id=A}this.callEvent("onEventIdChange",[C,A])};(function(){var A=["text","Text","start_date","StartDate","end_date","EndDate"];var C=function(E){return function(F){return(scheduler.getEvent(F))[E]}};var D=function(E){return function(H,G){var F=scheduler.getEvent(H);F[E]=G;F._changed=true;F._timed=this.is_one_day_event(F);scheduler.event_updated(F,true)}};for(var B=0;Bthis._colsS.height-22){var O=B.rows[F].cells;for(var C=0;CS.id?1:-1}return T.start_date>S.start_date?1:-1});var F=[];var E=[];this._min_mapped_duration=Math.ceil(this.xy.min_event_height*60/this.config.hour_size_px);for(var P=0;PC){C=G[O]._sorder}}Q._sorder=C+1;Q._inner=false}}else{Q._sorder=0}}G.push(Q);if(G.length>(G.max_count||0)){G.max_count=G.length;Q._count=G.length}else{Q._count=(Q._count)?Q._count:1}}if(R=this.config.last_hour){if(!Q._timed){E.push(Q);J[P]=Q=this._copy_event(Q)}if(R=this.config.last_hour){Q.end_date.setMinutes(0);Q.end_date.setHours(this.config.last_hour)}if(Q.start_date>Q.end_date||R==this.config.last_hour){J.splice(P,1);P--;continue}}}if(!I){for(var P=0;PB.id?1:-1}return C.start_date>B.start_date?1:-1})};scheduler._pre_render_events_table=function(P,C){this._time_order(P);var F=[];var A=[[],[],[],[],[],[],[]];var N=this._colsS.heights;var I;var M=this._cols.length;for(var G=0;Gthis._max_date){H=this._max_date}var E=this.locate_holder_day(J,false,L);L._sday=E%M;var O=this.locate_holder_day(H,true,L)||M;L._eday=(O%M)||M;L._length=O-E;L._sweek=Math.floor((this._correct_shift(J.valueOf(),1)-this._min_date.valueOf())/(60*60*1000*24*M));var K=A[L._sweek];var D;for(D=0;D";if(this._quirks7){V.firstChild.style.height=J-12+"px"}this._editor=V.firstChild;this._editor.onkeypress=function(X){if((X||event).shiftKey){return true}var W=(X||event).keyCode;if(W==scheduler.keys.edit_save){scheduler.editStop(true)}if(W==scheduler.keys.edit_cancel){scheduler.editStop(false)}};this._editor.onselectstart=function(W){return(W||event).cancelBubble=true};V.firstChild.focus();this._els.dhx_cal_data[0].scrollLeft=0;V.firstChild.select()}if(this.xy.menu_width!==0&&this._select_id==R.id){if(this.config.cascade_event_display&&this._drag_mode){S.style.zIndex=1}var U=this.config["icons_"+((this._edit_id==R.id)?"edit":"select")];var A="";var I=(R.color?("background:"+R.color+";"):"");var M=(R.textColor?("color:"+R.textColor+";"):"");for(var O=0;O
"}var F=this._render_v_bar(R.id,D-B+1,G,B,U.length*20+26-2,"","
",A,true);F.style.left=D-B+1;this._els.dhx_cal_data[0].appendChild(F);this._rendered.push(F)}};scheduler._render_v_bar=function(I,D,C,E,M,N,Q,O,B){var S=document.createElement("DIV");var R=this.getEvent(I);var A=(B)?"dhx_cal_event dhx_cal_select_menu":"dhx_cal_event";var L=scheduler.templates.event_class(R.start_date,R.end_date,R);if(L){A=A+" "+L}var H=(R.color?("background:"+R.color+";"):"");var J=(R.textColor?("color:"+R.textColor+";"):"");var F='
';S.innerHTML=F;if(scheduler.renderEvent&&!B){scheduler.renderEvent(S.firstChild,R);return S.firstChild}else{var G=S.firstChild;var P='
 
';P+='
'+Q+"
";P+='
'+O+"
";var K="dhx_event_resize dhx_footer";if(B){K="dhx_resize_denied "+K}P+='
';G.innerHTML=P}return S.firstChild};scheduler.locate_holder=function(A){if(this._mode=="day"){return this._els.dhx_cal_data[0].firstChild}return this._els.dhx_cal_data[0].childNodes[A]};scheduler.locate_holder_day=function(B,C){var A=Math.floor((this._correct_shift(B,1)-this._min_date)/(60*60*24*1000));if(C&&this.date.time_part(B)){A++}return A};scheduler.render_event_bar=function(I){var L=this._rendered_location;var K=this._colsS[I._sday];var A=this._colsS[I._eday];if(A==K){A=this._colsS[I._eday+1]}var E=this.xy.bar_height;var H=this._colsS.heights[I._sweek]+(this._colsS.height?(this.xy.month_scale_height+2):2)+(I._sorder*E);var G=document.createElement("DIV");var F=I._timed?"dhx_cal_event_clear":"dhx_cal_event_line";var B=scheduler.templates.event_class(I.start_date,I.end_date,I);if(B){F=F+" "+B}var J=(I.color?("background:"+I.color+";"):"");var C=(I.textColor?("color:"+I.textColor+";"):"");var D='
';if(I._timed){D+=scheduler.templates.event_bar_date(I.start_date,I.end_date,I)}D+=scheduler.templates.event_bar_text(I.start_date,I.end_date,I)+"
";D+="";G.innerHTML=D;this._rendered.push(G.firstChild);L.appendChild(G.firstChild)};scheduler._locate_event=function(A){var B=null;while(A&&!B&&A.getAttribute){B=A.getAttribute("event_id");A=A.parentNode}return B};scheduler.edit=function(A){if(this._edit_id==A){return }this.editStop(false,A);this._edit_id=A;this.updateEvent(A)};scheduler.editStop=function(B,C){if(C&&this._edit_id==C){return }var A=this.getEvent(this._edit_id);if(A){if(B){A.text=this._editor.value}this._edit_id=null;this._editor=null;this.updateEvent(A.id);this._edit_stop_event(A,B)}};scheduler._edit_stop_event=function(A,B){if(this._new_event){if(!B){this.deleteEvent(A.id,true)}else{this.callEvent("onEventAdded",[A.id,A])}this._new_event=null}else{if(B){this.callEvent("onEventChanged",[A.id,A])}}};scheduler.getEvents=function(E,D){var A=[];for(var B in this._events){var C=this._events[B];if(C&&C.start_dateE){A.push(C)}}return A};scheduler._loaded={};scheduler._load=function(C,F){C=C||this._load_url;C+=(C.indexOf("?")==-1?"?":"&")+"timeshift="+(new Date()).getTimezoneOffset();if(this.config.prevent_cache){C+="&uid="+this.uid()}var E;F=F||this._date;if(this._load_mode){var B=this.templates.load_format;F=this.date[this._load_mode+"_start"](new Date(F.valueOf()));while(F>this._min_date){F=this.date.add(F,-1,this._load_mode)}E=F;var D=true;while(EF&&this._loaded[B(A)]);if(E<=F){return false}dhtmlxAjax.get(C+"&from="+B(F)+"&to="+B(E),function(G){scheduler.on_load(G)});while(F"},set_value:function(C,D,B,A){C.innerHTML=D||""},get_value:function(C,B,A){return C.innerHTML||""},focus:function(A){}},textarea:{render:function(B){var A=(B.height||"130")+"px";return"
"},set_value:function(B,C,A){B.firstChild.value=C||""},get_value:function(B,A){return B.firstChild.value},focus:function(B){var A=B.firstChild;A.select();A.focus()}},select:{render:function(D){var A=(D.height||"23")+"px";var C="
";return C},set_value:function(C,E,B,D){var A=C.firstChild;if(!A._dhx_onchange&&D.onchange){A.onchange=D.onchange;A._dhx_onchange=true}if(typeof E=="undefined"){E=(A.options[0]||{}).value}A.value=E||""},get_value:function(B,A){return B.firstChild.value},focus:function(B){var A=B.firstChild;if(A.select){A.select()}A.focus()}},time:{render:function(H){var G=scheduler.config;var A=this.date.date_part(new Date());var J=24*60,E=0;if(scheduler.config.limit_time_select){J=60*G.last_hour+1;E=60*G.first_hour;A.setHours(G.first_hour)}var F=" ";return"
"+F+"  –  "+F+"
"},set_value:function(B,K,I,A){var H=scheduler.config;var L=B.getElementsByTagName("select");if(H.full_day){if(!B._full_day){var F="";if(!scheduler.config.wide_form){F=B.previousSibling.innerHTML+F}B.previousSibling.innerHTML=F;B._full_day=true}var J=B.previousSibling.getElementsByTagName("input")[0];J.checked=(scheduler.date.time_part(I.start_date)===0&&scheduler.date.time_part(I.end_date)===0);for(var C in L){L[C].disabled=J.checked}J.onclick=function(){if(J.checked){var O={};scheduler.form_blocks.time.get_value(B,O);var M=scheduler.date.date_part(O.start_date);var P=scheduler.date.date_part(O.end_date);if(M.valueOf()==P.valueOf()){P=scheduler.date.add(M,1,"day")}}for(var N in L){L[N].disabled=J.checked}D(L,0,M||I.start_date);D(L,4,P||I.end_date)}}if(H.auto_end_date&&H.event_duration){function G(){I.start_date=new Date(L[3].value,L[2].value,L[1].value,0,L[0].value);I.end_date.setTime(I.start_date.getTime()+(scheduler.config.event_duration*60*1000));D(L,4,I.end_date)}for(var E=0;E<4;E++){L[E].onchange=G}}function D(U,Q,S){var N=A._time_values;var T=S.getHours()*60+S.getMinutes();var P=T;var R=false;for(var O=0;Odocument.body.offsetWidth){C.style.left=Math.round(D+(document.body.offsetWidth-C.offsetWidth)/2)+"px"}else{C.style.left=Math.round((document.body.offsetWidth-C.offsetWidth)/2)+"px"}}this.show_cover()};scheduler.showLightbox=function(B){if(!B){return }if(!this.callEvent("onBeforeLightbox",[B])){return }var A=this.getLightbox();this.showCover(A);this._fill_lightbox(B,A);this.callEvent("onLightbox",[B])};scheduler._fill_lightbox=function(H,E){var D=this.getEvent(H);var B=E.getElementsByTagName("span");if(scheduler.templates.lightbox_header){B[1].innerHTML="";B[2].innerHTML=scheduler.templates.lightbox_header(D.start_date,D.end_date,D)}else{B[1].innerHTML=this.templates.event_header(D.start_date,D.end_date,D);B[2].innerHTML=(this.templates.event_bar_text(D.start_date,D.end_date,D)||"").substr(0,70)}var F=this.config.lightbox.sections;for(var A=0;A
"+scheduler.locale.labels[D[B]]+"
"}D=this.config.buttons_right;for(var B=0;B
"+scheduler.locale.labels[D[B]]+"
"}C+="";H.innerHTML=C;if(scheduler.config.drag_lightbox){H.firstChild.onmousedown=scheduler._ready_to_dnd;H.firstChild.onselectstart=function(){return false};H.firstChild.style.cursor="pointer";scheduler._init_dnd_events()}document.body.insertBefore(H,document.body.firstChild);this._lightbox=H;var F=this.config.lightbox.sections;C="";for(var B=0;B
"+this.locale.labels["button_"+F[B].button]+"
"}if(this.config.wide_form){C+="
"}C+="
"+A+this.locale.labels["section_"+F[B].name]+"
"+G.render.call(this,F[B]);C+="
"}var E=H.getElementsByTagName("div");E[1].innerHTML=C;this.setLightboxSize();this._init_lightbox_events(this);H.style.display="none";H.style.visibility="visible"}return this._lightbox};scheduler._lightbox_template="
 
";scheduler._dp_init=function(A){A._methods=["setEventTextStyle","","changeEventId","deleteEvent"];this.attachEvent("onEventAdded",function(B){if(!this._loading&&this.validId(B)){A.setUpdated(B,true,"inserted")}});this.attachEvent("onConfirmedBeforeEventDelete",function(C){if(!this.validId(C)){return }var B=A.getState(C);if(B=="inserted"||this._new_event){A.setUpdated(C,false);return true}if(B=="deleted"){return false}if(B=="true_deleted"){return true}A.setUpdated(C,true,"deleted");return false});this.attachEvent("onEventChanged",function(B){if(!this._loading&&this.validId(B)){A.setUpdated(B,true,"updated")}});A._getRowData=function(F,B){var D=this.obj.getEvent(F);var E={};for(var C in D){if(C.indexOf("_")==0){continue}if(D[C]&&D[C].getUTCFullYear){E[C]=this.obj.templates.xml_format(D[C])}else{E[C]=D[C]}}return E};A._clearUpdateFlag=function(){};A.attachEvent("insertCallback",scheduler._update_callback);A.attachEvent("updateCallback",scheduler._update_callback);A.attachEvent("deleteCallback",function(B,C){this.obj.setUserData(C,this.action_param,"true_deleted");this.obj.deleteEvent(C)})};scheduler.setUserData=function(C,A,B){if(C){this.getEvent(C)[A]=B}else{this._userdata[A]=B}};scheduler.getUserData=function(B,A){return B?this.getEvent(B)[A]:this._userdata[A]};scheduler.setEventTextStyle=function(C,A){this.for_rendered(C,function(D){D.style.cssText+=";"+A});var B=this.getEvent(C);B._text_style=A;this.event_updated(B)};scheduler.validId=function(A){return true};scheduler._update_callback=function(B,C){var A=scheduler.xmlNodeToJSON(B.firstChild);A.text=A.text||A._tagvalue;A.start_date=scheduler.templates.xml_date(A.start_date);A.end_date=scheduler.templates.xml_date(A.end_date);scheduler.addEvent(A)};