"use strict";var x=console.log.bind(console);var xsidebar;$(document).ready(function(){xframework.initialize();xsidebar=rcmail.env.xelastic?new xsidebarElastic:new xsidebarLarry;xsidebar.initialize()});$(document).on("mousedown",function(){$(".xpopup").hide();xframework.hidePopovers()});var xframework=new function(){this.language=rcmail.env.locale.substr(0,2);this.initialize=function(){if($("#sections-table").length){setTimeout(function(){$("#rcmrow"+xframework.getUrlParameter("_section")).mousedown()},0)}if(typeof rcmail.env.appsMenu!=="undefined"&&rcmail.env.appsMenu){if(rcmail.env.xelastic){$("#show-mobile-xsidebar").before($(rcmail.env.appsMenu));UI.popup_init(document.getElementById("button-apps"))}else{$(".button-settings").after($(rcmail.env.appsMenu))}rcmail.env.appsMenu=false}var showSidebar=$("#show-xsidebar");if(rcmail.env.xelastic&&showSidebar.length){showSidebar.parent("li").attr("id","show-xsidebar-item")}$("#quick-language-change select").on("mouseup",function(event){event.stopPropagation()});if(rcmail.env.set_token!==undefined){setTimeout(function(){$.ajax({url:rcmail.url("set-token"),headers:{"x-csrf-token":rcmail.env.request_token}})},1500)}$("span.sidebar-settings-url").on("click",function(event){event.stopPropagation();window.location=$(event.target).data("url")});if($("#xsidebar-order").length){$("table.propform").attr("id","xsidebar-order-table");var orderTable=$("#xsidebar-order-table");orderTable.after($("#xsidebar-order"));orderTable.after($("#xsidebar-order-note"));orderTable.find("tr:last-child").remove();$("#xsidebar-order-table tbody").sortable({delay:100,distance:10,placeholder:"placeholder",stop:function stop(){var order=[];$("#xsidebar-order-table input[type=checkbox]").each(function(){order.push($(this).attr("data-name"))});$("#xsidebar-order").val(order.join(","))}})}if(xframework.isCpanel()){$("body").addClass("cpanel")}if($("body.xelastic").length){$("#button-apps").on("mouseup",function(){setTimeout(function(){$(".popover .popover-body select:not(.xreverted)").off("mousedown keydown change").on("mousedown click",function(event){event.stopPropagation()}).addClass("xreverted")},300)})}};this.httpInterceptor=function(){return{request:function request(config){config.headers["x-csrf-token"]=rcmail.env.request_token;config.data._token=rcmail.env.request_token;return config},requestError:function requestError(config){return config},response:function response(_response){return _response},responseError:function responseError(response){rcmail.display_message(response.statusText,"error");response.data=false;return response}}};this.getTimezoneOffset=function(){return rcmail.env.timezoneOffset};this.getDateFormat=function(){var type=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return rcmail.env.dateFormats[type===undefined?"moment":type]};this.getTimeFormat=function(type){return rcmail.env.timeFormats[type===undefined?"moment":type]};this.getDateTimeFormat=function(){var type=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return rcmail.env.dateFormats[type===undefined?"moment":type]+" "+rcmail.env.timeFormats[type===undefined?"moment":type]};this.getDmFormat=function(){var type=arguments.length>0&&arguments[0]!==undefined?arguments[0]:undefined;return rcmail.env.dmFormats[type===undefined?"moment":type]};this.getLanguage=function(){return this.language};this.getUrl=function(){var url=window.location.protocol+"//"+window.location.host+window.location.pathname;return url+(url.substr(-1)=="/"?"":"/")};this.getUrlParameter=function(parameterName){var url=arguments.length>1&&arguments[1]!==undefined?arguments[1]:undefined;var match=RegExp("[?&]"+parameterName+"=([^&]*)").exec(url===undefined?window.location.search:url);return match&&decodeURIComponent(match[1].replace(/\+/g," "))};this.mobile=function(){return rcmail.env.xskin_type!==undefined&&rcmail.env.xskin_type=="mobile"};this.htmlEncode=function(html){return document.createElement("a").appendChild(document.createTextNode(html)).parentNode.innerHTML};this.sleep=function(duration){var now=(new Date).getTime();while((new Date).getTime()>>1:c>>>1}crcTable[n]=c}return crcTable};this.crc32=function(str){if(!this.crcTable){this.crcTable=this.createCrcTable()}var crc=0^-1;for(var i=0;i>>8^this.crcTable[(crc^str.charCodeAt(i))&255]}return(crc^-1)>>>0};this.isValidEmail=function(email){return/\S+@\S+\.\S+/.test(email)};this.hidePopovers=function(){var element=$(".popover");if(element.length&&typeof element.popover=="function"&&element.find(".xpopup").length){element.popover("hide")}}};(function($){$.fn.alterClass=function(removals,additions){if(removals.indexOf("*")===-1){this.removeClass(removals)}else{var patern=new RegExp("\\s"+removals.replace(/\*/g,"[A-Za-z0-9-_]+").split(" ").join("\\s|\\s")+"\\s","g");this.each(function(i,it){var cn=" "+it.className+" ";while(patern.test(cn)){cn=cn.replace(patern," ")}it.className=$.trim(cn)})}return additions?this.addClass(additions):this}})(jQuery);(function($){var MutationObserver=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver;$.fn.attrChange=function(callback){if(MutationObserver){var options={subtree:false,attributes:true};var observer=new MutationObserver(function(mutations){mutations.forEach(function(e){callback.call(e.target,e.attributeName)})});return this.each(function(){observer.observe(this,options)})}}})(jQuery);function xsidebarLarry(){this.initialized=false;this.splitter=false;this.initialize=function(){this.sidebar=$("#xsidebar");if(xframework.mobile()||!this.sidebar.length||this.initialized){return}$("#xsidebar-inner").sortable({delay:100,distance:10,placeholder:"placeholder",stop:function stop(){var order=[];$("#xsidebar .box-wrap").each(function(){order.push($(this).attr("data-name"))});rcmail.save_pref({name:"xsidebar_order",value:order.join(",")})}});this.mainscreen=$("#mainscreen");this.mainscreencontent=$("#mainscreencontent");$("#messagesearchtools").addClass("xsidebar-wrap");this.splitter=$("
").attr("id","xsidebar-splitter").attr("unselectable","on").attr("role","presentation").addClass("splitter splitter-v").appendTo("#mainscreen").mousedown(function(e){xsidebar.onSplitterDragStart(e)});this.setSize(this.validateSize(window.UI?window.UI.get_pref("xsidebar-size"):250));var sidebarVisible=window.UI.get_pref("xsidebar-visible");if(sidebarVisible===undefined&&rcmail.env.xsidebarVisible!==undefined){sidebarVisible=!!rcmail.env.xsidebarVisible}if(sidebarVisible===undefined||sidebarVisible){this.show()}else{this.hide()}$(document).on("mousemove.#mainscreen",function(e){xsidebar.onSplitterDrag(e)}).on("mouseup.#mainscreen",function(e){xsidebar.onSplitterDragStop(e)});this.initialized=true};this.isVisible=function(){return $("body").hasClass("xsidebar-visible")};this.show=function(){$("body").addClass("xsidebar-visible")};this.hide=function(){$("body").removeClass("xsidebar-visible");this.mainscreencontent.css("width","").css("right","0px")};this.validateSize=function(size){if(size==undefined){return 250}if(size>this.mainscreen.width()/2){return this.mainscreen.width()/2}if(size<150){return 150}return size};this.setSize=function(size){size=size==undefined?xsidebar.sidebar.width():size;this.sidebar.width(size);this.splitter.css("right",size+"px");this.mainscreencontent.css("right",size+12+"px")};this.saveVisibility=function(){if(window.UI){window.UI.save_pref("xsidebar-visible",$("body").hasClass("xsidebar-visible")?1:0)}};this.toggle=function(){if(this.isVisible()){this.hide()}else{this.show();this.setSize()}this.saveVisibility()};this.onSplitterDragStart=function(){$("#mailpreviewframe").append($("
").attr("id","xsidebar-preview-frame-overlay"));if(bw.konq||bw.chrome||bw.safari){document.body.style.webkitUserSelect="none"}this.draggingSplitter=true};this.onSplitterDrag=function(event){if(!this.draggingSplitter){return}this.setSize(this.mainscreen.width()-event.pageX)};this.onSplitterDragStop=function(event){if(!this.draggingSplitter){return}$("#xsidebar-preview-frame-overlay").remove();if(bw.konq||bw.chrome||bw.safari){document.body.style.webkitUserSelect="auto"}this.draggingSplitter=false;this.setSize(this.validateSize(this.mainscreen.width()-event.pageX));if(window.UI){window.UI.save_pref("xsidebar-size",this.sidebar.width())}};this.toggleBox=function(id,element){var parent=$(element).parents(".box-wrap");if(parent.hasClass("collapsed")){parent.find(".box-content").slideDown(200,function(){parent.removeClass("collapsed");xsidebar.saveToggleBox()})}else{parent.find(".box-content").slideUp(200,function(){parent.addClass("collapsed");xsidebar.saveToggleBox()})}};this.saveToggleBox=function(){var collapsed=[];$("#xsidebar .box-wrap").each(function(){if($(this).hasClass("collapsed")){collapsed.push($(this).attr("data-name"))}});rcmail.save_pref({name:"xsidebar_collapsed",value:collapsed})}}function xsidebarElastic(){this.initialized=false;this.splitter=false;this.initialize=function(){this.sidebar=$("#xsidebar");if(!this.sidebar.length||this.initialized){return}this.initialized=true;$("#xsidebar-inner").sortable({delay:100,distance:10,placeholder:"placeholder",stop:function stop(){var order=[];$("#xsidebar .box-wrap").each(function(){order.push($(this).attr("data-name"))});rcmail.save_pref({name:"xsidebar_order",value:order.join(",")})}});var sidebarVisible=Cookies.get("xsidebar-visible");if(sidebarVisible!==undefined){sidebarVisible=parseInt(sidebarVisible)}else{if(rcmail.env.xsidebarVisible!==undefined){sidebarVisible=!!rcmail.env.xsidebarVisible}else{sidebarVisible=true}}if(sidebarVisible){this.show()}};this.isVisible=function(){return $("body").hasClass("xsidebar-visible")};this.show=function(){$("body").addClass("xsidebar-visible")};this.hide=function(){$("body").removeClass("xsidebar-visible")};this.showMobile=function(){$("body").addClass("xsidebar-mobile-visible")};this.hideMobile=function(){$("body").removeClass("xsidebar-mobile-visible")};this.saveVisibility=function(){Cookies.set("xsidebar-visible",this.isVisible()?1:0)};this.toggle=function(){if(this.isVisible()){this.hide()}else{this.show()}this.saveVisibility()};this.toggleBox=function(id,element){var parent=$(element).parents(".box-wrap");if(parent.hasClass("collapsed")){parent.find(".box-content").slideDown(200,function(){parent.removeClass("collapsed");xsidebar.saveToggleBox()})}else{parent.find(".box-content").slideUp(200,function(){parent.addClass("collapsed");xsidebar.saveToggleBox()})}};this.saveToggleBox=function(){var collapsed=[];$("#xsidebar .box-wrap").each(function(){if($(this).hasClass("collapsed")){collapsed.push($(this).attr("data-name"))}});rcmail.save_pref({name:"xsidebar_collapsed",value:collapsed})}}