﻿
Type.registerNamespace('Interhome.Web.BL.WebFramework.Ajax');Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior=function(element){Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior.initializeBase(this,[element]);this._containerToHideID=null;this._loadingContainerID=null;this._containerToHide=null;this._loadingContainer=null;this._elementOnClickHandler=null;this._modeChangeSizeChangeAnimations=null;this._href=null;this._isJavascript=false;this._checkValidation=false;}
Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior.prototype={initialize:function(){Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior.callBaseMethod(this,'initialize');var e=this.get_element();if(e.nodeName.toLowerCase()=='a'){if(e.href.search(/^javascript\:/)>=0){this._isJavascript=true;this._href=unescape(e.href.replace(/^javascript\:/,''));this._checkValidation=true;}else{this._href=Utf8.decode(e.href);}
e.href='';e.setAttribute('onclick','return false;');e.style.cursor='pointer';this._elementOnClickHandler=this.addHandler(e,'click',this._clicked);}
this._containerToHide=$get(this._containerToHideID);this._loadingContainer=$get(this._loadingContainerID);},dispose:function(){var e=this.get_element();this.removeHandler(e,'click',this._elementOnClickHandler);Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior.callBaseMethod(this,'dispose');},_clicked:function(args){if(this._href!==null){if(this._isJavascript){eval(this._href);}else{document.location.href=this._href;}}
if(!this._checkValidation||Page_IsValid){this.scrollControl(this._containerToHide,'hide',true);this.scrollControl(this._loadingContainer,'load',false);}
return false;},getAttribute:function(control,attributeName){var attr=control.getAttribute(attributeName);if(attr===undefined){return'';}else{return attr;}},scrollControl:function(control,animationIdentifier,hide){var parentNode=control.parentNode;if(this.getAttribute(parentNode,'rel')!='scrollableContainer'){var div=$common.createElementFromTemplate({nodeName:'div',properties:{style:{position:'relative',overflow:'hidden'}}});div.setAttribute('rel','scrollableContainer');parentNode.insertBefore(div,control);div.appendChild(control);control.style.postion='absolute';$common.setVisible(control,true);control.style.display='block';parentNode=div;if(hide){div.style.height=Sys.UI.DomElement.getBounds(control).height+'px';}else{div.style.height='0px';}}
if(this._modeChangeSizeChangeAnimations===null){this._modeChangeSizeChangeAnimations=[];}
var animObject=null;for(var i=0;i<this._modeChangeSizeChangeAnimations.length;i++){if(this._modeChangeSizeChangeAnimations[i].Identifier==animationIdentifier){animObject=this._modeChangeSizeChangeAnimations[i];break;}}
if(animObject===null){animObject={Identifier:animationIdentifier,Animiation:new AjaxControlToolkit.Animation.LengthAnimation(parentNode,0.5,50,"style","height",0,0,"px")};this._modeChangeSizeChangeAnimations.push(animObject);}
var bounds=Sys.UI.DomElement.getBounds(control);var anim=animObject.Animiation;if(anim.get_isPlaying()){anim.stop();}
anim.set_startValue(Sys.UI.DomElement.getBounds(parentNode).height);anim.set_endValue((hide?0:bounds.height));var endHandler=Function.createDelegate(this,function(){anim.remove_ended(endHandler);parentNode.style.height=(hide?'0':bounds.height)+'px';});anim.add_ended(endHandler);anim.play();},addHandler:function(element,eventName,eventMethod){var handler=Function.createDelegate(this,eventMethod);$addHandler(element,eventName,handler);return handler;},removeHandler:function(element,eventName,handler){if(handler===null){return;}
try{$removeHandler(element,eventName,handler);}catch(e){}
handler=null;},get_ContainerToHideID:function(){return this._containerToHideID;},set_ContainerToHideID:function(value){this._containerToHideID=value;},get_LoadingContainerID:function(){return this._loadingContainerID;},set_LoadingContainerID:function(value){this._loadingContainerID=value;}};Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior.registerClass('Interhome.Web.BL.WebFramework.Ajax.LoadingOverlayBehavior',AjaxControlToolkit.BehaviorBase);
if(typeof(Sys)!=='undefined')Sys.Application.notifyScriptLoaded();