(function($,wp){var api=wp.customize;api.HeaderTool={};api.HeaderTool.ImageModel=Backbone.Model.extend({defaults:function(){return{header:{attachment_id:0,url:'',timestamp:_.now(),thumbnail_url:''},choice:'',selected:!1,random:!1}},initialize:function(){this.on('hide',this.hide,this)},hide:function(){this.set('choice','');api('header_image').set('remove-header');api('header_image_data').set('remove-header')},destroy:function(){var data=this.get('header'),curr=api.HeaderTool.currentHeader.get('header').attachment_id;if(curr&&data.attachment_id===curr){api.HeaderTool.currentHeader.trigger('hide')}
wp.ajax.post('custom-header-remove',{nonce:_wpCustomizeHeader.nonces.remove,wp_customize:'on',theme:api.settings.theme.stylesheet,attachment_id:data.attachment_id});this.trigger('destroy',this,this.collection)},save:function(){if(this.get('random')){api('header_image').set(this.get('header').random);api('header_image_data').set(this.get('header').random)}else{if(this.get('header').defaultName){api('header_image').set(this.get('header').url);api('header_image_data').set(this.get('header').defaultName)}else{api('header_image').set(this.get('header').url);api('header_image_data').set(this.get('header'))}}
api.HeaderTool.combinedList.trigger('control:setImage',this)},importImage:function(){var data=this.get('header');if(data.attachment_id===undefined){return}
wp.ajax.post('custom-header-add',{nonce:_wpCustomizeHeader.nonces.add,wp_customize:'on',theme:api.settings.theme.stylesheet,attachment_id:data.attachment_id})},shouldBeCropped:function(){if(this.get('themeFlexWidth')===!0&&this.get('themeFlexHeight')===!0){return!1}
if(this.get('themeFlexWidth')===!0&&this.get('themeHeight')===this.get('imageHeight')){return!1}
if(this.get('themeFlexHeight')===!0&&this.get('themeWidth')===this.get('imageWidth')){return!1}
if(this.get('themeWidth')===this.get('imageWidth')&&this.get('themeHeight')===this.get('imageHeight')){return!1}
if(this.get('imageWidth')<=this.get('themeWidth')){return!1}
return!0}});api.HeaderTool.ChoiceList=Backbone.Collection.extend({model:api.HeaderTool.ImageModel,comparator:function(model){return-model.get('header').timestamp},initialize:function(){var current=api.HeaderTool.currentHeader.get('choice').replace(/^https?:\/\//,''),isRandom=this.isRandomChoice(api.get().header_image);if(!this.type){this.type='uploaded'}
if(typeof this.data==='undefined'){this.data=_wpCustomizeHeader.uploads}
if(isRandom){current=api.get().header_image}
this.on('control:setImage',this.setImage,this);this.on('control:removeImage',this.removeImage,this);this.on('add',this.maybeRemoveOldCrop,this);this.on('add',this.maybeAddRandomChoice,this);_.each(this.data,function(elt,index){if(!elt.attachment_id){elt.defaultName=index}
if(typeof elt.timestamp==='undefined'){elt.timestamp=0}
this.add({header:elt,choice:elt.url.split('/').pop(),selected:current===elt.url.replace(/^https?:\/\//,'')},{silent:!0})},this);if(this.size()>0){this.addRandomChoice(current)}},maybeRemoveOldCrop:function(model){var newID=model.get('header').attachment_id||!1,oldCrop;if(!newID){return}
oldCrop=this.find(function(item){return(item.cid!==model.cid&&item.get('header').attachment_id===newID)});if(oldCrop){this.remove(oldCrop)}},maybeAddRandomChoice:function(){if(this.size()===1){this.addRandomChoice()}},addRandomChoice:function(initialChoice){var isRandomSameType=RegExp(this.type).test(initialChoice),randomChoice='random-'+this.type+'-image';this.add({header:{timestamp:0,random:randomChoice,width:245,height:41},choice:randomChoice,random:!0,selected:isRandomSameType})},isRandomChoice:function(choice){return(/^random-(uploaded|default)-image$/).test(choice)},shouldHideTitle:function(){return this.size()<2},setImage:function(model){this.each(function(m){m.set('selected',!1)});if(model){model.set('selected',!0)}},removeImage:function(){this.each(function(m){m.set('selected',!1)})}});api.HeaderTool.DefaultsList=api.HeaderTool.ChoiceList.extend({initialize:function(){this.type='default';this.data=_wpCustomizeHeader.defaults;api.HeaderTool.ChoiceList.prototype.initialize.apply(this)}})})(jQuery,window.wp)