(function($){var defaults={"maximize":false,"minimize":false,"dblclick":false,"titlebar":false,"icons":{"maximize":"ui-icon-extlink","minimize":"ui-icon-minus","restore":"ui-icon-newwin"},"events":{"load":null,"beforeCollapse":null,"beforeMaximize":null,"beforeMinimize":null,"beforeRestore":null,"collapse":null,"maximize":null,"minimize":null,"restore":null}};var settings;var methods={"init":function(options){var self=this;if(!$(self).dialog){$.error("jQuery.dialogExtend Error : Only jQuery UI Dialog element is accepted");} options=options||{};options.icons=options.icons||{};options.events=options.events||{};settings=$.extend({},defaults,options);settings.icons=$.extend({},defaults.icons,options.icons);settings.events=$.extend({},defaults.events,options.events);$(self).each(function(){$(this).data("dialog-state","normal").dialogExtend("_verifySettings").dialogExtend("_initEvents").dialogExtend("_initStyles").dialogExtend("_initButtons").dialogExtend("_initTitleBar").dialogExtend("_trigger","load");});return self;},"collapse":function(){var self=this;var newHeight=$(this).dialog("widget").find(".ui-dialog-titlebar").height()+15;$(self).dialogExtend("_trigger","beforeCollapse").dialogExtend("_saveSnapshot").data("dialog-state","collapsed").dialog("option",{"height":newHeight,"maxHeight":newHeight}).hide().dialog("widget").find(".ui-dialog-buttonpane:visible").hide().end().find(".ui-dialog-titlebar").css("white-space","nowrap").end().find(".ui-dialog-content").dialogExtend("_trigger","collapse");return self;},"maximize":function(){var self=this;var newHeight=$(window).height()-11;var newWidth=$(window).width()-11;$(self).dialogExtend("_trigger","beforeMaximize").dialogExtend("_saveSnapshot").data("dialog-state","maximized").dialogExtend("_toggleButtons").dialog("widget").css("position","fixed").find(".ui-dialog-content").show().dialog("widget").find(".ui-dialog-buttonpane").show().end().find(".ui-dialog-content").dialog("option",{"resizable":false,"draggable":false,"height":newHeight,"width":newWidth,"position":[1,1]}).dialog("widget").draggable("option","handle",null).find(".ui-dialog-draggable-handle").css("cursor","text").end().find(".ui-dialog-content").dialogExtend("_trigger","maximize");return self;},"minimize":function(){var self=this;var container="#minimized-dialog-container";var newHeight=$(this).dialog("widget").find(".ui-dialog-titlebar").height()+15;var newWidth=200;if(!$(container).length){$("
").attr("id",container.replace("#","")).css({"left":1,"bottom":1,"position":"fixed"}).appendTo("body");} $(self).dialogExtend("_trigger","beforeMinimize").dialogExtend("_saveSnapshot").data("dialog-state","minimized").dialogExtend("_toggleButtons").dialog("widget").css({"float":"left","margin":1,"position":"static"}).appendTo(container).find(".ui-dialog-content").dialog("option",{"resizable":false,"draggable":false,"height":newHeight,"width":newWidth}).hide().dialog("widget").find(".ui-dialog-buttonpane:visible").hide().end().find(".ui-dialog-titlebar").css("white-space","nowrap").end().find(".ui-dialog-content").dialog("widget").draggable("option","handle",null).find(".ui-dialog-draggable-handle").css("cursor","text").end().find(".ui-dialog-content").dialogExtend("_trigger","minimize");return self;},"restore":function(){var self=this;var beforeState=$(self).data("dialog-state");$(self).dialogExtend("_trigger","beforeRestore").data("dialog-state","normal").dialogExtend("_toggleButtons").dialogExtend(beforeState=="maximized"?"_restoreFromMaximized":beforeState=="minimized"?"_restoreFromMinimized":beforeState=="collapsed"?"_restoreFromCollapsed":$.error("jQuery.dialogExtend Error : Cannot restore dialog from unknown state '"+beforeState+"'")).dialogExtend("_trigger","restore");return self;},"_initButtons":function(){var self=this;var titlebar=$(self).dialog("widget").find(".ui-dialog-titlebar");$(titlebar).append('maximize').append('minimize').append('restore').find(".ui-dialog-titlebar-maximize,.ui-dialog-titlebar-minimize,.ui-dialog-titlebar-restore").attr("role","button").mouseover(function(){$(this).addClass("ui-state-hover");}).mouseout(function(){$(this).removeClass("ui-state-hover");}).focus(function(){$(this).addClass("ui-state-focus");}).blur(function(){$(this).removeClass("ui-state-focus");}).end().find(".ui-dialog-titlebar-maximize").toggle(settings.maximize).css({"right":settings.maximize?"1.4em":"-9999em"}).click(function(e){e.preventDefault();$(self).dialogExtend("maximize");}).end().find(".ui-dialog-titlebar-minimize").toggle(settings.minimize).css({"right":settings.maximize?"2.5em":settings.minimize?"1.4em":"-9999em"}).click(function(e){e.preventDefault();$(self).dialogExtend("minimize");}).end().find(".ui-dialog-titlebar-restore").hide().css({"right":"-9999em"}).click(function(e){e.preventDefault();$(self).dialogExtend("restore");}).end().dblclick(function(evt){if(settings.dblclick&&settings.dblclick.length){$(self).dialogExtend($(self).data("dialog-state")!="normal"?"restore":settings.dblclick);}}).each(function(){$(this).select(function(){return false;});});return self;},"_initEvents":function(){var self=this;$.each(settings.events,function(type){if($.isFunction(settings.events[type])){$(self).bind(type+".dialogExtend",settings.events[type]);}});return self;},"_initStyles":function(){var self=this;var style='';style+='';$(style).appendTo("body");return self;},"_initTitleBar":function(){var self=this;switch(settings.titlebar){case false:break;case"none":if($(self).dialog("option","draggable")){var handle=$("
").addClass("ui-dialog-draggable-handle").css("cursor","move").height(5);$(self).dialog("widget").prepend(handle).draggable("option","handle",handle);} $(self).dialog("widget").find(".ui-dialog-titlebar").find(".ui-dialog-title").html(" ").end().css({"background-color":"transparent","background-image":"none","border":0,"position":"absolute","right":0,"top":0,"z-index":9999}).end();break;case"transparent":$(self).dialog("widget").find(".ui-dialog-titlebar").css({"background-color":"transparent","background-image":"none","border":0});break;default:$.error("jQuery.dialogExtend Error : Invalid value '"+settings.titlebar+"'");} return self;},"_loadSnapshot":function(){var self=this;return{"config":{"resizable":$(self).data("original-config-resizable"),"draggable":$(self).data("original-config-draggable")},"size":{"height":$(self).data("original-size-height"),"width":$(self).data("original-size-width"),"maxHeight":$(self).data("original-size-maxHeight")},"position":{"mode":$(self).data("original-position-mode"),"left":$(self).data("original-position-left"),"top":$(self).data("original-position-top")},"titlebar":{"wrap":$(self).data("original-titlebar-wrap")}};},"_restoreFromCollapsed":function(){var self=this;var original=$(this).dialogExtend("_loadSnapshot");$(self).show().dialog("widget").find(".ui-dialog-buttonpane:hidden").show().end().find(".ui-dialog-titlebar").css("white-space",original.titlebar.wrap).end().find(".ui-dialog-content").dialog("option",{"height":original.size.height,"maxHeight":original.size.maxHeight});return self;},"_restoreFromMaximized":function(){var self=this;var original=$(this).dialogExtend("_loadSnapshot");$(self).dialog("widget").css("position",original.position.mode).find(".ui-dialog-titlebar").css("white-space",original.titlebar.wrap).end().find(".ui-dialog-content").dialog("option",{"resizable":original.config.resizable,"draggable":original.config.draggable,"height":original.size.height,"width":original.size.width,"maxHeight":original.size.maxHeight,"position":[original.position.left,original.position.top]}).dialog("widget").draggable("option","handle",$(this).find(".ui-dialog-draggable-handle")).find(".ui-dialog-draggable-handle").css("cursor","move");return self;},"_restoreFromMinimized":function(){var self=this;var original=$(this).dialogExtend("_loadSnapshot");var container="#minimized-dialog-container";$(self).dialog("widget").appendTo("body").css({"float":"none","margin":0,"position":original.position.mode}).find(".ui-dialog-content").show().dialog("widget").find(".ui-dialog-buttonpane:hidden").show().end().find(".ui-dialog-titlebar").css("white-space",original.titlebar.wrap).end().find(".ui-dialog-content").dialog("option",{"resizable":original.config.resizable,"draggable":original.config.draggable,"height":original.size.height,"width":original.size.width,"maxHeight":original.size.maxHeight,"position":[original.position.left,original.position.top]}).dialog("widget").draggable("option","handle",$(this).find(".ui-dialog-draggable-handle")).find(".ui-dialog-draggable-handle").css("cursor","move");return self;},"_saveSnapshot":function(){var self=this;if($(self).data("dialog-state")=="normal"){$(self).data("original-config-resizable",$(self).dialog("option","resizable")).data("original-config-draggable",$(self).dialog("option","draggable")).data("original-size-height",$(self).dialog("widget").height()).data("original-size-width",$(self).dialog("option","width")).data("original-size-maxHeight",$(self).dialog("option","maxHeight")).data("original-position-mode",$(self).dialog("widget").css("position")).data("original-position-left",$(self).dialog("widget").offset().left).data("original-position-top",$(self).dialog("widget").offset().top).data("original-titlebar-wrap",$(self).dialog("widget").find(".ui-dialog-titlebar").css("white-space"));} return self;},"_toggleButtons":function(){var self=this;$(self).dialog("widget").find(".ui-dialog-titlebar-maximize").toggle($(self).data("dialog-state")!="maximized"&&settings.maximize).end().find(".ui-dialog-titlebar-minimize").toggle($(self).data("dialog-state")!="minimized"&&settings.minimize).end().find(".ui-dialog-titlebar-restore").toggle($(self).data("dialog-state")!="normal"&&(settings.maximize||settings.minimize)).css({"right":$(self).data("dialog-state")=="maximized"?"1.4em":$(self).data("dialog-state")=="minimized"?!settings.maximize?"1.4em":"2.5em":"-9999em"}).end();return self;},"_trigger":function(type){var self=this;$(self).triggerHandler(type+".dialogExtend",this);return self;},"_verifySettings":function(){var self=this;if(!settings.dblclick){}else if(settings.dblclick=="maximize"){}else if(settings.dblclick=="minimize"){}else if(settings.dblclick=="collapse"){}else{$.error("jQuery.dialogExtend Error : Invalid value '"+settings.dblclick+"'");settings.dblclick=false;} if(!settings.titlebar){}else if(settings.titlebar=="none"){}else if(settings.titlebar=="transparent"){}else{$.error("jQuery.dialogExtend Error : Invalid value '"+settings.titlebar+"'");settings.titlebar=false;} return self;}};$.fn.dialogExtend=function(method){if(methods[method]){return methods[method].apply(this,Array.prototype.slice.call(arguments,1));}else if(typeof method==="object"||!method){return methods.init.apply(this,arguments);}else{$.error("jQuery.dialogExtend Error : Method <"+method+"> does not exist");}};}(jQuery));