EditIconDialog=new Class({_extends:Dialog,name:"edit-icon",_init:function(){this._init_super();this.icon=null;this.icon_catalogs=null;this.icon_template='<div class="icon-select{{ selected }}" title="{{ name }}" id="selecticon-{{ name }}"><div class="icon-select-expand" id="selectionexpand-{{ name }}"></div></div>';this.new_icon=null},show_tab:function(a){this.$dialog.find(".tab-panel").removeClass("active");this.$dialog.find("."+a).addClass("active");this.$dialog.find("ul.dialog-tabs li").removeClass("active");this.$dialog.find("ul.dialog-tabs li#show-tab-"+a).addClass("active")},on_pre_show:function(){var a=this;var b=this.owner.get_selected_icons()[0];this.icon=b;this.new_icon=null;this.show_tab("visual");this.$dialog.find("input[name=name]").val(b.name||"");this.$dialog.find("input[name=description]").val(b.description||"");if(b.has_favicon&&b.use_favicon){this.$dialog.find("#custom-icon-checkbox").attr("checked",false);this.$dialog.find(".pack-selector,.pack-list-container").hide()}else{this.$dialog.find("#custom-icon-checkbox").attr("checked",true);this.$dialog.find(".pack-selector,.pack-list-container").show()}if(b.type=="stack"){this.$dialog.find("tr.not-stack").hide()}else{this.$dialog.find("tr.not-stack").show();this.$dialog.find("input[name=url]").val(b.url||"");this.$dialog.find("input[name=search_url]").val(b.search_url||"")}this.$dialog.find("textarea[name=icon-details]").val(b.notes||"");this.changed=false;$icon_img=this.$dialog.find(".icon-image img");$icon_img.attr("src",b.icon_img);this.$dialog.find("#icon-visual-tab .pack-selector").load("/iconpacks/",{},function(){a.$icon_select=$("#icon-pack-select");a.$icon_select.change(function(h){var g=a.$dialog.find(".pack-icon-list");var f=a.$icon_select.val();g.html('<div class="loading-icon-pack">Loading icon pack...</div>');g.css({"background-image":"none"});a.owner.api("get_icon_catalog",{name:f},function(e){a.on_load_catalog(e)})});if(a.icon.icon_key){var d=a.icon.icon_key.split(".");var c=d[0]+"."+d[1];$("#icon-pack-select").val(c);a.owner.api("get_icon_catalog",{name:c},function(e){a.on_load_catalog(e)})}})},on_load_catalog:function(e){var a=this;var b=$("#icon-pack-select");var d=a.$dialog.find(".pack-icon-list");var c="";d.html("");d.css({"background-image":'url("'+e.response.preview_url+'")'});a.icon_catalog=e.response.icon_catalog;a.catalog_icons={};$.each(e.response.icons,function(h,k){var g=k.name;a.catalog_icons[g]=k;var l=k.img_url.replace(/\[SIZE\]/g,"32");l=l.replace(".png",".jpg");var j="";if(a.icon_catalog+"."+g==a.icon.icon_key){j=" selected"}var f=a.icon_template.f({name:g,img_url:l,selected:j});c+=f});d.html(c);$("#custom-icon-checkbox").click(function(g){var f=$(this);if(f.is(":checked")){$(".pack-selector,.pack-list-container").show();a.icon.use_favicon=false;a.changed=true}else{$(".pack-selector,.pack-list-container").hide();a.icon.use_favicon=true;a.changed=true}});$(".pack-icon-list .icon-select").mousemove(function(i){var f=$(this);var g=new ElementRect(f[0]);function h(){var k=a.$dialog.find(".pack-icon-list").offset();var n=f.offset();var o=f.attr("id").match(/-(.*?)$/)[0].substr(1);var m=$("#selectionexpand-"+o);var l=a.catalog_icons[o].img_url;l=l.replace(/\[SIZE\]/g,"64");var j=g.p1.minus({x:16,y:16}).css();j["background-image"]='url("'+l+'")';m.css(j);m.fadeIn("fast");return false}if(a.show_select_icon_timer){clearTimeout(a.show_select_icon_timer);a.show_select_icon_timer=null;$(".icon-select-expand:visible").hide()}a.show_select_icon_timer=setTimeout(h,250)}).mouseleave(function(f){if(a.show_select_icon_timer){clearTimeout(a.show_select_icon_timer);a.show_select_icon_timer=null;$(".icon-select-expand:visible").hide()}}).click(function(g){var f=$(this);var h=f.attr("id").match(/-(.*?)$/)[0].substr(1);a.$dialog.find(".icon-select").removeClass("selected");f.addClass("selected");a.new_icon=a.catalog_icons[h];a.new_icon_key=a.icon_catalog+"."+h;a.changed=true})},on_post_init:function(){var a=this;this.$dialog.find("input,textarea").change(function(){a.changed=true});this.$dialog.find(".edit-icons-button.ok").click(function(){if(!a.changed){a.dismiss();return}if(a.new_icon){a.icon.set_new_icon(a.new_icon,a.new_icon_key)}else{a.icon.change_size(0)}var c=a.$dialog.find("input[name=name]").val();a.icon.set_name(c);var e=a.$dialog.find("input[name=description]").val();a.icon.description=e;if(a.icon.type!="stack"){var b=a.$dialog.find("input[name=url]").val();var d=a.$dialog.find("input[name=search_url]").val();a.icon.url=b;a.icon.search_url=d}var f=a.$dialog.find("textarea[name=icon-details]").val();a.icon.notes=f;a.icon.set_state(a.icon.get_state());a.owner.undo_step();a.dismiss()});this.$dialog.find(".dialog-dismiss").click(function(){a.dismiss()});this.$dialog.find(".dialog-tabs li").click(function(){var c=$(this);a.$dialog.find(".dialog-tabs li").removeClass("active");c.addClass("active");var d=c.attr("id");var b=d.substr("show-tab-".length);$(".tab-panel").removeClass("active");$("."+b).addClass("active");a.$dialog.center(true)})}});edit_icon_dialog=new EditIconDialog();