!function(u,t){"use strict";var o={init:function(){this.component.init(),u(document).on("cxFramework:interfaceBuilder:component",this.component.init.bind(this.component)),this.control.init(),u(document).on("cxFramework:interfaceBuilder:control",this.control.init.bind(this.control))},component:{tabClass:".cx-tab",accordionClass:".cx-accordion",toggleClass:".cx-toggle",buttonClass:".cx-component__button",contentClass:".cx-settings__content",buttonActiveClass:"active",showClass:"show",localStorage:{},controlConditions:window.cxInterfaceBuilder.conditions||{},controlValues:window.cxInterfaceBuilder.fields||{},conditionState:{},init:function(){this.localStorage=this.getState()||{},this.componentInit(this.tabClass),this.componentInit(this.accordionClass),this.componentInit(this.toggleClass),this.addEvent(),this.conditionsHandleInit()},addEvent:function(){u("body").off("click.cxInterfaceBuilder").on("click.cxInterfaceBuilder",this.tabClass+" "+this.buttonClass+", "+this.toggleClass+" "+this.buttonClass+", "+this.accordionClass+" "+this.buttonClass,this.componentClick.bind(this))},conditionsHandleInit:function(){var s=this;u(window).on("cx-switcher-change",function(t){var e=t.controlName,i=t.controlStatus;s.updateConditionRules(e,i),s.renderConditionRules()}),u(window).on("cx-select2-change",function(t){var e=t.controlName,i=t.controlStatus;s.updateConditionRules(e,i),s.renderConditionRules()}),u(window).on("cx-radio-change",function(t){var e=t.controlName,i=t.controlStatus;s.updateConditionRules(e,i),s.renderConditionRules()}),u(window).on("cx-checkbox-change",function(t){var e=t.controlName,i=t.controlStatus,n={};u.each(i[e],function(t,e){n[t]=o.utils.filterBoolValue(e)}),s.updateConditionRules(e,n),s.renderConditionRules()}),this.generateConditionRules(),s.renderConditionRules()},generateConditionRules:function(){var i=this;u.each(this.controlConditions,function(t,e){u.each(e,function(t,e){i.controlValues.hasOwnProperty(t)&&(i.conditionState[t]=i.controlValues[t])})})},updateConditionRules:function(t,e){this.conditionState[t]=e},renderConditionRules:function(){var s=this;u.each(this.controlConditions,function(t,e){var i=u('.cx-control[data-control-name="'+t+'"]'),n=!0;i.addClass("cx-control-hidden"),u.each(e,function(i,t){if(n=!0,s.conditionState.hasOwnProperty(i)&&(s.conditionState[i]===t&&(n=!1),"object"==typeof s.conditionState[i]&&(n=!1,u.each(t,function(t,e){if(e!==s.conditionState[i][t])return!(n=!0)}))),n)return!1}),n?i.addClass("cx-control-hidden"):i.removeClass("cx-control-hidden")})},componentInit:function(i){var n=this,t=u(i),s=null,a=null,o=null,c="";t.each(function(t,e){switch(e=u(e),s=e.data("compotent-id"),i){case n.toggleClass:n.localStorage[s]&&n.localStorage[s].length&&(c=n.localStorage[s].join(", ")),u(n.contentClass,e).not(c).addClass(n.showClass).prevAll(n.buttonClass).addClass(n.buttonActiveClass);break;case n.tabClass:case n.accordionClass:n.localStorage[s]?(o=n.localStorage[s][0],a=u('[data-content-id="'+o+'"]',e)):(a=u(n.buttonClass,e).eq(0),o=a.data("content-id")),n.showElement(a,e,o)}})},componentClick:function(t){var e,i=u(t.target),n=i.closest(this.tabClass+", "+this.accordionClass+", "+this.toggleClass),s=new RegExp(this.tabClass+"|"+this.accordionClass+"|"+this.toggleClass),a=n[0].className.match(s)[0].replace(" ","."),o=i.data("content-id"),c=n.data("compotent-id"),r=i.hasClass(this.buttonActiveClass);switch(a){case this.tabClass:r||(this.hideElement(n),this.showElement(i,n,o),this.localStorage[c]=new Array(o),this.setState());break;case this.accordionClass:this.hideElement(n),r?this.localStorage[c]={}:(this.showElement(i,n,o),this.localStorage[c]=new Array(o)),this.setState();break;case this.toggleClass:i.toggleClass(this.buttonActiveClass).nextAll(o).toggleClass(this.showClass),Array.isArray(this.localStorage[c])?-1!==(e=this.localStorage[c].indexOf(o))?this.localStorage[c].splice(e,1):this.localStorage[c].push(o):this.localStorage[c]=new Array(o),this.setState()}return i.blur(),!1},showElement:function(t,e,i){t.addClass(this.buttonActiveClass),e.data("content-id",i),u(i,e).addClass(this.showClass)},hideElement:function(t){var e=t.data("content-id");u('[data-content-id="'+e+'"]',t).removeClass(this.buttonActiveClass),u(e,t).removeClass(this.showClass)},getState:function(){try{return JSON.parse(localStorage.getItem("interface-builder"))}catch(t){return!1}},setState:function(){try{localStorage.setItem("interface-builder",JSON.stringify(this.localStorage))}catch(t){return!1}}},control:{init:function(){this.switcher.init(),this.checkbox.init(),this.radio.init(),this.slider.init(),this.select.init(),this.media.init(),this.colorpicker.init(),this.iconpicker.init(),this.dimensions.init(),this.repeater.init()},switcher:{switcherClass:".cx-switcher-wrap",trueClass:".cx-input-switcher-true",falseClass:".cx-input-switcher-false",init:function(){u("body").on("click.cxSwitcher",this.switcherClass,this.switchState.bind(this))},switchState:function(t){var e=u(t.currentTarget),i=u(this.trueClass,e),n=u(this.falseClass,e),s=i[0].checked,a=i.attr("name");i.prop("checked",!s),n.prop("checked",!!s),s=i[0].checked,u(window).trigger({type:"cx-switcher-change",controlName:a,controlStatus:s})}},checkbox:{inputClass:'.cx-checkbox-input[type="hidden"]:not([name*="__i__"])',itemClass:".cx-checkbox-label, .cx-checkbox-item",init:function(){u("body").on("click.cxCheckbox",this.itemClass,this.switchState.bind(this))},switchState:function(t){var e,i=u(t.currentTarget).siblings(this.inputClass),n=i[0].checked,s=u(t.currentTarget).closest(".cx-control-checkbox"),a=s.data("control-name");i.val(n?"false":"true").attr("checked",!n),e=o.utils.serializeObject(s),u(window).trigger({type:"cx-checkbox-change",controlName:a,controlStatus:e})}},radio:{inputClass:'.cx-radio-input:not([name*="__i__"])',init:function(){u("body").on("click.cxRadio",this.inputClass,this.switchState.bind(this))},switchState:function(t){var e=u(t.currentTarget);u(window).trigger({type:"cx-radio-change",controlName:e.attr("name"),controlStatus:u(e).val()})}},slider:{init:function(){u("body").on("input.cxSlider change.cxSlider",".cx-slider-unit, .cx-ui-stepper-input",this.changeHandler.bind(this))},changeHandler:function(t){var e=u(t.currentTarget),i=e.closest(".cx-slider-wrap"),n=e.hasClass("cx-slider-unit")?".cx-ui-stepper-input":".cx-slider-unit";u(n,i).val(e.val())}},select:{selectClass:'.cx-ui-select[data-filter="true"]:not([name*="__i__"]), .cx-ui-select[multiple]:not([name*="__i__"])',init:function(){u(document).on("ready.cxSelect",this.selectRender.bind(this)).on("cx-control-init",this.selectRender.bind(this))},selectRender:function(t){var e=t._target?t._target:u("body");u(this.selectClass,e).each(this.select2Init.bind(this))},select2Init:function(t,e){var i=u(e),n=i.attr("name");i.select2({placeholder:i.data("placeholder")}).on("change.cxSelect2",function(t){u(window).trigger({type:"cx-select2-change",controlName:n,controlStatus:u(t.target).val()})})}},media:{init:function(){u(document).on("ready.cxMedia",this.mediaRender.bind(this)).on("cx-control-init",this.mediaRender.bind(this))},mediaRender:function(t){var e=t._target?t._target:u("body"),i=u(".cx-upload-button",e);i.each(function(){var t=u(this),e=t.closest(".cx-ui-media-wrap"),d={input:u(".cx-upload-input",e),img_holder:u(".cx-upload-preview",e),title_text:t.data("title"),multiple:t.data("multi-upload"),library_type:t.data("library-type")},h=wp.media.frames.file_frame=wp.media({title:d.title_text,button:{text:d.title_text},multiple:d.multiple,library:{type:d.library_type}});if(!e.has('input[name*="__i__"]')[0]){t.off("click.cx-media").on("click.cx-media",function(){return h.open(),!1}),h.on("select",function(){var t=h.state().get("selection").toJSON(),e=0,i="",n=u(".cx-all-images-wrap",d.img_holder),s="",a="";for(d.multiple&&(i=d.input.val(),a=",",s=n.html());t[e];){var o=t[e],c=o.id,r="",l="";switch(o.mime){case"image/jpeg":case"image/png":case"image/gif":void 0!==o.sizes&&(r=o.sizes.thumbnail?o.sizes.thumbnail.url:o.sizes.full.url),l='<img src="'+r+'" alt="" data-img-attr="'+c+'">';break;case"image/x-icon":l='<span class="dashicons dashicons-format-image"></span>';break;case"video/mpeg":case"video/mp4":case"video/quicktime":case"video/webm":case"video/ogg":l='<span class="dashicons dashicons-format-video"></span>';break;case"audio/mpeg":case"audio/wav":case"audio/ogg":l='<span class="dashicons dashicons-format-audio"></span>'}s+='<div class="cx-image-wrap"><div class="inner"><div class="preview-holder" data-id-attr="'+c+'"><div class="centered">'+l+'</div></div><a class="cx-remove-image" href="#"><i class="dashicons dashicons-no"></i></a><span class="title">'+o.title+"</span></div></div>",i+=a+c,e++}d.input.val(i.replace(/(^,)/,"")).trigger("change"),n.html(s)});e.on("click",".cx-remove-image",function(){var t,e,i,n,s,a,o;return t=u(this),e=t.closest(".cx-ui-media-wrap"),i=u(".cx-upload-input",e),n=t.parent().parent(".cx-image-wrap"),s=u(".preview-holder",n).data("id-attr"),a=i.attr("value"),o=new RegExp(s+"(,*)","i"),a=(a=a.replace(o,"")).replace(/(,$)/,""),i.attr({value:a}).trigger("change"),n.remove(),!1})}}),i[0]&&u(".cx-all-images-wrap",e).sortable({items:"div.cx-image-wrap",cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,helper:"clone",opacity:.65,placeholder:"cx-media-thumb-sortable-placeholder",start:function(){},stop:function(){},update:function(){var e="";u(".cx-image-wrap",this).each(function(){var t=u(".preview-holder",this).data("id-attr");e=e+t+","}),e=e.substr(0,e.lastIndexOf(",")),u(this).parent().siblings(".cx-element-wrap").find("input.cx-upload-input").val(e).trigger("change")}})}},colorpicker:{init:function(){u(document).on("ready.cxColorpicker",this.render.bind(this)).on("cx-control-init",this.render.bind(this))},render:function(t){var e=t._target?t._target:u("body"),i=u('input.cx-ui-colorpicker:not([name*="__i__"])',e);i[0]&&i.wpColorPicker()}},iconpicker:{iconSets:{},iconSetsKey:"cx-icon-sets",init:function(){u(document).on("ready.cxIconpicker",this.setIconsSets.bind(this,window.CxIconSets)).on("ready.cxIconpicker",this.render.bind(this)).on("cx-control-init",this.render.bind(this))},setIconsSets:function(t){var e,i=this;t&&(e=t.response?t.response.CxIconSets:t,u.each(e,function(t,e){i.iconSets[t]=e}),i.setState(i.iconSetsKey,i.iconSets))},getIconsSets:function(){var t=this.getState(this.iconSetsKey);t&&(this.iconSets=t)},render:function(t){var e,i,n,s=t._target?t._target:u("body"),a=u('.cx-ui-iconpicker:not([name*="__i__"])',s),o=this;a[0]&&(this.getIconsSets(),a.each(function(){e=u(this),i=e.data("set"),n=o.iconSets[i],e.length&&n.icons&&e.iconpicker({icons:n.icons,iconBaseClass:n.iconBase,iconClassPrefix:n.iconPrefix,animation:!1,fullClassFormatter:function(t){return n.iconBase+" "+n.iconPrefix+t}}).on("iconpickerUpdated",function(){u(this).trigger("change")}),n&&u("head").append('<link rel="stylesheet" type="text/css" href="'+n.iconCSS+'"">')}))},getState:function(t){try{return JSON.parse(window.sessionStorage.getItem(t))}catch(t){return!1}},setState:function(t,e){try{window.sessionStorage.setItem(t,JSON.stringify(e))}catch(t){return!1}}},dimensions:{container:".cx-ui-dimensions",isLinked:".cx-ui-dimensions__is-linked",units:".cx-ui-dimensions__unit",unitsInput:'input[name*="[units]"]',linkedInput:'input[name*="[is_linked]"]',valuesInput:".cx-ui-dimensions__val",init:function(){u("body").on("click",this.isLinked,{self:this},this.switchLinked).on("click",this.units,{self:this},this.switchUnits).on("input",this.valuesInput+".is-linked",{self:this},this.changeLinked)},render:function(t){},switchLinked:function(t){console.log("test");var e=t.data.self,i=u(this),n=i.closest(e.container),s=n.find(e.linkedInput),a=n.find(e.valuesInput),o=s.val();0===parseInt(o)?(s.val(1),i.addClass("is-linked"),a.addClass("is-linked")):(s.val(0),i.removeClass("is-linked"),a.removeClass("is-linked"))},switchUnits:function(t){var e=t.data.self,i=u(this),n=i.data("unit"),s=i.closest(e.container),a=s.find(e.unitsInput),o=s.find(e.valuesInput),c=s.data("range");i.hasClass("is-active")||(i.addClass("is-active").siblings(e.units).removeClass("is-active"),a.val(n),o.attr({min:c[n].min,max:c[n].max,step:c[n].step}))},changeLinked:function(t){var e=t.data.self,i=u(this),n=i.closest(".cx-ui-dimensions__values");u(e.valuesInput,n).val(i.val())}},repeater:{repeaterContainerClass:".cx-ui-repeater-container",repeaterListClass:".cx-ui-repeater-list",repeaterItemClass:".cx-ui-repeater-item",repeaterItemHandleClass:".cx-ui-repeater-actions-box",repeaterTitleClass:".cx-ui-repeater-title",addItemButtonClass:".cx-ui-repeater-add",removeItemButtonClass:".cx-ui-repeater-remove",toggleItemButtonClass:".cx-ui-repeater-toggle",minItemClass:"cx-ui-repeater-min",sortablePlaceholderClass:"sortable-placeholder",init:function(){u(document).on("ready.cxRepeat",this.addEvents.bind(this))},addEvents:function(){u("body").on("click",this.addItemButtonClass,{self:this},this.addItem).on("click",this.removeItemButtonClass,{self:this},this.removeItem).on("click",this.toggleItemButtonClass,{self:this},this.toggleItem).on("change",this.repeaterListClass+" input, "+this.repeaterListClass+" textarea, "+this.repeaterListClass+" select",{self:this},this.changeWrapperLable).on("sortable-init",{self:this},this.sortableItem),u(document).on("cx-control-init",{self:this},this.sortableItem),this.triggers()},triggers:function(t){return u("body").trigger("sortable-init"),t&&u(document).trigger("cx-control-init",{target:t}),this},addItem:function(t){var e=t.data.self,i=u(this).prev(e.repeaterListClass),n=i.data("index"),s=i.data("name"),a=wp.template(s),o=i.data("widget-id"),c={index:n};(o="__i__"!==o?o:i.attr("id"))&&(c.widgetId=o),i.append(a(c)),n++,i.data("index",n),e.triggers(u(e.repeaterItemClass+":last",i)).stopDefaultEvent(t)},removeItem:function(t){var e=t.data.self,i=u(this).closest(e.repeaterListClass);e.applyChanges(i),u(this).closest(e.repeaterItemClass).remove(),e.triggers().stopDefaultEvent(t)},toggleItem:function(t){var e=t.data.self;u(this).closest(e.repeaterItemClass).toggleClass(e.minItemClass),e.stopDefaultEvent(t)},sortableItem:function(t){var i,n=t.data.self;u(n.repeaterListClass).each(function(t,e){i=u(e),u(e).data("sortable-init")?i.sortable("refresh"):i.sortable({items:n.repeaterItemClass,handle:n.repeaterItemHandleClass,cursor:"move",scrollSensitivity:40,forcePlaceholderSize:!0,forceHelperSize:!1,distance:2,tolerance:"pointer",helper:function(t,e){return e.clone().find(":input").attr("name",function(t,e){return"sort_"+parseInt(1e5*Math.random(),10).toString()+"_"+e}).end()},opacity:.65,placeholder:n.sortablePlaceholderClass,create:function(){i.data("sortable-init",!0)},update:function(t){var e=u(t.target);n.applyChanges(e)}})})},changeWrapperLable:function(t){var e,i,n=t.data.self,s=u(n.repeaterListClass).data("title-field"),a=u(this);console.log(s),console.log(a.closest("."+s+"-wrap")),s&&a.closest("."+s+"-wrap")[0]&&(e=a.val(),i=a.closest(n.repeaterItemClass),u(n.repeaterTitleClass,i).html(e)),n.stopDefaultEvent(t)},applyChanges:function(t){return void 0!==wp.customize&&u("input[name]:first, select[name]:first",t).change(),this},stopDefaultEvent:function(t){return t.preventDefault(),t.stopImmediatePropagation(),t.stopPropagation(),this}}},utils:{serializeObject:function(t){var e,s=this,a={},i={},o={validate:/^[a-zA-Z][a-zA-Z0-9_-]*(?:\[(?:\d*|[a-zA-Z0-9_-]+)\])*$/,key:/[a-zA-Z0-9_-]+|(?=\[\])/g,push:/^$/,fixed:/^\d+$/,named:/^[a-zA-Z0-9_-]+$/};return this.build=function(t,e,i){return t[e]=i,t},this.push_counter=function(t){return void 0===i[t]&&(i[t]=0),i[t]++},e="FORM"===t[0].tagName?t.serializeArray():t.find("input, textarea, select").serializeArray(),u.each(e,function(){var t,e,i,n;if(o.validate.test(this.name)){for(e=this.name.match(o.key),i=this.value,n=this.name;void 0!==(t=e.pop());)n=n.replace(new RegExp("\\["+t+"\\]$"),""),t.match(o.push)?i=s.build([],s.push_counter(n),i):t.match(o.fixed)?i=s.build([],t,i):t.match(o.named)&&(i=s.build({},t,i));a=u.extend(!0,a,i)}}),a},filterBoolValue:function(t){var e=+t;return isNaN(e)?!!String(t).toLowerCase().replace(!1,""):!!e}}};o.init()}(jQuery,window._);