Your IP : 18.220.89.112
(function(e){function t(e){if(!e)e={};this.config=e;this.id=e.id;this.userId=e.userId;this.shown=false;this.built=false;this.dayLength=864e5;this.shownScaleTimeFrom=24;this.shownScaleTimeTo=0;this.timelineCellWidthOrig=false;this.proposeTimeLimit=60;this.expandTimelineDelay=600;this.DATE_FORMAT=BX.date.convertBitrixFormat(BX.message("FORMAT_DATE"));this.DATETIME_FORMAT=BX.date.convertBitrixFormat(BX.message("FORMAT_DATETIME"));if(this.DATETIME_FORMAT.substr(0,this.DATE_FORMAT.length)==this.DATE_FORMAT)this.TIME_FORMAT=BX.util.trim(this.DATETIME_FORMAT.substr(this.DATE_FORMAT.length));else this.TIME_FORMAT=BX.date.convertBitrixFormat(this.bAMPM?"H:MI:SS T":"HH:MI:SS");this.TIME_FORMAT_SHORT=this.TIME_FORMAT.replace(":s","");this.SCALE_TIME_FORMAT=BX.isAmPmMode()?"g a":"G:i";this.entryStatusMap={h:"user-status-h",y:"user-status-y",q:"user-status-q",n:"user-status-n"};this.SetConfig(e);this.SetLoadedDataLimits(this.scaleDateFrom,this.scaleDateTo);BX.addCustomEvent("OnCalendarPlannerDoUpdate",BX.proxy(this.DoUpdate,this));BX.addCustomEvent("OnCalendarPlannerDoExpand",BX.proxy(this.DoExpand,this));BX.addCustomEvent("OnCalendarPlannerDoResize",BX.proxy(this.DoResize,this));BX.addCustomEvent("OnCalendarPlannerDoSetConfig",BX.proxy(this.DoSetConfig,this));BX.addCustomEvent("OnCalendarPlannerDoUninstall",BX.proxy(this.DoUninstall,this))}t.prototype={Show:function(e){if(!this.compactMode)e=false;if(this.hideAnimation){this.hideAnimation.stop();this.hideAnimation=null}if(!this.built){this.Build();this.BindEventHandlers()}else{this.ResizePlannerWidth(this.width)}this.HideSelector();this.BuildTimeline();if(this.adjustWidth){this.ResizePlannerWidth(this.timelineInnerWrap.offsetWidth)}this.outerWrap.style.display="";if(this.readonly)BX.addClass(this.mainContWrap,"calendar-planner-readonly");else BX.removeClass(this.mainContWrap,"calendar-planner-readonly");if(this.compactMode)BX.addClass(this.mainContWrap,"calendar-planner-compact");else BX.removeClass(this.mainContWrap,"calendar-planner-compact");this.entriesListOuterWrap.style.display=this.compactMode?"none":"";if(e){var t=this;if(this.showAnimation){this.showAnimation.stop();this.showAnimation=null}this.showAnimation=new BX.easing({duration:300,start:{height:0},finish:{height:this.height},transition:BX.easing.makeEaseOut(BX.easing.transitions.quart),step:function(e){t.outerWrap.style.height=e.height+"px"},complete:BX.proxy(function(){if(parseInt(t.outerWrap.style.height)<t.height)t.outerWrap.style.height=this.height+"px";this.showAnimation=null},this)});this.showAnimation.animate()}else{if(parseInt(this.outerWrap.style.height)<this.height)this.outerWrap.style.height=this.height+"px";this.AdjustPlannerHeight()}this.shown=true},Hide:function(e){if(this.showAnimation){this.showAnimation.stop();this.showAnimation=null}if(this.shown){this.shown=false;if(e){if(this.hideAnimation){this.hideAnimation.stop();this.hideAnimation=null}var t=this;this.hideAnimation=new BX.easing({duration:300,start:{height:this.height},finish:{height:0},transition:BX.easing.makeEaseOut(BX.easing.transitions.quart),step:function(e){t.outerWrap.style.height=e.height+"px"},complete:BX.proxy(function(){this.hideAnimation=null;this.Hide(false)},this)});this.hideAnimation.animate()}else{this.outerWrap.style.display="none";if(this.timelineScaleCont)BX.cleanNode(this.timelineScaleCont);this.timelineInnerWrap.removeAttribute("style");this.outerWrap.removeAttribute("style");this.mainContWrap.removeAttribute("style");this.entriesListOuterWrap.removeAttribute("style")}}},SetConfig:function(e){if(e.scaleType&&{"15min":1,"30min":1,"1hour":1,"2hour":1,"1day":1}[e.scaleType]){this.scaleType=e.scaleType}if(!this.scaleType){this.scaleType="1hour"}this.SetScaleType(this.scaleType);if(e.showTimelineDayTitle!==undefined)this.showTimelineDayTitle=!!e.showTimelineDayTitle;else if(this.showTimelineDayTitle===undefined)this.showTimelineDayTitle=true;if(e.compactMode!==undefined)this.compactMode=!!e.compactMode;else if(this.compactMode===undefined)this.compactMode=false;if(e.readonly!==undefined)this.readonly=!!e.readonly;else if(this.readonly===undefined)this.readonly=false;if(this.compactMode){var t=50;if(this.showTimelineDayTitle&&this.scaleType!="1day")t+=20;this.height=this.minHeight=t}this.scaleLimitOffsetLeft=parseInt(e.scaleLimitOffsetLeft)||this.scaleLimitOffsetLeft||3;this.scaleLimitOffsetRight=parseInt(e.scaleLimitOffsetRight)||this.scaleLimitOffsetRight||5;this.minEntryRows=parseInt(e.minEntryRows)||this.minEntryRows||3;this.maxEntryRows=parseInt(e.maxEntryRows)||this.maxEntryRows||10;this.width=parseInt(e.width)||this.width||700;this.height=parseInt(e.height)||this.height||84;this.minWidth=parseInt(e.minWidth)||this.minWidth||700;this.minHeight=parseInt(e.minHeight)||this.minHeight||84;if(this.width<this.minWidth)this.width=this.minWidth;if(this.height<this.minHeight)this.height=this.minHeight;this.workTime=e.workTime||this.workTime||[9,18];this.ExtendScaleTime(this.workTime[0],this.workTime[1]);this.weekHolidays=e.weekHolidays||this.weekHolidays||[];this.yearHolidays=e.yearHolidays||this.yearHolidays||[];this.accuracy=e.accuracy||this.accuracy||300;this.selectorAccuracy=parseInt(e.selectorAccuracy)||this.selectorAccuracy||300;this.entriesListWidth=parseInt(e.entriesListWidth)||this.entriesListWidth||200;this.timelineCellWidth=e.timelineCellWidth||this.timelineCellWidth||40;if(this.scaleType=="1day"&&this.timelineCellWidth<90){this.timelineCellWidthOrig=this.timelineCellWidth;this.timelineCellWidth=90}else if(this.timelineCellWidthOrig&&this.scaleType!="1day"){this.timelineCellWidth=this.timelineCellWidthOrig;this.timelineCellWidthOrig=false}if(this.adjustCellWidth===undefined||e.adjustCellWidth!==undefined)this.adjustCellWidth=this.readonly&&this.compactMode&&e.adjustCellWidth!==false;this.AdjustCellWidth();if(e.scaleDateFrom!==undefined){this.scaleDateFrom=typeof e.scaleDateFrom=="string"?BX.parseDate(e.scaleDateFrom):e.scaleDateFrom}else if(!this.scaleDateFrom){if(this.compactMode&&this.readonly){this.scaleDateFrom=new Date}else{this.scaleDateFrom=new Date((new Date).getTime()-this.dayLength*this.scaleLimitOffsetLeft)}}this.scaleDateFrom.setHours(this.scaleType=="1day"?0:this.shownScaleTimeFrom,0,0,0);if(e.scaleDateTo!==undefined){this.scaleDateTo=typeof e.scaleDateTo=="string"?BX.parseDate(e.scaleDateTo):e.scaleDateTo}else if(!this.scaleDateTo){if(this.compactMode&&this.readonly){this.scaleDateTo=new Date}else{this.scaleDateTo=new Date((new Date).getTime()+this.dayLength*this.scaleLimitOffsetRight)}}this.scaleDateTo.setHours(this.scaleType=="1day"?0:this.shownScaleTimeTo,0,0,0)},SetLoadedDataLimits:function(e,t){if(e)this.loadedDataFrom=e.getTime?e:BX.parseDate(e);if(t)this.loadedDataTo=t.getTime?t:BX.parseDate(t)},ExtendScaleTime:function(e,t){if(e!==false&&!isNaN(parseInt(e))){this.shownScaleTimeFrom=Math.min(parseInt(e),this.shownScaleTimeFrom,23);this.shownScaleTimeFrom=Math.max(this.shownScaleTimeFrom,0);if(this.scaleDateFrom)this.scaleDateFrom.setHours(this.shownScaleTimeFrom,0,0,0)}if(t!==false&&!isNaN(parseInt(t))){this.shownScaleTimeTo=Math.max(parseInt(t),this.shownScaleTimeTo,1);this.shownScaleTimeTo=Math.min(this.shownScaleTimeTo,24);if(this.scaleDateTo)this.scaleDateTo.setHours(this.shownScaleTimeTo,0,0,0)}this.checkSelectorPosition=this.shownScaleTimeFrom!=0||this.shownScaleTimeTo!=24},AdjustCellWidth:function(){if(this.adjustCellWidth){this.timelineCellWidth=Math.round(this.width/((this.shownScaleTimeTo-this.shownScaleTimeFrom)*3600/this.scaleSize))}},Build:function(){this.outerWrap=BX(this.id);this.outerWrap.style.width=this.width+"px";var e=this.compactMode?0:this.entriesListWidth;this.mainContWrap=this.outerWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-main-container"},style:{minHeight:this.minHeight+"px",height:this.height+"px",width:this.width+"px"}}));if(this.readonly)BX.addClass(this.mainContWrap,"calendar-planner-readonly");if(this.compactMode)BX.addClass(this.mainContWrap,"calendar-planner-compact");this.entriesListOuterWrap=this.mainContWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-user-container"},style:{width:e+"px",height:this.height+"px"}}));this.PreventSelection(this.entriesListOuterWrap);if(this.compactMode)this.entriesListOuterWrap.style.display="none";if(this.scaleType=="1day")BX.addClass(this.entriesListOuterWrap,"calendar-planner-no-daytitle");else BX.removeClass(this.entriesListOuterWrap,"calendar-planner-no-daytitle");this.entriesListHeader=this.entriesListOuterWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-header"}})).appendChild(BX.create("DIV",{props:{className:"calendar-planner-general-info"}})).appendChild(BX.create("DIV",{props:{className:"calendar-planner-users-header"}}));this.entriesListTitleCounter=this.entriesListHeader.appendChild(BX.create("span",{props:{className:"calendar-planner-users-item"},text:BX.message("EC_PL_ATTENDEES_TITLE")+" "})).appendChild(BX.create("span"));this.settingsButton=this.entriesListHeader.appendChild(BX.create("span",{props:{className:"calendar-planner-settings-icon",title:BX.message("EC_PL_SETTINGS")}}));BX.bind(this.settingsButton,"click",BX.proxy(this.ShowSettingsPopup,this));this.entriesListWrap=this.entriesListOuterWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-user-container-inner"}}));this.timelineFixedWrap=this.mainContWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-timeline-wrapper"},style:{height:this.height+"px"}}));this.timelineInnerWrap=this.timelineFixedWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-timeline-inner-wrapper"}}));this.timelineInnerWrap.setAttribute("data-bx-planner-meta","timeline");this.timelineScaleCont=this.timelineInnerWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-time"}}));this.PreventSelection(this.timelineScaleCont);this.timelineDataCont=this.timelineInnerWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-timeline-container"},style:{height:this.height+"px"}}));this.accessibilityWrap=this.timelineDataCont.appendChild(BX.create("DIV",{props:{className:"calendar-planner-acc-wrap"}}));var t=this.BuildSelector();this.selector=t.selector;this.selectorTitle=t.selectorTitle;this.selectorProposeIcon=t.selectorProposeIcon;this.built=true},BuildSelector:function(e){if(!e||typeof e!=="object")e={};var t=this.timelineDataCont.appendChild(BX.create("DIV",{props:{className:"calendar-planner-timeline-selector"},html:'<span data-bx-planner-meta="selector-resize-left" class="calendar-planner-timeline-drag-left"></span><span class="calendar-planner-timeline-selector-grip"></span><span data-bx-planner-meta="selector-resize-right" class="calendar-planner-timeline-drag-right"></span>'}));t.setAttribute("data-bx-planner-meta","selector");t.ondrag=BX.False;t.ondragstart=BX.False;var i=t.appendChild(BX.create("DIV",{props:{className:"calendar-planner-selector-notice"},style:{display:"none"}}));return{selector:t,selectorTitle:i}},BuildTimeline:function(){if(this.timelineScaleCont){BX.cleanNode(this.timelineScaleCont)}this.GetScaleData();var e,t,i=this.timelineScaleCont;for(var s=0;s<this.scaleData.length;s++){if(this.showTimelineDayTitle&&this.scaleType!="1day"){if(this.scaleDayTitles[this.scaleData[s].daystamp]){i=this.scaleDayTitles[this.scaleData[s].daystamp]}else{e=this.timelineScaleCont.appendChild(BX.create("DIV",{props:{className:"calendar-planner-time-day-outer"}}));t=e.appendChild(BX.create("DIV",{props:{className:"calendar-planner-time-day-title"},text:BX.date.format("d F, l",this.scaleData[s].timestamp/1e3)}));i=e.appendChild(BX.create("DIV",{props:{className:"calendar-planner-time-day"}}));this.scaleDayTitles[this.scaleData[s].daystamp]=i}}var a="calendar-planner-time-hour-item"+(this.scaleData[s].dayStart?" calendar-planner-day-start":"");if((this.scaleType=="15min"||this.scaleType=="30min")&&this.scaleData[s].title!==""){a+=" calendar-planner-time-hour-bold"}this.scaleData[s].cell=i.appendChild(BX.create("DIV",{props:{className:a},style:{width:this.timelineCellWidth+"px",minWidth:this.timelineCellWidth+"px"},html:this.scaleData[s].title!=""?"<i>"+this.scaleData[s].title+"</i>":this.scaleData[s].title}))}this.MapDatePos();var n=this.timelineScaleCont.offsetWidth;this.timelineInnerWrap.style.width=n+"px";this.entriesListWrap.style.top=parseInt(this.timelineDataCont.offsetTop)+12+"px";this.CheckRebuildTimeout(n)},CheckRebuildTimeout:function(e,t){var i=this;if(!t)t=200;if(!this._checkRebuildTimeoutCount)this._checkRebuildTimeoutCount=0;if(this.rebuildTimeout)this.rebuildTimeout=!!clearTimeout(this.rebuildTimeout);if(this._checkRebuildTimeoutCount<=5){this._checkRebuildTimeoutCount++;this.rebuildTimeout=setTimeout(function(){if(e!==i.timelineScaleCont.offsetWidth){if(i.rebuildTimeout)i.rebuildTimeout=!!clearTimeout(i.rebuildTimeout);i.RebuildPlanner();i.FocusSelector(true,200)}else{i.CheckRebuildTimeout(e,t)}},t)}else{delete this._checkRebuildTimeoutCount}},RebuildPlanner:function(e){if(!e||typeof e!="object")e={};this.BuildTimeline();this.ClearAccessibilityData();this.UpdateData({accessibility:this.accessibility,entries:this.entries});this.AdjustPlannerHeight();this.ResizePlannerWidth(this.width);if(e.updateSelector!==false)this.UpdateSelector(e.selectorParams||false)},GetScaleData:function(){this.scaleData=[];this.scaleDayTitles={};var e,t,i,s,a,n,r=false,l=this.scaleType=="1day"?0:parseInt(this.shownScaleTimeFrom),o=this.scaleType=="1day"?0:parseInt(this.shownScaleTimeTo);this.scaleDateFrom.setHours(l,0,0,0);this.scaleDateTo.setHours(o,0,0,0);t=this.scaleDateFrom.getTime();i=this.scaleDateTo.getTime();for(e=t;e<i;e+=this.scaleSize*1e3){s=parseFloat(BX.date.format("H.i",e/1e3));if(this.scaleType=="1day")n=BX.date.format("d F, D",e/1e3);else n=BX.date.format("i",e/1e3)=="00"?BX.date.format(this.SCALE_TIME_FORMAT,e/1e3):"";if(this.scaleType=="1day"||s>=l&&s<o){a=BX.date.format("d.m.Y",e/1e3);this.scaleData.push({daystamp:a,timestamp:e,value:e,title:n,dayStart:r!==a});r=a}}return this.scaleData},UpdateData:function(e){if(!e.accessibility)e.accessibility={};this.accessibility=e.accessibility;this.entries=e.entries;var t,i,s,a;if(this.compactMode){var n=[];for(i in e.accessibility){if(e.accessibility.hasOwnProperty(i)&&e.accessibility[i]&&e.accessibility[i].length>0){for(t=0;t<e.accessibility[i].length;t++){n.push(this.HandleAccessibilityEntry(e.accessibility[i][t]))}}}n=this.FuseAccessibility(n);this.compactRowWrap=this.accessibilityWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-timeline-space"},style:{}}));this.currentData=[n];for(t=0;t<n.length;t++){this.DisplayAccessibilityEntry(n[t],this.compactRowWrap)}}else{e.entries.sort(function(t,i){if(t.type=="room"||t.status=="h"&&i.type!=="room")return-1;if(i.type=="room"||i.status=="h"&&t.type!=="room")return 1;var s=e.accessibility[t.id]?e.accessibility[t.id].length:0,a=e.accessibility[i.id]?e.accessibility[i.id].length:0;return a-s});var r=[],l=0,o=0,h=0,c=[];for(t=0;t<e.entries.length;t++){s=e.entries[t];a=e.accessibility[s.id]||[];if(s.type=="user")l++;if(this.minEntryRows&&t<this.minEntryRows){h++;this.DisplayEntryRow(s,a)}else{o++;c.push(s.name);if(a.length>0){for(i=0;i<a.length;i++){r.push(this.HandleAccessibilityEntry(a[i]))}}}}this.entriesListTitleCounter.innerHTML="("+l+")";if(o>0){if(h==this.maxEntryRows){this.DisplayEntryRow({name:BX.message("EC_PL_ATTENDEES_LAST")+" ("+o+")",type:"lastUsers",title:c.join(", ")},r)}else{this.DisplayEntryRow({name:BX.message("EC_PL_ATTENDEES_SHOW_MORE")+" ("+o+")",type:"moreLink"},r)}}}this.AdjustPlannerHeight()},ClearAccessibilityData:function(){BX.cleanNode(this.entriesListWrap);BX.cleanNode(this.accessibilityWrap)},HandleAccessibilityEntry:function(e){if(!e.from){e.from=BX.parseDate(e.dateFrom);e.from.setSeconds(0,0);e.fromTimestamp=e.from.getTime()}if(!e.to){e.to=BX.parseDate(e.dateTo);e.to.setSeconds(0,0);e.toTimestamp=e.to.getTime()}if(!e.toReal){if((e.toTimestamp-e.fromTimestamp)%this.dayLength==0){e.toReal=new Date(e.to.getTime()+this.dayLength);e.toReal.setSeconds(0,0);e.toTimestampReal=e.toReal.getTime()}else{e.toReal=e.to;e.toTimestampReal=e.toTimestamp}}return e},DisplayAccessibilityEntry:function(e,t){var i,s,a=false,n=e.fromTimestamp,r=e.toTimestampReal||e.toTimestamp,l=this.scaleType=="1day"?0:this.shownScaleTimeFrom,o=this.scaleType=="1day"?24:this.shownScaleTimeTo,h=new Date(n),c=new Date(r);i=parseInt(h.getHours())+h.getMinutes()/60;s=parseInt(c.getHours())+c.getMinutes()/60;if(i>o){h=new Date(h.getTime()+this.dayLength-1);h.setHours(l,0,0,0);if(h.getTime()>=c.getTime())a=true}if(!a&&i<l){h.setHours(l,0,0,0);if(h.getTime()>=c.getTime())a=true}if(!a&&s>o){c.setHours(o,0,0,0);if(h.getTime()>=c.getTime())a=true}if(!a&&s<l){c=new Date(c.getTime()-this.dayLength+1);c.setHours(o,0,0,0);if(h.getTime()>=c.getTime())a=true}if(!a){var d=this.GetPosByDate(h),p=this.GetPosByDate(c);e.node=t.appendChild(BX.create("DIV",{props:{className:"calendar-planner-acc-entry"+(e.type&&e.type=="hr"?" calendar-planner-acc-entry-hr":"")},style:{left:d+"px",width:p-d+"px"}}))}},FuseAccessibility:function(e){return e;e.sort(function(e,t){return e.fromTimestamp-t.fromTimestamp});var t,i=[],s=false,a,n;for(t=0;t<e.length;t++){if(s!==false&&i[s]){if(e[t].fromTimestamp<=i[s].toTimestampReal){a=e[t].toTimestampReal||e[t].toTimestamp;n=i[s].toTimestampReal||i[s].toTimestamp;if(a>n){i[s].toTimestamp=a;i[s].to=e[t].toReal||e[t].to;i[s].toTimestampReal=a;i[s].toReal=e[t].toReal||e[t].to}continue}}i.push({fromTimestamp:e[t].fromTimestamp,from:e[t].from,toTimestamp:e[t].toTimestampReal,toTimestampReal:e[t].toTimestampReal,to:e[t].to,toReal:e[t].toReal||e[t].to});s=i.length-1}return i},DisplayEntryRow:function(e,t){e.rowWrap=this.entriesListWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-user"},style:{}}));if(e.type=="moreLink"){this.showMoreUsers=e.rowWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-all-users",title:e.title||""},text:e.name}));BX.bind(this.showMoreUsers,"click",BX.proxy(this.ShowMoreUsers,this))}else if(e.type=="lastUsers"){this.showMoreUsers=e.rowWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-all-users calendar-planner-last-users",title:e.title||""},text:e.name}))}else if(e.id&&e.type=="user"){if(e.status&&this.entryStatusMap[e.status]){e.rowWrap.appendChild(BX.create("span",{props:{className:"calendar-planner-user-status-icon "+this.entryStatusMap[e.status],title:BX.message("EC_PL_STATUS_"+e.status.toUpperCase())}}))}e.rowWrap.appendChild(BX.create("img",{props:{className:"calendar-planner-user-image-icon",src:e.avatar}}));e.rowWrap.appendChild(BX.create("span",{props:{className:"calendar-planner-user-name"}})).appendChild(BX.create("A",{props:{id:"anchor_pl_"+e.id,href:e.url?e.url:"#",className:"calendar-planner-user-name-link"},style:{width:this.entriesListWidth-42+"px"},text:e.name}));BX.tooltip(e.id,"anchor_pl_"+e.id,"")}else if(e.id&&e.type=="room"){e.rowWrap.appendChild(BX.create("span",{props:{className:"calendar-planner-user-name"}})).appendChild(BX.create("A",{props:{href:e.url?e.url:"#",className:"calendar-planner-user-name-link"},style:{width:this.entriesListWidth-20+"px"},text:e.name}))}else{e.rowWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-all-users"},text:e.name}))}for(i=0;i<t.length;i++){t[i]=this.HandleAccessibilityEntry(t[i])}t=this.FuseAccessibility(t);var i,s=e.rowWrap.offsetTop+13;e.dataRowWrap=this.accessibilityWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-timeline-space"},style:{top:s+"px"}}));for(i=0;i<t.length;i++){this.DisplayAccessibilityEntry(t[i],e.dataRowWrap)}},UpdateSelector:function(e){if(!e)e={};e.updateScaleType=!!e.updateScaleType;e.updateScaleLimits=!!e.updateScaleLimits;e.animation=!!e.animation;var t=this,i=false,s,a,n;s=(e.from&&e.from.getTime?e.from:BX.parseDate(e.from))||this.currentSelectorDateFrom;a=(e.to&&e.to.getTime?e.to:BX.parseDate(e.to))||this.currentSelectorDateTo;n=e.fullDay!==undefined?e.fullDay:this.currentSelectorFullDay;if(a&&a.getTime()&&s&&s.getTime()){this.currentSelectorDateFrom=s;this.currentSelectorDateTo=a;this.currentSelectorFullDay=n;this.SetFullDayMode(n);if(n){a=new Date(a.getTime()+this.dayLength);s.setHours(0,0,0,0);a.setHours(0,0,0,0);if(this.scaleType!="1day"){this.SetScaleType("1day");i=true}}if(e.updateScaleLimits&&this.scaleType!=="1day"){var r=parseInt(s.getHours())+Math.floor(s.getMinutes()/60);var l=parseInt(a.getHours())+Math.ceil(a.getMinutes()/60);if(this.FormatDate(s)!==this.FormatDate(a)){this.ExtendScaleTime(0,24);i=true}else{if(r<this.shownScaleTimeFrom){this.ExtendScaleTime(r,false);i=true}if(l>this.shownScaleTimeTo){this.ExtendScaleTime(false,l);i=true}if(i){this.AdjustCellWidth()}}}if(i){this.RebuildPlanner({updateSelector:false})}t.ShowSelector({dateFrom:s,dateTo:a,animation:e.animation,focus:e.focus})}},ShowSelector:function(e){var t=e.selector||this.selector,i=e.dateFrom,s=e.dateTo,a=e.animation,n=e.focus;t.style.display="block";if(i&&s){var r=this.GetPosByDate(i),l=this.GetPosByDate(s);t.style.width=l-r+"px";if(this.fullDayMode)a=false;if(a&&t.style.left){this.TransitSelector(false,r,false,n===true)}else{t.style.left=r+"px";t.style.width=l-r+"px";if(n===true){setTimeout(BX.proxy(this.FocusSelector,this),200)}this.CheckSelectorStatus(r)}}},HideSelector:function(){this.selector.style.display="none"},StartMovingSelector:function(){this.selectorIsDraged=true;this.selectorRoundedPos=false;this.selectorStartLeft=parseInt(this.selector.style.left);this.selectorStartScrollLeft=this.timelineFixedWrap.scrollLeft;if(this.currentSelectorInstances){for(var e=0;e<this.currentSelectorInstances.length;e++){this.currentSelectorInstances[e].selectorStartLeft=parseInt(this.currentSelectorInstances[e].selector.style.left)}}BX.addClass(document.body,"calendar-planner-unselectable")},MoveSelector:function(e){var t=parseInt(this.selector.style.width),i=this.selectorStartLeft+e;i-=this.selectorStartScrollLeft-this.timelineFixedWrap.scrollLeft;if(this.posDateMap[i]){this.selectorRoundedPos=i}else{var s=this.RoundPos(i);if(this.posDateMap[s]){this.selectorRoundedPos=s}}var a=this.CheckSelectorPosition(this.selectorRoundedPos);if(a!==this.selectorRoundedPos){this.selectorRoundedPos=a;i=a}this.selector.style.left=i+"px";this.ShowSelectorTitle({fromPos:i,toPos:this.selectorRoundedPos+t});if(this.currentSelectorInstances){var n,r,l=i-this.selectorStartLeft,o;for(n=0;n<this.currentSelectorInstances.length;n++){o=this.currentSelectorInstances[n].selector;r=this.currentSelectorInstances[n].selectorStartLeft+l;o.style.left=r+"px";this.ShowSelectorTitle({fromPos:r,toPos:r+t,selector:o,selectorTitle:this.currentSelectorInstances[n].selectorTitle})}}this.CheckSelectorStatus(this.selectorRoundedPos)},EndMovingSelector:function(){if(this.selectorRoundedPos){this.selector.style.left=this.selectorRoundedPos+"px";this.selectorRoundedPos=false;this.HideSelectorTitle();this.OnSelectorChanged(this.selectorRoundedPos);if(this.currentSelectorInstances){for(var e=0;e<this.currentSelectorInstances.length;e++){this.HideSelectorTitle({selectorTitle:this.currentSelectorInstances[e].selectorTitle,selectorIndex:e})}}}this.selectorIsDraged=false},StartResizeSelector:function(){this.selectorIsResized=true;this.selectorRoundedPos=false;this.selectorStartLeft=parseInt(this.selector.style.left);this.selectorStartWidth=parseInt(this.selector.style.width);this.selectorStartScrollLeft=this.timelineFixedWrap.scrollLeft;if(this.currentSelectorInstances){for(var e=0;e<this.currentSelectorInstances.length;e++){this.currentSelectorInstances[e].selectorStartLeft=parseInt(this.currentSelectorInstances[e].selector.style.left);this.currentSelectorInstances[e].selectorStartWidth=parseInt(this.currentSelectorInstances[e].selector.style.width)}}},ResizeSelector:function(e){var t,i,s=this.selectorStartWidth+e;s-=this.selectorStartScrollLeft-this.timelineFixedWrap.scrollLeft;var a=this.selectorStartLeft+s;if(a>parseInt(this.timelineInnerWrap.style.width))a=parseInt(this.timelineInnerWrap.style.width);t=this.GetDateByPos(a,true);if(this.fullDayMode){i=parseInt(t.getHours())+Math.round(t.getMinutes()/60*10)/10;t.setHours(0,0,0,0);if(i>12){t=new Date(t.getTime()+this.dayLength);t.setHours(0,0,0,0)}a=this.GetPosByDate(t);s=a-this.selectorStartLeft;if(s<=10){t=this.GetDateByPos(this.selectorStartLeft);t=new Date(t.getTime()+this.dayLength);t.setHours(0,0,0,0);s=this.GetPosByDate(t)-this.selectorStartLeft;a=this.selectorStartLeft+s}}else if(this.shownScaleTimeFrom!=0||this.shownScaleTimeTo!=24){var n=this.GetDateByPos(this.selectorStartLeft);if(t&&n&&this.FormatDate(n)!=this.FormatDate(t)){t=new Date(n.getTime());t.setHours(this.shownScaleTimeTo,0,0,0);a=this.GetPosByDate(t);s=a-this.selectorStartLeft}}if(this.posDateMap[a]){this.selectorRoundedRightPos=a}else{var r=this.RoundPos(a);if(this.posDateMap[r]){this.selectorRoundedRightPos=r}}this.selector.style.width=s+"px";this.ShowSelectorTitle({fromPos:this.selectorStartLeft,toPos:this.selectorRoundedRightPos});if(this.currentSelectorInstances){var l,o,h;for(l=0;l<this.currentSelectorInstances.length;l++){h=this.currentSelectorInstances[l].selector;o=this.currentSelectorInstances[l].selectorStartLeft;h.style.width=s+"px";this.ShowSelectorTitle({fromPos:o,toPos:o+s,selector:h,selectorTitle:this.currentSelectorInstances[l].selectorTitle})}}this.CheckSelectorStatus(this.selectorStartLeft)},EndResizeSelector:function(){if(this.selectorRoundedRightPos){this.selector.style.width=this.selectorRoundedPos-parseInt(this.selector.style.left)+"px";this.selectorRoundedRightPos=false;this.HideSelectorTitle();this.OnSelectorChanged();if(this.currentSelectorInstances){for(var e=0;e<this.currentSelectorInstances.length;e++){this.HideSelectorTitle({selectorTitle:this.currentSelectorInstances[e].selectorTitle,selectorIndex:e})}}}this.selectorIsResized=false},CheckSelectorStatus:function(e){if(!e)e=this.RoundPos(this.selector.style.left);var t,i,s,a,n=parseInt(this.selector.style.width),r=parseInt(e),l=r+n,o=this.GetDateByPos(r),h=this.GetDateByPos(l,true);if(o&&h){i=this.CheckTimePeriod(o,h)===true;if(this.currentSelectorInstances&&i){for(t=0;t<this.currentSelectorInstances.length;t++){e=this.RoundPos(this.currentSelectorInstances[t].selector.style.left);r=parseInt(e);l=r+n;s=this.GetDateByPos(r);a=this.GetDateByPos(l,true);s.setHours(o.getHours(),o.getMinutes(),0,0);a.setHours(h.getHours(),h.getMinutes(),0,0);i=this.CheckTimePeriod(s,a)===true;if(!i)break}}if(this.selectorIsFree!==i){this.selectorIsFree=i;if(this.selectorIsFree){BX.removeClass(this.selector,"calendar-planner-timeline-selector-warning");if(this.currentSelectorInstances){for(t=0;t<this.currentSelectorInstances.length;t++){BX.removeClass(this.currentSelectorInstances[t].selector,"calendar-planner-timeline-selector-warning")}}this.HideProposeControl()}else{BX.addClass(this.selector,"calendar-planner-timeline-selector-warning");if(this.currentSelectorInstances){for(t=0;t<this.currentSelectorInstances.length;t++){BX.addClass(this.currentSelectorInstances[t].selector,"calendar-planner-timeline-selector-warning")}}this.ShowProposeControl()}}}},OnSelectorChanged:function(e,t){if(!e)e=parseInt(this.selector.style.left);if(e<0)e=0;if(!t)t=parseInt(this.selector.style.width);if(e+t>parseInt(this.timelineInnerWrap.style.width)){e=parseInt(this.timelineInnerWrap.style.width)-t}var i=this.GetDateByPos(e),s=this.GetDateByPos(e+t,true);if(i&&s){if(this.fullDayMode)s=new Date(s.getTime()-this.dayLength);this.currentSelectorDateFrom=i;this.currentSelectorDateTo=s;this.currentSelectorFullDay=this.fullDayMode;BX.onCustomEvent("OnCalendarPlannerSelectorChanged",[{plannerId:this.id,dateFrom:i,dateTo:s,fullDay:this.fullDayMode}])}},CheckSelectorPosition:function(e,t,i){if(this.checkSelectorPosition&&(this.scaleType!="1day"||this.fullDayMode)){if(!e)e=parseInt(this.selector.style.left);if(!t)t=parseInt(this.selector.style.width);if(!i)i=e+t;if(i>parseInt(this.timelineInnerWrap.style.width)){e=parseInt(this.timelineInnerWrap.style.width)-t}else{var s=this.GetDateByPos(e),a=this.GetDateByPos(i,true),n,r,l=parseInt(this.shownScaleTimeFrom),o=parseInt(this.shownScaleTimeTo);if(s&&a){if(this.fullDayMode){n=parseInt(s.getHours())+Math.round(s.getMinutes()/60*10)/10;s.setHours(0,0,0,0);if(n>12){s=new Date(s.getTime()+this.dayLength);s.setHours(0,0,0,0)}e=this.GetPosByDate(s)}else if(s.getDay()!=a.getDay()){n=parseInt(s.getHours())+Math.round(s.getMinutes()/60*10)/10;r=parseInt(a.getHours())+Math.round(a.getMinutes()/60*10)/10;if(Math.abs(o-n)>Math.abs(l-r)){s.setHours(this.shownScaleTimeTo,0,0,0);e=this.GetPosByDate(s)-t}else{a.setHours(this.shownScaleTimeFrom,0,0,0);e=this.GetPosByDate(a)}}}}}return e},TransitSelector:function(e,t,i,s){var a=this;i=i!==false;t=this.RoundPos(t);if(!e)e=parseInt(this.selector.style.left);var n=parseInt(this.selector.offsetWidth);if(t>e+n&&i){t-=n}if(e!=t){this.animation=new BX.easing({duration:300,start:{left:e},finish:{left:t},transition:BX.easing.makeEaseOut(BX.easing.transitions.quart),step:function(e){a.selector.style.left=e.left+"px"},complete:BX.proxy(function(){this.animation=null;var e=parseInt(this.selector.style.left);var t=this.CheckSelectorPosition(e);if(t!==e){this.selector.style.left=t+"px"}if(i){this.OnSelectorChanged(t)}if(s===true){this.FocusSelector(true,300)}this.CheckSelectorStatus(t)},this)});this.animation.animate()}else{if(i){this.OnSelectorChanged()}if(s===true){this.FocusSelector(true,300)}this.CheckSelectorStatus()}},ShowSelectorTitle:function(e){var t=e.fromPos,i=e.toPos,s=e.selectorTitle||this.selectorTitle,a=e.selectorTitle||this.selector,n=this,r,l;if(t&&i){if(i>parseInt(this.timelineInnerWrap.style.width)){t=parseInt(this.timelineInnerWrap.style.width)-parseInt(a.style.width);i=parseInt(this.timelineInnerWrap.style.width)}r=this.GetDateByPos(t);l=this.GetDateByPos(i,true);if(r&&l){if(this.fullDayMode){s.style.top="12px";if(Math.abs(l.getTime()-r.getTime()-this.dayLength)<1e3){s.innerHTML=BX.date.format("d F, D",r.getTime()/1e3)}else{s.innerHTML=BX.date.format("d F",r.getTime()/1e3)+" - "+BX.date.format("d F",l.getTime()/1e3)}}else{s.removeAttribute("style");s.innerHTML=this.FormatTime(r)+" - "+this.FormatTime(l)}}}if(s==this.selectorTitle){if(s.style.display=="none"||this.selectorHideTimeout){this.selectorHideTimeout=clearTimeout(this.selectorHideTimeout);this.selectorTitle.style.display="";this.selectorTitle.style.opacity=0;new BX.easing({duration:400,start:{opacity:0},finish:{opacity:100},transition:BX.easing.makeEaseOut(BX.easing.transitions.quad),step:function(e){n.selectorTitle.style.opacity=e.opacity/100},complete:function(){n.selectorTitle.removeAttribute("style")}}).animate()}}else{s.removeAttribute("style")}},HideSelectorTitle:function(e){if(!e||typeof e!=="object")e={};var t=e.selectorIndex===undefined?"selectorHideTimeout":"selectorHideTimeout_"+e.selectorIndex,i=e.selectorTitle||this.selectorTitle,s=this;if(this[t])this[t]=clearTimeout(this[t]);if(e.timeout!==false){this[t]=setTimeout(function(){e.timeout=false;s.HideSelectorTitle(e)},500)}else{i.style.display="";i.style.opacity=1;new BX.easing({duration:400,start:{opacity:100},finish:{opacity:0},transition:BX.easing.makeEaseOut(BX.easing.transitions.quad),step:function(e){i.style.opacity=e.opacity/100},complete:function(){i.removeAttribute("style");i.style.display="none"}}).animate()}},BindEventHandlers:function(){BX.bind(this.outerWrap,"click",BX.proxy(this.Click,this));BX.bind(this.outerWrap,"mousedown",BX.proxy(this.Mousedown,this));BX.bind(document,"mousemove",BX.proxy(this.MouseMove,this));BX.bind(document,"mouseup",BX.proxy(this.MouseUp,this));if("onwheel"in document)BX.bind(this.timelineFixedWrap,"wheel",BX.proxy(this.MousewheelTimelineHandler,this));else BX.bind(this.timelineFixedWrap,"mousewheel",BX.proxy(this.MousewheelTimelineHandler,this))},Click:function(t){if(!t)t=e.event;this.clickMousePos=this.GetMousePos(t);var i=5;var s=t.target||t.srcElement;if(!this.readonly&&!this.currentSelectorInstances){
var a=this.FindTarget(s,"timeline"),n=this.FindTarget(s,"selector");if(a&&!n&&Math.abs(this.clickMousePos.x-this.mouseDownMousePos.x)<i&&Math.abs(this.clickMousePos.y-this.mouseDownMousePos.y)<i){var r=this.clickMousePos.x-BX.pos(this.timelineFixedWrap).left+this.timelineFixedWrap.scrollLeft;this.TransitSelector(false,r)}}},Mousedown:function(t){if(!t)t=e.event;var i=t.target||t.srcElement;this.mouseDownMousePos=this.GetMousePos(t);this.mouseDown=true;if(!this.readonly){var s=this.FindTarget(i,"selector");this.startMousePos=this.mouseDownMousePos;if(s){if(this.FindTarget(i,"selector-resize-right")){this.StartResizeSelector()}else{this.StartMovingSelector()}}else if(this.FindTarget(i,"timeline")){this.StartScrollTimeline()}}},MouseUp:function(){if(this.selectorIsDraged){this.EndMovingSelector()}if(this.selectorIsResized){this.EndResizeSelector()}if(this.timelineIsDraged){this.EndScrollTimeline()}if(this.shown&&!this.readonly&&this.mouseDown){this.CheckTimelineScroll()}this.mouseDown=false;BX.removeClass(document.body,"calendar-planner-unselectable")},MouseMove:function(e){var t;if(this.selectorIsDraged){t=this.GetMousePos(e);this.MoveSelector(t.x-this.startMousePos.x)}if(this.selectorIsResized){t=this.GetMousePos(e);this.ResizeSelector(t.x-this.startMousePos.x)}if(this.timelineIsDraged){t=this.GetMousePos(e);this.ScrollTimeline(t.x-this.startMousePos.x)}},MousewheelTimelineHandler:function(t){t=t||e.event;if(this.shown&&!this.readonly){var i=t.deltaY||t.detail||t.wheelDelta;if(Math.abs(i)>0){if(!BX.browser.IsMac()){i=i*5}var s=this.timelineFixedWrap.scrollLeft+i;this.timelineFixedWrap.scrollLeft=Math.max(s,0);this.CheckTimelineScroll();return BX.PreventDefault(t)}}},CheckTimelineScroll:function(){var e=this.GelTimelineScrollOffset(),t=this.timelineFixedWrap.scrollWidth-this.timelineFixedWrap.offsetWidth-this.GelTimelineScrollOffset();if(this.timelineFixedWrap.offsetWidth>0){if(this.timelineFixedWrap.scrollLeft<=e){this.ExpandTimeline("left")}else if(this.timelineFixedWrap.scrollLeft>=t){this.ExpandTimeline("right")}}},StartScrollTimeline:function(){this.timelineIsDraged=true;this.timelineStartScrollLeft=this.timelineFixedWrap.scrollLeft},ScrollTimeline:function(e){this.timelineFixedWrap.scrollLeft=Math.max(this.timelineStartScrollLeft-e,0)},EndScrollTimeline:function(){this.timelineIsDraged=false},FindTarget:function(e,t,i){if(!i)i=this.mainContWrap;var s=e&&e.getAttribute?e.getAttribute("data-bx-planner-meta"):null;if(s!==t){if(e){e=BX.findParent(e,function(e){return e.getAttribute&&e.getAttribute("data-bx-planner-meta")===t},i)}else{e=null}}return e},GetMousePos:function(t){if(!t)t=e.event;var i=0,s=0;if(t.pageX||t.pageY){i=t.pageX;s=t.pageY}else if(t.clientX||t.clientY){i=t.clientX+(document.documentElement.scrollLeft||document.body.scrollLeft)-document.documentElement.clientLeft;s=t.clientY+(document.documentElement.scrollTop||document.body.scrollTop)-document.documentElement.clientTop}return{x:i,y:s}},FormatDate:function(e){return BX.date.format(this.DATE_FORMAT,e.getTime()/1e3)},FormatTime:function(e,t){var i=e&&typeof e==="object"?e.getTime():e;return BX.date.format(t===true?this.TIME_FORMAT:this.TIME_FORMAT_SHORT,i/1e3)},FormatDateTime:function(e){return BX.date.format(this.DATETIME_FORMAT,e.getTime()/1e3)},SetScaleType:function(e){this.scaleType=e;this.scaleSize=this.GetScaleSize(e);if(this.scaleType=="1day"&&this.timelineCellWidth<90){this.timelineCellWidthOrig=this.timelineCellWidth;this.timelineCellWidth=90}else if(this.timelineCellWidthOrig&&this.scaleType!="1day"){this.timelineCellWidth=this.timelineCellWidthOrig;this.timelineCellWidthOrig=false}if(this.entriesListOuterWrap){if(this.scaleType=="1day")BX.addClass(this.entriesListOuterWrap,"calendar-planner-no-daytitle");else BX.removeClass(this.entriesListOuterWrap,"calendar-planner-no-daytitle")}},GetScaleSize:function(e){var t=3600,i={"15min":Math.round(t/4),"30min":Math.round(t/2),"1hour":t,"2hour":t*2,"1day":t*24};return i[e]||t},MapDatePos:function(){this.datePosMap={};this.posDateMap={};var e,t,i,s,a,n,r;this.substeps=Math.round(this.scaleSize/this.accuracy);this.posAccuracy=this.timelineCellWidth/this.substeps;for(e=0;e<this.scaleData.length;e++){i=this.scaleData[e].timestamp;s=this.scaleData[e].cell.offsetLeft;r=this.scaleData[e].cell.offsetWidth;this.datePosMap[i]=s;this.posDateMap[s]=i;for(t=1;t<=this.substeps;t++){if(t==this.substeps&&(!this.scaleData[e+1]||this.scaleData[e+1].dayStart)){a=i+this.accuracy*t*1e3;n=s+Math.round(this.accuracy*t*10/this.scaleSize*r)/10;this.datePosMap[a]=n;this.posDateMap[n+"_end"]=a}else if(t<this.substeps){a=i+this.accuracy*t*1e3;n=s+Math.round(this.accuracy*t*10/this.scaleSize*r)/10;this.datePosMap[a]=n;this.posDateMap[n]=a}}}},GetPosByDate:function(e){var t=0;if(e&&typeof e!=="object"){e=BX.parseDate(e)}if(e&&typeof e==="object"){var i,s=0,a=e.getTime();for(i=0;i<this.scaleData.length;i++){if(a>=this.scaleData[i].timestamp){s=i}else{break}}if(this.scaleData[s]&&this.scaleData[s].cell){t=this.scaleData[s].cell.offsetLeft;var n=this.scaleData[s].cell.offsetWidth,r=Math.round((a-this.scaleData[s].timestamp)/1e3);if(r>0){t+=Math.round(r*10/this.scaleSize*n)/10}}}return t},GetDateByPos:function(e,t){var i,s=t&&this.posDateMap[e+"_end"]?this.posDateMap[e+"_end"]:this.posDateMap[e];if(!s){e=this.RoundPos(e);s=t&&this.posDateMap[e+"_end"]?this.posDateMap[e+"_end"]:this.posDateMap[e]}if(s){i=new Date(s)}return i},RoundPos:function(e){return Math.round(Math.round(parseInt(e)/this.posAccuracy)*this.posAccuracy*10)/10},ShowMoreUsers:function(){this.minEntryRows=this.maxEntryRows;this.ClearAccessibilityData();this.UpdateData({accessibility:this.accessibility,entries:this.entries})},AdjustPlannerHeight:function(){var e=this.entriesListWrap.offsetHeight+this.entriesListWrap.offsetTop+30,t=parseInt(this.outerWrap.style.height)||this.height;if(this.compactMode&&t<e||!this.compactMode){this.ResizePlannerHeight(e,Math.abs(e-t)>10)}},ResizePlannerHeight:function(e,t){this.height=e;if(t){if(this.resizeAnimation){this.resizeAnimation.stop();this.resizeAnimation=null}var i=parseInt(this.outerWrap.style.height),s=this;this.resizeAnimation=new BX.easing({duration:800,start:{height:i},finish:{height:e},transition:BX.easing.makeEaseOut(BX.easing.transitions.quart),step:function(e){s.ResizePlannerHeight(e.height,false)},complete:BX.proxy(function(){this.resizeAnimation=null},this)});this.resizeAnimation.animate()}else{this.outerWrap.style.height=e+"px";this.mainContWrap.style.height=e+"px";this.timelineFixedWrap.style.height=e+"px";var a=this.entriesListWrap.offsetHeight+3;this.timelineDataCont.style.height=a+"px";this.selector.style.height=a+6+"px";this.entriesListOuterWrap.style.height=e+"px";if(this.proposeTimeButton&&this.proposeTimeButton.style.display!="none"){this.proposeTimeButton.style.top=this.timelineDataCont.offsetTop+a/2-16+"px"}}},ResizePlannerWidth:function(e,t){if(t){}else{this.outerWrap.style.width=e+"px";var i=this.compactMode?0:this.entriesListWidth;this.mainContWrap.style.width=e+"px";this.entriesListOuterWrap.style.width=i+"px"}},ExpandFromCompactMode:function(){this.readonly=false;this.compactMode=false;this.showTimelineDayTitle=true;BX.removeClass(this.mainContWrap,"calendar-planner-readonly");BX.removeClass(this.mainContWrap,"calendar-planner-compact");this.entriesListOuterWrap.style.display="";if(this.scaleDateFrom&&this.scaleDateFrom.getTime)this.scaleDateFrom=new Date(this.scaleDateFrom.getTime()-this.dayLength*this.scaleLimitOffsetLeft);if(this.scaleDateTo&&this.scaleDateTo.getTime)this.scaleDateTo=new Date(this.scaleDateTo.getTime()+this.dayLength*this.scaleLimitOffsetRight);this.RebuildPlanner();this.FocusSelector(false,300)},FocusSelector:function(e,t){var i=this;if(this.focusSelectorTimeout)this.focusSelectorTimeout=!!clearTimeout(this.focusSelectorTimeout);if(t){this.focusSelectorTimeout=setTimeout(function(){i.FocusSelector(e,false)},t)}else{var s=parseInt(this.selector.style.left),a=parseInt(this.selector.style.width),n=50,r=this.timelineFixedWrap.offsetWidth,l=this.timelineFixedWrap.scrollLeft,o=l+r,h=l;if(s<l+n||s>o-n){if(a<=r){h=Math.max(Math.round(s-(r-a)/2),n)}else{h=Math.max(Math.round(s-n),n)}}if(h!=l){if(e===false){this.timelineFixedWrap.scrollLeft=h}else{new BX.easing({duration:300,start:{scrollLeft:this.timelineFixedWrap.scrollLeft},finish:{scrollLeft:h},transition:BX.easing.makeEaseOut(BX.easing.transitions.quad),step:function(e){i.timelineFixedWrap.scrollLeft=e.scrollLeft},complete:function(){}}).animate()}}}},ExpandTimeline:function(e,t,i,s){if(this.loadDataLock){this.lastExpandparams={direction:e,loadedDataFrom:t,loadedDataTo:i,focusSelector:s};return}this.lastExpandparams=false;var a=3,n=3,r,l=this;if(!t)t=this.loadedDataFrom||this.scaleDateFrom;if(!i)i=this.loadedDataTo||this.scaleDateTo;if(e=="left"){var o=new Date(this.scaleDateFrom.getTime());t=new Date(t-this.dayLength*a);this.scaleDateFrom=t;this.RebuildPlanner();r=this.GetPosByDate(o)}else if(e=="right"){r=l.timelineFixedWrap.scrollLeft;i=new Date(i.getTime()+this.dayLength*n);this.scaleDateTo=i;this.RebuildPlanner()}else{t=new Date(t-this.dayLength*a);i=new Date(i.getTime()+this.dayLength*n);this.scaleDateFrom=t;this.scaleDateTo=i;this.RebuildPlanner()}l.timelineFixedWrap.scrollLeft=r;var h,c,d=[];for(h=0;h<this.entries.length;h++){c=this.entries[h];d.push(c.id)}this.loadDataLock=true;BX.onCustomEvent("OnCalendarPlannerScaleChanged",[{from:this.FormatDate(t),to:this.FormatDate(i),entrieIds:d,entries:this.entries,focusSelector:s===true}])},GelTimelineScrollOffset:function(){return 10},DoUpdate:function(e){if(this.id==e.plannerId){var t=false;if(e.selector&&e.selector.fullDay)this.SetFullDayMode(e.selector.fullDay);if(e.config){if(this.fullDayMode&&e.config.changeFromFullDay){e.config.scaleType=e.config.changeFromFullDay.scaleType;e.config.timelineCellWidth=e.config.changeFromFullDay.timelineCellWidth;delete e.config.changeFromFullDay}if(e.config.scaleDateFrom&&e.config.scaleDateFrom!==this.scaleDateFrom)t=true;if(!t&&e.config.scaleDateTo&&e.config.scaleDateTo!==this.scaleDateTo)t=true;if(!t&&e.config.scaleType&&e.config.scaleType!==this.scaleType)t=true;if(e.config.shownScaleTimeFrom&&e.config.shownScaleTimeFrom!==this.shownScaleTimeFrom){this.shownScaleTimeFrom=e.config.shownScaleTimeFrom;t=true}if(e.config.shownScaleTimeTo&&e.config.shownScaleTimeTo!==this.shownScaleTimeTo){this.shownScaleTimeTo=e.config.shownScaleTimeTo;t=true}this.SetConfig(e.config)}if(!this.shown&&e.show){this.Show(true)}else if(t){this.RebuildPlanner({updateSelector:false})}if(e.hide&&this.shown){this.Hide(e.hideAnimation!==false)}if(this.shown){if(e.data!==undefined&&e.data!==false){this.ClearAccessibilityData();this.UpdateData(e.data);this.SetLoadedDataLimits(e.loadedDataFrom,e.loadedDataTo)}if(e.selector!==undefined&&e.selector.from&&e.selector.to){e.selector.focus=e.focusSelector===true;e.selector.updateScaleType=false;if(e.selector.to.getTime()>this.loadedDataTo.getTime()){this.ExpandTimeline("right",false,e.selector.to,true)}else if(e.selector.from.getTime()<this.loadedDataFrom.getTime()){this.ExpandTimeline("left",e.selector.from,false,true)}else{if(!this.readonly){this.scaleDateFrom=this.loadedDataFrom;this.scaleDateTo=this.loadedDataTo}this.RebuildPlanner({updateSelector:true,selectorParams:e.selector})}}if(!this.compactMode&&this.loadedDataTo!==this.scaleDateTo){this.CheckTimelineScroll()}}if(e.params&&e.params.callback){e.params.callback()}if(this.expandTimeLineTimeout)this.expandTimeLineTimeout=!!clearTimeout(this.expandTimeLineTimeout);var i=this;this.expandTimeLineTimeout=setTimeout(function(){i.loadDataLock=false;if(i.lastExpandparams){var e=i.lastExpandparams;i.ExpandTimeline(e.direction,e.loadedDataFrom,e.loadedDataTo,e.focusSelector)}},this.expandTimelineDelay)}},DoExpand:function(e){if(this.id==e.plannerId){if(this.compactMode){if(e.config){this.SetConfig(e.config)}this.ExpandFromCompactMode()}}},DoSetConfig:function(e){if(this.id==e.plannerId&&e.config){this.SetConfig(e.config)}},DoResize:function(e){if(this.id==e.plannerId){var t=this;if(e.width)e.width=parseInt(e.width)||this.width;e.width=Math.max(e.width,this.minWidth);this.width=e.width;this.AdjustCellWidth();this.ResizePlannerWidth(e.width,false);if(this.resizeRebuildTimeout)this.resizeRebuildTimeout=clearTimeout(this.resizeRebuildTimeout);this.resizeRebuildTimeout=setTimeout(function(){t.RebuildPlanner()},200)}},DoUninstall:function(e){if(e&&this.id==e.plannerId){BX.cleanNode(this.outerWrap,1);BX.removeCustomEvent("OnCalendarPlannerDoUpdate",BX.proxy(this.DoUpdate,this));BX.removeCustomEvent("OnCalendarPlannerDoExpand",BX.proxy(this.DoExpand,this));BX.removeCustomEvent("OnCalendarPlannerDoResize",BX.proxy(this.DoResize,this));BX.removeCustomEvent("OnCalendarPlannerDoSetConfig",BX.proxy(this.DoSetConfig,this));BX.removeCustomEvent("OnCalendarPlannerDoUninstall",BX.proxy(this.DoUninstall,this));if(this.settingsPopup){this.settingsPopup.close()}}},ProposeTime:function(e){if(!e||typeof e!=="object"||e.target)e={};var t=this,i,s,a=Math.round((this.currentSelectorDateTo-this.currentSelectorDateFrom)/1e3)*1e3,n=[],r,l;if(this.fullDayMode)a+=this.dayLength;i=Math.round(this.currentSelectorDateFrom.getTime()/(this.accuracy*1e3))*this.accuracy*1e3;s=new Date(i);s.setSeconds(0,0);i=s.getTime();for(r in this.accessibility){if(this.accessibility.hasOwnProperty(r)&&this.accessibility[r]&&this.accessibility[r].length>0){for(l=0;l<this.accessibility[r].length;l++){if(this.accessibility[r][l].toTimestampReal>=i)n.push(this.HandleAccessibilityEntry(this.accessibility[r][l]))}}}n.sort(function(e,t){return e.fromTimestamp-t.fromTimestamp});var o=i,h,c,d,p,m;while(true){c=new Date(o);d=new Date(o+a);if(this.scaleType!=="1day"){m=parseInt(c.getHours())+c.getMinutes()/60;p=parseInt(d.getHours())+d.getMinutes()/60;if(m<=this.shownScaleTimeFrom){c.setHours(this.shownScaleTimeFrom,0,0,0);o=c.getTime();d=new Date(o+a)}if(p>=this.shownScaleTimeTo){c=new Date(o+this.dayLength-1e3);c.setHours(this.shownScaleTimeFrom,0,0,0);o=c.getTime();d=new Date(o+a)}}if(this.fullDayMode){c.setHours(0,0,0,0);d.setHours(0,0,0,0)}h=this.CheckTimePeriod(c,d,n);if(h===true){if(d.getTime()>this.loadedDataTo.getTime()){if(d.getTime()-this.loadedDataTo.getTime()>this.proposeTimeLimit*this.dayLength||e.checkedFuture===true){this.ShowNoResultNotification()}else if(e.checkedFuture!==true){var u=this.timelineFixedWrap.scrollLeft;var f=new Date(this.loadedDataTo.getTime()+this.dayLength*this.proposeTimeLimit);this.scaleDateTo=f;this.RebuildPlanner();this.timelineFixedWrap.scrollLeft=u;var T,y=[];for(l=0;l<this.entries.length;l++){T=this.entries[l];y.push(T.id)}BX.onCustomEvent("OnCalendarPlannerScaleChanged",[{from:this.FormatDate(this.loadedDataFrom),to:this.FormatDate(f),entrieIds:y,entries:this.entries,focusSelector:true,params:{callback:function(){t.ProposeTime({checkedFuture:true})}}}])}}else{if(this.fullDayMode)d=new Date(d.getTime()-this.dayLength);this.UpdateSelector({from:c,to:d,updateScaleType:false,updateScaleLimits:true,animation:true,focus:true});BX.onCustomEvent("OnCalendarPlannerSelectorChanged",[{plannerId:this.id,dateFrom:c,dateTo:d,fullDay:this.fullDayMode}])}break}else if(h&&h.toTimestampReal){o=h.toTimestampReal;if(this.fullDayMode){var g=new Date(o+this.dayLength-1e3);g.setHours(0,0,0,0);o=g.getTime()}}}},CheckTimePeriod:function(e,t,i){var s=true,a=e.getTime(),n=t.getTime(),r=60*1e3,l,o;if(i){for(o=0;o<i.length;o++){l=i[o];if(l.type&&l.type=="hr")continue;if(l.fromTimestamp+r<=n&&(l.toTimestampReal||l.toTimestamp)-r>=a){s=l;break}}}else{var h=this.selectorAccuracy*1e3,c;for(c in this.accessibility){if(this.accessibility.hasOwnProperty(c)){for(o=0;o<this.accessibility[c].length;o++){l=this.accessibility[c][o];if(l.type&&l.type=="hr")continue;if(l.fromTimestamp+h<=n&&(l.toTimestampReal||l.toTimestamp)-h>=a){s=l;break}}if(s!==true)break}}}return s},ShowSettingsPopup:function(){var e=this,t,i=["15min","30min","1hour","2hour","1day"],s=BX.create("DIV",{props:{className:"calendar-planner-settings-popup"}}),a=s.appendChild(BX.create("DIV",{props:{className:"calendar-planner-settings-row"},html:"<i>"+BX.message("EC_PL_SETTINGS_SCALE")+":</i>"})),n=a.appendChild(BX.create("span",{props:{className:"calendar-planner-option-container"}}));if(this.fullDayMode){a.title=BX.message("EC_PL_SETTINGS_SCALE_READONLY_TITLE");BX.addClass(a,"calendar-planner-option-container-disabled")}for(t=0;t<i.length;t++){n.appendChild(BX.create("span",{props:{className:"calendar-planner-option-tab"+(i[t]==this.scaleType?" calendar-planner-option-tab-active":"")},attrs:{"data-bx-planner-scale":i[t]},text:BX.message("EC_PL_SETTINGS_SCALE_"+i[t].toUpperCase())}))}var r=BX.PopupWindowManager.create(this.id+"-settings-popup",this.settingsButton,{autoHide:true,closeByEsc:true,offsetTop:-1,offsetLeft:7,lightShadow:true,content:s,angle:{postion:"top"}});r.show(true);BX.bind(n,"click",BX.proxy(function(e){if(!this.fullDayMode){var t=e.target||e.srcElement,i=t&&t.getAttribute&&t.getAttribute("data-bx-planner-scale");if(i){this.ChangeScaleType(i);r.close()}}},this));function l(){if(r&&r.destroy){BX.removeCustomEvent(r,"onPopupClose",l);r.destroy();r=null;e.settingsPopup=null}}BX.addCustomEvent(r,"onPopupClose",l);this.settingsPopup=r},ChangeScaleType:function(e){if(e!==this.scaleType){this.SetScaleType(e);this.RebuildPlanner();this.FocusSelector(true,300)}},SetFullDayMode:function(e){this.fullDayMode=e},PreventSelection:function(e){e.ondrag=BX.False;e.ondragstart=BX.False;e.onselectstart=BX.False},ShowNoResultNotification:function(){alert(BX.message("EC_PL_PROPOSE_NO_RESULT"))},HandleRecursion:function(e){if(!e.instances)e.instances=[];var t=new Date;t.setFullYear(2016,6,2);t.setHours(0,0,0,0);e.instances.push({date:t});t=new Date;t.setFullYear(2016,6,3);t.setHours(0,0,0,0);e.instances.push({date:t});var i,s;for(i=0;i<e.instances.length;i++){s=this.BuildSelector();e.instances[i].selector=s.selector;e.instances[i].selectorTitle=s.selectorTitle;var a=new Date(e.instances[i].date.getTime());a.setHours(12,0,0,0);var n=new Date(e.instances[i].date.getTime());n.setHours(13,0,0,0);this.ShowSelector({selector:e.instances[i].selector,dateFrom:a,dateTo:n,focus:false,animation:false})}this.currentSelectorInstances=e.instances},ShowProposeControl:function(){if(!this.proposeTimeButton){this.proposeTimeButton=this.mainContWrap.appendChild(BX.create("DIV",{props:{className:"calendar-planner-time-arrow-right"},html:'<span class="calendar-planner-time-arrow-right-text">'+BX.message("EC_PL_PROPOSE")+'</span><span class="calendar-planner-time-arrow-right-item"></span>'}));BX.bind(this.proposeTimeButton,"click",BX.proxy(this.ProposeTime,this))}this.proposeTimeButton.style.display="block";this.proposeTimeButton.style.top=this.timelineDataCont.offsetTop+this.timelineDataCont.offsetHeight/2-16+"px"},HideProposeControl:function(){if(this.proposeTimeButton)this.proposeTimeButton.style.display="none"}};e.CalendarPlanner=t})(window);
//# sourceMappingURL=planner.map.js