
if(typeof(popup)=='undefined'){popup={};}
if(typeof(popup.Browser)=='undefined'){popup.Browser={};}
popup.Browser.NAME="popup.Browser";popup.Browser.IsThisInternetExplorerPc55to6x=function(){var result=false;if(navigator.platform=="Win32"&&navigator.appName=="Microsoft Internet Explorer"){var rslt=navigator.appVersion.match(/MSIE (\d+\.\d+)/,'');if(rslt!=null&&Number(rslt[1])>=5.5&&Number(rslt[1])<=7.0){result=true;}}
return result;};popup.Browser.IsThisInternetExplorerMac=function(){var result=false;if(navigator.platform.substring(0,3)=="Mac"&&navigator.appName=="Microsoft Internet Explorer"){result=true;}
return result;};popup.Browser.getClientHeight=function(){if(self.innerHeight){return self.innerHeight-20;}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight;}else if(document.body&&document.body.clientHeight){return document.body.clientHeight;}
return 0;};popup.Browser.getClientWidth=function(){if(self.innerWidth){return self.innerWidth-20;}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth;}else if(document.body&&document.body.clientWidth){return document.body.clientWidth;}
return 0;};popup.Browser.getScrollLeft=function(){if(typeof window.pageXOffset=="number"){return window.pageXOffset;}else if(document.documentElement&&document.documentElement.scrollLeft){return document.documentElement.scrollLeft;}else if(document.body&&document.body.scrollLeft){return document.body.scrollLeft;}else if(window.scrollX){return window.scrollX;}
return 0;};popup.Browser.getScrollTop=function(){if(typeof window.pageYOffset=="number"){return window.pageYOffset;}else if(document.documentElement&&document.documentElement.scrollTop){return document.documentElement.scrollTop;}else if(document.body&&document.body.scrollTop){return document.body.scrollTop;}else if(window.scrollY){return window.scrollY;}
return 0;};popup.Browser.getDocumentCoordinatesFromEvent=function(e){var docX=(e.pageX||e.clientX+popup.Browser.getScrollLeft());var docY=(e.pageY||e.clientY+popup.Browser.getScrollTop());if(isNaN(docX)){docX=0;}
if(isNaN(docY)){docY=0;}
return{x:docX,y:docY};};popup.Browser.getCurrentStyle=function(element){return(element.currentStyle||document.defaultView.getComputedStyle(element,null));};popup.Browser.getElementFromEvent=function(e){var element=(e.target||e.srcElement);if(element.nodeType==3){element=element.parentNode;}
return element;};popup.Browser.addEvent=function(element,eventName,eventHandler,isCapturing){if(!element)return;if(!eventName)return;if(!eventHandler)return;if(document.addEventListener){element.addEventListener(eventName,eventHandler,isCapturing);}else if(document.attachEvent){element.attachEvent("on"+eventName,eventHandler);}else{element["on"+eventName]=eventHandler;}};popup.Browser.removeEvent=function(element,eventName,eventHandler,isCapturing){if(!element)return;if(!eventName)return;if(!eventHandler)return;if(document.removeEventListener){element.removeEventListener(eventName,eventHandler,isCapturing);}else if(document.detachEvent){element.detachEvent("on"+eventName,eventHandler);}else{element["on"+eventName]=null;}};popup.Browser.stopEventPropagation=function(e){if(e.stopPropagation){e.stopPropagation();}else{e.cancelBubble=true;}};popup.Browser.preventDefaultEvent=function(e){if(e.preventDefault){e.preventDefault();}else{e.returnValue=false;}};popup.Browser.cancelDragSelection=function(document){if(document&&document.selection&&document.selection.empty){document.selection.empty();}};popup.Browser.alert=function(){if(arguments.length===0){alert("No arguments given to popup.Browser.alert()");}else{var s="";for(var i=0;i<arguments.length;i++){s+=arguments[i]+"\n";}
alert(s);}};popup.Browser.encodeUriComponent=function(component){if(typeof(component)=='string'){var result="";var encodable="~`!@#$%^&*()_+-={}[]|\\:;\"'<>,.?/";for(var i=0;i<component.length;i++){var letter=component.charAt(i);if(encodable.indexOf(letter)==-1){result+=letter;}else{result+="%"+component.charCodeAt(i).toString(16);}}
return result;}else{return component;}};popup.Browser.Event=function(evt){this.evt=evt?evt:window.event;if(!this.evt)return null;this.type=this.evt.type;this.clientX=this.evt.clientX;this.clientY=this.evt.clientY;this.target=this.evt.target?this.evt.target:this.evt.srcElement;this.srcElement=this.target;this.keyCode=this.evt.keyCode;this.which=this.evt.which?this.evt.which:this.evt.keyCode;this.shiftKey=this.evt.shiftKey;this.button=this.evt.button==0?1:this.evt.button;this.pageX=this.clientX;this.pageY=this.clientY;this.offsetX=(evt.offsetX||evt.layerX||0);this.offsetY=(evt.offsetY||evt.layerY||0);if(this.evt.pageX||this.evt.pageY){this.pageX=this.evt.pageX;this.pageY=this.evt.pageY;}else if(this.evt.clientX||this.evt.clientY){if(document.documentElement&&(document.documentElement.scrollLeft||document.documentElement.scrollTop)){this.pageX=this.clientX+document.documentElement.scrollLeft;this.pageY=this.clientY+document.documentElement.scrollTop;}else if(document.body&&(document.body.scrollLeft||document.body.scrollTop)){this.pageX=this.clientX+document.body.scrollLeft;this.pageY=this.clientY+document.body.scrollTop;}}
return this;};popup.Browser.Event.prototype.toString=function(){var printString='';for(var i in this){if(i!='toString'){printString+='\n'+i+'='+this[i];}}
return printString;};
