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