/*
 * jQuery UI Dialog 1.8a2
 *
 * Copyright (c) 2009 AUTHORS.txt (http://jqueryui.com/about)
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://docs.jquery.com/UI/Dialog
 *
 * Depends:
 *	jquery.ui.core.js
 *	jquery.ui.draggable.js
 *	jquery.ui.mouse.js
 *	jquery.ui.position.js
 *	jquery.ui.resizable.js
 *	jquery.ui.widget.js
 */(function(c){var b={maxHeight:"maxHeight.resizable",maxWidth:"maxWidth.resizable",minWidth:"minWidth.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=l.options,j=m.title||l.originalTitle||"&#160;",e=c.ui.dialog.getTitleId(l.element),k=(l.uiDialog=c("<div></div>")).appendTo(document.body).hide().addClass(a+m.dialogClass).css({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=l.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(k),f=(l.uiDialogTitlebar=c("<div></div>")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(k),i=c('<a href="#"></a>').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=(l.uiDialogTitlebarCloseText=c("<span></span>")).addClass("ui-icon ui-icon-closethick").text(m.closeText).appendTo(i),d=c("<span></span>").addClass("ui-dialog-title").attr("id",e).html(j).prependTo(f);f.find("*").add(f).disableSelection();(m.draggable&&c.fn.draggable&&l._makeDraggable());(m.resizable&&c.fn.resizable&&l._makeResizable());l._createButtons(m.buttons);l._isOpen=false;(m.stackfix&&c.fn.stackfix&&k.stackfix());(m.autoOpen&&l.open())},destroy:function(){var d=this;(d.overlay&&d.overlay.destroy());d.uiDialog.hide();d.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");d.uiDialog.remove();(d.originalTitle&&d.element.attr("title",d.originalTitle));return d},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}return d},isOpen:function(){return this._isOpen},moveToTop:function(h,g){var d=this,f=d.options;if((f.modal&&!h)||(!f.stack&&!f.modal)){return d._trigger("focus",g)}if(f.zIndex>c.ui.dialog.maxZ){c.ui.dialog.maxZ=f.zIndex}(d.overlay&&d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=++c.ui.dialog.maxZ));var e={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};d.uiDialog.css("z-index",++c.ui.dialog.maxZ);d.element.attr(e);d._trigger("focus",g);return d},open:function(){if(this._isOpen){return}var e=this,f=e.options,d=e.uiDialog;e.overlay=f.modal?new c.ui.dialog.overlay(e):null;(d.next().length&&d.appendTo("body"));e._size();e._position(f.position);d.show(f.show);e.moveToTop(true);(f.modal&&d.bind("keypress.ui-dialog",function(i){if(i.keyCode!=c.ui.keyCode.TAB){return}var h=c(":tabbable",this),j=h.filter(":first"),g=h.filter(":last");if(i.target==g[0]&&!i.shiftKey){j.focus(1);return false}else{if(i.target==j[0]&&i.shiftKey){g.focus(1);return false}}}));c([]).add(d.find(".ui-dialog-content :tabbable:first")).add(d.find(".ui-dialog-buttonpane :tabbable:first")).add(d).filter(":first").focus();e._trigger("open");e._isOpen=true;return e},_createButtons:function(g){var f=this,d=false,e=c("<div></div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix");f.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(f.uiDialog)}},_makeDraggable:function(){var d=this,f=d.options,g=c(document),e;d.uiDialog.draggable({cancel:".ui-dialog-content",handle:".ui-dialog-titlebar",containment:"document",start:function(h){e=f.height;c(this).height(c(this).height()).addClass("ui-dialog-dragging");d._trigger("dragStart",h)},drag:function(h){d._trigger("drag",h)},stop:function(h,i){f.position=[i.position.left-g.scrollLeft(),i.position.top-g.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(e);d._trigger("dragStop",h);c.ui.dialog.overlay.resize()}})},_makeResizable:function(g){g=(g===undefined?this.options.resizable:g);var d=this,f=d.options,e=typeof g=="string"?g:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:f.maxWidth,maxHeight:f.maxHeight,minWidth:f.minWidth,minHeight:d._minHeight(),handles:e,start:function(h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",h)},resize:function(h){d._trigger("resize",h)},stop:function(h){c(this).removeClass("ui-dialog-resizing");f.height=c(this).height();f.width=c(this).width();d._trigger("resizeStop",h);c.ui.dialog.overlay.resize()}}).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var d=this.options;return(d.height=="auto"?d.minHeight:Math.min(d.minHeight,d.height))},_position:function(d){var e=[],f=[0,0];d=d||c.ui.dialog.defaults.position;if(typeof d=="string"||(typeof d=="object"&&"0" in d)){e=d.split?d.split(" "):[d[0],d[1]];if(e.length==1){e[1]=e[0]}c.each(["left","top"],function(h,g){if(+e[h]==e[h]){f[h]=e[h];e[h]=g}})}else{if(typeof d=="object"){if("left" in d){e[0]="left";f[0]=d.left}else{if("right" in d){e[0]="right";f[0]=-d.right}}if("top" in d){e[1]="top";f[1]=d.top}else{if("bottom" in d){e[1]="bottom";f[1]=-d.bottom}}}}this.uiDialog.position({my:e.join(" "),at:e.join(" "),offset:f.join(" "),of:window,collision:"fit"})},_setData:function(g,h){var e=this,d=e.uiDialog,f=false;(b[g]&&d.data(b[g],h));switch(g){case"buttons":e._createButtons(h);break;case"closeText":e.uiDialogTitlebarCloseText.text(""+h);break;case"dialogClass":d.removeClass(e.options.dialogClass).addClass(a+h);break;case"disabled":(h?d.addClass("ui-dialog-disabled"):d.removeClass("ui-dialog-disabled"));break;case"draggable":(h?e._makeDraggable():d.draggable("destroy"));break;case"height":f=true;break;case"minHeight":f=true;break;case"position":e._position(h);break;case"resizable":var i=d.is(":data(resizable)");(i&&!h&&d.resizable("destroy"));(i&&typeof h=="string"&&d.resizable("option","handles",h));(i||(h!==false&&e._makeResizable(h)));break;case"title":c(".ui-dialog-title",e.uiDialogTitlebar).html(""+(h||"&#160;"));break;case"width":f=true;break}c.widget.prototype._setData.apply(e,arguments);(f&&e._size())},_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(e.height=="auto"?{minHeight:Math.max(e.minHeight-d,0),height:"auto"}:{height:Math.max(e.height-d,0)});(this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option","minHeight",this._minHeight()))}});c.extend(c.ui.dialog,{version:"1.8a2",defaults:{autoOpen:true,stackfix: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},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.stackfix&&c.fn.stackfix&&d.stackfix());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);