(function(A){var B={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 E=this,H=this.options,G=H.title||this.originalTitle||"&nbsp;",L=A.ui.dialog.getTitleId(this.element),D=(this.uiDialog=A("<div/>")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+H.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:H.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(M){(H.closeOnEscape&&M.keyCode&&M.keyCode==A.ui.keyCode.ESCAPE&&E.close(M))}).attr({role:"dialog","aria-labelledby":L}).mousedown(function(M){E.moveToTop(M)}),J=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(D),C=(this.uiDialogTitlebar=A("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(D),F=A('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){F.addClass("ui-state-hover")},function(){F.removeClass("ui-state-hover")}).focus(function(){F.addClass("ui-state-focus")}).blur(function(){F.removeClass("ui-state-focus")}).mousedown(function(M){M.stopPropagation()}).click(function(M){E.close(M);return false}).appendTo(C),K=(this.uiDialogTitlebarCloseText=A("<span/>")).addClass("ui-icon ui-icon-closethick").text(H.closeText).appendTo(F),I=A("<span/>").addClass("ui-dialog-title").attr("id",L).html(G).prependTo(C);C.find("*").add(C).disableSelection();(H.draggable&&A.fn.draggable&&this._makeDraggable());(H.resizable&&A.fn.resizable&&this._makeResizable());this._createButtons(H.buttons);this._isOpen=false;(H.bgiframe&&A.fn.bgiframe&&D.bgiframe());(H.autoOpen&&this.open())},destroy:function(){(this.overlay&&this.overlay.destroy());(this.shadow&&this._destroyShadow());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){if(false===this._trigger("beforeclose",C)){return}(this.overlay&&this.overlay.destroy());(this.shadow&&this._destroyShadow());this.uiDialog.hide(this.options.hide).unbind("keypress.ui-dialog");this._trigger("close",C);A.ui.dialog.overlay.resize();this._isOpen=false},isOpen:function(){return this._isOpen},moveToTop:function(C,G){if((this.options.modal&&!C)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",G)}var E=this.options.zIndex,D=this.options;A(".ui-dialog:visible").each(function(){E=Math.max(E,parseInt(A(this).css("z-index"),10)||D.zIndex)});(this.overlay&&this.overlay.$el.css("z-index",++E));(this.shadow&&this.shadow.css("z-index",++E));var F={scrollTop:this.element.attr("scrollTop"),scrollLeft:this.element.attr("scrollLeft")};this.uiDialog.css("z-index",++E);this.element.attr(F);this._trigger("focus",G)},open:function(D){if(this._isOpen){return}var C=this.options,E=this.uiDialog;this.overlay=C.modal?new A.ui.dialog.overlay(this):null;(E.next().length&&E.appendTo("body"));this._size();this._position(C.position);E.show(C.show);this.moveToTop(true,D);(C.modal&&E.bind("keypress.ui-dialog",function(F){if(F.keyCode!=A.ui.keyCode.TAB){return}var H=A(":tabbable",this),G=H.filter(":first")[0],I=H.filter(":last")[0];if(F.target==I&&!F.shiftKey){setTimeout(function(){G.focus()},1)}else{if(F.target==G&&F.shiftKey){setTimeout(function(){I.focus()},1)}}}));A([]).add(E.find(".ui-dialog-content :tabbable:first")).add(E.find(".ui-dialog-buttonpane :tabbable:first")).add(E.find(".ui-dialog-titlebar :tabbable:first")).filter(":first").focus();if(C.shadow){this._createShadow()}this._trigger("open",D);this._isOpen=true},_createButtons:function(F){var D=this,E=false,C=A("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof F=="object"&&F!==null&&A.each(F,function(){return !(E=true)}));if(E){A.each(F,function(G,H){A('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(G).click(function(){H.apply(D.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(C)});C.appendTo(this.uiDialog)}},_makeDraggable:function(){var D=this,C=this.options;this.uiDialog.draggable({cancel:".ui-dialog-content",helper:C.dragHelper,handle:".ui-dialog-titlebar",containment:"document",start:function(){(C.dragStart&&C.dragStart.apply(D.element[0],arguments));if(A.browser.msie&&A.browser.version<7&&D.shadow){D.shadow.hide()}},drag:function(){(C.drag&&C.drag.apply(D.element[0],arguments));D._refreshShadow(1)},stop:function(){(C.dragStop&&C.dragStop.apply(D.element[0],arguments));A.ui.dialog.overlay.resize();if(A.browser.msie&&A.browser.version<7&&D.shadow){D.shadow.show()}D._refreshShadow()}})},_makeResizable:function(F){F=(F===undefined?this.options.resizable:F);var E=this,D=this.options,C=typeof F=="string"?F:"n,e,s,w,se,sw,ne,nw";this.uiDialog.resizable({cancel:".ui-dialog-content",alsoResize:this.element,helper:D.resizeHelper,maxWidth:D.maxWidth,maxHeight:D.maxHeight,minWidth:D.minWidth,minHeight:D.minHeight,start:function(){(D.resizeStart&&D.resizeStart.apply(E.element[0],arguments));if(A.browser.msie&&A.browser.version<7&&E.shadow){E.shadow.hide()}},resize:function(){(D.resize&&D.resize.apply(E.element[0],arguments));E._refreshShadow(1)},handles:C,stop:function(){(D.resizeStop&&D.resizeStop.apply(E.element[0],arguments));A.ui.dialog.overlay.resize();if(A.browser.msie&&A.browser.version<7&&E.shadow){E.shadow.show()}E._refreshShadow()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_position:function(C){var D=A(window),E=A(document),H=E.scrollTop(),G=E.scrollLeft(),F=H;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){G+=C[0]}else{switch(C[0]){case"left":G+=0;break;case"right":G+=D.width()-this.uiDialog.outerWidth();break;default:case"center":G+=(D.width()-this.uiDialog.outerWidth())/2}}if(C[1].constructor==Number){H+=C[1]}else{switch(C[1]){case"top":H+=0;break;case"bottom":H+=D.height()-this.uiDialog.outerHeight();break;default:case"middle":H+=(D.height()-this.uiDialog.outerHeight())/2}}H=Math.max(H,F);this.uiDialog.css({top:H,left:G})},_setData:function(C,D){(B[C]&&this.uiDialog.data(B[C],D));switch(C){case"buttons":this._createButtons(D);break;case"closeText":this.uiDialogTitlebarCloseText.text(D);break;case"draggable":(D?this._makeDraggable():this.uiDialog.draggable("destroy"));break;case"height":this.uiDialog.height(D);break;case"position":this._position(D);break;case"resizable":var E=this.uiDialog,F=this.uiDialog.is(":data(resizable)");(F&&!D&&E.resizable("destroy"));(F&&typeof D=="string"&&E.resizable("option","handles",D));(F||this._makeResizable(D));break;case"title":A(".ui-dialog-title",this.uiDialogTitlebar).html(D||"&nbsp;");break;case"width":this.uiDialog.width(D);break}A.widget.prototype._setData.apply(this,arguments)},_size:function(){var C=this.options;this.element.css({height:0,minHeight:0,width:"auto"});var D=this.uiDialog.css({height:"auto",width:C.width}).height();this.element.css({minHeight:Math.max(C.minHeight-D,0),height:C.height=="auto"?"auto":C.height-D})},_createShadow:function(){this.shadow=A('<div class="ui-widget-shadow"></div>').css("position","absolute").appendTo(document.body);this._refreshShadow();return this.shadow},_refreshShadow:function(D){if(D&&A.browser.msie&&A.browser.version<7){return}var C=this.uiDialog.offset();this.shadow.css({left:C.left,top:C.top,width:this.uiDialog.outerWidth(),height:this.uiDialog.outerHeight()})},_destroyShadow:function(){this.shadow.remove();this.shadow=null}});A.extend(A.ui.dialog,{version:"1.6rc6",defaults:{autoOpen:true,bgiframe:false,buttons:{},closeOnEscape:true,closeText:"close",draggable:true,height:"auto",minHeight:150,minWidth:150,modal:false,position:"center",resizable:true,shadow:true,stack:true,title:"",width:300,zIndex:1000},getter:"isOpen",uuid: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:[],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("a, :input").bind(A.ui.dialog.overlay.events,function(){var H=false;var E=A(this).parents(".ui-dialog");if(E.length){var F=A(".ui-dialog-overlay");if(F.length){var G=parseInt(F.css("z-index"),10);F.each(function(){G=Math.max(G,parseInt(A(this).css("z-index"),10))});H=parseInt(E.css("z-index"),10)>G}else{H=true}}return H})},1);A(document).bind("keydown.dialog-overlay",function(E){(C.options.closeOnEscape&&E.keyCode&&E.keyCode==A.ui.keyCode.ESCAPE&&C.close(E))});A(window).bind("resize.dialog-overlay",A.ui.dialog.overlay.resize)}var D=A("<div></div>").appendTo(document.body).addClass("ui-widget-overlay").css({width:this.width(),height:this.height()});(C.options.bgiframe&&A.fn.bgiframe&&D.bgiframe());this.instances.push(D);return D},destroy:function(C){this.instances.splice(A.inArray(this.instances,C),1);if(this.instances.length===0){A("a, :input").add([document,window]).unbind(".dialog-overlay")}C.remove()},height:function(){if(A.browser.msie&&A.browser.version<7){var C=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);var D=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);if(C<D){return A(window).height()+"px"}else{return C+"px"}}else{return A(document).height()+"px"}},width:function(){if(A.browser.msie&&A.browser.version<7){var D=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var C=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(D<C){return A(window).width()+"px"}else{return D+"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);
