$.widget("ui.messagedisplay",{options:{title:"",message:"",iserror:!0,draggable:!1,modal:!0,dialogClass:"MessageDisplay",allowClose:!0,height:"auto",width:"auto",appendTo:"body",minHeight:"0px",position:{my:"center",at:"center",of:window}},_resizeTriggered:!1,_create:function(){var n=this;n.element.addClass("messagedisplayinit"),this._msgDialogInterval=0},_init:function(){try{this.element.dialog("destroy")}catch(n){}this._buildHtml()},_buildHtml:function(){var n=this,r,i,t;this.element.empty(),r=[{text:Mediasite.Player.Localization.Common.OK,click:$.proxy(n.close,n)}],this.options.buttons||(this.options.buttons=r),i=this._calcWidth(),this.element.html(this.options.message),this.element.dialog({title:this.options.title,close:$.proxy(n.close,n),modal:this.options.modal,draggable:this.options.draggable,dialogClass:this.options.dialogClass,closeOnEscape:this.options.allowClose,height:this.options.height,width:i,position:this.options.position,buttons:this.options.buttons,appendTo:this.options.appendTo,minHeight:this.options.minHeight}),this.options.allowClose||(t=$("."+this.options.dialogClass).find(".ui-dialog-titlebar-close"),t.hide()),this.options.position&&$(window).bind("resize",$.proxy(n._repositionDialog,n)),this._msgDialogInterval=setInterval(function(){n.element.is(":visible")||n.close()},500)},close:function(){this.destroy(),$.isFunction(this.options.close)&&this.options.close()},destroy:function(){clearInterval(this._msgDialogInterval),$(window).unbind("resize",this._repositionDialog),this.element.dialog("destroy"),this.element.empty(),this.element.removeClass("messagedisplayinit"),$.Widget.prototype.destroy.call(this)},_resizeThrottle:function(){clearTimeout(this._resizeTimer),this._resizeTimer=setTimeout($.proxy(this._repositionDialog,this),300)},_resizeDialog:function(){this._resizeTriggered=!0,$(window).trigger("resize")},_repositionDialog:function(){this.element.is(":visible")&&(this.element.dialog("option","width",this._calcWidth()),this.element.dialog("option","position",this.options.position)),this._resizeTriggered?this._resizeTriggered=!1:(setTimeout($.proxy(this._resizeDialog,this),100),setTimeout($.proxy(this._resizeDialog,this),200))},_calcWidth:function(){var t=this.options.width,n=$(document).outerWidth(!0)-60;return n<=this.options.width&&(t=n-60),t}})