
Type.registerNamespace('Monster.Client.Behavior');Monster.Client.Behavior.ReduxDialogAdapter=function(element)
{Monster.Client.Behavior.ReduxDialogAdapter.initializeBase(this,[element]);this.createProperty("triggerElementId");this.createProperty("dialogType");this.createProperty("dialogPosition");this.createProperty("dialogWidth");this.createProperty("dialogHeight");this.createProperty("modal");this.createProperty("onload");this.createProperty("callbackAdapterElement");this.createProperty("callbackFunction");this.createProperty("dialogName");this._modalOverlay=null;this._triggerElement=null;this._closeBtn=null;}
Monster.Client.Behavior.ReduxDialogAdapter.prototype={initialize:function()
{Monster.Client.Behavior.ReduxDialogAdapter.callBaseMethod(this,'initialize');this.dialog=$(this._element);this._modal=(this.modal==='true');if(this._modal)$(this.dialog).addClass("modal");this._dialogWidth=(this.dialogWidth)?parseInt(this.dialogWidth):'200';this._dialogHeight=(this.dialogHeight)?parseInt(this.dialogHeight):'150';this._boxContentHeader=null;if(this.triggerElementId!=undefined)this.initTriggerHandlers();if(!window.document.reduxDialogs)
{window.document.reduxDialogs=new Array();}
if(this.dialogName!=undefined)
{this.addGlobalReferences(this.dialogName);}
if(this.onload&&this.onload=="True"&&MONS_isDOMLoaded==true)
{this.showDialog();}},dispose:function()
{this.unbindHandlers();if(this.triggerElementId)this._triggerElement.unbind('click');Monster.Client.Behavior.ReduxDialogAdapter.callBaseMethod(this,'dispose');},unbindHandlers:function()
{if(this._closeBtn!==null)
{this._closeBtn.unbind('click');}},addGlobalReferences:function(name)
{window.document.reduxDialogs[name]=this;},initTriggerHandlers:function()
{var self=this;var triggerElement=document.getElementById(this.triggerElementId);if(triggerElement!=null)
{this._triggerElement=$(triggerElement);this._triggerElement.click(function(e){self.showDialog(e);});}},hideDialog:function(confirm)
{if(this.callbackAdapterElement&&this.callbackFunction)
{var adapterElement=$get(this.callbackAdapterElement);if(adapterElement)
{adapter=adapterElement._behaviors[0];if(adapter)
{var fn=adapter[this.callbackFunction];if(fn){fn(confirm);}}}}
this.unbindHandlers();var activeDialog=document.getElementById('reduxDialog_active');if(activeDialog)
{$(activeDialog).remove();}
var overlay=document.getElementById('reduxDialog_active_modal');if(overlay)
{$(overlay).remove();}},positionDialog:function()
{var position=(this.dialogPosition)?this.dialogPosition:'page_center';var ptop=0;var pleft=0;if(position=='page_center')
{var dh=this._dialogHeight/2;var dw=this._dialogWidth/2;var wh=$(window).height()/2;var ww=$(window).width()/2;ptop=($(window).height()/2)-(this._dialogHeight/2)+$(window).scrollTop();pleft=($(window).width()/2)-(this._dialogWidth/2)+$(window).scrollLeft();}
else
{var elOffset=this._triggerElement.offset();var eh=this._triggerElement.height();var ew=this._triggerElement.width();var dh=this._dialogHeight;var dw=this._dialogWidth;switch(position)
{case'left_bottom':ptop=parseInt(elOffset.top+eh);pleft=parseInt(elOffset.left-dw);break;case'left_top':ptop=parseInt(elOffset.top-dh);pleft=parseInt(elOffset.left-dw);break;case'right_top':ptop=parseInt(elOffset.top-dh);pleft=parseInt(elOffset.left+ew);break;case'right_bottom':ptop=parseInt(elOffset.top+eh);pleft=parseInt(elOffset.left+ew);break;}}
return{top:ptop+'px',left:pleft+'px'}},showDialog:function(e)
{var self=this;var prevDialog=document.getElementById('reduxDialog_active');if(prevDialog)
{$(prevDialog).remove();}
var dialog=this.dialog.clone();this._closeBtn=$("<div class='close-icon'></div>");this._closeBtn.click(function(){self.hideDialog(false);});this._boxContentHeader=dialog.find('.box-content-header');this._boxContent=dialog.find('.box-content');if(this.dialogType!='standard')
{switch(this.dialogType)
{case'error':this._boxContentHeader.addClass('error');break;case'warning':this._boxContentHeader.addClass('warning');break;}}
this._boxContentHeader.after(this._closeBtn);var self=this;dialog.removeAttr("id")
dialog.attr('id','reduxDialog_active');var pos=this.positionDialog();var st=$(window).scrollTop();if((parseInt(pos.top)-$(window).scrollTop())<=5)
{pos.top=parseInt(pos.top)+$(window).scrollTop()+5+'px';}
dialog.css({'position':'absolute','z-index':'99','width':this._dialogWidth+'px','top':pos.top,'left':pos.left});this._boxContent.css('height',this._dialogHeight-this._boxContent.height()+'px');if(this._modal)
{this._modalOverlay=$('<div id="reduxDialog_active_modal" class="modal-overlay"></div>').hide();$('body').append(this._modalOverlay);}
$('body').append(dialog);if(this._modal){this._modalOverlay.show()};if((jQuery.browser.msie)&&(parseInt(jQuery.browser.version.slice(0,1))<=6))
{dialog.bgiframe();}
if(this.dialogType=="alert"){var closeButton=$(dialog).find(".btn-primary-large")[0];if(closeButton){$addHandlers(closeButton,{click:this.hideDialog},this);closeButton.style.display="block";}}
dialog.show();window.document.reduxDialogs.activeDialog=this;if(e)e.preventDefault();}}
Monster.Client.Behavior.ReduxDialogAdapter.registerClass('Monster.Client.Behavior.ReduxDialogAdapter',Monster.Client.Behavior.DataAdapterBase);if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();
;
