var g_modalHelper=(window!=g_topWindow)?g_topWindow.g_modalHelper:new ModalHelper();function ModalHelper(){this.Show=function(a,b){if(!this.bCurtain){this.bCurtain=true;this.divBack=this.targetDoc.createElement("div");this.hiddenSelects=null;this.hiddenIframes=null;this.hiddenEmbeds=null;if(b){this.hiddenSelects=HideAllVisibleElementsByName("SELECT",true);this.hiddenIframes=HideAllVisibleElementsByName("IFRAME");this.hiddenEmbeds=HideAllVisibleElementsByName("EMBED")}this.divBack.style.height=ValidCssValue(g_topWindow.GetClientHeight());AddCssClass(this.divBack,"vsxModalCurtain");if(a){AddCssClass(this.divBack,"vsxModalCurtain_shadow")}else{RemoveCssClass(this.divBack,"vsxModalCurtain_shadow")}this.targetDoc.body.appendChild(this.divBack);this.divBack.onclick=this.OnCurtainClick;this.divBack.onunload=this.OnCurtainUnload;this.divBack.onkeydown=this.OnCurtainKeydown;this.nTimeout=(new Date()).getTime()+800;g_topWindow.g_resizehandler.Add(this.OnCurtainResize);if("function"==(typeof this.fnCallback).toLowerCase()){this.fnCallback(true)}}};this.Hide=function(){if(this.bCurtain){this.bCurtain=false;this.targetDoc.body.removeChild(this.divBack);this.divBack=null;ShowAllHiddenElementsInArray(this.hiddenSelects);ShowAllHiddenElementsInArray(this.hiddenIframes);ShowAllHiddenElementsInArray(this.hiddenEmbeds);if("function"==(typeof this.fnCallback).toLowerCase()){this.fnCallback(false)}var a,b;for(a=0;a<this.popupL.length;++a){b=this.popupL[a];if(null!=b){if("undefined"!=typeof b.style){b.style.visibility="hidden"}else{b.visibility="hide"}}}}};this.CreatePopup=function(f,h,e,b,d,g,i){if(!this.bCurtain){return null}var c=GetElementTopwindowOffsets(f,f);var a=this.targetDoc.createElement("div");a.id=h;AddCssClass(a,"vsxModalCurtain_Popup");AddCssClass(a,e);SetElmLeft(a,c.offsetLeft+b);SetElmTop(a,c.offsetTop+d);SetElmWidth(a,g);SetElmHeight(a,i);AddToArray(this.popupL,a);this.targetDoc.body.appendChild(a);return a};this.DeletePopup=function(a){if(null!=a){this.targetDoc.body.removeChild(a);RemoveFromArray(this.popupL,a)}return};this.OnCurtainClick=function(a){g_modalHelper.OnCurtainEvent(1,a)};this.OnCurtainKeydown=function(a){g_modalHelper.OnCurtainEvent(2,a)};this.OnCurtainResize=function(a){g_modalHelper.OnCurtainEvent(3,a)};this.OnCurtainUnload=function(a){g_modalHelper.OnCurtainEvent(4,a)};this.OnCurtainEvent=function(b,a){var c=false;switch(b){case 3:c=(0!=this.nTimeout)&&((new Date()).getTime()<this.nTimeout);if(!c){this.nTimeout=0}break;case 1:c=(!this.bHideAfterMouseClick);break;default:ASSERT(!c);break}if(!c){this.Hide()}return false};this.bCurtain=false;this.divBack=null;this.targetDoc=GetTopWindow().document;this.bInitFlag=false;this.hiddenSelects=null;this.hiddenIframes=null;this.hiddenEmbeds=null;this.popupL=[];this.fnCallback=null;this.userdata=new Object();this.bHideAfterMouseClick=false}function GetElementTopwindowOffsets(a,e){var m=new Object();m.offsetLeft=0;m.offsetTop=0;var h=e.window;var c=e;var d;var b=0;var k=0;while(null!=c){if((c.offsetTop)&&isFinite(c.offsetTop)){b+=c.offsetTop}if((c.offsetLeft)&&isFinite(c.offsetLeft)){k+=c.offsetLeft}d=c;while((null!=d)&&(d!=c.offsetParent)){b-=GetYScroll(d);k-=GetXScroll(d);d=d.parentNode}if(null!=c.offsetParent){c=c.offsetParent}else{if(null!=h){var g=h;h=h.parent;if(h==g){break}var f,j;var l=h.frames;for(f=0;f<l.length;++f){j=l[f];if(j.frameElement.contentWindow==g){c=j.frameElement;frameborder=c.frameBorder;if(frameborder==""){frameborder=2}else{frameborder=new Number(frameborder)}b+=frameborder;k+=frameborder;d=c;while(d!=c.offsetParent){b-=GetYScroll(d);k-=GetXScroll(d);d=d.parentNode}break}}}else{break}}}m.offsetLeft=k;m.offsetTop=b;return m};
