AddonTags=function(b){var c={allowAddNewData:true,removeValuesFromStore:false,emptyText:"Tags",resizable:true,store:this.getStore(b.site_id),mode:"local",displayField:"name",valueField:"id",fieldLabel:"Tags",anchor:"90%",name:b.hiddenName+"[]",listeners:{newitem:{fn:function(e,d){e.addItem({id:d,name:d})},scope:this}},getArrayValue:function(){var d=[];this.items.each(function(e){d.push({tag:e.value})});return d}};Ext.apply(c,b.fieldConfig?b.fieldConfig:{});var a=new Ext.ux.form.SuperBoxSelect(c);if(b.item_type&&b.item_id){Ext.Ajax.request({url:"/addon_tags/getAssigned",params:{item_type:b.item_type,item_id:b.item_id},success:function(d){var e=[];Ext.each(Ext.decode(d.responseText).results,function(f){e.push(f.id)});if(a.store.loaded){a.setValue(e)}else{a.store.on("load",function(){a.setValue(e)},null,{single:true})}}})}if(b.tag_ids){if(a.store.loaded){a.setValue(b.tag_ids)}else{a.store.on("load",function(){a.setValue(b.tag_ids)},null,{single:true})}}return a};AddonTags.prototype.stores={};AddonTags.prototype.getStore=function(b){var a=AddonTags.prototype.stores;if(!a[b]){a[b]=new Ext.data.JsonStore({fields:["id",{name:"name",type:"string"}],url:"/addon_tags/getAll",baseParams:{site_id:b},root:"results",autoLoad:true,sortInfo:{field:"name",direction:"ASC"},listeners:{load:function(){this.loaded=true}},processNewTags:function(){this.each(function(c){if(parseInt(c.data.id)!=c.data.id){this.loaded=false;this.load()}},this)}})}a[b].processNewTags();return a[b]};
