(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 G=this,H=this.options,I=H.title||this.originalTitle||"&nbsp;",L=C.ui.dialog.getTitleId(this.element),J=(this.uiDialog=C("<div/>")).appendTo(document.body).hide().addClass(A+H.dialogClass).css({position:"absolute",overflow:"hidden",zIndex:H.zIndex}).attr("tabIndex",-1).css("outline",0).keydown(function(N){(H.closeOnEscape&&N.keyCode&&N.keyCode==C.ui.keyCode.ESCAPE&&G.close(N))}).attr({role:"dialog","aria-labelledby":L}).mousedown(function(N){G.moveToTop(false,N)}),F=this.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(J),D=(this.uiDialogTitlebar=C("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(J),K=C('<a href="#"/>').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role","button").hover(function(){K.addClass("ui-state-hover")},function(){K.removeClass("ui-state-hover")}).focus(function(){K.addClass("ui-state-focus")}).blur(function(){K.removeClass("ui-state-focus")}).mousedown(function(N){N.stopPropagation()}).click(function(N){G.close(N);return false}).appendTo(D),M=(this.uiDialogTitlebarCloseText=C("<span/>")).addClass("ui-icon ui-icon-closethick").text(H.closeText).appendTo(K),E=C("<span/>").addClass("ui-dialog-title").attr("id",L).html(I).prependTo(D);D.find("*").add(D).disableSelection();(H.draggable&&C.fn.draggable&&this._makeDraggable());(H.resizable&&C.fn.resizable&&this._makeResizable());this._createButtons(H.buttons);this._isOpen=false;(H.bgiframe&&C.fn.bgiframe&&J.bgiframe());(H.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(E){var D=this;if(false===D._trigger("beforeclose",E)){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",E)}):D.uiDialog.hide()&&D._trigger("close",E));C.ui.dialog.overlay.resize();D._isOpen=false;if(D.options.modal){var F=0;C(".ui-dialog").each(function(){if(this!=D.uiDialog[0]){F=Math.max(F,C(this).css("z-index"))}});C.ui.dialog.maxZ=F}},isOpen:function(){return this._isOpen},moveToTop:function(E,F){if((this.options.modal&&!E)||(!this.options.stack&&!this.options.modal)){return this._trigger("focus",F)}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",F)},open:function(){if(this._isOpen){return}var D=this.options,E=this.uiDialog;this.overlay=D.modal?new C.ui.dialog.overlay(this):null;(E.next().length&&E.appendTo("body"));this._size();this._position(D.position);E.show(D.show);this.moveToTop(true);(D.modal&&E.bind("keypress.ui-dialog",function(G){if(G.keyCode!=C.ui.keyCode.TAB){return}var H=C(":tabbable",this),F=H.filter(":first")[0],I=H.filter(":last")[0];if(G.target==I&&!G.shiftKey){setTimeout(function(){F.focus()},1)}else{if(G.target==F&&G.shiftKey){setTimeout(function(){I.focus()},1)}}}));C([]).add(E.find(".ui-dialog-content :tabbable:first")).add(E.find(".ui-dialog-buttonpane :tabbable:first")).add(E).filter(":first").focus();this._trigger("open");this._isOpen=true},_createButtons:function(F){var D=this,G=false,E=C("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");this.uiDialog.find(".ui-dialog-buttonpane").remove();(typeof F=="object"&&F!==null&&C.each(F,function(){return !(G=true)}));if(G){C.each(F,function(I,H){C('<button type="button"></button>').addClass("ui-state-default ui-corner-all").text(I).click(function(){H.apply(D.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,E=this.options,F;this.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(){F=E.height;C(this).height(C(this).height()).addClass("ui-dialog-dragging");(E.dragStart&&E.dragStart.apply(D.element[0],arguments))},drag:function(){(E.drag&&E.drag.apply(D.element[0],arguments))},stop:function(){C(this).removeClass("ui-dialog-dragging").height(F);(E.dragStop&&E.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(G){var D=C(window),I=C(document),F=I.scrollTop(),H=I.scrollLeft(),E=F;if(C.inArray(G,["center","top","right","bottom","left"])>=0){G=[G=="right"||G=="left"?G:"center",G=="top"||G=="bottom"?G:"middle"]}if(G.constructor!=Array){G=["center","middle"]}if(G[0].constructor==Number){H+=G[0]}else{switch(G[0]){case"left":H+=0;break;case"right":H+=D.width()-this.uiDialog.outerWidth();break;default:case"center":H+=(D.width()-this.uiDialog.outerWidth())/2}}if(G[1].constructor==Number){F+=G[1]}else{switch(G[1]){case"top":F+=0;break;case"bottom":F+=D.height()-this.uiDialog.outerHeight();break;default:case"middle":F+=(D.height()-this.uiDialog.outerHeight())/2}}F=Math.max(F,E);this.uiDialog.css({top:F,left:H})},_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:0});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),width:E.width=="auto"?"auto":E.width})}});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 E=Math.max(document.documentElement.scrollWidth,document.body.scrollWidth);var D=Math.max(document.documentElement.offsetWidth,document.body.offsetWidth);if(E<D){return C(window).width()+"px"}else{return E+"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);