(function(a){var j={dragStart:"start.draggable",drag:"drag.draggable",dragStop:"stop.draggable",maxHeight:"maxHeight.resizable",minHeight:"minHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.resizable",resizeStart:"start.resizable",resize:"drag.resizable",resizeStop:"stop.resizable"};a.widget("ui.dialog",{_init:function(){this.originalTitle=this.element.attr("title");var c=this,b=this.options,d=b.title||this.originalTitle||"&nbsp;",e=a.ui.dialog.getTitleId(this.element),f=(this.uiDialog= a("<div/>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:999999}).attr("tabIndex",-1).css("outline",0).keydown(function(g){b.closeOnEscape&&g.keyCode&&g.keyCode==a.ui.keyCode.ESCAPE&&c.close(g)}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(g){c.moveToTop(true,g)});this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(f);var h= (this.uiDialogTitlebar=a("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(f),i=a('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){i.addClass("ui-state-hover")},function(){i.removeClass("ui-state-hover")}).focus(function(){i.addClass("ui-state-focus")}).blur(function(){i.removeClass("ui-state-focus")}).mousedown(function(g){g.stopPropagation()}).click(function(g){c.close(g);return false}).appendTo(h); (this.uiDialogTitlebarCloseText=a("<span/>")).addClass("ui-icon ui-icon-closethick").text(b.closeText).attr("dl","true").appendTo(i);a("<span/>").addClass("ui-dialog-title").attr("id",e).html(d).prependTo(h);(this.uiDialogCorners=a("<div/>")).addClass("dialog-tl").attr("dl","true").prependTo(f);(this.uiDialogCorners=a("<div/>")).addClass("dialog-tr").attr("dl","true").prependTo(f);(this.uiDialogCorners=a("<div/>")).addClass("dialog-bl").attr("dl","true").appendTo(f);(this.uiDialogCorners=a("<div/>")).addClass("dialog-br").attr("dl", "true").appendTo(f);h.find("*").add(h).disableSelection();b.draggable&&a.fn.draggable&&this._makeDraggable();b.resizable&&a.fn.resizable&&this._makeResizable();this._createButtons(b.buttons);this._isOpen=false;b.bgiframe&&a.fn.bgiframe&&f.bgiframe();b.autoOpen&&this.open()},destroy:function(){this.overlay&&this.overlay.destroy();this.uiDialog.hide();this.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");this.uiDialog.remove(); this.originalTitle&&this.element.attr("title",this.originalTitle)},close:function(c){var b=this;if(false!==b._trigger("beforeclose",c)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b.options.hide?b.uiDialog.hide(b.options.hide,function(){b._trigger("close",c)}):b.uiDialog.hide()&&b._trigger("close",c);a.ui.dialog.overlay.resize();b._isOpen=false;if(b.options.modal){var d=0;a(".ui-dialog").each(function(){if(this!=b.uiDialog[0])d=Math.max(d,a(this).css("z-index"))});a.ui.dialog.maxZ= d}}},isOpen:function(){return this._isOpen},moveToTop:function(c,b){if(this.options.modal&&!c||!this.options.stack&&!this.options.modal)return this._trigger("focus",b);if(this.options.zIndex>a.ui.dialog.maxZ)a.ui.dialog.maxZ=this.options.zIndex;this.overlay&&this.overlay.$el.css("z-index",a.ui.dialog.overlay.maxZ=++a.ui.dialog.maxZ);c={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++a.ui.dialog.maxZ);this.element.attr(c);this._trigger("focus", b)},open:function(){if(!this._isOpen){var c=this.options,b=this.uiDialog;this.overlay=c.modal?new a.ui.dialog.overlay(this):null;b.next().length&&b.appendTo("body");this._size();this._position(c.position);b.show(c.show);this.moveToTop(false);c.modal&&b.bind("keypress.ui-dialog",function(d){if(d.keyCode==a.ui.keyCode.TAB){var e=a(":tabbable",this),f=e.filter(":first")[0],h=e.filter(":last")[0];if(d.target==h&&!d.shiftKey)setTimeout(function(){f.focus()},1);else d.target==f&&d.shiftKey&&setTimeout(function(){h.focus()}, 1)}});a([]).add(b.find(".ui-dialog-content :tabbable:first")).add(b.find(".ui-dialog-buttonpane :tabbable:first")).add(b).filter(":first").focus();this._trigger("open");this._isOpen=true}},_createButtons:function(c){var b=this,d=false,e=a("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();typeof c=="object"&&c!==null&&a.each(c,function(){return!(d=true)});if(d){a.each(c,function(f,h){a('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(f).click(function(){h.apply(b.element[0], arguments)}).hover(function(){a(this).addClass("ui-state-hover")},function(){a(this).removeClass("ui-state-hover")}).focus(function(){a(this).addClass("ui-state-focus")}).blur(function(){a(this).removeClass("ui-state-focus")}).appendTo(e)});e.appendTo(this.uiDialog)}},_makeDraggable:function(){var c=this,b=this.options,d;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){d=b.height;a(this).height(a(this).height()).addClass("ui-dialog-dragging"); b.dragStart&&b.dragStart.apply(c.element[0],arguments)},drag:function(){b.drag&&b.drag.apply(c.element[0],arguments)},stop:function(){a(this).removeClass("ui-dialog-dragging").height(d);b.dragStop&&b.dragStop.apply(c.element[0],arguments);a.ui.dialog.overlay.resize()}})},_makeResizable:function(c){c=c===undefined?this.options.resizable:c;var b=this,d=this.options;this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,maxWidth:d.maxWidth,maxHeight:d.maxHeight,minWidth:d.minWidth, minHeight:d.minHeight,start:function(){a(this).addClass("ui-dialog-resizing");d.resizeStart&&d.resizeStart.apply(b.element[0],arguments)},resize:function(){d.resize&&d.resize.apply(b.element[0],arguments)},handles:typeof c=="string"?c:"n,e,s,w,se,sw,ne,nw",stop:function(){a(this).removeClass("ui-dialog-resizing");d.height=a(this).height();d.width=a(this).width();d.resizeStop&&d.resizeStop.apply(b.element[0],arguments);a.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")}, _position:function(c){var b=a(window),d=a(document),e=d.scrollTop();d=d.scrollLeft();var f=e;if(a.inArray(c,["center","top","right","bottom","left"])>=0)c=[c=="right"||c=="left"?c:"center",c=="top"||c=="bottom"?c:"middle"];if(c.constructor!=Array)c=["center","middle"];if(c[0].constructor==Number)d+=c[0];else switch(c[0]){case "left":d+=0;break;case "right":d+=b.width()-this.uiDialog.outerWidth();break;default:case "center":d+=(b.width()-this.uiDialog.outerWidth())/2}if(c[1].constructor==Number)e+= c[1];else switch(c[1]){case "top":e+=0;break;case "bottom":e+=b.height()-this.uiDialog.outerHeight();break;default:case "middle":e+=(b.height()-this.uiDialog.outerHeight())/2}e=Math.max(e,f);this.uiDialog.css({top:e,left:d})},_setData:function(c,b){j[c]&&this.uiDialog.data(j[c],b);switch(c){case "buttons":this._createButtons(b);break;case "closeText":this.uiDialogTitlebarCloseText.text(b);break;case "dialogClass":this.uiDialog.removeClass(this.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+ b);break;case "draggable":b?this._makeDraggable():this.uiDialog.draggable("destroy");break;case "height":this.uiDialog.height(b);break;case "position":this._position(b);break;case "resizable":var d=this.uiDialog,e=this.uiDialog.is(":data(resizable)");e&&!b&&d.resizable("destroy");e&&typeof b=="string"&&d.resizable("option","handles",b);e||this._makeResizable(b);break;case "title":a(".ui-dialog-title",this.uiDialogTitlebar).html(b||"&nbsp;");break;case "width":this.uiDialog.width(b);break}a.widget.prototype._setData.apply(this, arguments)},_size:function(){var c=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var b=this.uiDialog.css({height:"auto",width:c.width}).height();this.element.css({minHeight:Math.max(c.minHeight-b,0),height:c.height=="auto"?"auto":Math.max(c.height-b,0)})}});a.extend(a.ui.dialog,{version:"1.7.2",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150, minWidth:150,modal:false,position:"center",resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},getter:"isOpen",uuid:0,maxZ:0,getTitleId:function(c){return"ui-dialog-title-"+(c.attr("id")||++this.uuid)},overlay:function(c){this.$el=a.ui.dialog.overlay.create(c)}});a.extend(a.ui.dialog.overlay,{instances:[],maxZ:0,events:a.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(c){return c+".dialog-overlay"}).join(" "),create:function(c){if(this.instances.length===0){setTimeout(function(){a.ui.dialog.overlay.instances.length&& a(document).bind(a.ui.dialog.overlay.events,function(d){return(a(d.target).parents(".ui-dialog").css("zIndex")||0)>a.ui.dialog.overlay.maxZ})},1);a(document).bind("keydown.dialog-overlay",function(d){c.options.closeOnEscape&&d.keyCode&&d.keyCode==a.ui.keyCode.ESCAPE&&c.close(d)});a(window).bind("resize.dialog-overlay",a.ui.dialog.overlay.resize)}var b=a("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});c.options.bgiframe&&a.fn.bgiframe&& b.bgiframe();this.instances.push(b);return b},destroy:function(c){this.instances.splice(a.inArray(this.instances,c),1);this.instances.length===0&&a([document,window]).unbind(".dialog-overlay");c.remove();var b=0;a.each(this.instances,function(){b=Math.max(b,this.css("z-index"))});this.maxZ=b},height:function(){if(a.browser.msie&&a.browser.version<7){var c=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight),b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight); return c<b?a(window).height()+"px":c+"px"}else return a(document).height()+"px"},width:function(){if(a.browser.msie&&a.browser.version<7){var c=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth),b=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);return c<b?a(window).width()+"px":c+"px"}else return a(document).width()+"px"},resize:function(){var c=a([]);a.each(a.ui.dialog.overlay.instances,function(){c=c.add(this)});c.css({width:0,height:0}).css({width:a.ui.dialog.overlay.width(), height:a.ui.dialog.overlay.height()})}});a.extend(a.ui.dialog.overlay.prototype,{destroy:function(){a.ui.dialog.overlay.destroy(this.$el)}})})(jQuery);