Your IP : 3.21.93.70
(function(e){function t(t,i,n){this.DEFAULT_VIEW="month";this.id=t.id;this.showTasks=t.showTasks;this.calDavConnections=t.connections;this.util=new e.BXEventCalendar.Util(this,t,n);if(this.util.isFilterEnabled()){this.search=new e.BXEventCalendar.Search(this,{filterId:t.filterId,counters:t.counters})}this.externalMode=t.externalDataHandleMode;this.sectionController=new e.BXEventCalendar.SectionController(this,i,t);this.entryController=new e.BXEventCalendar.EntryController(this,i);this.currentViewName=this.util.getUserOption("view")||this.DEFAULT_VIEW;this.requests={};this.currentUser=t.user;this.ownerUser=t.ownerUser||false;this.viewRangeDate=new Date;this.keyHandlerEnabled=true;this.build();if(!this.externalMode){if(t.startupEvent){this.showStartUpEntry(t.startupEvent)}if(t.showNewEventDialog&&!this.util.readOnlyMode()&&this.entryController.canDo(true,"add_event")){setTimeout(BX.delegate(function(){this.getView().showEditSlider()},this),1e3)}}}t.prototype={build:function(){this.mainCont=BX(this.id+"-main-container");if(this.mainCont){this.topBlock=BX.create("DIV",{props:{className:"calendar-top-block"}});this.buildNavigation();this.viewTitleContainer=this.topBlock.appendChild(BX.create("DIV",{props:{className:"calendar-top-title-container"}}));this.viewTitle=this.viewTitleContainer.appendChild(BX.create("H2",{props:{className:"calendar-top-title"}}));this.mainCont.appendChild(this.topBlock);this.viewsCont=BX.create("DIV",{props:{className:"calendar-views-container calendar-disable-select"}});BX.bind(this.viewsCont,"click",BX.proxy(this.handleViewsClick,this));this.dragDrop=new e.BXEventCalendar.DragDrop(this);if(this.util.isFilterEnabled()&&!this.search.isFilterEmpty()){this.currentViewName="list"}this.buildViews();this.buildViewSwitcher();if(this.util.isFilterEnabled()){if(!this.search.isFilterEmpty()){this.search.applyFilter()}this.searchCont=BX(this.id+"-search-container");if(this.searchCont){this.buildSearchControll()}}if(!this.isExternalMode()){this.buildTopButtons()}this.mainCont.appendChild(this.viewsCont);this.rightBlock=this.mainCont.appendChild(BX.create("DIV",{props:{className:"calendar-right-container"}}));BX.bind(document.body,"keyup",BX.proxy(this.keyUpHandler,this));BX.addCustomEvent(this,"doRefresh",BX.proxy(this.refresh,this));this.topBlock.appendChild(BX.create("DIV",{style:{clear:"both"}}));this.util.applyHacksHandlersForPopupzIndex()}},buildViews:function(){var t=this.util.getAvilableViews(),i={day:e.BXEventCalendar.CalendarDayView,week:e.BXEventCalendar.CalendarWeekView,month:e.BXEventCalendar.CalendarMonthView,list:e.BXEventCalendar.CalendarListView};this.views=[];if(BX.type.isArray(t)){t.forEach(function(e){if(e&&i[e]){this.views.push(new i[e](this))}},this)}var n=this.util.getCustumViews();if(BX.type.isArray(n)){n.forEach(function(t){this.views.push(new e.BXEventCalendar.CalendarCustomView(this,t))},this)}BX.onCustomEvent(e,"onCalendarBeforeBuildViews",[this.views,this]);this.views.forEach(this.buildView,this);this.viewTransition=new e.BXEventCalendar.ViewTransition(this);BX.onCustomEvent(e,"onCalendarAfterBuildViews",[this])},buildNavigation:function(){this.navigationWrap=this.topBlock.appendChild(BX.create("DIV",{props:{className:"calendar-navigation-container"}}));this.navigationWrap.appendChild(BX.create("SPAN",{props:{className:"calendar-navigation-previous"},events:{click:BX.delegate(this.showPrevious,this)}}));this.navigationWrap.appendChild(BX.create("SPAN",{props:{className:"calendar-navigation-current"},text:BX.message("EC_TODAY"),events:{click:BX.delegate(this.showToday,this)}}));this.navigationWrap.appendChild(BX.create("SPAN",{props:{className:"calendar-navigation-next"},events:{click:BX.delegate(this.showNext,this)}}))},showNext:function(){var e=this.getView().increaseViewRangeDate();if(e){this.triggerEvent("changeViewDate",{viewRange:e})}},showPrevious:function(){var e=this.getView().decreaseViewRangeDate();if(e){this.triggerEvent("changeViewDate",{viewRange:e})}},showToday:function(){var e=this.getView(),t=e.adjustViewRangeToDate(new Date);if(t){this.triggerEvent("changeViewDate",{viewRange:t})}},buildView:function(e){var t=e.getContainer();if(t){this.viewsCont.appendChild(t)}if(this.currentViewName==e.getName()){this.setView(e.getName(),{first:true})}},buildViewSwitcher:function(){this.viewSwitcherCont=BX(this.id+"-view-switcher-container");var t=!this.viewSwitcherCont;if(t){this.viewSwitcherCont=this.topBlock.appendChild(BX.create("DIV",{props:{className:"calendar-view-switcher-selector"}}))}this.viewSwitcher=new e.BXEventCalendar.ViewSwitcher({calendar:this,wrap:this.viewSwitcherCont,dropDownMode:t})},setView:function(e,t){if(e){if(!t){t={}}var i=this.getView(),n=i.getViewRange(),s=this.getView(e);if(s&&(e!=this.currentViewName||!i.getIsBuilt())){t.currentViewDate=this.getViewRangeDate();t.newViewDate=s.getAdjustedDate(t.date||false,n,true);t.currentView=i;t.newView=s;this.setViewRangeDate(t.newViewDate);this.triggerEvent("beforeSetView",{currentViewName:this.currentViewName,newViewName:e});if(i.type=="custom"||s.type=="custom"){t.animation=false}if(t.animation){this.viewTransition.transit(t)}else{if(e!=this.currentViewName){i.hide()}if(t.first===true){this.initialViewShow=true;s.adjustViewRangeToDate(t.newViewDate,false)}else{s.adjustViewRangeToDate(t.newViewDate)}this.currentViewName=s.getName()}this.util.setUserOption("view",e);this.triggerEvent("afterSetView",{viewName:e})}}},buildCounters:function(){},registerEventHandlers:function(){},request:function(e){if(!e.url)e.url=this.util.getActionUrl();if(e.bIter!==false)e.bIter=true;if(!e.data)e.data={};var t;e.reqId=t=Math.round(Math.random()*1e6);e.data.sessid=BX.bitrix_sessid();e.data.bx_event_calendar_request="Y";e.data.reqId=t;var i=this,n=0,s;if(e.handler){s=function(s){var a=function(){if(i.requests[t].status!=="canceled"){var r=s.toLowerCase().indexOf("bx_event_calendar_action_error");if(!s||s.length<=0||r!=-1){var o="";if(r>=0){var h=r+"BX_EVENT_CALENDAR_ACTION_ERROR:".length,l=s.indexOf("--\x3e",h);o=s.substr(h,l-h)}if(e.onerror&&typeof e.onerror=="function")e.onerror();return i.displayError(o||e.errorText||"")}i.requests[t].status="complete";var d=e.handler(i.getRequestResult(t),s);if(d===false&&++n<20&&e.bIter){setTimeout(a,5)}else{delete top.BXCRES[t]}}};setTimeout(a,50)}}else{s=BX.DoNothing()}this.requests[e.reqId]={status:"sent",xhr:e.type=="post"?BX.ajax.post(e.url,e.data,s):BX.ajax.get(e.url,e.data,s)};return e},cancelRequest:function(e){if(this.requests[e]&&this.requests[e].status=="sent")this.requests[e].status="canceled"},getRequestResult:function(e){if(top.BXCRES&&typeof top.BXCRES[e]!="undefined")return top.BXCRES[e];return{}},displayError:function(e,t){var i=this;setTimeout(function(){if(!i.bOnunload){alert(e||"[Bitrix Calendar] Request error");if(t)BX.reload()}},200)},triggerEvent:function(e,t){BX.onCustomEvent(this,e,[t])},getView:function(e){e=e||this.currentViewName;for(var t=0;t<this.views.length;t++){if(this.views[t].getName()==e){return this.views[t]}}return this.views[0]},getViewRangeDate:function(){if(!this.viewRangeDate)this.viewRangeDate=new Date;this.viewRangeDate.setHours(0,0,0,0);return this.viewRangeDate},setViewRangeDate:function(e){this.viewRangeDate=e;this.triggerEvent("changeViewRange",e)},getDisplayedViewRange:function(){return this.displayedRange},setDisplayedViewRange:function(e){this.displayedRange=e},handleViewsClick:function(e){var t=e.target||e.srcElement,i=this.util.findTargetNode(t,this.viewsCont);if(i){if(i.getAttribute("data-bx-calendar-weeknumber")){this.setView("week",{date:new Date(parseInt(i.getAttribute("data-bx-cal-time"))),animation:true})}else if(i.getAttribute("data-bx-calendar-date")){this.setView("day",{date:new Date(parseInt(i.getAttribute("data-bx-calendar-date"))),animation:true})}this.triggerEvent("viewOnClick",{e:e,target:t,specialTarget:i})}},handleViewsMousedown:function(e){var t=e.target||e.srcElement,i=this.util.findTargetNode(t,this.viewsCont);if(i){this.triggerEvent("viewOnMouseDown",{e:e,target:t,specialTarget:i})}},disableKeyHandler:function(){this.keyHandlerEnabled=false},enableKeyHandler:function(){this.keyHandlerEnabled=true},isKeyHandlerEnabled:function(){var e=this.keyHandlerEnabled&&!BX.hasClass(document.body,"bx-im-fullscreen-block-scroll")&&!BX.hasClass(document.body,"side-panel-disable-scrollbar");if(e){var t,i=document.body.querySelectorAll(".popup-window");for(t=0;t<i.length;t++){if(i[t]&&i[t].style.display!="none"){e=false;break}}}return e},keyUpHandler:function(e){if(this.isKeyHandlerEnabled()){var t=this.util.getKeyCodes(),i=e.keyCode;if(i==t["escape"]){this.getView().deselectEntry()}else if(i==t["delete"]){var n=this.getView().getSelectedEntry();if(n){this.entryController.deleteEntry(n)}}if(i==t["left"]){this.showPrevious()}else if(i==t["right"]){this.showNext()}this.triggerEvent("keyup",{e:e,keyCode:i})}},buildSearchControll:function(){this.countersCont=BX(this.id+"-counter-container");if(!this.countersCont){this.countersCont=this.mainCont.appendChild(BX.create("DIV",{props:{className:"calendar-counter-container"},attrs:{id:this.id+"-counter-container"}}))}BX.addClass(this.countersCont,"calendar-counter");this.search.updateCounters()},buildTopButtons:function(){this.buttonsCont=BX(this.id+"-buttons-container");if(this.buttonsCont){this.sectionButton=this.buttonsCont.appendChild(BX.create("button",{props:{className:"ui-btn ui-btn-light-border ui-btn-themes",type:"button"},text:BX.message("EC_SECTION_BUTTON")}));new e.BXEventCalendar.SectionSlider({calendar:this,button:this.sectionButton});if(this.util.userIsOwner()){this.syncButton=this.buttonsCont.appendChild(BX.create("button",{props:{className:"ui-btn ui-btn-icon-business ui-btn-light-border ui-btn-themes",type:"button"}}));this.syncSlider=new e.BXEventCalendar.SyncSlider({calendar:this,button:this.syncButton})}if(this.util.userIsOwner()||this.util.config.TYPE_ACCESS){this.addButton=new e.BXEventCalendar.SettingsMenu({calendar:this,wrap:this.buttonsCont,showMarketPlace:false})}if(!this.util.readOnlyMode()){this.addButton=new e.BXEventCalendar.AddButton({wrap:this.buttonsCont,calendar:this})}}},refresh:function(){this.triggerEvent("beforeRefresh");this.getView().refresh();this.triggerEvent("afterRefresh")},reload:function(e){this.triggerEvent("beforeReload");if(e&&e.syncGoogle){this.reloadGoogle=true}this.entryController.clearLoadIndexCache();this.refresh();this.triggerEvent("afterReload")},showStartUpEntry:function(t){var i=new e.BXEventCalendar.Entry(this,t);this.getView().showViewSlider({entry:i})},isExternalMode:function(){return this.externalMode},showLoader:function(){if(this.viewsCont){if(this.entryLoaderNode){BX.remove(this.entryLoaderNode)}this.entryLoaderNode=this.viewsCont.appendChild(BX.adjust(this.util.getLoader(200),{props:{className:"calendar-entry-loader"}}))}},hideLoader:function(){if(this.entryLoaderNode){BX.addClass(this.entryLoaderNode,"hide");setTimeout(BX.delegate(function(){BX.remove(this.entryLoaderNode)},this),300)}}};if(e.BXEventCalendar){e.BXEventCalendar.Core=t}else{BX.addCustomEvent(e,"onBXEventCalendarInit",function(){e.BXEventCalendar.Core=t})}})(window);