0byt3m1n1
Path:
/
var
/
www
/
clients
/
client38
/
web37
/
web
/
wp-content
/
plugins
/
us-core
/
usof
/
js
/
[
Home
]
File: usof.min.js
jQuery.fn.usMod=function(mod,value){if(this.length==0){return this} if(value===!1){return this.each(function(){this.className=this.className.replace(new RegExp('(^| )'+mod+'\_[a-zA-Z0-9\_\-]+( |$)'),'$2')})} var pcre=new RegExp('^.*?'+mod+'\_([a-zA-Z0-9\_\-]+).*?$'),arr;if(value===undefined){return(arr=pcre.exec(this.get(0).className))?arr[1]:!1} else{var regexp=new RegExp('(^| )'+mod+'\_[a-zA-Z0-9\_\-]+( |$)');return this.each(function(){if(this.className.match(regexp)){this.className=this.className.replace(regexp,'$1'+mod+'_'+value+'$2')}else{this.className+=' '+mod+'_'+value}}).trigger('usof.'+mod,value)}};function usof_base64_decode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,dec="",tmp_arr=[];if(!data){return data} data+='';do{h1=b64.indexOf(data.charAt(i ++));h2=b64.indexOf(data.charAt(i ++));h3=b64.indexOf(data.charAt(i ++));h4=b64.indexOf(data.charAt(i ++));bits=h1<<18|h2<<12|h3<<6|h4;o1=bits>>16&0xff;o2=bits>>8&0xff;o3=bits&0xff;if(h3==64){tmp_arr[ac ++]=String.fromCharCode(o1)}else if(h4==64){tmp_arr[ac ++]=String.fromCharCode(o1,o2)}else{tmp_arr[ac ++]=String.fromCharCode(o1,o2,o3)}}while(i<data.length);dec=tmp_arr.join('');dec=usof_utf8_decode(dec);return dec} function usof_base64_encode(data){var b64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var o1,o2,o3,h1,h2,h3,h4,bits,i=0,ac=0,enc="",tmp_arr=[];if(!data){return data} data=usof_utf8_encode(data+'');do{o1=data.charCodeAt(i ++);o2=data.charCodeAt(i ++);o3=data.charCodeAt(i ++);bits=o1<<16|o2<<8|o3;h1=bits>>18&0x3f;h2=bits>>12&0x3f;h3=bits>>6&0x3f;h4=bits&0x3f;tmp_arr[ac ++]=b64.charAt(h1)+b64.charAt(h2)+b64.charAt(h3)+b64.charAt(h4)}while(i<data.length);enc=tmp_arr.join('');var r=data.length%3;return(r?enc.slice(0,r-3):enc)+'==='.slice(r||3)} function usof_rawurldecode(str){return decodeURIComponent(str+'')} function usof_rawurlencode(str){str=(str+'').toString();return encodeURIComponent(str).replace(/!/g,'%21').replace(/'/g,'%27').replace(/\(/g,'%28').replace(/\)/g,'%29').replace(/\*/g,'%2A')} function usof_strip_tags(str){return str.replace(/(<([^>]+)>)/ig,'').replace('"','"')} function usof_utf8_decode(str_data){var tmp_arr=[],i=0,ac=0,c1=0,c2=0,c3=0;str_data+='';while(i<str_data.length){c1=str_data.charCodeAt(i);if(c1<128){tmp_arr[ac ++]=String.fromCharCode(c1);i ++}else if(c1>191&&c1<224){c2=str_data.charCodeAt(i+1);tmp_arr[ac ++]=String.fromCharCode(((c1&31)<<6)|(c2&63));i+=2}else{c2=str_data.charCodeAt(i+1);c3=str_data.charCodeAt(i+2);tmp_arr[ac ++]=String.fromCharCode(((c1&15)<<12)|((c2&63)<<6)|(c3&63));i+=3}} return tmp_arr.join('')} function usof_utf8_encode(argString){if(argString===null||typeof argString==="undefined"){return ""} var string=(argString+'');var utftext="",start,end,stringl=0;start=end=0;stringl=string.length;for(var n=0;n<stringl;n ++){var c1=string.charCodeAt(n);var enc=null;if(c1<128){end ++}else if(c1>127&&c1<2048){enc=String.fromCharCode((c1>>6)|192)+String.fromCharCode((c1&63)|128)}else{enc=String.fromCharCode((c1>>12)|224)+String.fromCharCode(((c1>>6)&63)|128)+String.fromCharCode((c1&63)|128)} if(enc!==null){if(end>start){utftext+=string.slice(start,end)} utftext+=enc;start=end=n+1}} if(end>start){utftext+=string.slice(start,stringl)} return utftext} !function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){_window.$usof={}} if($usof.mixins===undefined){$usof.mixins={}} $usof.uniqid=function(prefix){return(prefix||'')+Math.random().toString(36).substr(2,9)};$usof.mixins.Events={on:function(eventType,handler){if(this.$$events===undefined){this.$$events={}} if(this.$$events[eventType]===undefined){this.$$events[eventType]=[]} this.$$events[eventType].push(handler);return this},off:function(eventType,handler){if(this.$$events===undefined||this.$$events[eventType]===undefined){return this} if(handler!==undefined){var handlerPos=$.inArray(handler,this.$$events[eventType]);if(handlerPos!=-1){this.$$events[eventType].splice(handlerPos,1)}}else{this.$$events[eventType]=[]} return this},has:function(eventType){return this.$$events[eventType]!==undefined&&this.$$events[eventType].length},trigger:function(eventType,extraParameters){if(this.$$events===undefined||this.$$events[eventType]===undefined||this.$$events[eventType].length==0){return this} var params=(arguments.length>2||!$.isArray(extraParameters))?Array.prototype.slice.call(arguments,1):extraParameters;params.unshift(this);for(var index=0;index<this.$$events[eventType].length;index ++){this.$$events[eventType][index].apply(this.$$events[eventType][index],params)} return this}};if($usof.ajaxQueues===undefined){$usof.ajaxQueues=$.noop;$.extend($usof.ajaxQueues.prototype,$usof.mixins.Events,{$$events:{},});$usof.ajaxQueues=new $usof.ajaxQueues} $usof.getDynamicColors=function(){if($.isPlainObject(this._dynamicColors))return this._dynamicColors;try{this._dynamicColors=JSON.parse(this.dynamicColors||'{}')}catch(e){this._dynamicColors={}} return this._dynamicColors};$usof.field=function(row,options){this.$row=$(row);this.type=this.$row.usMod('type');var data=this.$row.data()||{};this.id=data.id;this.name=data.name;this.inited=data.inited||!1;this.$input=this.$row.find('[name="'+data.name+'"]');if(this.inited){return} this.$$events={beforeShow:[],afterShow:[],change:[],beforeHide:[],afterHide:[]};if($usof.field[this.type]!==undefined){for(var fn in $usof.field[this.type]){if(!$usof.field[this.type].hasOwnProperty(fn)){continue} if(this[fn]!==undefined){var parentFn='parent'+fn.charAt(0).toUpperCase()+fn.slice(1);this[parentFn]=this[fn]} this[fn]=$usof.field[this.type][fn]}} this.$row.data('usofField',this);var initEvent=function(){this.init(options);this.inited=!0;this.$row.data('inited',this.inited);this.off('beforeShow',initEvent);this._std=data.hasOwnProperty('std')?data.std:this.getValue()}.bind(this);this.on('beforeShow',initEvent)};$.extend($usof.field.prototype,$usof.mixins.Events,{init:function(){if(this._events===undefined){this._events={}} this._events.change=function(){this.trigger('change',[this.getValue()])}.bind(this);this.$input.on('change',this._events.change)},getValue:function(){return this.$input.val()},getDefaultValue:function(){return this._std||''},setValue:function(value,quiet){this.$input.val(value);if(!quiet){this.trigger('change',[value])}},isUSBuilder:function(){return!!this.$row.closest('.us-builder-panel-fieldset').length}});$.fn.usofField=function(options){return new $usof.field(this,options)};$usof.Group=function(row,options){this.init(row,options)};$.extend($usof.Group.prototype,$usof.mixins.Events,{init:function(elm,options){this.$field=$(elm);this.$btnAddGroup=$('.usof-form-group-add',this.$field);this.$groupPrototype=$('.usof-form-group-prototype',this.$field);this.groupName=this.$field.data('name');this.isBuilder=!!this.$field.parents('.us-bld-window').length;this.isUSBuilder=!!this.$field.parents('.us-builder-panel-fieldset').length;this.isSortable=this.$field.hasClass('sortable');this.isAccordion=this.$field.hasClass('type_accordion');this.isForButtons=this.$field.hasClass('preview_button');this.groupParams=[];this._changeField={};var $translations=this.$field.find('.usof-form-group-translations');this.groupTranslations=$translations.length?($translations[0].onclick()||{}):{};if(this.isBuilder){this.$parentElementForm=this.$field.closest('.usof-form');this.elementName=this.$parentElementForm.usMod('for');this.$builderWindow=this.$field.closest('.us-bld-window')}else{this.$parentSection=this.$field.closest('.usof-section');$('.usof-form-group-item',this.$field).each(function(i,groupParams){var $groupParams=$(groupParams);if($groupParams.closest('.usof-form-group-prototype').length)return;this.groupParams.push(new $usof.GroupParams($groupParams))}.bind(this))} this.hasStringValue=!!this.$field.closest('.us-builder-panel-fieldset').length;this._std=this.getValue();this.$btnAddGroup.off('click').on('click',this.addGroup.bind(this,undefined));this.$field.on('change',function(){this.trigger('change',this)}.bind(this)).on('click','.ui-icon_duplicate',this.duplicateGroup.bind(this)).on('click','.usof-form-group-item-controls > .ui-icon_delete',function(event){event.stopPropagation();var $btn=$(event.target),$group=$btn.closest('.usof-form-group-item');this.groupDel($group)}.bind(this));if(this.isAccordion){this.$sections=this.$field.find('.usof-form-group-item');this.$field.on('click','.usof-form-group-item-title',function(event){this.$sections=this.$field.find('.usof-form-group-item');var $parentSection=$(event.target).closest('.usof-form-group-item');if($parentSection.hasClass('active')){$parentSection.removeClass('active').children('.usof-form-group-item-content').slideUp()}else{$parentSection.addClass('active').children('.usof-form-group-item-content').slideDown()}}.bind(this))} if(this.isSortable){this.$body=$(_document.body);this.$window=$(_window);this.$dragshadow=$('<div class="us-bld-editor-dragshadow"></div>');this.$field.on('dragstart',function(e){e.preventDefault()}).on('mousedown','.ui-icon_move',this._dragStart.bind(this));this._events={_maybeDragMove:this._maybeDragMove.bind(this),_dragMove:this._dragMove.bind(this),_dragEnd:this._dragEnd.bind(this)}}},_hasClass:function(elm,cls){return(' '+elm.className+' ').indexOf(' '+cls+' ')>-1},_isShadow:function(elm){return this._hasClass(elm,'usof-form-group-dragshadow')},_isSortable:function(elm){return this._hasClass(elm,'usof-form-group-item')},_reInitParams:function(){this.groupParams=[];$('.usof-form-group-item',this.$field).each(function(i,groupParams){var $groupParams=$(groupParams);if($groupParams.closest('.usof-form-group-prototype').length)return;var groupParams=$groupParams.data('usofGroupParams');$.each(groupParams.fields,function(groupParamsIndex,_,field){field.on('change',this._updateChangeField.bind(this,groupParamsIndex))}.bind(this,this.groupParams.length));this.groupParams.push(groupParams)}.bind(this));if(!this.isBuilder){if($.isEmptyObject($usof.instance.valuesChanged)){clearTimeout($usof.instance.saveStateTimer);$usof.instance.$saveControl.usMod('status','notsaved')} var value=this.getValue();$usof.instance.valuesChanged[this.groupName]=value;this.$field.trigger('change',value)}},getDefaultValue:function(){return this._std||''},setValue:function(value){if(typeof value==='string'&&this.hasStringValue){try{value=JSON.parse(usof_rawurldecode(value)||'[]')}catch(err){console.error(value,err);value=[]}} this.groupParams=[];$('.usof-form-group-item',this.$field).each(function(i,groupParams){var $groupParams=$(groupParams);if(!$groupParams.parent().hasClass('usof-form-group-prototype')){$groupParams.remove()}}.bind(this));$.each(value,function(index,paramsValues){var groupPrototype=this.$groupPrototype.html();if(this.$btnAddGroup.length){this.$btnAddGroup.before(groupPrototype)}else{this.$field.append(groupPrototype)} var $groupParams=this.$field.find('.usof-form-group-item').last();var groupParams=new $usof.GroupParams($groupParams);groupParams.setValues(paramsValues,1);for(var fieldId in groupParams.fields){if(!groupParams.fields.hasOwnProperty(fieldId)){continue} groupParams.fields[fieldId].trigger('change');break}}.bind(this));this._reInitParams()},getValue:function(){var result=[];$.each(this.groupParams,function(i,groupParams){result.push(groupParams.getValues())});if(this.hasStringValue){try{result=usof_rawurlencode(JSON.stringify(result))}catch(err){console.error(result,err);result=''}} return result},addGroup:function(index){this.$btnAddGroup.addClass('adding');var $groupPrototype=$(this.$groupPrototype.html());if(this.isForButtons&&index!==undefined){this.$btnAddGroup.closest('.usof-form-group').find(' > .usof-form-group-item:eq('+parseInt(index)+')').after($groupPrototype)}else{this.$btnAddGroup.before($groupPrototype)} var groupParams=new $usof.GroupParams($groupPrototype);if(this.isForButtons&&index!==undefined){this.groupParams.splice(index+1,0,groupParams)}else{this.groupParams.push(groupParams)} $.each(groupParams.fields,function(groupParamsIndex,_,field){field.on('change',this._updateChangeField.bind(this,groupParamsIndex))}.bind(this,this.groupParams.length));if(!this.isBuilder){if($.isEmptyObject($usof.instance.valuesChanged)){clearTimeout($usof.instance.saveStateTimer);$usof.instance.$saveControl.usMod('status','notsaved')} var value=this.getValue();$usof.instance.valuesChanged[this.groupName]=value;this.$field.trigger('change',value)} if(this.isForButtons){var newIndex=this.groupParams.length,newId=1,newIndexIsUnique;for(var i in this.groupParams){newId=Math.max((parseInt(this.groupParams[i].fields.id.getValue())||0)+1,newId)} do{newIndexIsUnique=!0;for(var i in this.groupParams){if(this.groupParams[i].fields.name.getValue()==this.groupTranslations.style+' '+newIndex){newIndex ++;newIndexIsUnique=!1;break}}}while(!newIndexIsUnique);groupParams.fields.name.setValue(this.groupTranslations.style+' '+newIndex);groupParams.fields.id.setValue(newId)} if(this.isUSBuilder){groupParams._setTitleForAccordion()} this.$btnAddGroup.removeClass('adding');return groupParams},duplicateGroup:function(e){var $target=$(e.currentTarget),$group=$target.closest('.usof-form-group-item'),index=$group.index()-1;if(this.groupParams.hasOwnProperty(index)){var $item=this.groupParams[index],values=$item.getValues(),number=0;values.name=$.trim(values.name.replace(/\s?\(.*\)$/,''));for(var i in this.groupParams){var name=this.groupParams[i].getValue('name')||'',copyPattern=new RegExp(values.name+'\\s?\\((\\d+)*','m');var numMatches=name.match(copyPattern);if(numMatches!==null){number=Math.max(number,parseInt(numMatches[1]||1))}} values.name+=' ('+(++ number)+')';var newGroup=this.addGroup(index);newGroup.setValues($.extend(values,{id:newGroup.getValue('id')}))}},groupDel:function($group){if(!confirm(this.groupTranslations.deleteConfirm)){return!1} $group.addClass('deleting');$group.remove();this._reInitParams()},_dragStart:function(event){event.stopPropagation();this.$draggedElm=$(event.target).closest('.usof-form-group-item');this.detached=!1;this._updateBlindSpot(event);this.elmPointerOffset=[parseInt(event.pageX),parseInt(event.pageY)];this.$body.on('mousemove',this._events._maybeDragMove);this.$window.on('mouseup',this._events._dragEnd)},_updateBlindSpot:function(event){this.blindSpot=[event.pageX,event.pageY]},_isInBlindSpot:function(event){return Math.abs(event.pageX-this.blindSpot[0])<=20&&Math.abs(event.pageY-this.blindSpot[1])<=20},_maybeDragMove:function(event){event.stopPropagation();if(this._isInBlindSpot(event)){return} this.$body.off('mousemove',this._events._maybeDragMove);this._detach();this.$body.on('mousemove',this._events._dragMove)},_detach:function(event){var offset=this.$draggedElm.offset();this.elmPointerOffset[0]-=offset.left;this.elmPointerOffset[1]-=offset.top;this.$draggedElm.find('.usof-form-group-item-title').hide();if(!this.isAccordion||this.$draggedElm.hasClass('active')){this.$draggedElm.find('.usof-form-group-item-content').hide()} this.$dragshadow.css({width:this.$draggedElm.outerWidth()}).insertBefore(this.$draggedElm);this.$draggedElm.addClass('dragged').css({position:'absolute','pointer-events':'none',zIndex:10000,width:this.$draggedElm.width(),height:this.$draggedElm.height()}).css(offset).appendTo(this.$body);if(this.isBuilder){this.$builderWindow.addClass('dragged')} this.detached=!0},_dragMove:function(event){event.stopPropagation();this.$draggedElm.css({left:event.pageX-this.elmPointerOffset[0],top:event.pageY-this.elmPointerOffset[1]});if(this._isInBlindSpot(event)){return} var elm=event.target;for(var level=0;level<=2;level ++,elm=elm.parentNode){if(this._isShadow(elm)){return} if(this._hasClass(elm,'detached')){this.$draggedElm.detach();break} if(this._isSortable(elm)){var nextElm=elm.previousSibling,shadowAtLeft=!1;while(nextElm){if(nextElm==this.$dragshadow[0]){shadowAtLeft=!0;break} nextElm=nextElm.previousSibling} this.$dragshadow[shadowAtLeft?'insertAfter':'insertBefore'](elm);this._dragDrop(event);break}}},_dragDrop:function(event){this._updateBlindSpot(event)},_dragEnd:function(event){this.$body.off('mousemove',this._events._maybeDragMove).off('mousemove',this._events._dragMove);this.$window.off('mouseup',this._events._dragEnd);if(this.detached){this.$draggedElm.removeClass('dragged').removeAttr('style').insertBefore(this.$dragshadow);this.$dragshadow.detach();if(this.isBuilder){this.$builderWindow.removeClass('dragged')} this.$draggedElm.find('.usof-form-group-item-title').show();if(!this.isAccordion||this.$draggedElm.hasClass('active')){this.$draggedElm.find('.usof-form-group-item-content').show()} this._reInitParams()}},getChangeField:function(){var changeField=this._changeField;this._changeField={};return changeField},_updateChangeField:function(groupParamsIndex,field){if(!this.isBuilder){this.trigger('change',this.getValue())} this._changeField={index:groupParamsIndex,field:field}}});$.fn.usofGroup=function(options){return new $usof.Group(this,options)}}(jQuery);(function($,undefined){$usof.dragDrop=function(container,options){this._defaults={itemSelector:'.usof-draggable-selector',css:{moving:'usof-dragdrop-moving',active:'usof-dragdrop-active',over:'usof-dragdrop-over'},};this._name='$usof.dragDrop';this.options=$.extend({},this._defaults,options||{});this.css=this.options.css;this.$container=$(container);this.init.call(this)};$.extend($usof.dragDrop.prototype,$usof.mixins.Events,{init:function(){var itemSelector=this.options.itemSelector;if(!itemSelector){return} this.$container.data('usofDragDrop',this);this.trigger('init',this);this.$container.addClass('usof-dragdrop').on('mouseup',itemSelector,function(e){this.$container.removeClass(this.css.moving).find('> [draggable]').removeAttr('draggable');$('> .'+this.css.active,this.$container).removeClass(this.css.active);this.trigger('dragdrop',e,this);return!0}.bind(this)).on('dragenter',itemSelector,function(e){e.stopPropagation();e.preventDefault();this.trigger('dragdrop',e,this);return!0}.bind(this)).on('drop',itemSelector,function(e){var targetId=e.originalEvent.dataTransfer.getData('Text'),$el=$('> [usof-target-id="'+targetId+'"]',this.$container),$target=$(e.currentTarget);$el.removeAttr('usof-target-id');$target.before($el);$('> .'+this.css.active,this.$container).removeClass(this.css.active);$('> .'+this.css.over,this.$container).removeClass(this.css.over);e.stopPropagation();this.trigger('drop',e,this).trigger('dragdrop',e,this);return!1}.bind(this)).on('dragover',itemSelector,function(e){e.stopPropagation();e.preventDefault();$(e.currentTarget===e.target?e.target:e.currentTarget).addClass(this.css.over);this.trigger('over',e,this).trigger('dragdrop',e,this);return!0}.bind(this)).on('dragleave',itemSelector,function(e){e.stopPropagation();e.preventDefault();$(e.target).removeClass(this.css.over);this.trigger('leave',e,this).trigger('dragdrop',e,this);return!0}.bind(this)).on('mousedown',itemSelector,function(e){this.$container.addClass(this.css.moving);var $target=$(this._getTarget(e));$target.addClass(this.css.active);if(!$target.is('[draggable="false"]')&&!$target.is('input')){$target.attr('draggable',!0)} this.trigger('dragdrop',e,this);return!0}.bind(this)).on('mouseup',itemSelector,function(e){$('> .'+this.css.active,this.$container).removeClass(this.css.active);this.trigger('dragdrop',e,this);return!0}.bind(this)).on('dragstart',itemSelector,function(e){e.stopPropagation();var $target=$(this._getTarget(e)),targetId=$usof.uniqid();$target.attr('usof-target-id',targetId);e.originalEvent.dataTransfer.effectAllowed='move';e.originalEvent.dataTransfer.setData('Text',targetId);e.originalEvent.dataTransfer.setDragImage($target.get(0),e.offsetX,e.offsetY);this.trigger('dragstart',e,this).trigger('dragdrop',e,this);return!0}.bind(this)).on('dragend',function(e){e.stopPropagation();this.$container.removeClass(this.css.moving).find('> [draggable]').removeAttr('draggable');this.trigger('dragend',e,this).trigger('dragdrop',e,this);return!0}.bind(this));return this},_getTarget:function(e){var $target=$(e.target),itemSelector=(this.options.itemSelector||'').replace('>','').trim();if(itemSelector&&!!$target.parent(itemSelector).length){$target=$target.parent(itemSelector)} return $target.get(0)}});$.fn.usofDragDrop=function(options){return this.each(function(){if(!$.data(this,'usofDragDrop')){$.data(this,'usofDragDrop',new $usof.dragDrop(this,options))}})}})(jQuery);!function($){var _window=window,_document=document;$usof.ajaxUrl=$('.usof-container').data('ajaxurl')||ajaxurl;if($usof.mixins===undefined){$usof.mixins={}} $usof.mixins.Fieldset={initFields:function($container){if(this.$fields===undefined){this.$fields={}} if(this.fields===undefined){this.fields={}} if(this.groups===undefined){this.groups={}} if(this.showIf===undefined){this.showIf={}} if(this.showIfDeps===undefined){this.showIfDeps={}} var groupElms=[];$('.usof-form-row, .usof-form-wrapper, .usof-form-group',$container).each(function(index,elm){var $field=$(elm),name=$field.data('name'),isRow=$field.hasClass('usof-form-row'),isGroup=$field.hasClass('usof-form-group'),isInGroup=$field.parents('.usof-form-group').length,$showIf=$field.find((isRow||isGroup)?'> .usof-form-row-showif':'> .usof-form-wrapper-content > .usof-form-wrapper-showif');if($field.closest('.usof-form-group-prototype').length){return} if(isRow&&$field.closest('.usof-design-options').length&&!$container.is('[data-responsive-state-content]')){return} this.$fields[name]=$field;if($showIf.length>0){this.showIf[name]=$showIf[0].onclick()||[];var showIfVars=this._getShowIfVariables(this.showIf[name]);for(var i=0;i<showIfVars.length;i ++){if(this.showIfDeps[showIfVars[i]]===undefined){this.showIfDeps[showIfVars[i]]=[]} this.showIfDeps[showIfVars[i]].push(name)}} if(isRow&&(!isInGroup||this.isGroupParams)){this.fields[name]=$field.usofField(elm)}else if(isGroup){this.groups[name]=$field.usofGroup(elm)}}.bind(this));for(var fieldName in this.showIfDeps){if(!this.showIfDeps.hasOwnProperty(fieldName)||this.fields[fieldName]===undefined){continue} this.fields[fieldName].on('change',function(field){this.updateVisibility(field.name)}.bind(this));if(!!this.isGroupParams){this.updateVisibility(fieldName,!1,this.getCurrentShown(fieldName))}} if(this._defaultValues===undefined){this._defaultValues=this.getValues()}},updateVisibility:function(fieldName,isAnimated,isCurrentShown){if(!fieldName||!this.showIfDeps[fieldName])return;if(isAnimated===undefined){isAnimated=!0} if(isCurrentShown===undefined){isCurrentShown=!0} this.showIfDeps[fieldName].map(function(depFieldName){var field=this.fields[depFieldName],$field=this.$fields[depFieldName],isShown=this.getCurrentShown(depFieldName),shouldBeShown=this.executeShowIf(this.showIf[depFieldName],this.getValue.bind(this));if((!shouldBeShown&&isShown)||!isCurrentShown){isShown=!1}else if(shouldBeShown&&!isShown){isShown=!0} $field.stop(!0,!1).data('isShown',isShown);if(isShown){this.fireFieldEvent($field,'beforeShow');$field.show();this.fireFieldEvent($field,'afterShow');if(field instanceof $usof.field){field.trigger('change',field.getValue())}}else{this.fireFieldEvent($field,'beforeHide');$field.hide();this.fireFieldEvent($field,'afterHide')} if(!!this.showIfDeps[depFieldName]){this.updateVisibility(depFieldName,isAnimated,isShown)}}.bind(this))},getCurrentShown:function(fieldName){if(!fieldName||!this.$fields[fieldName])return!0;var $field=this.$fields[fieldName],isShown=$field.data('isShow');if(isShown===undefined){isShown=$field.css('display')!=='none'} return!!isShown},_getShowIfVariables:function(condition){if(!$.isArray(condition)||condition.length<3){return[]}else if($.inArray(condition[1].toLowerCase(),['and','or'])!=-1){var vars=this._getShowIfVariables(condition[0]),index=2;while(condition[index]!==undefined){vars=vars.concat(this._getShowIfVariables(condition[index]));index=index+2} return vars}else{return[condition[0]]}},executeShowIf:function(condition,getValue){var result=!0;if(!$.isArray(condition)||condition.length<3){return result}else if($.inArray(condition[1].toLowerCase(),['and','or'])!=-1){result=this.executeShowIf(condition[0],getValue);var index=2;while(condition[index]!==undefined){condition[index-1]=condition[index-1].toLowerCase();if(condition[index-1]=='and'){result=(result&&this.executeShowIf(condition[index],getValue))}else if(condition[index-1]=='or'){result=(result||this.executeShowIf(condition[index],getValue))} index=index+2}}else{var value=getValue(condition[0]);if(value===undefined){return!0} if(condition[1]=='='){if($.isArray(condition[2])){result=($.inArray(value,condition[2])!=-1)}else{result=(value==condition[2])}}else if(condition[1]=='!='){if($.isArray(condition[2])){result=($.inArray(value,condition[2])==-1)}else{result=(value!=condition[2])}}else if(condition[1]=='has'){result=(!$.isArray(value)||$.inArray(condition[2],value)!=-1)}else if(condition[1]=='<='){result=(value<=condition[2])}else if(condition[1]=='<'){result=(value<condition[2])}else if(condition[1]=='>'){result=(value>condition[2])}else if(condition[1]=='>='){result=(value>=condition[2])}else{result=!0}} return result},fireFieldEvent:function($container,trigger){if(!$container.hasClass('usof-form-row')){$container.find('.usof-form-row').each(function(index,block){var $block=$(block),isShown=$block.data('isShown');if(isShown===undefined){isShown=($block.css('display')!='none')} if(!isShown&&['beforeShow','afterShow','beforeHide','afterHide'].indexOf(trigger)!==-1){return} if($block.data('usofField')==undefined){return} $block.data('usofField').trigger(trigger)}.bind(this))}else if($container.data('usofField')instanceof $usof.field){$container.data('usofField').trigger(trigger)}},getValue:function(id){if(this.fields[id]===undefined){return undefined} return this.fields[id].getValue()},setValue:function(id,value,quiet){if(this.fields[id]===undefined){return} var shouldFireShow=!this.fields[id].inited;if(shouldFireShow){this.fields[id].trigger('beforeShow');this.fields[id].trigger('afterShow')} this.fields[id].setValue(value,quiet);if(shouldFireShow){this.fields[id].trigger('beforeHide');this.fields[id].trigger('afterHide')}},getValues:function(){var values={};for(var fieldId in this.fields){if(!this.fields.hasOwnProperty(fieldId)){continue} values[fieldId]=this.getValue(fieldId)} for(var groupId in this.groups){values[groupId]=this.groups[groupId].getValue()} return values},setValues:function(values,quiet){for(fieldId in this.fields){if(values.hasOwnProperty(fieldId)){var currentValue=values[fieldId];this.setValue(fieldId,currentValue,quiet);if(!quiet){this.fields[fieldId].trigger('change',[currentValue])}}else if(this._defaultValues.hasOwnProperty(fieldId)){var defaultValue=this._defaultValues[fieldId];this.setValue(fieldId,defaultValue,quiet)}} for(var groupId in this.groups){this.groups[groupId].setValue(values[groupId])} if(quiet){for(var fieldName in this.showIfDeps){if(!this.showIfDeps.hasOwnProperty(fieldName)||this.fields[fieldName]===undefined){continue} this.updateVisibility(fieldName,!1);}}},prepareIconTag:function(iconValue){iconValue=iconValue.trim().split('|');if(iconValue.length!=2){return ''} var iconTag='';iconValue[0]=iconValue[0].toLowerCase();if(iconValue[0]=='material'){iconTag='<i class="material-icons">'+iconValue[1]+'</i>'}else{if(iconValue[1].substr(0,3)=='fa-'){iconTag='<i class="'+iconValue[0]+' '+iconValue[1]+'"></i>'}else{iconTag='<i class="'+iconValue[0]+' fa-'+iconValue[1]+'"></i>'}} return iconTag}};$usof.GroupParams=function(container){this.$container=$(container);this.$group=this.$container.closest('.usof-form-group');this.group=this.$group.data('name');this.isGroupParams=!0;this.isBuilder=!!this.$container.parents('.us-bld-window').length;this.isForButtons=this.$group.hasClass('preview_button');this.isForFormElms=this.$group.hasClass('preview_input_fields');this.initFields(this.$container);this.fireFieldEvent(this.$container,'beforeShow');this.fireFieldEvent(this.$container,'afterShow');this.accordionTitle=(this.$group.data('accordion-title')!=undefined)?decodeURIComponent(this.$group.data('accordion-title')):'';if(!this._isEmptyAccordionTitle()){for(var fieldId in this.fields){if(!this.fields.hasOwnProperty(fieldId)){continue} this.fields[fieldId].on('change',this._setTitleForAccordion.bind(this))}} if(!this.isBuilder){for(var fieldId in this.fields){if(!this.fields.hasOwnProperty(fieldId)){continue} this.fields[fieldId].on('change',function(field,value){if($.isEmptyObject($usof.instance.valuesChanged)){clearTimeout($usof.instance.saveStateTimer);$usof.instance.$saveControl.usMod('status','notsaved');} if(this.group!==undefined&&$usof.instance.groups[this.group]instanceof $usof.Group){$usof.instance.valuesChanged[this.group]=$usof.instance.groups[this.group].getValue()}}.bind(this))}} this.$container.data('usofGroupParams',this);if(this.isForButtons){this.$buttonPreview=this.$container.find('.usof-form-group-item-title .usof-btn-preview');new $usof.ButtonPreview(this.$buttonPreview)}else if(this.isForFormElms){new $usof.FormElmsPreview(this.$container.find('.usof-input-preview'))}};$.extend($usof.GroupParams.prototype,$usof.mixins.Fieldset,{_isEmptyAccordionTitle:function(){return this.accordionTitle===undefined||this.accordionTitle===''},_setTitleForAccordion:function(){if(this._isEmptyAccordionTitle())return;this.$title=this.$container.find('.usof-form-group-item-title');if(this.isForButtons){this.$title=this.$title.find('.usof-btn-label')} var title=this.accordionTitle;for(var fieldId in this.fields){if(!this.fields.hasOwnProperty(fieldId)||title.indexOf(fieldId)<0){continue} var field=this.fields[fieldId],value=this.getValue(fieldId);if(field.hasOwnProperty('type')&&field.type==='select'){var $option=$('option[value="'+value+'"]',field.$container);if($option.length&&$option.html()!==''){value=$option.html()}} title=title.replace(fieldId,value)} this.$title.text(title)}});var USOF_Meta=function(container){this.$container=$(container);this.initFields(this.$container);this.fireFieldEvent(this.$container,'beforeShow');this.fireFieldEvent(this.$container,'afterShow');for(var fieldId in this.fields){if(!this.fields.hasOwnProperty(fieldId)){continue} this.fields[fieldId].on('change',function(field,value){USMMSettings={};for(var savingFieldId in this.fields){USMMSettings[savingFieldId]=this.fields[savingFieldId].getValue()} $(_document.body).trigger('usof_mm_save')}.bind(this));}};$.extend(USOF_Meta.prototype,$usof.mixins.Fieldset,{});var USOF=function(container){if(_window.$usof===undefined){_window.$usof={}} $usof.instance=this;this.$container=$(container);this.$title=this.$container.find('.usof-header-title h2');this.$container.addClass('inited');this.initFields(this.$container);this.active=null;this.$sections={};this.$sectionContents={};this.sectionFields={};$.each(this.$container.find('.usof-section'),function(index,section){var $section=$(section),sectionId=$section.data('id');this.$sections[sectionId]=$section;this.$sectionContents[sectionId]=$section.find('.usof-section-content');if($section.hasClass('current')){this.active=sectionId} this.sectionFields[sectionId]=[];$.each($section.find('.usof-form-row'),function(index,row){var $row=$(row),fieldName=$row.data('name');if(fieldName){this.sectionFields[sectionId].push(fieldName)}}.bind(this))}.bind(this));this.sectionTitles={};$.each(this.$container.find('.usof-nav-item.level_1'),function(index,item){var $item=$(item),sectionId=$item.data('id');this.sectionTitles[sectionId]=$item.find('.usof-nav-title').html()}.bind(this));this.navItems=this.$container.find('.usof-nav-item.level_1, .usof-section-header');this.sectionHeaders=this.$container.find('.usof-section-header');this.sectionHeaders.each(function(index,item){var $item=$(item),sectionId=$item.data('id');$item.on('click',function(){this.openSection(sectionId)}.bind(this))}.bind(this));if(_document.location.hash&&_document.location.hash.indexOf('#!')==-1){this.openSection(_document.location.hash.substring(1))} if(this.$sections[this.active]!==undefined){this.fireFieldEvent(this.$sections[this.active],'beforeShow');this.fireFieldEvent(this.$sections[this.active],'afterShow')} this.$saveControl=this.$container.find('.usof-control.for_save');this.$saveBtn=this.$saveControl.find('.usof-button').on('click',this.save.bind(this));this.$saveMessage=this.$saveControl.find('.usof-control-message');this.valuesChanged={};this.saveStateTimer=null;for(var fieldId in this.fields){if(!this.fields.hasOwnProperty(fieldId)){continue} this.fields[fieldId].on('change',function(field,value){if($.isEmptyObject(this.valuesChanged)){clearTimeout(this.saveStateTimer);this.$saveControl.usMod('status','notsaved');} this.valuesChanged[field.name]=value}.bind(this))} this.$window=$(_window);this.$header=this.$container.find('.usof-header');this.$schemeBtn=this.$container.find('.for_schemes');this.$schemeBtn.on('click',function(){$('.usof-form-row.type_style_scheme').show()}.bind(this));this._events={scroll:this.scroll.bind(this),resize:this.resize.bind(this)};this.resize();this.$window.on('resize load',this._events.resize);this.$window.on('scroll',this._events.scroll);this.$window.on('hashchange',function(){this.openSection(_document.location.hash.substring(1))}.bind(this));$(_window).bind('keydown',function(event){if(event.ctrlKey||event.metaKey){if(String.fromCharCode(event.which).toLowerCase()=='s'){event.preventDefault();$usof.instance.save()}}})};$.extend(USOF.prototype,$usof.mixins.Fieldset,{scroll:function(){this.$container.toggleClass('footer_fixed',this.$window.scrollTop()>this.headerAreaSize)},resize:function(){if(!this.$header.length){return} this.headerAreaSize=this.$header.offset().top+this.$header.outerHeight();this.scroll()},openSection:function(sectionId){if(sectionId==this.active||this.$sections[sectionId]===undefined){return} if(this.$sections[this.active]!==undefined){this.hideSection()} this.showSection(sectionId);this.$schemeBtn=this.$container.find('.for_schemes');if(sectionId=='colors'){this.$schemeBtn.removeClass('hidden')}else{this.$schemeBtn.addClass('hidden')}},showSection:function(sectionId){var curItem=this.navItems.filter('[data-id="'+sectionId+'"]');curItem.addClass('current');this.fireFieldEvent(this.$sectionContents[sectionId],'beforeShow');this.$sectionContents[sectionId].stop(!0,!1).fadeIn();this.$title.html(this.sectionTitles[sectionId]);this.fireFieldEvent(this.$sectionContents[sectionId],'afterShow');var itemPopup=curItem.find('.usof-nav-popup');if(itemPopup.length>0){var matches=_document.cookie.match(/(?:^|; )usof_visited_new_sections=([^;]*)/),cookieValue=matches?decodeURIComponent(matches[1]):'',visitedNewSections=(cookieValue=='')?[]:cookieValue.split(',');if(visitedNewSections.indexOf(sectionId)==-1){visitedNewSections.push(sectionId);_document.cookie='usof_visited_new_sections='+visitedNewSections.join(',')} itemPopup.remove()} this.active=sectionId},hideSection:function(){this.navItems.filter('[data-id="'+this.active+'"]').removeClass('current');this.fireFieldEvent(this.$sectionContents[this.active],'beforeHide');this.$sectionContents[this.active].stop(!0,!1).hide();this.$title.html('');this.fireFieldEvent(this.$sectionContents[this.active],'afterHide');this.active=null},save:function(){if($.isEmptyObject(this.valuesChanged)){return} clearTimeout(this.saveStateTimer);this.$saveMessage.html('');this.$saveControl.usMod('status','loading');$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_save',usof_options:JSON.stringify(this.valuesChanged),_wpnonce:this.$container.find('[name="_wpnonce"]').val(),_wp_http_referer:this.$container.find('[name="_wp_http_referer"]').val()},success:function(result){if(result.success){this.valuesChanged={};this.$saveMessage.html(result.data.message);this.$saveControl.usMod('status','success');this.saveStateTimer=setTimeout(function(){this.$saveMessage.html('');this.$saveControl.usMod('status','clear')}.bind(this),4000)}else{this.$saveMessage.html(result.data.message);this.$saveControl.usMod('status','error');this.saveStateTimer=setTimeout(function(){this.$saveMessage.html('');this.$saveControl.usMod('status','notsaved')}.bind(this),4000)}}.bind(this)})}});$(function(){new USOF('.usof-container:not(.inited)');$.each($('.usof-container.for_meta'),function(index,item){new USOF_Meta(item)});$(_document.body).off('usof_mm_load').on('usof_mm_load',function(){$.each($('.us-mm-settings'),function(index,item){new USOF_Meta(item)})})})}(jQuery);function usof_debounce(fn,wait,immediate){var timeout,args,context,timestamp,result;if(null==wait)wait=100;function later(){var last=Date.now()-timestamp;if(last<wait&&last>=0){timeout=setTimeout(later,wait-last)}else{timeout=null;if(!immediate){result=fn.apply(context,args);context=args=null}}} var debounced=function(){context=this;args=arguments;timestamp=Date.now();var callNow=immediate&&!timeout;if(!timeout)timeout=setTimeout(later,wait);if(callNow){result=fn.apply(context,args);context=args=null} return result};debounced.prototype={clear:function(){if(timeout){clearTimeout(timeout);timeout=null}},flush:function(){if(timeout){result=fn.apply(context,args);context=args=null;clearTimeout(timeout);timeout=null}}};return debounced};!function($){"use strict";var US_Colpick={init:function(options){if(!!this.inited){return} this.value=options.value;var defaults={state:'solid',height:160,width:160,angle:220,inputHeight:options.input.height(),initialSecondColor:{hex:'#000000',rgba:{r:0,g:0,b:0,a:1},hsba:{h:360,s:0,b:0,a:1,},},onChange:function(){},color:{first:{},second:{},},initialColor:this.value,},that=this;that.sending=!1;that.colors=$.extend({},defaults,options);that.$input=options.input;that.withGradient=that.$input.closest('.usof-color').is('.with-gradient')?!0:!1;that.$colpickTemplate=$('.usof-colpick.usof-colpick-template');$('.usof-colpick:not(.usof-colpick-template)').remove();that.$colpick=that.$colpickTemplate.clone().removeClass('usof-colpick-template');that.$colpick.insertAfter(that.$input);that.$curentColorBox=that.$colpick.find('.first .usof-colpick-color');that.$gradientColorBox=that.$colpick.find('.second .usof-colpick-color');that.$hueArr=that.$colpick.find('.first .usof-colpick-hue-selector');that.$hueArr2=that.$colpick.find('.second .usof-colpick-hue-selector');that.$alphaArr=that.$colpick.find('.first .usof-colpick-alpha-selector');that.$gradientAlphaArr=that.$colpick.find('.second .usof-colpick-alpha-selector');that.$alphaContainer=that.$colpick.find('.first .usof-colpick-alpha');that.$gradientAlphaContainer=that.$colpick.find('.second .usof-colpick-alpha');that.$hueContainer=that.$colpick.find('.first .usof-colpick-hue');that.$gradientHueContainer=that.$colpick.find('.second .usof-colpick-hue');that.$angleContainer=that.$colpick.find('.usof-colpick-angle');that.$angle=that.$colpick.find('.usof-colpick-angle-selector');that.$palette=that.$colpick.find('.usof-colpick-palette');that.$selector=that.$colpick.find('.first .usof-colpick-color-selector');that.$gradientDot=that.$colpick.find('.second .usof-colpick-color-selector');that.$switchers=that.$colpick.find('.usof-colpick-palette + .usof-radio input[type="radio"]');that.$switchersBox=that.$colpick.find('.usof-radio');if(!that.isValidColor(that.value)){return} if(!that.withGradient&&that.isGradient(that.value)){that.value=that.gradientParser(that.value).hex} if(!that.withGradient){that.$switchersBox.remove();that.$angleContainer.remove();that.$colpick.find('.second').remove()} that.setHuePosition();that.setCurrentColor();that.setDotPosition();that.setAlpha();that.$colpick.addClass('type_solid');that.$colpick.removeClass('type_gradient');if(that.isGradient(that.value)){that.setDotPosition(!0);that.setCurrentColor(!0);that.setHuePosition(!0);that.setAlpha(!0);that.setAngle();that.colors.state='gradient';that.$colpick.addClass('type_gradient');that.$colpick.removeClass('type_solid')} that.$hueContainer.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downHue(e)});that.$gradientHueContainer.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downHue(e,!0)});that.$curentColorBox.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downSelector(e)});that.$gradientColorBox.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downSelector(e,!0)});that.$alphaContainer.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downAlpha(e)});that.$gradientAlphaContainer.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downAlpha(e,!0)});that.$angleContainer.off('mousedown touchstart').on('mousedown touchstart',function(e){e.preventDefault();that.downAngle(e)});that.$colpick.css('display','flex');that.$palette.on('mousedown',function(e){if(e){e.preventDefault();e.stopPropagation()} that.colorPalette(e)});that.setPosition(!0);$(document).on('scroll',function(){that.setPosition()});$(window).on('resize',function(){that.setPosition()});that.$switchers.removeAttr('checked');that.$switchers.filter('[value="'+that.colors.state+'"]').prop('checked','checked');$(document).off('change','.usof-colpick-palette + .usof-radio input[type="radio"]').on('change','.usof-colpick-palette + .usof-radio input[type="radio"]',function(e){e.preventDefault();e.stopPropagation();var $target=$(e.target).closest('input'),value=$target.val();that.toggleGradient(value,!0)});that.$input.off('blur').on('blur',function(){that.hide()});that.$switchersBox.off('mousedown').on('mousedown',function(e){e.preventDefault();e.stopPropagation()});that.timeout=setTimeout(function(){that.$input.select()},5);this.inited=!0},colorPalette:function(ev){var color,palette,colorId,max,currId,$target=$(ev.target),m,state='solid';if($target.is('span')){color=$target.attr('style');if(m=/^[^:]*:([\s\S]*)$/.exec(color)){if(this.isValidColor(m[1])){this.$input.val(m[1]);if(this.withGradient){state=this.isGradient(m[1])?'gradient':'solid'} this.toggleGradient(state,!0);this.$switchers.filter('[value="'+this.colors.state+'"]').prop('checked','checked')}}} if(!$('.usof-form').length){return!1} this.paletteSend=function(data){if(!data||this.sending){return} this.sending=!0;$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_color_palette',color:JSON.stringify(data),_wpnonce:$('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:$('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){$('.usof-colpick-palette').html(result.data.output);this.sending=!1}.bind(this)})}.bind(this);if($target.hasClass('usof-colpick-palette-add')){$target.addClass('adding');palette={value:this.$input.val()};max=this.$palette.children('.usof-colpick-palette-value').length;if(max<8){this.paletteSend(palette)}} if($target.hasClass('usof-colpick-palette-delete')){currId=$.inArray($target.closest('.usof-colpick-palette-value')[0],this.$palette.find('.usof-colpick-palette-value'));if(currId>=0){colorId={colorId:currId};this.paletteSend(colorId);$target.closest('.usof-colpick-palette-value').addClass('deleting')}}},setPosition:function(init){var coordinates=this.$input.offset(),bottomSpace=document.body.clientHeight-(coordinates.top-window.pageYOffset),calWrapH=this.$colpick.outerHeight(),top=this.colors.inputHeight,right='auto';if(bottomSpace<calWrapH){top=-calWrapH} if(coordinates.left+this.colors.width*2>document.body.clientWidth){right=0} this.$colpick.css({'right':right,'top':top,})},downAngle:function(ev){var $target=$(ev.target),current,pageX,newVal;if($target.hasClass('usof-colpick-angle-selector')){$target=$target.parent()} current={left:$target.offset().left,};$(document).on('mouseup touchend',current,this.upAngle);$(document).on('mousemove touchmove',function(ev){this.moveAngle(ev,current)}.bind(this));pageX=((ev.type=='touchstart')?ev.originalEvent.changedTouches[0].pageX:ev.pageX);newVal=parseInt(360*(pageX-current.left)/this.colors.angle,10);this.colors.gradient.angle=newVal;this.change();return!1},upAngle:function(){$(document).off('mouseup touchend',this.upAngle);$(document).off('mousemove touchmove',this.moveAngle);return!1},moveAngle:function(ev,current){var pageX=((ev.type=='touchstart')?ev.originalEvent.changedTouches[0].pageX:ev.pageX),newVal;newVal=parseInt(360*(pageX-current.left)/this.colors.angle,10);if(newVal<0){newVal=0}else if(newVal>360){newVal=360} newVal=this.round2precision(newVal,5);this.colors.gradient.angle=newVal;this.change();return!1},downSelector:function(ev,gradient){var current={pos:gradient?this.$gradientColorBox.offset():this.$curentColorBox.offset(),number:gradient?'second':'first',},pageX,pageY;$(document).on('mouseup touchend',current,this.upSelector);$(document).on('mousemove touchmove',function(ev){this.moveSelector(ev,current,gradient)}.bind(this));if(ev.type=='touchstart'){pageX=ev.originalEvent.changedTouches[0].pageX;pageY=ev.originalEvent.changedTouches[0].pageY}else{pageX=ev.pageX;pageY=ev.pageY} this.colors.color[current.number].hsba.b=parseInt(100*(this.colors.height-(pageY-current.pos.top))/this.colors.height,10);this.colors.color[current.number].hsba.s=parseInt(100*(pageX-current.pos.left)/this.colors.height,10);this.change(gradient);return!1},upSelector:function(ev){$(document).off('mouseup touchend',this.upSelector);$(document).off('mousemove touchmove',this.moveSelector);return!1},moveSelector:function(ev,current,gradient){var pageX,pageY;if(ev.type=='touchmove'){pageX=ev.originalEvent.changedTouches[0].pageX;pageY=ev.originalEvent.changedTouches[0].pageY}else{pageX=ev.pageX;pageY=ev.pageY} this.colors.color[current.number].hsba.b=parseInt(100*(this.colors.height-Math.max(0,Math.min(this.colors.height,(pageY-current.pos.top))))/this.colors.height,10);this.colors.color[current.number].hsba.s=parseInt(100*(Math.max(0,Math.min(this.colors.height,(pageX-current.pos.left))))/this.colors.height,10);this.change(gradient);return!1},downHue:function(ev,gradient){var $target=$(ev.target),current,pageY,newVal;if($target.hasClass('usof-colpick-hue-selector')){$target=$target.parent()} current={top:$($target).offset().top,number:gradient?'second':'first'};$(document).on('mouseup touchend',current,this.upHue);$(document).on('mousemove touchmove',function(ev){this.moveHue(ev,current,gradient)}.bind(this));pageY=((ev.type=='touchstart')?ev.originalEvent.changedTouches[0].pageY:ev.pageY);newVal=parseInt(360*(this.colors.height-(pageY-current.top))/this.colors.height,10);this.colors.color[current.number].hsba.h=newVal;this.change(gradient,!0);return!1},moveHue:function(ev,data,gradient){var pageY=((ev.type=='touchmove')?ev.originalEvent.changedTouches[0].pageY:ev.pageY),newVal=parseInt(360*(this.colors.height-Math.max(0,Math.min(this.colors.height,(pageY-data.top))))/this.colors.height,10);this.colors.color[data.number].hsba.h=newVal;this.change(gradient,!0);return!1},upHue:function(ev){$(document).off('mouseup touchend',this.upHue);$(document).off('mousemove touchmove',this.moveHue);return!1},setAngle:function(){if(this.isEmptyObject(this.colors.gradient)){this.colors.gradient={angle:90};return!1} var angle=this.colors.gradient.angle?parseInt(this.colors.gradient.angle,10):0;if(angle>=0&&angle<=360){angle=angle*this.colors.angle/360}else{return!1} this.$angle.css('left',angle)},setCurrentColor:function(gradient){if(gradient){this.$gradientColorBox.css('backgroundColor',this.hsbaToHex({h:this.colors.color.second.hsba.h,s:100,b:100}))} this.$curentColorBox.css('backgroundColor',this.hsbaToHex({h:this.colors.color.first.hsba.h,s:100,b:100}))},setAlpha:function(gradient){var rgba=this.colors.color.first.rgba,hsba=this.colors.color.first.hsba,rgbaG,alphaStyle,alphaStyleG;if(hsba.a===undefined){hsba.a=1.} alphaStyle='background: linear-gradient(to bottom, rgb('+rgba.r+', '+rgba.g+', '+rgba.b+') 0%, ';alphaStyle+='rgba('+rgba.r+', '+rgba.g+', '+rgba.b+', 0) 100%)';this.$alphaContainer.attr('style',alphaStyle);if(gradient){rgbaG=this.colors.color.second.rgba;alphaStyleG='background: linear-gradient(to bottom, rgb('+rgbaG.r+', '+rgbaG.g+', '+rgbaG.b+') 0%, ';alphaStyleG+='rgba('+rgbaG.r+', '+rgbaG.g+', '+rgbaG.b+', 0) 100%)';this.$gradientAlphaContainer.attr('style',alphaStyleG);this.$gradientAlphaArr.css('top',parseInt(this.colors.height*(1.-this.colors.color.second.hsba.a)))} this.$alphaArr.css('top',parseInt(this.colors.height*(1.-this.colors.color.first.hsba.a)))},downAlpha:function(ev,gradient){var $target=$(ev.target),current,pageY,alpha;if($target.hasClass('usof-colpick-alpha-selector')){$target=$target.parent()} current={top:$target.offset().top,number:gradient?'second':'first',};$(document).on('mouseup touchend',current,this.upAlpha);$(document).on('mousemove touchmove',function(ev){this.moveAlpha(ev,current,gradient)}.bind(this));pageY=((ev.type=='touchstart')?ev.originalEvent.changedTouches[0].pageY:ev.pageY);alpha=(this.colors.height-(pageY-current.top))/this.colors.height;this.colors.color[current.number].rgba.a=alpha;this.colors.color[current.number].hsba.a=alpha;this.change(gradient);return!1},moveAlpha:function(ev,current,gradient){var pageY=((ev.type=='touchmove')?ev.originalEvent.changedTouches[0].pageY:ev.pageY),alpha=(this.colors.height-(pageY-current.top))/this.colors.height;if(alpha>1){alpha=1}else if(alpha<0){alpha=0} alpha=this.round2precision(alpha,0.05);alpha=parseFloat(alpha).toFixed(2);this.colors.color[current.number].rgba.a=alpha;this.colors.color[current.number].hsba.a=alpha;this.change(gradient);return!1},upAlpha:function(){$(document).off('mouseup touchend',this.upAlpha);$(document).off('mousemove touchmove',this.moveAlpha);return!1},change:function(gradient,setColor){this.colors.color.first.rgba=this.hsbaToRgba(this.colors.color.first.hsba);this.colors.color.first.hex=this.hsbaToHex(this.colors.color.first.hsba);if(!this.isEmptyObject(this.colors.color.second)){this.colors.color.second.rgba=this.hsbaToRgba(this.colors.color.second.hsba);this.colors.color.second.hex=this.hsbaToHex(this.colors.color.second.hsba)} this.setHuePosition(gradient);if(setColor){this.setCurrentColor(gradient)} this.setAngle();this.setDotPosition(gradient);this.setAlpha(gradient);this.setColor();this.colors.onChange.apply(this.colors,[this.colors])},toggleGradient:function(state,setColor){var gradient=state=='gradient'?!0:!1;if(state==='solid'){this.$colpick.removeClass('type_gradient');this.$colpick.addClass('type_solid');this.colors.color.second={};this.colors.gradient={}}else if(state==='gradient'){this.$colpick.addClass('type_gradient');this.$colpick.removeClass('type_solid');if(this.isEmptyObject(this.colors.color.second.hsba)||this.isEmptyObject(this.colors.color.second.rgba)){this.colors.color.second.hsba=this.colors.initialSecondColor.hsba;this.colors.color.second.rgba=this.colors.initialSecondColor.rgba} if(this.isEmptyObject(this.colors.gradient)){this.colors.gradient={angle:90}}} this.colors.state=state;this.$switchers.filter('[value="'+this.colors.state+'"]').prop('checked','checked');this.change(gradient,setColor)},hide:function(){var that=this;that.$colpick.css('display','none').removeClass('type_gradient');if(that.timeout){clearTimeout(that.timeout)} var value=that.$input.val();if(that.colors.initialColor!=value){that.$input.trigger('change')} that.$hueContainer.off('mousedown touchstart');that.$gradientHueContainer.off('mousedown touchstart');that.$curentColorBox.off('mousedown touchstart');that.$gradientColorBox.off('mousedown touchstart');that.$alphaContainer.off('mousedown touchstart');that.$gradientAlphaContainer.off('mousedown touchstart');that.$angleContainer.off('mousedown touchstart');that.$palette.off('mousedown');that.$switchers.off('change');that.$input.off('blur').trigger('blur');that.$colpick.remove();that.$input[0].selectionStart=value.length;that.$input[0].blur();that.inited=!1},isValidColor:function(value){var gradient,valueG2,valueG1;if(typeof value=='string'){if(this.colorNameToHex(value)){value=this.hexToHsba(this.colorNameToHex(value))}else if(this.isGradient(value)){gradient=this.gradientParser(value);value=this.hexToHsba(gradient.hex);this.colors.gradient=gradient}else if(value=='transparent'){value={h:360,s:0,b:0,a:0,}}else{value=this.hexToHsba(this.normalizeHex(value))}}else if(value.r!=undefined&&value.g!=undefined&&value.b!=undefined){value=this.rgbaToHsba(value)}else{return!1} if(gradient){this.colors.state='gradient';valueG1=gradient.colors[0];valueG1=this.value2Hsba(valueG1);this.colors.color.first.hsba=valueG1;this.colors.color.first.hex=this.hsbaToHex(valueG1);this.colors.color.first.rgba=this.hsbaToRgba(valueG1);this.colors.color.first.dot={left:parseInt(this.colors.height*valueG1.s/100,10),top:parseInt(this.colors.height*(100-valueG1.b)/100,10),};valueG2=gradient.colors[1];valueG2=this.value2Hsba(valueG2);this.colors.color.second.hsba=valueG2;this.colors.color.second.hex=this.hsbaToHex(valueG2);this.colors.color.second.rgba=this.hsbaToRgba(valueG2);this.colors.color.second.dot={left:parseInt(this.colors.height*valueG2.s/100,10),top:parseInt(this.colors.height*(100-valueG2.b)/100,10),}}else{this.colors.state='solid';this.colors.color.first.hsba=value;this.colors.color.first.hex=this.hsbaToHex(value);this.colors.color.first.rgba=this.hsbaToRgba(value);this.colors.color.first.dot={left:parseInt(this.colors.height*value.s/100,10),top:parseInt(this.colors.height*(100-value.b)/100,10),}} return!0},value2Hsba:function(value){if(typeof value=='string'){if(this.colorNameToHex(value)){value=this.hexToHsba(this.colorNameToHex(value))}else if(value.indexOf('rgb')>0){value=this.rgbaToHsba(value)}else{value=this.hexToHsba(value)}}else if(value.r!=undefined&&value.g!=undefined&&value.b!=undefined){value=this.rgbaToHsba(value)} return value},setHuePosition:function(gradient){if(gradient){this.$hueArr2.css('top',this.colors.height-this.colors.height*this.colors.color.second.hsba.h/360)} this.$hueArr.css('top',this.colors.height-this.colors.height*this.colors.color.first.hsba.h/360)},setDotPosition:function(gradient){if(gradient){this.$gradientDot.css({top:parseInt(this.colors.height*(100-this.colors.color.second.hsba.b)/100,10),left:parseInt(this.colors.height*this.colors.color.second.hsba.s/100,10),})} this.$selector.css({top:parseInt(this.colors.height*(100-this.colors.color.first.hsba.b)/100,10),left:parseInt(this.colors.height*this.colors.color.first.hsba.s/100,10),})},hexToHsba:function(hex){return this.rgbaToHsba(this.hexToRgba(hex))},hexToRgba:function(hex){if(hex.substr(0,5)=='rgba('){var parts=hex.substring(5,hex.length-1).split(',').map(parseFloat);if(parts.length==4){return{r:parts[0],g:parts[1],b:parts[2],a:parts[3]}}} if(hex.length==3){hex=hex.charAt(0)+hex.charAt(0)+hex.charAt(1)+hex.charAt(0)+hex.charAt(2)+hex.charAt(2)} hex=parseInt(((hex.indexOf('#')>-1)?hex.substring(1):hex),16);return{r:hex>>16,g:(hex&0x00FF00)>>8,b:(hex&0x0000FF),a:1.}},rgbaToHsba:function(rgba){var hsba={h:0,s:0,b:0},min=Math.min(rgba.r,rgba.g,rgba.b),max=Math.max(rgba.r,rgba.g,rgba.b),delta=max-min;hsba.b=max;hsba.s=max!=0?255*delta/max:0;if(hsba.s!=0){if(rgba.r==max){hsba.h=(rgba.g-rgba.b)/delta}else if(rgba.g==max){hsba.h=2+(rgba.b-rgba.r)/delta}else{hsba.h=4+(rgba.r-rgba.g)/delta}}else{hsba.h=-1} hsba.h*=60;if(hsba.h<0){hsba.h+=360} hsba.s*=100/255;hsba.b*=100/255;hsba.a=rgba.a;return hsba},hsbaToHex:function(hsba){return this.rgbaToHex(this.hsbaToRgba(hsba))},rgbaToHex:function(rgba){var hex=[rgba.r.toString(16),rgba.g.toString(16),rgba.b.toString(16)];$.each(hex,function(nr,val){if(val.length==1){hex[nr]='0'+val}});return '#'+hex.join('')},hsbaToRgba:function(hsba){var rgb={},h=hsba.h,s=hsba.s*255/100,v=hsba.b*255/100;if(s===0){rgb.r=rgb.g=rgb.b=v}else{var t1=v,t2=(255-s)*v/255,t3=(t1-t2)*(h%60)/60;if(h===360){h=0} if(h<60){rgb.r=t1;rgb.b=t2;rgb.g=t2+t3}else if(h<120){rgb.g=t1;rgb.b=t2;rgb.r=t1-t3}else if(h<180){rgb.g=t1;rgb.r=t2;rgb.b=t2+t3}else if(h<240){rgb.b=t1;rgb.r=t2;rgb.g=t1-t3}else if(h<300){rgb.b=t1;rgb.g=t2;rgb.r=t2+t3}else if(h<360){rgb.r=t1;rgb.g=t2;rgb.b=t1-t3}else{rgb.r=0;rgb.g=0;rgb.b=0}} return{r:Math.round(rgb.r),g:Math.round(rgb.g),b:Math.round(rgb.b),a:hsba.a}},gradientParser:function(color){var m;if(m=/^linear-gradient\(([\D\d]+)\);?$/.exec(color)){var gradient=m[1].split(','),directions=['to','top','right','bottom','left','turn','deg'],index,colors={colors:[],gradient:color,};for(var d=0;d<directions.length;d ++){index=gradient[0].indexOf(directions[d]);if(index!==-1){colors.direction=gradient[0];if(directions[d]==='deg'){colors.angle=parseInt(gradient[0],10)}}} for(var i=0;i<gradient.length;i ++){if(gradient[i].indexOf('%')!==-1){gradient[i]=gradient[i].replace(/^(.+)(\s[0-9]+%)/,'$1')} gradient[i]=gradient[i].trim().toLowerCase();var hex=gradient[i].indexOf('#'),rgb=gradient[i].indexOf('rgb('),rgba=gradient[i].indexOf('rgba(');if(hex!==-1){var normalizedHex=this.normalizeHex(gradient[i].replace('#',''));colors.colors.push(normalizedHex)}else if(rgb!==-1){var rgbColor={};rgbColor.r=parseInt(gradient[i].replace('rgb(','').trim());rgbColor.g=parseInt(gradient[i+1].trim());rgbColor.b=parseInt(gradient[i+2].replace(')','').trim());colors.colors.push(rgbColor);i+=2}else if(rgba!==-1){var rgbaColor={};rgbaColor.r=parseInt(gradient[i].replace('rgba(','').trim());rgbaColor.g=parseInt(gradient[i+1].trim());rgbaColor.b=parseInt(gradient[i+2].trim());rgbaColor.a=parseFloat(gradient[i+3].trim().replace(')','').trim());colors.colors.push(rgbaColor);i+=3}else if(m=/^[a-z0-9]*$/.exec(gradient[i])){if(gradient[i]!==colors.direction){colors.colors.push(gradient[i])}}} if(typeof colors.colors[0]=='string'){if(colors.colors[0].indexOf('#')!==-1){colors.hex=this.normalizeHex(colors.colors[0].replace('#',''))}else if(this.colorNameToHex(colors.colors[0])){colors.hex=this.colorNameToHex(colors.colors[0])}else{colors.hex='#ffffff'}}else{colors.hex=this.rgbaToHex(colors.colors[0])} return colors}else{return!1}},isGradient:function(color){var m;return!!(m=/^linear-gradient\(.+\)$/.exec(color))},colorNameToHex:function(color){if(!color){return!1} var colors={'aliceblue':'#f0f8ff','antiquewhite':'#faebd7','aqua':'#00ffff','aquamarine':'#7fffd4','azure':'#f0ffff','beige':'#f5f5dc','bisque':'#ffe4c4','black':'#000000','blanchedalmond':'#ffebcd','blue':'#0000ff','blueviolet':'#8a2be2','brown':'#a52a2a','burlywood':'#deb887','cadetblue':'#5f9ea0','chartreuse':'#7fff00','chocolate':'#d2691e','coral':'#ff7f50','cornflowerblue':'#6495ed','cornsilk':'#fff8dc','crimson':'#dc143c','cyan':'#00ffff','darkblue':'#00008b','darkcyan':'#008b8b','darkgoldenrod':'#b8860b','darkgray':'#a9a9a9','darkgreen':'#006400','darkkhaki':'#bdb76b','darkmagenta':'#8b008b','darkolivegreen':'#556b2f','darkorange':'#ff8c00','darkorchid':'#9932cc','darkred':'#8b0000','darksalmon':'#e9967a','darkseagreen':'#8fbc8f','darkslateblue':'#483d8b','darkslategray':'#2f4f4f','darkturquoise':'#00ced1','darkviolet':'#9400d3','deeppink':'#ff1493','deepskyblue':'#00bfff','dimgray':'#696969','dodgerblue':'#1e90ff','firebrick':'#b22222','floralwhite':'#fffaf0','forestgreen':'#228b22','fuchsia':'#ff00ff','gainsboro':'#dcdcdc','ghostwhite':'#f8f8ff','gold':'#ffd700','goldenrod':'#daa520','gray':'#808080','green':'#008000','greenyellow':'#adff2f','honeydew':'#f0fff0','hotpink':'#ff69b4','indianred':'#cd5c5c','indigo':'#4b0082','ivory':'#fffff0','khaki':'#f0e68c','lavender':'#e6e6fa','lavenderblush':'#fff0f5','lawngreen':'#7cfc00','lemonchiffon':'#fffacd','lightblue':'#add8e6','lightcoral':'#f08080','lightcyan':'#e0ffff','lightgoldenrodyellow':'#fafad2','lightgrey':'#d3d3d3','lightgreen':'#90ee90','lightpink':'#ffb6c1','lightsalmon':'#ffa07a','lightseagreen':'#20b2aa','lightskyblue':'#87cefa','lightslategray':'#778899','lightsteelblue':'#b0c4de','lightyellow':'#ffffe0','lime':'#00ff00','limegreen':'#32cd32','linen':'#faf0e6','magenta':'#ff00ff','maroon':'#800000','mediumaquamarine':'#66cdaa','mediumblue':'#0000cd','mediumorchid':'#ba55d3','mediumpurple':'#9370d8','mediumseagreen':'#3cb371','mediumslateblue':'#7b68ee','mediumspringgreen':'#00fa9a','mediumturquoise':'#48d1cc','mediumvioletred':'#c71585','midnightblue':'#191970','mintcream':'#f5fffa','mistyrose':'#ffe4e1','moccasin':'#ffe4b5','navajowhite':'#ffdead','navy':'#000080','oldlace':'#fdf5e6','olive':'#808000','olivedrab':'#6b8e23','orange':'#ffa500','orangered':'#ff4500','orchid':'#da70d6','palegoldenrod':'#eee8aa','palegreen':'#98fb98','paleturquoise':'#afeeee','palevioletred':'#d87093','papayawhip':'#ffefd5','peachpuff':'#ffdab9','peru':'#cd853f','pink':'#ffc0cb','plum':'#dda0dd','powderblue':'#b0e0e6','purple':'#800080','rebeccapurple':'#663399','red':'#ff0000','rosybrown':'#bc8f8f','royalblue':'#4169e1','saddlebrown':'#8b4513','salmon':'#fa8072','sandybrown':'#f4a460','seagreen':'#2e8b57','seashell':'#fff5ee','sienna':'#a0522d','silver':'#c0c0c0','skyblue':'#87ceeb','slateblue':'#6a5acd','slategray':'#708090','snow':'#fffafa','springgreen':'#00ff7f','steelblue':'#4682b4','tan':'#d2b48c','teal':'#008080','thistle':'#d8bfd8','tomato':'#ff6347','turquoise':'#40e0d0','violet':'#ee82ee','wheat':'#f5deb3','white':'#ffffff','whitesmoke':'#f5f5f5','yellow':'#ffff00','yellowgreen':'#9acd32'};if(typeof colors[color.toLowerCase()]!==undefined){return colors[color.toLowerCase()]} return!1},normalizeHex:function(hex){hex=hex.replace('#','');var hashString;if(hex.length===3){hex='#'+hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2]}else if(hex.length<=6){hashString=hex.split('');while(hashString.length<6){hashString.unshift('0')} hex='#'+hashString.join('')} return hex},round2precision:function(x,precision){var y=+x+(precision===undefined?0.5:precision/2);return y-(y%(precision===undefined?1:+precision))},isEmptyObject:function(obj){for(var key in obj){if(obj.hasOwnProperty(key)){return!1}} return!0},setColor:function(){var color,firstColor,secondColor,rgbaS,rgbaF;if(!this.isEmptyObject(this.colors.color.second)){if(this.colors.color.second.hsba.a<1){rgbaS=this.hsbaToRgba(this.colors.color.second.hsba);secondColor='rgba('+rgbaS.r+','+rgbaS.g+','+rgbaS.b+','+rgbaS.a+')'}else{secondColor=this.hsbaToHex(this.colors.color.second.hsba)} if(this.colors.color.first.hsba.a<1){rgbaF=this.hsbaToRgba(this.colors.color.first.hsba);firstColor='rgba('+rgbaF.r+','+rgbaF.g+','+rgbaF.b+','+rgbaF.a+')'}else{firstColor=this.hsbaToHex(this.colors.color.first.hsba)} color='linear-gradient('+this.colors.gradient.angle+'deg,'+firstColor+','+secondColor+')'}else{if(this.colors.color.first.hsba.a<1){rgbaF=this.hsbaToRgba(this.colors.color.first.hsba);color='rgba('+rgbaF.r+','+rgbaF.g+','+rgbaF.b+','+rgbaF.a+')'}else{color=this.hsbaToHex(this.colors.color.first.hsba)}} if(this.colors.initialColor!=='color'){this.$input.val(color);this.$input.trigger('change')}},};$.fn.extend({usof_colpick:function(options){return US_Colpick.init(options)},});$.extend({usof_colpick:{isGradient:function(color){return US_Colpick.isGradient(color)},gradientParser:function(color){return US_Colpick.gradientParser(color)},hexToRgba:function(color){return US_Colpick.hexToRgba(color)},colorNameToHex:function(color){return US_Colpick.colorNameToHex(color)},normalizeHex:function(color){return US_Colpick.normalizeHex(color)},hide:function(){return US_Colpick.hide()},}})}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.backup={init:function(){this.$backupStatus=this.$row.find('.usof-backup-status');this.$btnBackup=this.$row.find('.usof-button.type_backup').on('click',this.backup.bind(this));this.$btnRestore=this.$row.find('.usof-button.type_restore').on('click',this.restore.bind(this));var $i18n=this.$row.find('.usof-backup-i18n');this.i18n={};if($i18n.length>0){this.i18n=$i18n[0].onclick()||{}}},backup:function(){this.$btnBackup.addClass('loading');$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_backup',_wpnonce:this.$row.closest('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:this.$row.closest('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){this.$backupStatus.html(result.data.status);this.$btnBackup.removeClass('loading');this.$btnRestore.show()}.bind(this)})},restore:function(){if(!confirm(this.i18n.restore_confirm)){return} this.$btnRestore.addClass('loading');$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_restore_backup',_wpnonce:this.$row.closest('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:this.$row.closest('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){this.$btnRestore.removeClass('loading');alert(result.data.message);location.reload()}.bind(this)})}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.checkboxes={init:function(){this._separator=this.$input.data('separator')||',';this._isMetabox=this.$input.data('metabox')||!1;this.$checkboxes=$('input[type=checkbox]',this.$row);this._events={changeValue:this._changeValue.bind(this)};this.$row.on('click','input[type=checkbox]',this._events.changeValue);var value=this.$input.val();if(value){this.setValue(value)}},_changeValue:function(){var values=[],checkboxes=this.$checkboxes.toArray();for(var i in checkboxes){if(!!checkboxes[i].checked&&!!checkboxes[i].value){values.push(checkboxes[i].value)}} var value=values.join(this._separator);this.$input.val(value);this.trigger('change',[value])},getValue:function(){return this.$input.val()},setValue:function(value){var values=$.isArray(value)?value:(''+value).split(this._separator);this.$checkboxes.each(function(){$(this).removeAttr('checked').prop('checked',$.inArray(this.value,values)>-1)});this.$input.val($.isArray(value)?value.join(this._separator):value)}};$usof.field.check_table={getValue:function(){var value={};$.each(this.$input,function(){value[this.value]=(this.checked)?1:0});return value},setValue:function(value,quiet){$.each(this.$input,function(){$(this).attr('checked',(value[this.value]===undefined||value[this.value]==1)?'checked':!1)})}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.color={init:function(options){this.$color=this.$row.find('.usof-color');this.$clear=$('.usof-color-clear',this.$color);this.$list=$('.usof-color-list',this.$color);this.$preview=$('.usof-color-preview',this.$color);this.withGradient=!!this.$color.is('.with-gradient');this.isDynamicСolors=!!this.$color.is('.dynamic_colors');this._toggleInputColor(this.getColor());this.$input.off('click').on('click',this._events.initColpick.bind(this)).on('input',this._events.inputValue.bind(this)).on('change',this._events.changeValue.bind(this));this.$clear.on('click',this._events.inputClear.bind(this));if(this.isDynamicСolors){this.$color.on('click','.usof-color-arrow',this._events.toggleList.bind(this)).on('click','.usof-color-list-item',this._events._changeColorListItem.bind(this))} $(_document).mouseup(this._events.hideList.bind(this))},_events:{initColpick:function(){this.$input.usof_colpick({input:this.$input,value:this.getColor(),onChange:function(colors){this._invertInputColors(colors.color.first.rgba)}.bind(this),})},toggleList:function(e){if(!this.$color.is('.show')){this.initDynamicColors()} this.$color.toggleClass('show')},_changeColorListItem:function(e){this.сhooseColorVar($(e.currentTarget).data('name')||'')},hideList:function(e){if(!this.$color.is('.show')){return} if(!this.$color.is(e.target)&&this.$color.has(e.target).length===0){this.$color.removeClass('show')}},inputValue:function(){var value=this.getValue();if(value.indexOf('_')!==-1){this.initDynamicColors()}},changeValue:function(){var value=this.getValue();if(value.indexOf('_')!==-1){$('[data-name^="'+value+'"]:first',this.$list).trigger('click')}else{this.setValue(value);this.trigger('change',value)}},inputClear:function(){if(this.$color.hasClass('show')){this.$color.removeClass('show')} this.setValue('')}},сhooseColorVar:function(name,quiet){var $target=$('[data-name="'+name+'"]:first',this.$list),value=$target.data('value')||'';$('[data-name]',this.$list).removeClass('selected');$target.addClass('selected');this.$preview.css('background',value);this.$input.val($target.data('name')||'');if(!quiet){this.trigger('change',this.$input.val())} this._toggleInputColor(value);this.$color.removeClass('show')},initDynamicColors:function(){if(this.$color.is('.list-inited'))return;var insertItem=function($el,item){if(this.name===item.name){return} var $item=$('<div></div>'),$palette=$('<div class="usof-colpick-palette-value"><span></span></div>'),value=this.getValue();$palette.find('span').css('background',item.value).attr('title',item.value);$item.addClass('usof-color-list-item').attr('data-name',item.name).data('value',item.value).append($palette).append('<span class="usof-color-list-item-name">'+item.title+'</span>');if(value.indexOf('_')!==-1&&item.name===value){$item.addClass('selected')} $el.append($item)};$.each($usof.getDynamicColors()||[],function(key,item){if($.isArray(item)&&item.length){$group=$('> [data-group="'+key+'"]:first',this.$list);if(!$group.length){$group=$('<div class="usof-color-list-group" data-group="'+key+'"></div>');this.$list.append($group)} $.each(item,function(_,_item){insertItem.call(this,$group,_item)}.bind(this))}else{insertItem.call(this,this.$list,item)}}.bind(this));this.$color.addClass('list-inited')},setValue:function(value,quiet){value=value.trim();if(value.indexOf('_')!==-1){this.initDynamicColors();this.сhooseColorVar(value,quiet);return} var r,g,b,a,hexR,hexG,hexB,gradient,rgba={};this.convertRgbToHex=function(color){if(m=/^([^0-9]{1,3})*(\d{1,3})[^,]*,([^0-9]{1,3})*(\d{1,3})[^,]*,([^0-9]{1,3})*(\d{1,3})[\s\S]*$/.exec(color)){rgba={r:m[2],g:m[4],b:m[6],};hexR=m[2]<=255?("0"+parseInt(m[2],10).toString(16)).slice(-2):'ff';hexG=m[4]<=255?("0"+parseInt(m[4],10).toString(16)).slice(-2):'ff';hexB=m[6]<=255?("0"+parseInt(m[6],10).toString(16)).slice(-2):'ff';color='#'+hexR+hexG+hexB;return color}};if($.usof_colpick.isGradient(value)){gradient=$.usof_colpick.gradientParser(value);rgba=$.usof_colpick.hexToRgba(gradient.hex)}else if((m=/^[^,]*,[^,]*,[\s\S]*$/.exec(value))){if(m=/^[^,]*(,)[^,]*(,)[^,]*(,)[^.]*(\.|0)[\s\S]*$/.exec(value)){if(m[4]==='.'||m[4]==0){if(m=/^([^0-9]{1,3})*(\d{1,3})[^,]*,([^0-9]{1,3})*(\d{1,3})[^,]*,([^0-9]{1,3})*(\d{1,3})[^,]*,[^.]*.([^0-9]{1,2})*(\d{1,2})[\s\S]*$/.exec(value)){rgba={r:m[2],g:m[4],b:m[6],};r=m[2]<=255?m[2]:255;g=m[4]<=255?m[4]:255;b=m[6]<=255?m[6]:255;a=m[8];value='rgba('+r+','+g+','+b+',0.'+a+')'}}else{value=this.convertRgbToHex(value)}}else{value=this.convertRgbToHex(value)}}else{if(m=/^\#?[\s\S]*?([a-fA-F0-9]{1,6})[\s\S]*$/.exec(value)){if(value=='inherit'||value=='transparent'||$.usof_colpick.colorNameToHex(value)){value=value}else{value=$.usof_colpick.normalizeHex(m[1]);rgba=$.usof_colpick.hexToRgba(value)}}} if(value==''){this.$preview.removeAttr('style');this.$input.removeClass('with_alpha')}else{if(value=='inherit'||value=='transparent'){this.$input.removeClass('white');this.$preview.css('background',value)}else if(gradient){if(this.withGradient){this.$preview.css('background',gradient.gradient);this.$input.val(gradient.gradient)}else{value=gradient.hex;this.$preview.css('background',value);this.$input.val(value)}}else{this.$preview.css('background',value);this.$input.val(value)}} if(value==''||value=='inherit'||value=='transparent'){this.$input.removeClass('white')}else{this._invertInputColors(rgba)} this.parentSetValue(value,quiet)},getValue:function(){return $.trim(this.$input.val())||''},getColor:function(){var value=this.getValue();if(value.indexOf('_')!==-1){var itemValue=$('[data-name="'+value+'"]:first',this.$list).data('value')||'';value=itemValue||this.$color.data('value')||value} return $.trim(value)},_toggleInputColor:function(value){if(!value){this.$input.removeClass('white');return} if(value.slice(0,1)==='#'&&value.length===4){value=value.replace(/^#([\dA-f])([\dA-f])([\dA-f])$/,"#$1$1$2$2$3$3")} if(value!=='inherit'&&value!=='transparent'&&value.indexOf('linear-gradient')===-1){if($.usof_colpick.colorNameToHex(value)){this._invertInputColors($.usof_colpick.hexToRgba($.usof_colpick.colorNameToHex(value)))}else{this._invertInputColors($.usof_colpick.hexToRgba(value))}}else if(value.indexOf('linear-gradient')!==-1){var gradient=$.usof_colpick.gradientParser(value);if(gradient!=!1){this._invertInputColors($.usof_colpick.hexToRgba(gradient.hex))}}},_invertInputColors:function(rgba){if(!rgba&&(typeof rgba!='object')){return} var r=rgba.r?rgba.r:0,g=rgba.g?rgba.g:0,b=rgba.b?rgba.b:0,a=(rgba.a===0||rgba.a)?rgba.a:1,light;light=r*0.213+g*0.715+b*0.072;if(a<1){light=light+(1-a)*(1-light/255)*235} if(light<178){this.$input.addClass('white')}else{this.$input.removeClass('white')}}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.css=$usof.field.html={init:function(){this._params={};this.editor=null;this.editorDoc=null;this._events={editorChange:function(doc){this.parentSetValue(this.getValue())}};if(wp.hasOwnProperty('codeEditor')){this._params=this.$row.find('.usof-form-row-control-params')[0].onclick()||{};this.$row.find('.usof-form-row-control-params').removeAttr('onclick');if(this._params.editor!==!1){this.editor=wp.codeEditor.initialize(this.$input[0],this._params.editor||{});this.editorDoc=this.editor.codemirror.getDoc();this.setValue(this.$input.val())}}else{this.$input.on('keyup',function(){this.parentSetValue(this.getValue());this.setValue(this.$input.val())}.bind(this))}},setValue:function(value){if(!!this._params&&this._params.hasOwnProperty('encoded')&&this._params.encoded){value=usof_rawurldecode(usof_base64_decode(value))} if(this.editor!==undefined&&wp.hasOwnProperty('codeEditor')){this.editorDoc.off('change',this._events.editorChange.bind(this));if(!!this.pid){clearTimeout(this.pid)} this.pid=setTimeout(function(){this.editorDoc.cm.refresh();this.editorDoc.setValue(value);this.editorDoc.on('change',this._events.editorChange.bind(this));clearTimeout(this.pid)}.bind(this),1)}},getValue:function(){var value=this.editor!==undefined&&wp.hasOwnProperty('codeEditor')?this.editorDoc.getValue():this.$input.val();if(this._params!==undefined&&this._params.encoded){value=usof_base64_encode(usof_rawurlencode(value))} return value}}}(jQuery);!function($,undefined){var _window=window;if(_window.$usof===undefined){return} $usof.field.custom_dropdown={init:function(){this.$container=$('.usof-custom-dropdown',this.$row);this.$options=$('.usof-custom-dropdown-item',this.$container);this.$list=$('.usof-custom-dropdown-list',this.$container);this._events={hideList:this._hideList.bind(this),selectItem:this._selectItem.bind(this),toggleList:this._toggleList.bind(this),};this.$options.on('click',this._events.selectItem);this.$list.on('click',this._events.toggleList).on('mouseleave',this._events.hideList)},_toggleList:function(){this.$list.toggleClass('show',!this.$list.hasClass('show'))},_hideList:function(){this.$list.removeClass('show')},_selectItem:function(e){this.setValue($(e.currentTarget).data('value')||null,!0)},setValue:function(value){this.$options.removeClass('current').filter('[data-value="'+value+'"]').addClass('current',!0);this.$input.val(value);this.trigger('change',value)},getValue:function(){return this.$input.val()||''}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.select={init:function(options){this.parentInit(options);this.$container=$('.usof-select',this.$row);this.$hint=$('.usof-form-row-hint-text',this.$row);this.$hintsJson=$('.usof-form-row-hint-json',this.$row);this.hintsJson={};if(this.$hintsJson.length){this.hintsJson=this.$hintsJson[0].onclick()||{};this.$hintsJson.remove()} this.$input.on('change',this._events.changeSelect.bind(this));this.$container.attr('selected-value',this.$input.val());this._changeSelect.call(this);this._toggleGridLayoutDesc.call(this)},_events:{changeSelect:function(){this._changeSelect.call(this);this._toggleGridLayoutDesc.call(this)}},_changeSelect:function(){var value=''+this.$input.val(),$selectedOption=this.$input.find(":selected"),selectedDataID=$selectedOption.data('id'),selectedDataTitle=$selectedOption.data('title');this.$container.attr('selected-value',value);if(selectedDataID&&(''+selectedDataID).match(/\d+/)){value=''+selectedDataID} if(!this.hintsJson.no_posts){if(value.length&&value.match(/\d+/)){var hint='';if(this.hintsJson.hasOwnProperty('edit_url')){var regex=/(<a [^{]+)({{post_id}})([^{]+)({{hint}})([^>]+>)/,editTitle=this.hintsJson.edit;if(selectedDataTitle){editTitle=this.hintsJson.edit_specific+' '+selectedDataTitle} hint=this.hintsJson.edit_url.replace(regex,'$1'+value+'$3'+editTitle+'$5')} this.$hint.html(hint)}else{this.$hint.html('')}}},_toggleGridLayoutDesc:function(){if(!this.$row.hasClass('for_grid_layouts')){return} var value=this.getValue(),isVC=this.$row.hasClass('us_select_for_vc'),$addDesc=$('.us-grid-layout-desc-add',isVC?this.$row.parent():this.$row),$editLink=$('.us-grid-layout-desc-edit',isVC?this.$row.parent():this.$row);if($.isNumeric(value)){$('.edit-link',$editLink).attr('href',(this.$container.data('edit_link')||'').replace('%d',value));$addDesc.addClass('hidden');$editLink.removeClass('hidden')}else{$addDesc.removeClass('hidden');$editLink.addClass('hidden')}},setValue:function(value,quiet){this.parentSetValue(value,quiet);this._changeSelect.call(this);this._toggleGridLayoutDesc.call(this)}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.font={init:function(options){this.parentInit(options);this.$preview=this.$row.find('.usof-font-preview');this.$weightsContainer=this.$row.find('.usof-checkbox-list');this.$weightCheckboxes=this.$weightsContainer.find('.usof-checkbox');this.$weights=this.$weightsContainer.find('input');this.fontStyleFields=this.$row.find('.usof-font-style-fields-json')[0].onclick()||{};this.notLoadedFonts=[];this.fontInited=!1;this.$fieldFontName={};var $autocomplete=$('.type_autocomplete',this.$row);this.fontsGroupKeys=$autocomplete[0].onclick()||{};$autocomplete.removeAttr('onclick');if($autocomplete.length){this.$fieldFontName=new $usof.field($autocomplete);this.$fieldFontName.trigger('beforeShow')} this.curFont=this.$fieldFontName.getValue();this.isCurFontUploaded=this.fontHasGroup.call(this,this.curFont,'uploaded');if(!$usof.loadingFonts){$usof.loadingFonts=!0;$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_get_google_fonts',_wpnonce:this.$row.closest('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:this.$row.closest('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){$usof.googleLoaded=!0;$usof.googleFonts=result.data.google_fonts||{}},error:function(){$usof.googleLoaded=!0;$usof.googleFonts={}}})} var that=this,fontsTimeoutId=setTimeout(function fontsTimeout(){if($usof.googleLoaded){that.fonts=$usof.googleFonts;that._init();clearTimeout(fontsTimeoutId)}else{fontsTimeoutId=setTimeout(fontsTimeout,500)}},500)},_init:function(){var initNotLoadedFonts=function(){['websafe','uploaded'].map(function(groupName){if(this.fontsGroupKeys.hasOwnProperty(groupName)){$('[data-group="'+this.fontsGroupKeys[groupName]+'"] > *',this.fontsGroupKeys.$list).each(function(_,item){var value=$(item).data('value')||'';if(value&&$.inArray(value,this.notLoadedFonts||[])===-1){this.notLoadedFonts.push(value)}}.bind(this))}}.bind(this))};initNotLoadedFonts.call(this);if(this.curFont&&$.inArray(this.curFont,['get_h1','none'])===-1&&$.inArray(this.curFont,this.notLoadedFonts||[])===-1){$('head').append('<link href="//fonts.googleapis.com/css?family='+this.curFont.replace(/\s+/g,'+')+'" rel="stylesheet" class="usof_font_'+this.id+'" />');this.$preview.css('font-family',this.curFont+'')}else if(this.curFont!='none'&&$.inArray(this.curFont,this.notLoadedFonts||[])!==-1){this.$preview.css('font-family',this.curFont+'')} this.$fieldFontName.on('change',function(){this.isCurFontUploaded=this.fontHasGroup.call(this,this.$fieldFontName.getValue(),'uploaded');this.setValue(this._getValue.call(this))}.bind(this)).on('data.loaded',function(){initNotLoadedFonts.call(this)}.bind(this));this.$weights.on('change',function(){this.setValue(this._getValue.call(this))}.bind(this));if(this.fontStyleFields.colorField!=undefined){$usof.instance.fields[this.fontStyleFields.colorField].on('change',function(){this.$preview.css('color',$usof.instance.fields[this.fontStyleFields.colorField].getValue())}.bind(this))} if(this.fontStyleFields.sizeField!=undefined){$usof.instance.fields[this.fontStyleFields.sizeField].on('change',function(){this.$preview.css('font-size',$usof.instance.fields[this.fontStyleFields.sizeField].getValue())}.bind(this))} if(this.fontStyleFields.lineheightField!=undefined){$usof.instance.fields[this.fontStyleFields.lineheightField].on('change',function(){this.$preview.css('line-height',$usof.instance.fields[this.fontStyleFields.lineheightField].getValue())}.bind(this))} if(this.fontStyleFields.weightField!=undefined){$usof.instance.fields[this.fontStyleFields.weightField].on('change',function(){this.$preview.css('font-weight',$usof.instance.fields[this.fontStyleFields.weightField].getValue())}.bind(this))} if(this.fontStyleFields.letterspacingField!=undefined){$usof.instance.fields[this.fontStyleFields.letterspacingField].on('change',function(){this.$preview.css('letter-spacing',$usof.instance.fields[this.fontStyleFields.letterspacingField].getValue())}.bind(this))} if(this.fontStyleFields.transformField!=undefined){$usof.instance.fields[this.fontStyleFields.transformField].on('change',function(){if($usof.instance.fields[this.fontStyleFields.transformField].getValue().indexOf("uppercase")!=-1){this.$preview.css('text-transform','uppercase')}else{this.$preview.css('text-transform','')} if($usof.instance.fields[this.fontStyleFields.transformField].getValue().indexOf("italic")!=-1){this.$preview.css('font-style','italic')}else{this.$preview.css('font-style','')}}.bind(this))} this.setValue(this._getValue(),!0);this.fontInited=!0},fontHasGroup:function(fontName,groupKey){var $item=this.$fieldFontName.$list.find('[data-value="'+fontName+'"]'),$group=$item.closest('.usof-autocomplete-list-group');if($group.length&&this.fontsGroupKeys.hasOwnProperty(groupKey)){return $group.is('[data-group="'+this.fontsGroupKeys[groupKey]+'"]')} return!1},setValue:function(value,quiet){var h1_value,parts,fontName,fontWeights;if(value==='get_h1|'){h1_value=$usof.instance.getValue('h1_font_family');parts=h1_value.split('|')}else{parts=value.split('|')} fontName=parts[0]||'none';fontWeights=parts[1]||'400,700';fontWeights=fontWeights.split(',');if(fontName!=this.curFont){$('.usof_font_'+this.id).remove();if(fontName=='none'){this.$preview.css('font-family','')}else if($.inArray(fontName,this.notLoadedFonts||[])!==-1){this.$preview.css('font-family',fontName)}else{if(this.curFont!=='get_h1'){$('head').append('<link href="//fonts.googleapis.com/css?family='+fontName.replace(/\s+/g,'+')+'" rel="stylesheet" class="usof_font_'+this.id+'" />')} this.$preview.css('font-family',fontName+', sans-serif')} if(value==='get_h1|'){if(this.$fieldFontName.getValue()!=='get_h1'){this.$fieldFontName.setValue('get_h1')}}else if(this.$fieldFontName.getValue()!==fontName){this.$fieldFontName.setValue(fontName)} this.curFont=fontName} if(this.fontStyleFields.weightField==undefined){if(fontWeights.length==0){this.$preview.css('font-weight','')}else{this.$preview.css('font-weight',parseInt(fontWeights[0]))}} if(value==='get_h1|'||this.fonts[fontName]===undefined||this.isCurFontUploaded){this.$weightCheckboxes.addClass('hidden')}else{this.$weightCheckboxes.each(function(index,elm){var $elm=$(elm),weightValue=$elm.data('value')+'';$elm.toggleClass('hidden',$.inArray(weightValue,this.fonts[fontName].variants)==-1);$elm.attr('checked',($.inArray(weightValue,fontWeights)==-1)?'checked':!1)}.bind(this))} this.parentSetValue(value,quiet);if(this.name==='h1_font_family'){for(var i=2;i<=6;i ++){var fontFieldId='h'+i+'_font_family',fontField;if($usof.instance.fields.hasOwnProperty(fontFieldId)&&$usof.instance.fields[fontFieldId].fontInited){fontField=$usof.instance.fields[fontFieldId];fontField.setValue(fontField._getValue())}}}},_getValue:function(){var fontName=this.$fieldFontName.getValue(),fontWeights=[];if(this.fonts[fontName]!==undefined&&this.fonts[fontName].variants!==undefined){this.$weights.filter(':checked').each(function(index,elm){var weightValue=$(elm).val()+'';if($.inArray(weightValue,this.fonts[fontName].variants)!=-1){fontWeights.push(weightValue)}}.bind(this))} return fontName+'|'+fontWeights.join(',')}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.autocomplete={init:function(){this.disableScrollLoad=!1;this._prefix='params:';this._typingDelay=0.5;this.keyCodes={ENTER:13,BACKSPACE:8};var defaultSettings={ajax_query_args:{action:'unknown',_nonce:''},multiple:!1,sortable:!1,params_separator:','};this.$container=$('.usof-autocomplete',this.$row);this.$toggle=$('.usof-autocomplete-toggle',this.$container);this.$options=$('.usof-autocomplete-options',this.$container);this.$search=$('input[type="text"]',this.$options);this.$list=$('.usof-autocomplete-list',this.$container);this.$message=$('.usof-autocomplete-message',this.$container);this.$value=$('> .usof-autocomplete-value',this.$container);this._settings=$.extend(defaultSettings,this.$container[0].onclick()||{});this.items={};$('[data-value]',this.$list).each(function(_,item){var $item=$(item);this.items[$item.data('value')]=$item}.bind(this));if(!this._settings.multiple){this.$options.on('click','.usof-autocomplete-selected',function(){var isShow=this.$toggle.hasClass('show');this._events.toggleList.call(this,{type:isShow?'blur':'focus'});if(!isShow){if(!!this.pid){clearTimeout(this.pid)} this.pid=setTimeout(function(){this.$search.focus();clearTimeout(this.pid)}.bind(this),0)}}.bind(this))}else{this.$options.on('click','.usof-autocomplete-selected-remove',this._events.remove.bind(this))} this.$list.off().on('mousedown','[data-value]',this._events.selected.bind(this)).on('scroll',this._events.scroll.bind(this));this.$search.off().on('keyup',this._events.keyup.bind(this)).on('input',this._events.searchDelay.bind(this)).on('focus blur',this._events.toggleList.bind(this));this._initValues.call(this);this.$container.toggleClass('multiple',this._settings.multiple);if(this._settings.multiple&&this._settings.sortable){this.dragdrop=new $usof.dragDrop(this.$options,{itemSelector:'> .usof-autocomplete-selected'});this.dragdrop.on('dragend',this._events.dragdrop.dragend.bind(this))}},loaded:!1,_events:{dragdrop:{dragend:function(target,e){var value=[],items=$('> .usof-autocomplete-selected',target.$container).toArray()||[],field=$(target.$container).closest('.type_autocomplete').data('usofField');for(var k in items){if(items[k].hasAttribute('data-key')){value.push(items[k].getAttribute('data-key'))}} value=value.length?value.join(field._settings.params_separator):'';if(field instanceof $usof.field){field.setValue(value)}}},remove:function(e){e.preventDefault();var $target=$(e.currentTarget),$selected=$target.closest('.usof-autocomplete-selected'),key=$selected.data('key');this._removeValue.call(this,key);$('[data-value="'+key+'"]',this.$list).removeClass('selected');$selected.remove()},searchDelay:function(e){if(!e.currentTarget.value){return} if(!!this._typingTimer){clearTimeout(this._typingTimer)} this._typingTimer=setTimeout(function(){this._events.search.call(this,e);clearTimeout(this._typingTimer)}.bind(this),1000*this._typingDelay)},search:function(e){var $input=$(e.currentTarget),value=($.trim($input.val()).toLowerCase()).replace(/\=|\"|\s/,''),$items=$('[data-value]',this.$list),$groups=$('[data-group]',this.$list),filter=function($items){$items.addClass('hidden').filter('[data-text^="'+value+'"], [data-text*="'+value+'"]').removeClass('hidden');$groups.each(function(){var $group=$(this);$group.toggleClass('hidden',!$group.find('[data-value]:not(.hidden)').length)})};if(!value||value.length<1){$items.removeClass('hidden');return} filter.call(this,$items);this.disableScrollLoad=!1;this._ajax.call(this,function(items){filter.call(this,this.$list.find('> *'));if(value&&!$('[data-value]:not(.hidden)',this.$list).length){this._showMessage.call(this,this._settings.no_results_found)}else{this._clearMessage.call(this);this.$toggle.addClass('show')}}.bind(this))},selected:function(e){var $target=$(e.currentTarget),selectedValue=$target.data('value')||'';if($target.hasClass('selected')&&this._settings.multiple){this._removeValue.call(this,selectedValue);$('[data-key="'+selectedValue+'"]',this.$options).remove();$target.removeClass('selected')}else if(this._addValue.call(this,selectedValue)){if(!this._settings.multiple){$('.usof-autocomplete-selected',this.$options).remove();$('[data-value]',this.$list).removeClass('selected')} this.$toggle.removeClass('show');$target.addClass('selected');this.$search.val('').before(this._getSelectedTemplate.call(this,selectedValue))}},scroll:function(e){var $target=$(e.currentTarget);if(!this.disableScrollLoad&&!this.loaded&&($target.scrollTop()+$target.height())>=e.currentTarget.scrollHeight-1){this._ajax.call(this,function(items){if($.isEmptyObject(items)){this.disableScrollLoad=!0}}.bind(this))}},keyup:function(e){if(e.keyCode===this.keyCodes.ENTER){var search=$.trim(this.$search.val()),$selected=$('[data-text="'+search+'"]:visible:first',this.$list);if(!$selected.length){$selected=$('[data-value]:visible:first',this.$list)} if($selected.length){$selected.trigger('click')}} if(e.keyCode===this.keyCodes.BACKSPACE){if(!$.trim(this.$search.val())){this._clearMessage.call(this);this.$list.find('.hidden').removeClass('hidden');this.$toggle.addClass('show')}}},toggleList:function(e){var isFocus=(e.type==='focus'),pid=setTimeout(function(){this.$toggle.toggleClass('show',isFocus);clearTimeout(pid)}.bind(this),(isFocus?0:200));if(!$.trim(this.$search.val())){$('[data-value].hidden',this.$list).removeClass('hidden')}}},_ajax:function(callback){if(this.loaded){return} var query_args=this._settings.ajax_query_args;if((!query_args.hasOwnProperty('action')||query_args.action==='unknown')&&$.isFunction(callback)){return callback.call(this,{})} var data=$.extend(query_args||{},{offset:$('[data-value]:visible',this.$list).length,search:$.trim(this.$search.val()),});if(this._offset&&this._offset===data.offset){return} this.loaded=!0;this.$container.addClass('loaded');this._clearMessage.call(this);this._offset=data.offset;if(data.offset){data.offset+=1} var insertItem=function($el,name,value){if(!this.items.hasOwnProperty(value)){var text=(name||'').replace(/\s/,'').toLowerCase(),$item=$('<div data-value="'+usof_strip_tags(value)+'" data-text="'+usof_strip_tags(text)+'" tabindex="3">'+name+'</div>');$el.append($item);this.items[value]=$item}};$.get(ajaxurl,data,function(res){this.loaded=!1;this.$container.removeClass('loaded');this._clearMessage.call(this);if(!res.success){this._showMessage.call(this,res.data.message);return} $.each(res.data.items,function(value,name){if($.isPlainObject(name)){$.each(name,function(_value,_name){var $groupList=this.$list.find('[data-group="'+value+'"]:first');if(!$groupList.length){$groupList=$('<div class="usof-autocomplete-list-group" data-group="'+value+'"></div>');this.$list.append($groupList)} insertItem.call(this,$groupList,_name,_value)}.bind(this))}else{insertItem.call(this,this.$list,name,value)}}.bind(this));if($.isFunction(callback)){callback.call(this,res.data.items)} this.trigger('data.loaded',res.data.items)}.bind(this),'json')},_initValues:function(){var loadParams=[],initValues=(this.$value.val()||'').split(this._settings.params_separator)||[];$('.usof-autocomplete-selected',this.$options).remove();initValues.map(function(key){if(!key){return} var $item=$('[data-value="'+key+'"]:first',this.$list).addClass('selected');if($item.length){this.$search.before(this._getSelectedTemplate.call(this,key))}else{loadParams.push(key)}}.bind(this));if(loadParams.length){this.$search.val(this._prefix+loadParams.join(this._settings.params_separator));this._ajax.call(this,function(items){$('[data-key]',this.$options).remove();$('.selected',this.$list).removeClass('selected');$(initValues).each(function(_,key){if(this.items.hasOwnProperty(key)&&this.items[key]instanceof $){this.items[key].addClass('selected');this.$search.before(this._getSelectedTemplate.call(this,key))}}.bind(this))}.bind(this));this.$search.val('')}},_showMessage:function(text){this.$list.addClass('hidden');this.$message.text(text).removeClass('hidden')},_clearMessage:function(){this.$list.removeClass('hidden');this.$message.addClass('hidden').text('')},_addValue:function(key){var isNotEnabled=!1,values=[],value=key;if(this._settings.multiple){values=(this.$value.val()||'').split(this._settings.params_separator);for(var k in values){if(values[k]===key){isNotEnabled=!0;break}} if(!isNotEnabled){values.push(key);value=(values||[]).join(this._settings.params_separator).replace(/^\,/,'')}} if(!isNotEnabled){this.$value.val(value);this.trigger('change',[value]);return!0} return!1},_removeValue:function(key){var values=(this.$value.val()||'').toLowerCase().split(this._settings.params_separator),index=values.indexOf(''+key);if(index!==-1){delete values[index];values=values.filter(function(item){return item!==undefined});this.$value.val(values.join(this._settings.params_separator))} this.trigger('change',[this.getValue()])},_getSelectedTemplate:function(key){var $selected=$('[data-value="'+key+'"]:first',this.$list);if(!$selected.length){return ''} return '<span class="usof-autocomplete-selected" data-key="'+key+'">\ '+$selected.html()+' <a href="javascript:void(0)" title="Remove" class="usof-autocomplete-selected-remove fas fa-trash-alt"></a>\ </span>'},getValue:function(){return(this.$value instanceof $)?this.$value.val():''},setValue:function(value,quiet){this.$value.val(value);this._initValues.call(this);if(!quiet){this.trigger('change',[value])}}}}(jQuery);!function($,undefined){var _window=window;if(_window.$usof===undefined){return} $usof.field.radio=$usof.field.imgradio={init:function(){this.$radio=$('input[type=radio]',this.$row);this._events={changeValue:this._changeValue.bind(this)};this.$row.on('click','input[type=radio]',this._events.changeValue)},_changeValue:function(e){var newValue;if(e.target===undefined||e.target.value===undefined){newValue=this.getDefaultValue()}else{newValue=e.target.value} this.setValue(newValue)},getValue:function(){var value;if(this.$input===undefined||this.$input.val()===undefined){value=this.getDefaultValue()}else{value=this.$input.val()} return value},setValue:function(value,quiet){value=value||'';this.$input.val(value);this.$radio.removeAttr('checked').filter('[value="'+value+'"]').prop('checked',!0);if(!quiet){this.trigger('change',[value])}}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.link={init:function(options){this.parentInit(options);this.$url=$('input[type="text"]:first',this.$row);this.$target=$('input[type="checkbox"]:first',this.$row);this.format=(''+this.$input.data('format'));if(['json','jsons','serialized'].indexOf(this.format)===-1){this.format='jsons'} if(!this.$target.is('[name]')){this.$target.attr('name',$usof.uniqid())} this._events={applyChange:this._applyChange.bind(this),exampleClick:this._exampleClick.bind(this),};this.$row.on('click','.usof-example',this._events.exampleClick);this.$url.on('change',this._events.applyChange);this.$target.on('change',this._events.applyChange)},_applyChange:function(){var value=this.getValue();this.$input.val((typeof value!=='string')?JSON.stringify(value):value);this.trigger('change',[value])},_exampleClick:function(e){var $example=$(e.target).closest('.usof-example');if(!$example.length)return;this.$url.val($example.text())},getValue:function(){if(!this.inited)return;var value={url:usof_rawurlencode(this.$url.val()),target:this.$target.is(':checked')?'_blank':''};if(this.format==='serialized'){var result='';for(var k in value){if(value.hasOwnProperty(k)&&value[k]){result+=k+':'+usof_rawurlencode(value[k])+'|'}} if(result.length>0){result=result.substring(0,result.length-1)} return result}else if(this.format==='jsons'&&$.isPlainObject(value)){return JSON.stringify(value)} return value},setValue:function(value,quiet){if(!this.inited)return;var newValue={url:'',target:''};if(this.format==='serialized'&&((''+value).substr(0,4)==='url:'||(''+value).substr(0,7)==='target:'||(''+value).indexOf('|')!==-1)){var pairs=value.trim().split('|');for(var i=0;i<pairs.length;i ++){var param=pairs[i].split(':');if(param[0]&¶m[1]){newValue[param[0]]=usof_rawurldecode(param[1])}}}else if(value&&this.format==='jsons'){newValue=JSON.parse(value)}else if($.isPlainObject(value)){newValue=$.extend(newValue,value||{})} if(!!newValue.url){newValue.url=usof_rawurldecode(newValue.url)} this.$url.val(newValue.url);this.$target.prop('checked',(newValue.target==='_blank'));if(typeof value!=='string'){value=JSON.stringify(value)} this.$input.val(value)}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.reset={init:function(){this.$btnReset=this.$row.find('.usof-button.type_reset').on('click',this.reset.bind(this));this.resetStateTimer=null;this.i18n=(this.$row.find('.usof-form-row-control-i18n')[0].onclick()||{})},reset:function(){if(!confirm(this.i18n.reset_confirm)){return} clearTimeout(this.resetStateTimer);this.$btnReset.addClass('loading');$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_reset',_wpnonce:$usof.instance.$container.find('[name="_wpnonce"]').val(),_wp_http_referer:$usof.instance.$container.find('[name="_wp_http_referer"]').val()},success:function(result){this.$btnReset.removeClass('loading');alert(this.i18n.reset_complete);location.reload()}.bind(this)})}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.icon={init:function(options){this.$value=this.$row.find('.us-icon-value');this.$select=this.$row.find('.us-icon-select');this.$text=this.$row.find('.us-icon-text');this.$preview=this.$row.find('.us-icon-preview > i');this.$setLink=this.$row.find('.us-icon-set-link');this.$select.on('change',function(){var $selectedOption=this.$select.find(":selected");if($selectedOption.length){this.$setLink.attr('href',$selectedOption.data('info-url'))} this.setIconValue()}.bind(this));this.$text.on('change keyup',function(e){var val=this.$text.val();if(val.toLowerCase().replace(/^\s+/g,'')!==val){this.$text.val($.trim(val.toLowerCase()))} this.setIconValue(e.type==='keyup')}.bind(this));this.$row.on('click','.usof-example',this.exampleClick.bind(this));this.$value.on('change',function(){this.trigger('change',this.getValue())}.bind(this))},exampleClick:function(e){var $target=$(e.target).closest('.usof-example'),example=$target.html();this.$text.val(example);this.setIconValue()},setIconValue:function(quiet){var icon_set=this.$select.val(),icon_name=$.trim(this.$text.val()),icon_val='';if(icon_name!=''){if(icon_set=='material'){icon_name=icon_name.replace(/ +/g,'_')} icon_val=icon_set+'|'+icon_name} this.renderPreview(icon_set,icon_name);this.$value.val(icon_val);if(!quiet){this.$value.trigger('change')}},renderValue:function(value){var $selectedOption;value=value.trim().split('|');if(value.length!=2){$selectedOption=this.$select.find('option:first');this.$text.val('')}else{value[0]=value[0].toLowerCase();$selectedOption=this.$select.find('option[value="'+value[0]+'"]');this.$text.val(value[1])} if($selectedOption.length){this.$select.find('option').prop('selected',!1);$selectedOption.prop('selected','selected')} this.renderPreview(value[0],value[1])},renderPreview:function(icon_set,icon_name){if(icon_name!=''){if(icon_set=='material'){this.$preview.attr('class','material-icons').html(icon_name)}else{if(icon_name!=undefined){icon_name=icon_name.replace(/fa-\dx/gi,' ')} this.$preview.attr('class',icon_set+' fa-'+icon_name).html('')}}else{this.$preview.attr('class','material-icons').html('')}},setValue:function(value,quiet){this.renderValue(value);this.parentSetValue(value,quiet)}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.slider={init:function(options){this.$slider=this.$row.find('.usof-slider');this.$textfield=this.$row.find('input[type="text"]');this.$box=this.$row.find('.usof-slider-box');this.$range=this.$row.find('.usof-slider-range');this.$unitsSelector=this.$row.find('.usof-slider-selector-units');this.$units=this.$row.find('.usof-slider-selector-unit');this.$body=$(_document.body);this.$window=$(_window);this.$usofContainer=$('.usof-container');var defaultUnit={std:'',unit:'px',step:1,min:0,max:60};this.sz={};var draggedValue;this.defaultUnit={};this.unitsOptions={};this.isFocused=!1;this._mouseScrollEvents=['wheel','mousewheel','DOMMouseScroll'];this.$units.each(function(index,item){var data=$(item).data()||{};this.unitsOptions[data.unit]=$.extend({},defaultUnit,data);if(index===0){$.extend(this.defaultUnit,this.unitsOptions[data.unit])}}.bind(this));this.setUnit(this.$unitsSelector.data('unit')||this.defaultUnit.unit||'');this.unitsExpression=this.$unitsSelector.data('units_expression')||'\w+';this._events={dragstart:function(e){e.stopPropagation();this.$usofContainer.addClass('dragged');this.$box.addClass('dragged');this.sz={left:this.$box.offset().left,right:this.$box.offset().left+this.$box.width(),width:this.$box.width()};this.$body.on('mousemove',this._events.dragmove);this.$window.on('mouseup',this._events.dragstop);this._events.dragmove(e)}.bind(this),dragmove:function(e){e.stopPropagation();var x,value;if(this.$body.hasClass('rtl')){x=Math.max(0,Math.min(1,(this.sz==0)?0:((this.sz.right-e.pageX)/this.sz.width)))}else{x=Math.max(0,Math.min(1,(this.sz==0)?0:((e.pageX-this.sz.left)/this.sz.width)))} value=parseFloat(this.min+x*(this.max-this.min));value=Math.round(value/this.step)*this.step;this.renderValue(value);draggedValue=value}.bind(this),dragstop:function(e){e.preventDefault();e.stopPropagation();this.$usofContainer.removeClass('dragged');this.$box.removeClass('dragged');this.$body.off('mousemove',this._events.dragmove);this.$window.off('mouseup',this._events.dragstop);this.setValue(draggedValue)}.bind(this),mousewheel:function(e){e.preventDefault?e.preventDefault():(e.returnValue=!1);e.stopPropagation();if(!this.isFocused){return!1} var direction=e.deltaY||e.detail||e.wheelDelta;if(direction<0){var value=Math.min(this.max,parseFloat(this.getValue())+this.step)}else{var value=Math.max(this.min,parseFloat(this.getValue())-this.step)} value=Math.round(value/this.step)*this.step;if($.isNumeric(value)){value=this.getDecimal(value)} this.setValue(value)}.bind(this),mouseenter:function(e){$.each(this._mouseScrollEvents,function(_,eventName){this.$window[0].addEventListener(eventName,this._events.mousewheel,{passive:!1})}.bind(this))}.bind(this),mouseleave:function(e){$.each(this._mouseScrollEvents,function(_,eventName){this.$window[0].removeEventListener(eventName,this._events.mousewheel)}.bind(this))}.bind(this)};this.$unitsSelector.on('mousedown',function(e){var $target=$(e.target).closest('.usof-slider-selector-unit');if(!$target.length){return} var value=parseFloat((this.$textfield.val()||'').replace('[^0-9.]+','')),unit=$target.data('unit')||'';this.setUnit(unit);this.$textfield.val(value+unit)}.bind(this));this.$box.on('mousedown',this._events.dragstart);this.$textfield.on('mouseenter',this._events.mouseenter).on('mouseleave',this._events.mouseleave).on('keyup',function(e){if((''+e.key).toLowerCase()!=='enter')return;this.$textfield.blur()}.bind(this)).on('focus',function(){var value=this.getValue();this.$textfield.val(value);this.oldTextFieldValue=value;this.isFocused=!0}.bind(this)).on('blur',function(){var rawValue=this.$textfield.val(),value=parseFloat(rawValue.replace('[^0-9.]+','')),defaultUnit=this.defaultUnit.unit;this.isFocused=!1;if(!$.isNumeric(rawValue)){var matches=this.$textfield.val().match(new RegExp('^(-?\\d+)(\\.)?(\\d+)?('+this.unitsExpression+')?$'));if(matches&&matches[4]){for(var unit in this.unitsOptions){if(unit!==matches[4])continue;var matchValue=matches[1],options=this.unitsOptions[unit];this.setUnit(unit);this.renderValue(value)}}}else{this.setUnit(defaultUnit)} if(!this.unit){this.setUnit(defaultUnit)} if((value||parseFloat(value)===0)&&value!=this.oldTextFieldValue){this.setValue(value)}else{this.renderValue(this.oldTextFieldValue)}}.bind(this))},getDecimal:function(value){value=parseFloat(value);var valueDecimalPart=Math.abs(value)%1+'';if(valueDecimalPart.charAt(3)!==''&&valueDecimalPart.charAt(3)!=='0'){value=value.toFixed(2)}else if(valueDecimalPart.charAt(2)!==''&&valueDecimalPart.charAt(2)!=='0'){value=value.toFixed(1)}else{value=value.toFixed(0)} return value},setUnit:function(unit){if(!this.unitsOptions[unit]||unit===this.unit){return} $.extend(this,this.defaultUnit,this.unitsOptions[unit]||{});this.$unitsSelector.data('unit',unit)},renderValue:function(value){if(!$.isNumeric(value)){value=parseFloat(value.replace('[^0-9.]+',''))||0} var x=Math.max(0,Math.min(1,(value-this.min)/(this.max-this.min)));this.$range.css(this.$body.hasClass('rtl')?'right':'left',x*100+'%');if($.isNumeric(value)){value=this.getDecimal(value)} value=value+this.unit;this.$textfield.val(value);return value},setValue:function(value,quiet){if(this.unit){var valueStr=value+'',pattern=new RegExp('^(-?\\d+)(\\.)?(\\d+)?('+this.unitsExpression+')?$'),matches=valueStr.match(pattern);if(matches!=null){this.setUnit(matches[4]||this.unit);if(matches[4]==undefined){value+=this.unit}}} value=this.renderValue(value);this.parentSetValue(value,quiet)}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field['switch']={init:function(){this.$input.on('change',function(e){var value=this.getValue();e.target.value=value;this.trigger('change',[value])}.bind(this))},getValue:function(){return this.$input.is(':checked')?1:''},setValue:function(value,quiet){if(typeof value!=='boolean'){value=parseInt(value)||0} this.$input.prop('checked',!!value).val(value);if(!quiet){this.trigger('change',[value])}}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.text=$usof.field.textarea={init:function(){this.$row.on('click','.usof-example',this.exampleClick.bind(this));this.$input.on('change keyup',function(){this.trigger('change',[this.getValue()])}.bind(this))},exampleClick:function(ev){var $target=$(ev.target).closest('.usof-example'),example=$target.html();this.setValue(example)}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.editor={init:function(){this.$container=$('.usof-editor',this.$row);this.$container.find('script.usof-editor-template').remove();this.$textarea=$('textarea',this.$container);this.originalEditorId=this.$textarea.data('editor-id')||'usof_editor';this.originalEditorSettings=_window.tinyMCEPreInit.mceInit[this.originalEditorId]||{};this.editorSettings=this.$row.find('.usof-editor-settings')[0].onclick()||{};this.editorId=this.originalEditorId+$usof.uniqid();this.$textarea.attr('id',this.editorId);this._events={changeField:this._changeField.bind(this),changeTinymceContent:this._changeTinymceContent.bind(this)};this.$container.on((this.isUSBuilder()?'input':'change'),'textarea',this._events.changeField);this.initEditor()},initEditor:function(){if(!_window.wp||!_window.wp.editor)return;_window.tinymce.on('AddEditor',function(e){if(e.editor.id!==this.editorId)return;var eventName=this.isUSBuilder()?'input NodeChange':'change NodeChange';e.editor.off(eventName).on(eventName,this._events.changeTinymceContent)}.bind(this),!0);var pid=setTimeout(function(){var editorSettings={quicktags:!0,tinymce:{},mediaButtons:(this.editorSettings.media_buttons!==undefined)?this.editorSettings.media_buttons:!0},qtSettings={id:this.editorId,buttons:"strong,em,link,block,del,ins,img,ul,ol,li,code,more,close"},settingsFields=['content_css','toolbar1','toolbar2','toolbar3','toolbar4','theme','skin','language','formats','relative_urls','remove_script_host','convert_urls','browser_spellcheck','fix_list_elements','entities','entity_encoding','keep_styles','resize','menubar','branding','preview_styles','end_container_on_empty_block','wpeditimage_html5_captions','wp_lang_attr','wp_keep_scroll_position','wp_shortcut_labels','plugins','wpautop','indent','tabfocus_elements','textcolor_map','textcolor_rows',];settingsFields.forEach(function(setting,index){if(this.originalEditorSettings[setting]!==undefined){editorSettings.tinymce[setting]=this.originalEditorSettings[setting]}}.bind(this));_window.wp.editor.initialize(this.editorId,editorSettings);_window.quicktags(qtSettings);this.switchEditors('tinymce');clearTimeout(pid)}.bind(this),1)},switchEditors:function(mode){mode=(''+mode).toLowerCase();$('#'+this.editorId+'-'+(mode==='tinymce'?'tmce':'html'),this.$container).trigger('click')},_changeField:function(e){this.trigger('change',e.currentTarget.value)},_changeTinymceContent:function(e){var value=this.getValue().trim(),editorValue=''+_window.tinymce.get(this.editorId).getContent(),cleanValue=editorValue.replace(/(<([^>]+)>)/ig,'');if(editorValue==value||cleanValue==value){return} this.$textarea.val(editorValue);this.trigger('change',editorValue)},setValue:function(value,quiet){if(!!_window.tinyMCE&&!!_window.tinyMCE.get(this.editorId)){_window.tinyMCE.get(this.editorId).setContent(value)}else{this.$textarea.val(value)} if(quiet){this.trigger('change',value)}},getValue:function(){var $input=(this.$textarea)?this.$textarea:this.$input;return $input.val()||''}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.transfer={init:function(){if($usof.instance.$sections.headerbuilder!==undefined){$usof.instance.fireFieldEvent($usof.instance.$sections.headerbuilder,'beforeShow');$usof.instance.fireFieldEvent($usof.instance.$sections.headerbuilder,'beforeHide')} this.$textarea=this.$row.find('textarea');this.translations=(this.$row.find('.usof-transfer-translations')[0].onclick()||{});this.$btnImport=this.$row.find('.usof-button.type_import').on('click',this.importValues.bind(this));this.hiddenFieldsValues=$('.usof-hidden-fields')[0].onclick()||{};if(this.hiddenFieldsValues.length==0){this.hiddenFieldsValues={}} this.exportValues();this.on('beforeShow',this.exportValues.bind(this))},exportValues:function(){var values=$.extend(this.hiddenFieldsValues,$usof.instance.getValues());this.$textarea.val(JSON.stringify(values))},importValues:function(){var encoded=this.$textarea.val(),values;if(encoded.charAt(0)=='{'){this.$btnImport.addClass('loading');$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_save',usof_options:encoded,_wpnonce:$usof.instance.$container.find('[name="_wpnonce"]').val(),_wp_http_referer:$usof.instance.$container.find('[name="_wp_http_referer"]').val()},success:function(result){this.$btnImport.removeClass('loading');if(result.success){alert(this.translations.importSuccess);location.reload()}else{alert(result.data.message)}}.bind(this)})}else{try{var serialized=_window.atob(encoded),matches=serialized.match(/(s\:[0-9]+\:\"(.*?)\"\;)|(i\:[0-9]+\;)/g),_key=null,_value;values={};for(var i=0;i<matches.length;i ++){_value=matches[i].replace((matches[i].charAt(0)=='s')?/^s\:[0-9]+\:\"(.*?)\"\;$/ : /^i\:([0-9]+)\;$/,'$1');if(_key===null){_key=_value}else{values[_key]=_value;_key=null}} $usof.instance.setValues(values);this.valuesChanged=values;$usof.instance.save()} catch(error){return alert(this.translations.importError)}}}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.style_scheme={init:function(options){this.$input=this.$row.find('input[name="'+this.name+'"]');this.$schemesContainer=this.$row.find('.usof-schemes-list');this.$schemeItems=this.$row.find('.usof-schemes-list > li');this.$nameInput=this.$row.find('#scheme_name');this.$closeBtn=this.$row.find('.us-bld-window-closer');this.$saveNewBtn=this.$row.find('#save_new_scheme').on('click',this.saveScheme.bind(this));this.colors=(this.$row.find('.usof-form-row-control-colors-json')[0].onclick()||{});this.i18n=(this.$row.find('.usof-form-row-control-i18n')[0].onclick()||{});this.$nameInput.on('keyup',this.setSchemeButtonStates.bind(this));this.initSchemes(!0)},setSchemeButtonStates:function(action){if(!this.$schemesContainer){return} if(this.$nameInput.val().length){this.$saveNewBtn.removeAttr('disabled');if(action.key=='Enter'){this.$saveNewBtn.click()}}else{this.$saveNewBtn.attr('disabled','')}},initSchemes:function(initialize,id){if(initialize){this.$row.hide();this.$closeBtn.on('click',function(){this.$row.hide()}.bind(this));$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_get_style_schemes',_wpnonce:this.$row.closest('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:this.$row.closest('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){this.schemes=result.data.schemes;this.customSchemes=result.data.custom_schemes}.bind(this),error:function(){this.schemes={};this.customSchemes={}}.bind(this),})} if(id){var $savedScheme=this.$schemeItems.filter('.type_custom[data-id="'+id+'"]');$savedScheme.addClass('saved');setTimeout(function(){$savedScheme.removeClass('saved')},900)} this.$schemeItems.each(function(index,item){var $item=$(item),$deleteBtn=$item.find('.usof-schemes-item-delete'),schemeId=$item.data('id'),isCustom=$item.hasClass('type_custom'),colors;$item.find('.usof-schemes-item-save').on('click',this.saveScheme.bind(this));$deleteBtn.on('click',function(event){event.preventDefault();event.stopPropagation();var $target=$(event.target),$deletingScheme=$target.closest('.usof-schemes-item'),schemeId=$deletingScheme.data('id');this.deleteScheme(schemeId,event)}.bind(this));$item.on('click',function(){if(_window.$usof!==undefined&&$usof.instance!==undefined){if((!isCustom&&this.schemes[schemeId]===undefined)||(isCustom&&this.customSchemes[schemeId]===undefined)||(!isCustom&&this.schemes[schemeId].values===undefined)||(isCustom&&this.customSchemes[schemeId].values===undefined)){return} this.setSchemeButtonStates();if(isCustom){colors=this.customSchemes[schemeId].values;this.$input.val('custom-'+schemeId);this.trigger('change','custom-'+schemeId)}else{colors=this.schemes[schemeId].values;this.$input.val(schemeId);this.trigger('change',schemeId)} $.each(colors,function(id,value){$usof.instance.setValue(id,value)})} this.$row.hide()}.bind(this))}.bind(this))},getColorValues:function(){var colors={};if(_window.$usof===undefined||$usof.instance==undefined){return undefined} if(this.colors==undefined){return undefined} $.each(this.colors,function(id,color){colors[color]=$usof.instance.getValue(color)});return colors},saveScheme:function(event){var colors=this.getColorValues(),name=this.$nameInput.val(),scheme={name:name,colors:colors},$target=$(event.target),$savingScheme=$target.closest('.usof-schemes-item'),$button=$(event.target.closest('button'));if(!$button.length){if($savingScheme.hasClass('type_custom')){scheme.name=$savingScheme.find('.preview_heading').html();scheme.id=$savingScheme.data('id');$savingScheme.addClass('saving')}else{return!1}}else{this.$saveNewBtn.addClass('loading')} $.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_save_style_scheme',scheme:JSON.stringify(scheme),_wpnonce:this.$row.closest('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:this.$row.closest('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){this.setSchemes(result.data.schemes,result.data.customSchemes,result.data.schemesHtml,scheme.id);this.$nameInput.val('');this.$saveNewBtn.removeClass('loading').attr('disabled','')}.bind(this)});return!1},deleteScheme:function(schemeId,event){event.stopPropagation();if(!confirm(this.i18n.delete_confirm)){return!1} var $target=$(event.target);$target.closest('.usof-schemes-item').addClass('deleting');$.ajax({type:'POST',url:$usof.ajaxUrl,dataType:'json',data:{action:'usof_delete_style_scheme',scheme:schemeId,_wpnonce:this.$row.closest('.usof-form').find('[name="_wpnonce"]').val(),_wp_http_referer:this.$row.closest('.usof-form').find('[name="_wp_http_referer"]').val()},success:function(result){this.setSchemes(result.data.schemes,result.data.customSchemes,result.data.schemesHtml)}.bind(this)});return!1},setSchemes:function(schemes,customSchemes,schemesHtml,id){this.schemes=schemes;this.customSchemes=customSchemes;this.$schemesContainer.html(schemesHtml);this.$schemeItems=this.$row.find('.usof-schemes-list > li');this.initSchemes(!1,id)}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.upload={init:function(options){this.attachmentAtts={};this.parentInit(options);this.$upload=this.$row.find('.usof-upload');this.previewType=this.$upload.usMod('preview');this.isMultiple=this.$upload.hasClass('is_multiple');this.thumbSize=(this.isMultiple)?'thumbnail':'medium';this.$btnAdd=this.$row.find('.ui-icon_add');this.$previewContainer=this.$row.find('.usof-upload-preview');this.placeholder=this.$row.find('input[name="placeholder"]').val();this.$btnAdd.on('click',this.openMediaUploader.bind(this));var $i18n=this.$row.find('.usof-upload-i18n');this.i18n={};if($i18n.length>0){this.i18n=$i18n[0].onclick()||{};$i18n.remove()} this._initDynamicBtns();if(this.isMultiple&&this.previewType==='image'){this.$dragshadow=$('<div class="usof-dragshadow"></div>');this.$body=$(document.body);this.$window=$(window);this._events={_maybeDragMove:this._maybeDragMove.bind(this),_dragMove:this._dragMove.bind(this),_dragEnd:this._dragEnd.bind(this)};this.$row.on('mousedown','.usof-upload-preview-file',this._dragStart.bind(this));this.$row.on('dragstart',function(event){event.preventDefault()})}},_initDynamicBtns:function(){this.$btnsDeleteImage=this.$row.find('.ui-icon_delete');this.$btnsDeleteImage.on('click',function(event){var $target=$(event.target),$img=$target.closest('.usof-upload-preview-file'),imgID=($img.attr('data-id'))?$img.attr('data-id'):null;if(imgID){var value=this.getValue().trim().split(',');if($.inArray(imgID,value)!==-1){value.splice($.inArray(imgID,value),1);$img.remove();if(value.length){this.parentSetValue(value)}else{this.setValue('')}}}}.bind(this));if(!this.isMultiple){$previewItem=$('.usof-upload-preview-file',this.$previewContainer);if($previewItem.length){$previewItem.on('click',this.openMediaUploader.bind(this))}}},_dragStart:function(event){if(this._hasClass(event.target,'ui-icon_delete')){return} event.stopPropagation();this.$draggedElm=$(event.target).closest('.usof-upload-preview-file');this.detached=!1;this._updateBlindSpot(event);this.elmPointerOffset=[parseInt(event.pageX),parseInt(event.pageY)];this.$body.on('mousemove',this._events._maybeDragMove);this.$window.on('mouseup',this._events._dragEnd)},_updateBlindSpot:function(event){this.blindSpot=[event.pageX,event.pageY]},_isInBlindSpot:function(event){return Math.abs(event.pageX-this.blindSpot[0])<=20&&Math.abs(event.pageY-this.blindSpot[1])<=20},_maybeDragMove:function(event){event.stopPropagation();if(this._isInBlindSpot(event)){return} this.$body.off('mousemove',this._events._maybeDragMove);this._detach();this.$body.on('mousemove',this._events._dragMove)},_detach:function(event){var offset=this.$draggedElm.offset();this.elmPointerOffset[0]-=offset.left;this.elmPointerOffset[1]-=offset.top;this.$dragshadow.css({width:this.$draggedElm.outerWidth(),height:this.$draggedElm.outerHeight()}).insertBefore(this.$draggedElm);this.$draggedElm.addClass('detached').css({position:'absolute','pointer-events':'none',zIndex:10000,width:this.$draggedElm.width(),height:this.$draggedElm.height()}).css(offset).appendTo(this.$body);this.detached=!0},_dragMove:function(event){event.stopPropagation();this.$draggedElm.css({left:event.pageX-this.elmPointerOffset[0],top:event.pageY-this.elmPointerOffset[1]});if(this._isInBlindSpot(event)){return} var elm=event.target;for(var level=0;level<=2;level ++,elm=elm.parentNode){if(this._isShadow(elm)){return} if(this._hasClass(elm,'detached')){this.$draggedElm.detach();break} var parentType;if(this._isSortable(elm)){var nextElm=elm.previousSibling,shadowAtLeft=!1;while(nextElm){if(nextElm==this.$dragshadow[0]){shadowAtLeft=!0;break} nextElm=nextElm.previousSibling} this.$dragshadow[shadowAtLeft?'insertAfter':'insertBefore'](elm);this._dragDrop(event);break}}},_dragDrop:function(event){this._updateBlindSpot(event)},_dragEnd:function(event){this.$body.off('mousemove',this._events._maybeDragMove).off('mousemove',this._events._dragMove);this.$window.off('mouseup',this._events._dragEnd);if(this.detached){this.$draggedElm.removeClass('detached').removeAttr('style').insertBefore(this.$dragshadow);this.$dragshadow.detach();var value=[],items=$('.usof-upload-preview-file',this.$previewContainer).toArray()||[];for(var k in items){if(items[k].hasAttribute('data-id')){value.push(items[k].getAttribute('data-id'))}} if(value.length){this.parentSetValue(value)}else{this.setValue('')}}},_hasClass:function(elm,cls){return(' '+elm.className+' ').indexOf(' '+cls+' ')>-1},_isShadow:function(elm){return this._hasClass(elm,'usof-dragshadow')},_isSortable:function(elm){return this._hasClass(elm,'usof-upload-preview-file')},setValue:function(value,quiet){if(value==''){if(this.previewType==='image'&&this.placeholder!==undefined){this.$previewContainer.html('<div class="usof-upload-preview-file">'+'<img src="'+this.placeholder+'" alt="" />'+'</div>')}else{this.$previewContainer.html('');this.$previewContainer.addClass('hidden')} this._initDynamicBtns()}else{var files;if(!this.isMultiple){files=[value]}else{files=value;if(typeof files==='string'){if(files.indexOf(',')!==-1){files=files.trim().split(',')}else{files=[files]}}} this.$previewContainer.html('');$.each(files,function(index,file){file=file.toString();var attachment=wp.media.attachment(parseInt(file)),renderAttachmentImage=function(){var src=attachment.attributes.url;if(attachment.attributes.sizes!==undefined){var size=(attachment.attributes.sizes[this.thumbSize]!==undefined)?this.thumbSize:'full';src=attachment.attributes.sizes[size].url} if($('.usof-upload-preview-file[data-id="'+file+'"]',this.$previewContainer).length){return} var html=this.$previewContainer.html()+'<div class="usof-upload-preview-file" data-id="'+file+'">';if(this.previewType=='image'){html=html+'<img src="'+src+'" alt="">'}else if(this.previewType=='text'){html=html+'<span>'+this._baseName(src)+'</span>'} html=html+'<div class="ui-icon_delete" title="'+this.i18n.delete+'"></div>'+'</div>';this.$previewContainer.html(html);this.$previewContainer.removeClass('hidden');this._initDynamicBtns()}.bind(this);if(attachment.attributes.url!==undefined){renderAttachmentImage()}else if((/\.(gif|jpe?g|tiff?|png|webp|bmp)$/i).test(file)){var html=this.$previewContainer.html()+'<div class="usof-upload-preview-file" data-id="-1">';if(this.previewType=='image'){html=html+'<img src="'+file+'" alt="">'}else if(this.previewType=='text'){html=html+'<span>'+this._baseName(file)+'</span>'} html=html+'</div>';this.$previewContainer.html(html);this.$previewContainer.removeClass('hidden');this._initDynamicBtns()}else{attachment.fetch({success:renderAttachmentImage})}}.bind(this))} this.parentSetValue(value,quiet)},openMediaUploader:function(){if(this.frame===undefined){var mediaSettings={multiple:!1,};if(this.previewType=='image'){mediaSettings.library={type:'image'}} if(this.isMultiple){mediaSettings.multiple='add'} this.frame=wp.media(mediaSettings);this.frame.on('open',function(){var value;this.frame.state().get('selection').reset();if(this.isMultiple){value=this.getValue().trim().split(',');$.each(value,function(index,file){var fileID=parseInt(file);if(fileID){this.frame.state().get('selection').add(wp.media.attachment(fileID))}}.bind(this))}else{value=parseInt(this.getValue());if(value){this.frame.state().get('selection').add(wp.media.attachment(value))}}}.bind(this));this.frame.on('select',function(){if(this.isMultiple){var attachments=[];this.frame.state().get('selection').each(function(attachment,index){attachments.push(attachment.id)});this.setValue(attachments)}else{var attachment=this.frame.state().get('selection').first();this.attachmentAtts=attachment.attributes;this.setValue(attachment.id,!1)}}.bind(this))} this.frame.open()},_baseName:function(path){return(''+path).substring(path.lastIndexOf('/')+1)}}}(jQuery);!function($,undefined){var _window=window,_document=document,_undefined=undefined;if(_window.$usof===_undefined){return} $usof.field.design_options={init:function(){this.defaultGroupValues={};this.defaultValues={};this.groupParams={};this._lastSelectedResponsiveState='default';this.$document=$(_document);this.$container=this.$row.find('.usof-design-options');this.$input=$('textarea.usof_design_value',this.$container);this.$import=$('.usof-design-options-import',this.$container);this.$importHeader=$('.usof-design-options-import-header',this.$import);this.$importFooter=$('.usof-design-options-import-footer',this.$import);this.$importBtnCopy=$('button[data-action="copy"]',this.$importHeader);this.states=this.$container[0].onclick()||['default'];this.extStates=this.states.slice(1);this.$container.removeAttr('onclick');this.isWPBakery=this.$input.hasClass('wpb_vc_param_value');this.hasStringValue=(this.isWPBakery||this.isUSBuilder());if(this.isWPBakery){this.$container.closest('.edit_form_line').addClass('usof-not-live')} this.__checkChangeValues=usof_debounce(this.checkChangeValues.bind(this),1);if(this.extStates.length){$('[data-responsive-state-content="default"]',this.$container).each(function(_,content){var $content=$(content);this.extStates.map(function(responsiveState){var $cloneContent=$content.clone().attr('data-responsive-state-content',responsiveState).addClass('hidden');$content.after($cloneContent)}.bind(this))}.bind(this))} this.states.map(function(responsiveState){this.groupParams[responsiveState]=new $usof.GroupParams($('[data-responsive-state-content="'+responsiveState+'"]',this.$container))}.bind(this));$.each(this.groupParams,function(responsiveState,groupParams){$.each(groupParams.fields,function(fieldName,field){var $group=field.$row.closest('[data-accordion-content]'),value=field.getValue();if($group.length){var groupKey=$group.data('accordion-content');if(!this.defaultGroupValues.hasOwnProperty(groupKey)){this.defaultGroupValues[groupKey]={}} if(!this.defaultGroupValues[groupKey].hasOwnProperty(responsiveState)){this.defaultGroupValues[groupKey][responsiveState]={}} this.defaultGroupValues[groupKey][responsiveState][fieldName]=value;if(!this.defaultValues.hasOwnProperty(responsiveState)){this.defaultValues[responsiveState]={}} this.defaultValues[responsiveState][fieldName]=value;$group.data('responsive-state',responsiveState) field.responsiveState=responsiveState}}.bind(this));$.each(groupParams.fields,function(_,field){var $row=field.$row;if($row.attr('onclick')){field._data=$row[0].onclick()||'';$row.removeAttr('onclick');if(field._data.hasOwnProperty('relations')){$row.append('<i class="fas fa-unlink"></i>').on('click','i.fas',this._events.watchAttrLink.bind(this,field))}} field.trigger('beforeShow').on('change',usof_debounce(this._events.changeValue.bind(this),1))}.bind(this))}.bind(this));var pid=setTimeout(function(){if(!this.inited){this.setValue(this.$input.val());this.checkChangeValues.call(this)} this.$importBtnCopy.prop('disabled',!this.getValue());clearTimeout(pid)}.bind(this),1);this.$container.find('.us-builder-states').toggleClass('hidden',!this.extStates.length);this.$container.on('click','[data-accordion-id]',this._events.toggleAccordion.bind(this)).on('click','.usof-design-options-reset',this._events.resetValues.bind(this)).on('click','.usof-design-options-responsive',this._events.toggleResponsive.bind(this)).on('click','[data-responsive-state]',this._events.changeResponsiveStates.bind(this));this.$document.on('usb.setResponsiveState',this._events.usbSetResponsiveState.bind(this));this.$import.on('click','button[data-action]',this._events.importActions.bind(this))},_events:{changeValue:function(field){var resultValue={},valueStateChanged={},enabledResponsives={};$.each(this.groupParams,function(responsiveState,groupParams){if('default'===responsiveState){for(var k in groupParams.fields){enabledResponsives[k]=!!$(groupParams.fields[k].$row).closest('[data-accordion-content]').prev('[data-accordion-id].responsive').length}} var groupValues=groupParams.getValues();$.each(groupValues,function(param,value){var defaultValue=this.defaultValues[responsiveState][param];if(['position','border-style','text-align','animation-name'].indexOf(param)>-1){valueStateChanged[param]=(enabledResponsives[param])?(value!==defaultValue||valueStateChanged[param]):valueStateChanged[param]||_undefined;if(valueStateChanged[param]){defaultValue=null}} if(value!==defaultValue){if(!resultValue.hasOwnProperty(responsiveState)){resultValue[responsiveState]={}} if(param==='background-image'&&/http/.test(value)){value='url('+value+')'} resultValue[responsiveState][param]=value}}.bind(this))}.bind(this));resultValue=(JSON.stringify(resultValue)!=='{}')?usof_rawurlencode(JSON.stringify(resultValue)):'';this.$input.val(resultValue);if(!this._lastResultValue||this._lastResultValue!==resultValue){this._lastResultValue=resultValue;this.trigger('change',resultValue)} this.__checkChangeValues();this.$importBtnCopy.prop('disabled',!resultValue);this.trigger('changeDesignField',field)},resetValues:function(e){e.stopPropagation();var $target=$(e.currentTarget),$groupHeader=$target.closest('[data-accordion-id]'),groupName=$groupHeader.data('accordion-id');if($groupHeader.hasClass('responsive')){this._events.toggleResponsive.call(this,e)} if(this.defaultGroupValues.hasOwnProperty(groupName)){$.each(this.defaultGroupValues[groupName],function(responsiveState,defaultValues){var groupParams=this.groupParams[responsiveState];groupParams.setValues($.extend(groupParams.getValues(),defaultValues));$.each(defaultValues,function(groupParams,name){var fields=groupParams.fields;if(fields.hasOwnProperty(name)&&fields[name].hasOwnProperty('_data')&&fields[name]._data.hasOwnProperty('relations')){var $link=$('i.fas',groupParams.$fields[name]);if($link.length&&$link.hasClass('fa-link')){$link.trigger('click')}}}.bind(this,groupParams))}.bind(this))} var pid=setTimeout(function(){$groupHeader.removeClass('changed');clearTimeout(pid)},1000*0.5)},watchAttrLink:function(field,e,state){var $target=$(e.currentTarget),isUnlink=$target.hasClass('fa-unlink'),relations=[];if(state!==_undefined){isUnlink=state} if(field.hasOwnProperty('_data')&&field.hasOwnProperty('responsiveState')){$.each(this.groupParams[field.responsiveState].fields,function(_name,item){if($.inArray(item.name,field._data.relations||[])!==-1){relations.push(item)}})} $target.toggleClass('fa-link',isUnlink).toggleClass('fa-unlink',!isUnlink);if(relations.length){relations.map(function(item){item.$input.prop('disabled',isUnlink)});field.watchValue=isUnlink;if(isUnlink){field.$input.focus().on('input',this._events.changeRelationsValue.bind(this,relations)).trigger('input')}else{field.$input.off('input')}}},changeRelationsValue:function(fields,e){var $this=$(e.currentTarget),value=$this.val();fields.map(function(item){if(item instanceof $usof.field){item.setValue(value)}})},toggleAccordion:function(e){var $target=$(e.currentTarget),$content=$('[data-accordion-content="'+$target.data('accordion-id')+'"]');if($target.hasClass('active')){$target.removeClass('active');$content.removeClass('active')}else{$target.siblings().removeClass('active');$content.siblings().removeClass('active');$target.addClass('active');$content.addClass('active')}},toggleResponsive:function(e){e.preventDefault();e.stopPropagation();var $target=$(e.currentTarget),$header=$target.closest('[data-accordion-id]'),groupKey=$header.data('accordion-id'),isEnabled=$header.hasClass('responsive'),isFirstResponsive=!isEnabled?!$('.usof-design-options-header.responsive:first',this.$container).length:!1;$header.toggleClass('responsive',!isEnabled);if(!isEnabled){if(isFirstResponsive){this.trigger('changeResponsiveState',this._lastSelectedResponsiveState)} this.switchResponsiveState(this._lastSelectedResponsiveState)}else{this.switchResponsiveState('default',!0)} if(this.defaultGroupValues.hasOwnProperty(groupKey)){this.extStates.map(function(responsiveState){var values=$.extend({},this.defaultGroupValues[groupKey][responsiveState]||{});if(!isEnabled){$.each(values,function(prop){if(this.groupParams['default'].fields.hasOwnProperty(prop)){values[prop]=this.groupParams['default'].fields[prop].getValue()}}.bind(this))} if(this.groupParams.hasOwnProperty(responsiveState)&&this.groupParams[responsiveState]instanceof $usof.GroupParams){values=$.extend(this.groupParams[responsiveState].getValues(),values);this.groupParams[responsiveState].setValues(values,!0)} if(!isEnabled&&this.groupParams.hasOwnProperty(responsiveState)){$.each(this.groupParams['default'].fields,function(_,field){if(field.hasOwnProperty('watchValue')){$('.fas',this.groupParams[responsiveState].fields[field.name].$row).trigger('click',field.watchValue)}}.bind(this))}}.bind(this))}},importActions:function(e){var $target=$(e.target),action=''+$target.data('action');if(action=='copy'){this._copyValueToClipboard()}else if(action=='paste'){this.$import.addClass('show_input');this.$input[0].select()}else if(action=='cancel'){this.$import.removeClass('show_input show_novalid')}else if(action=='apply'){var value=this.$input.val();if(!value)return;var isValidValue=this._isValidValue(value);this.$import.toggleClass('show_novalid',!isValidValue);if(!isValidValue){this.$input.val('');return} $.each(this.groupParams,function(responsiveState,groupParams){groupParams.setValues(this.defaultValues[responsiveState]||{},!0)}.bind(this));this.setValue(value);this.$import.removeClass('show_input');this.$importBtnCopy.prop('disabled',!value)}},changeResponsiveStates:function(e){var responsiveState=$(e.currentTarget).data('responsive-state');this.switchResponsiveState(responsiveState);this.trigger('changeResponsiveState',responsiveState);this._lastSelectedResponsiveState=responsiveState},usbSetResponsiveState:function(_,responsiveState){this._lastSelectedResponsiveState=responsiveState||'default';this.switchResponsiveState(this._lastSelectedResponsiveState)}},switchResponsiveState:function(responsiveState,hidden){if(!responsiveState)return;var hasResponsiveClass=!hidden?'.responsive':':not(.responsive)' var $target=$('[data-accordion-id]'+hasResponsiveClass,this.$container).next('[data-accordion-content]').find('[data-responsive-state="'+responsiveState+'"]');$target.siblings().removeClass('active');$target.addClass('active').closest('.usof-design-options-content').find('> [data-responsive-state-content]').addClass('hidden').filter('[data-responsive-state-content="'+responsiveState+'"]').removeClass('hidden')},_isValidValue:function(value){try{value=JSON.parse(usof_rawurldecode((''+value).trim())||'{}');for(var i in this.states){var state=this.states[i];if(state&&!!value[state]){return!0}}}catch(err){} return!1},checkChangeValues:function(){var currentGroupValues={};$.each(this.groupParams,function(responsiveState,groupParams){$.each(groupParams.fields,function(_,field){var groupName=field.$row.closest('[data-accordion-content]').data('accordion-content');if(!currentGroupValues.hasOwnProperty(groupName)){currentGroupValues[groupName]={}} if(!currentGroupValues[groupName].hasOwnProperty(responsiveState)){currentGroupValues[groupName][responsiveState]={}} currentGroupValues[groupName][responsiveState][field.name]=field.getValue()})});$.each(this.defaultGroupValues,function(groupName,devices){var change=!1;$.each(devices,function(responsiveState,values){if(!currentGroupValues.hasOwnProperty(groupName)||!currentGroupValues[groupName].hasOwnProperty(responsiveState)){return} change=(change||JSON.stringify(values)!==JSON.stringify(currentGroupValues[groupName][responsiveState]))}.bind(this));this.$container.find('[data-accordion-id='+groupName+']').toggleClass('changed',change)}.bind(this))},getValue:function(){var value=$.trim(this.$input.val());if(!this.hasStringValue&&value&&typeof value==='string'){value=JSON.parse(usof_rawurldecode(value)||'{}')} return value},setValue:function(value,quiet){var savedValues={};if(typeof value==='string'){try{savedValues=JSON.parse(usof_rawurldecode(value)||'{}')}catch(err){console.error(value,err);savedValues={}}}else if($.isPlainObject(value)){savedValues=value} var pid=setTimeout(function(){$.each(this.groupParams,function(responsiveState,groupParams){if(!this.hasStringValue){groupParams.setValues(this.defaultValues[responsiveState]||{},!0)} var values=savedValues[responsiveState]||{};propName='background-image';if(values.hasOwnProperty(propName)&&/url\(/.test(values[propName]||'')){values[propName]=values[propName].replace(/\s?url\("?(.*?)"?\)/gi,'$1')} for(var k in values){if(!/border-(\w+)-style/.test(k))continue;values['border-style']=values[k];delete values[k]} groupParams.setValues(values,!0);$.each(groupParams.fields,function(_,field){if(field.hasOwnProperty('_data')&&field._data.hasOwnProperty('relations')){var $row=field.$row,value=$.trim(field.getValue()),isLink=[];(field._data.relations||[]).map(function(name){if(value&&this.groupParams[field.responsiveState].fields.hasOwnProperty(name)){isLink.push(value===$.trim(this.groupParams[field.responsiveState].fields[name].getValue()))}}.bind(this));if(isLink.length){isLink=isLink.filter(function(v){return v==!0});if(isLink.length===3){var pid=setTimeout(function(){$row.find('i.fas').trigger('click');clearTimeout(pid)},1)}}}}.bind(this))}.bind(this));var responsiveGroups={};this.extStates.map(function(responsiveState){var values=savedValues[responsiveState]||{};$.each(this.defaultGroupValues,function(groupKey,devices){var isEnable=!1;$.each(devices[responsiveState],function(prop){if(!responsiveGroups[groupKey]){responsiveGroups[groupKey]=values.hasOwnProperty(prop)}})}.bind(this))}.bind(this));$.each(responsiveGroups,function(groupKey,isEnable){$('[data-accordion-id="'+groupKey+'"]',this.$container).toggleClass('responsive',isEnable)}.bind(this));this.checkChangeValues.call(this);this.switchResponsiveState('default',!0);clearTimeout(pid)}.bind(this),1);if(value){value=this.hasStringValue?value:usof_rawurlencode(JSON.stringify(value))} this.$input.val(''+value);if(!quiet){this.trigger('change',[value])} if(!this.$input.hasClass('wpb_vc_param_value')){this.$container.find('> div').removeClass('active')}},_copyValueToClipboard:function(){if(!this.$input.val())return;this.$input[0].select();_document.execCommand('copy');if(_window.getSelection){_window.getSelection().removeAllRanges()}else if(_document.selection){_document.selection.empty()}},forceWPBValue:function(){if(this.hasStringValue){this.setValue(this.getValue())}}}}(jQuery);!function($,undefined){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.field.used_icons_info={init:function(){this.loaded=!1;this.$container=$('.usof-icons-info:first',this.$row);this.$button=$('.usof-button.type_show_used_icons',this.$container);this.$content=$('.usof-form-wrapper.for_used_icons',this.$container);this.$button.on('click',this._events.showIcons.bind(this))},_events:{showIcons:function(e){e.preventDefault();if(this.loaded){return} this.$button.addClass('loading');this._request.call(this,'request')}},_request:function(type){this.loaded=!0;this.$content.addClass('hidden').html('');var data={type:type,action:'usof_used_icons_info',_nonce:this.$container.data('nonce')||''};$.post(ajaxurl,data,function(res){if(res.data.processing){this._request.call(this,'iteration')}else{this.$button.removeClass('loading');this.loaded=!1;if(!res.success){this._showMessage.call(this,res.data.message);return} this.$content.toggleClass('hidden',!res.data.result).html(res.data.result)}}.bind(this))}}}(jQuery);!function($){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.ButtonPreview=function(container){this.init(container)};$usof.ButtonPreview.prototype={init:function(container){this.$container=$(container);this.$btn=this.$container.find('.usof-btn');this.$groupParams=this.$container.closest('.usof-form-group-item');this.$style=$('style:first',this.$groupParams);this.groupParams=this.$groupParams.data('usofGroupParams');this.dependsOn=['h1_font_family','h2_font_family','h3_font_family','h4_font_family','h5_font_family','h6_font_family','body_font_family',];for(var fieldId in $usof.instance.fields){if(!$usof.instance.fields.hasOwnProperty(fieldId)){continue} if($.inArray($usof.instance.fields[fieldId].name,this.dependsOn)===-1){continue} $usof.instance.fields[fieldId].on('change',this.applyStyle.bind(this));} for(var fieldId in this.groupParams.fields){if(!this.groupParams.fields.hasOwnProperty(fieldId)){continue} this.groupParams.fields[fieldId].on('change',this.applyStyle.bind(this))} this.applyStyle();},_getColorValue:function(key){if(this.groupParams instanceof $usof.GroupParams&&this.groupParams.fields[key]!==undefined&&this.groupParams.fields[key].type==='color'&&this.groupParams.fields[key].hasOwnProperty('getColor')){return this.groupParams.fields[key].getColor()} return ''},applyStyle:function(){var classRandomPart=$usof.uniqid(),className='.usof-btn_'+classRandomPart,style={default:'',hover:'',};this.$btn.usMod('usof-btn',classRandomPart);var buttonFont=this.groupParams.getValue('font'),fontFamily;if($.inArray(buttonFont,['h1','h2','h3','h4','h5','h6','body'])!==-1){fontFamily=$usof.instance.getValue(buttonFont+'_font_family').split('|')[0]}else{fontFamily=buttonFont} if(fontFamily==='none'){fontFamily=''} if(fontFamily){style.default+='font-family: '+fontFamily+' !important;'} if(this.groupParams.getValue('text_style').indexOf('italic')!==-1){style.default+='font-style: italic !important;'}else{style.default+='font-style: normal !important;'} if(this.groupParams.getValue('text_style').indexOf('uppercase')!==-1){style.default+='text-transform: uppercase !important;'}else{style.default+='text-transform: none !important;'} style.default+='font-size: min('+this.groupParams.getValue('font_size')+', 50px) !important;';style.default+='line-height:'+this.groupParams.getValue('line_height')+' !important;';style.default+='font-weight:'+this.groupParams.getValue('font_weight')+' !important;';style.default+='padding:'+this.groupParams.getValue('height')+' '+this.groupParams.getValue('width')+' !important;';style.default+='border-radius:'+this.groupParams.getValue('border_radius')+' !important;';style.default+='letter-spacing:'+this.groupParams.getValue('letter_spacing')+' !important;';var colorBg=this._getColorValue('color_bg'),colorBorder=this._getColorValue('color_border'),colorBgHover=this._getColorValue('color_bg_hover'),colorBorderHover=this._getColorValue('color_border_hover'),colorShadow=this._getColorValue('color_shadow'),colorShadowHover=this._getColorValue('color_shadow_hover'),color;if(colorBg==''){colorBg='transparent'} if(colorBorder==''){colorBorder='transparent'} if(colorBgHover==''){colorBgHover='transparent'} if(colorBorderHover==''){colorBorderHover='transparent'} if(colorShadow==''){colorShadow='rgba(0,0,0,0.2)'} if(colorShadowHover==''){colorShadowHover='rgba(0,0,0,0.2)'} style.default+='background:'+colorBg+' !important;';if(colorBorder.indexOf('gradient')!==-1){style.default+='border-image:'+colorBorder+' 1 !important;'}else{style.default+='border-color:'+colorBorder+' !important;'} if(this._getColorValue('color_text').indexOf('gradient')!==-1){color=$.usof_colpick.gradientParser(this._getColorValue('color_text')).hex;style.default+='color:'+color+' !important;'}else{this.$btn.css('color',this._getColorValue('color_text'))} style.default+='box-shadow: 0 '+parseFloat(this.groupParams.getValue('shadow'))/2+'em '+this.groupParams.getValue('shadow')+' '+colorShadow+' !important;';this.$container.usMod('hov',this.groupParams.getValue('hover'));if(this.groupParams.getValue('hover')=='fade'){style.hover+='background:'+colorBgHover+' !important;'}else if(colorBgHover=='transparent'){style.hover+='background:'+colorBgHover+' !important;'} style.hover+='box-shadow: 0 '+parseFloat(this.groupParams.getValue('shadow_hover'))/2+'em '+this.groupParams.getValue('shadow_hover')+' '+colorShadowHover+' !important;';if(colorBorderHover.indexOf('gradient')!==-1){style.hover+='border-image:'+colorBorderHover+' 1 !important;'}else{style.hover+='border-color:'+colorBorderHover+' !important;'} var colorHover;if(this._getColorValue('color_text_hover').indexOf('gradient')!==-1){colorHover=($.usof_colpick.gradientParser(this._getColorValue('color_text_hover'))).hex}else{colorHover=this._getColorValue('color_text_hover')} style.hover+='color:'+colorHover+' !important;';var compiledStyle=className+'{%s}'.replace('%s',style.default);compiledStyle+=className+':before {border-width:'+this.groupParams.getValue('border_width')+' !important;}';compiledStyle+=className+':hover{%s}'.replace('%s',style.hover);if(this.groupParams.getValue('hover')=='slide'||(colorBorder.indexOf('gradient')!==-1||colorBgHover.indexOf('gradient')!==-1)){compiledStyle+=className+':after {background:'+colorBgHover+'!important;}'} this.$style.text(compiledStyle)}}}(jQuery);!function($){var _window=window,_document=document;if(_window.$usof===undefined){return} $usof.FormElmsPreview=function(container){this.init(container)};$usof.FormElmsPreview.prototype={init:function(container){this.$container=$(container);this.$group=this.$container.closest('.usof-form-group-item');this.$style=$('style:first',this.$group);this.$elms=$('> *',this.$container);this.group=this.$group.data('usofGroupParams')||{};this.dependsOn=['h1_font_family','h2_font_family','h3_font_family','h4_font_family','h5_font_family','h6_font_family','body_font_family',];if(this.group instanceof $usof.GroupParams&&this.group.hasOwnProperty('fields')){for(var i in this.group.fields){this.group.fields[i].on('change',this.applyStyle.bind(this))}} this.applyStyle()},_getColorValue:function(key){if(this.group instanceof $usof.GroupParams&&this.group.fields[key]!==undefined&&this.group.fields[key].type==='color'&&this.group.fields[key].hasOwnProperty('getColor')){return this.group.fields[key].getColor()} return ''},applyStyle:function(){var className='.usof-input-preview-elm',style={default:'',focus:''};var buttonFont=this.group.getValue('font'),fontFamily;if($.inArray(buttonFont,['h1','h2','h3','h4','h5','h6','body'])!==-1){fontFamily=$usof.instance.getValue(buttonFont+'_font_family').split('|')[0]}else{fontFamily=buttonFont} if(fontFamily=='none'){fontFamily=''} style.default+='font-family: '+fontFamily+'!important;';style.default+='font-size:'+this.group.getValue('font_size')+'!important;';style.default+='font-weight:'+this.group.getValue('font_weight')+'!important;';style.default+='letter-spacing:'+this.group.getValue('letter_spacing')+'!important;';style.default+='line-height:'+this.group.getValue('height')+'!important;';style.default+='padding: 0 '+this.group.getValue('padding')+'!important;';style.default+='border-radius:'+this.group.getValue('border_radius')+'!important;';style.default+='border-width:'+this.group.getValue('border_width')+'!important;';if(this._getColorValue('color_bg')){style.default+='background:'+this._getColorValue('color_bg')+'!important;'} if(this._getColorValue('color_border')){style.default+='border-color:'+this._getColorValue('color_border')+'!important;'} if(this._getColorValue('color_text')){style.default+='color:'+this._getColorValue('color_text')+'!important;'} if(this._getColorValue('color_bg_focus')){style.focus+='background:'+this._getColorValue('color_bg_focus')+'!important;'} if(this._getColorValue('color_border_focus')){style.focus+='border-color:'+this._getColorValue('color_border_focus')+'!important;'} if(this._getColorValue('color_text_focus')){style.focus+='color:'+this._getColorValue('color_text_focus')+'!important;'} if(this._getColorValue('color_shadow')!=''){style.default+='box-shadow:'+this.group.getValue('shadow_offset_h')+' '+this.group.getValue('shadow_offset_v')+' '+this.group.getValue('shadow_blur')+' '+this.group.getValue('shadow_spread')+' '+this._getColorValue('color_shadow')+' ';if($.inArray('1',this.group.getValue('shadow_inset'))!==-1){style.default+='inset'} style.default+='!important;'} if(this._getColorValue('color_shadow_focus')!=''||this._getColorValue('color_shadow')!=''){style.focus+='box-shadow:'+this.group.getValue('shadow_focus_offset_h')+' '+this.group.getValue('shadow_focus_offset_v')+' '+this.group.getValue('shadow_focus_blur')+' '+this.group.getValue('shadow_focus_spread')+' ';if(this._getColorValue('color_shadow_focus')!=''){style.focus+=this._getColorValue('color_shadow_focus')+' '}else{style.focus+=this._getColorValue('color_shadow')+' '} if($.inArray('1',this.group.getValue('shadow_focus_inset'))!==-1){style.focus+='inset'} style.focus+='!important;'} var compiledStyle=className+'{%s}'.replace('%s',style.default);compiledStyle+=className+':focus{%s}'.replace('%s',style.focus);compiledStyle+='.usof-input-preview-select:after {';compiledStyle+='font-size:'+this.group.getValue('font_size')+';';compiledStyle+='margin: 0 '+this.group.getValue('padding')+';';compiledStyle+='color:'+this._getColorValue('color_text')+';';compiledStyle+='}';this.$style.text(compiledStyle)},}}(jQuery);jQuery(function($){function AutoOptimizeAssets(){this.assets={};this._data={action:'us_auto_optimize_assets'};this.$container=$('[data-name="optimize_assets_start"]');this.$button=$('.usof-button.type_auto_optimize',this.$container);this.$message=$('.usof-message.type_auto_optimize',this.$container);if(this.$button.is('[onclick]')){this._data=$.extend(this._data,this.$button[0].onclick()||{});this.$button.removeAttr('onclick')} $('.usof-checkbox-list input[name="assets"]',this.$container).each(function(_,checkbox){this.assets[$(checkbox).attr('value')]=checkbox}.bind(this));this.$container.on('click','.usof-button.type_auto_optimize',this._events.clickButton.bind(this)).on('change','input[name="assets"]',this._events.clearMessage.bind(this))} AutoOptimizeAssets.prototype={_events:{clickButton:function(e){if(!this.$button.hasClass('loading')){this.$button.addClass('loading');this._request.call(this,'request');this._events.clearMessage.call(this)}},clearMessage:function(e){this.$message.addClass('hidden').html('')}},_request:function(type){$.post($usof.ajaxUrl,$.extend(this._data,{type:type}),function(res){if(res.data.processing){this._request.call(this,'iteration')}else{this.$button.removeClass('loading');if($.trim(res.data.message)){this.showMessage.call(this,res.data.message)} $('input[type="checkbox"]',this.$container).prop('checked',!1);if(res.data.used_assets){$.each(res.data.used_assets,function(_,asset_name){if(this.assets.hasOwnProperty(asset_name)){$(this.assets[asset_name]).prop('checked',!0)}}.bind(this));$usof.instance.valuesChanged.assets=res.data.assets_value;$usof.instance.save()}}}.bind(this),'json')},showMessage:function(html){this.$message.html(html).removeClass('hidden')}};$(new AutoOptimizeAssets)})