﻿function mwtt(){var self=this;this.MWTT_browserIsIE=(navigator.appName=="Microsoft Internet Explorer");this.MWTT_browserIsOpera=(navigator.userAgent.search(/Opera/)!=-1);this.MWTT_browserIsSafari=(navigator.userAgent.search(/Safari/)!=-1);this.MWTT_browserIsNetscape=(!self.MWTT_browserIsSafari&&navigator.appName=="Netscape");this.ttheader='<table border="0" cellpadding="0" cellspacing="0"><tr><td id="MWTTTooltipContainer"><table width="100%" border="0" cellpadding="0" cellspacing="0" ><tr><td>';this.ttfooter='</td></tr></table></td><td class="MWTTPadded" style="background-position: 100% 0%"></td></tr><tr><td class="MWTTPadded" style="background-position: 0% 100%"></td><td class="MWTTPadded" style="background-position: 100% 100%"></td></tr></table>';this.MWTT_Cache={};this.MWTT_LastRequest_Type=null;this.MWTT_LastRequest_ID=null;this.MWTT_LastRequest_X=null;this.MWTT_LastRequest_Y=null;this.MWTT_BaseURL='';var url_parts=document.URL.split("/");for(var i=0;i<url_parts.length-1;i++){this.MWTT_BaseURL+=url_parts[i]+'/'}this.MWTT_ScriptPath=this.MWTT_BaseURL+'js/mwtt/';this.addEvent=function(obj,eventType,func){if(obj.addEventListener){obj.addEventListener(eventType,func,false);return true}else if(obj.attachEvent){var retVal=obj.attachEvent("on"+eventType,func);return retVal}else{return false}};this.startAJAXRequest=function(url){var element=document.getElementById("MWTTRequest");var h=document.getElementsByTagName("head")[0];if(element){h.removeChild(element)}element=document.createElement("script");element.id="MWTTRequest";element.type="text/javascript";element.src=url;h.appendChild(element)};this.processMouseOver=function(e){if(!e)e=window.event;var t=e.target?e.target:e.srcElement;if(!t)return;if(t.nodeName=="img"||t.nodeName=="IMG")if(t.parentNode!=null)t=t.parentNode;if(!t||(t.nodeName!="A"&&t.nodeName!="a")||!t.href.length)return;var m=t.href.match(/popup.php\?c=(info\.building|info\.unit|ally)/);if(!m)m=t.className.match(/(research)_([0-9]+)/);if(t.className.search(/nomwtt/)!=-1)m=null;var type='';var id='';if(m){switch(m[1]){case'info.unit':m=t.href.match(/popup.php\?c=info\.unit&unitid=([0-9]+)/);type='unit';id=m[1];break;case'ally':m=t.href.match(/popup.php\?c=ally&aid=([0-9]+)&aidx=([0-9]+)/);type='ally';id=m[1]+'-'+m[2];break;case'research':type='research';id=m[2];break}if(!t.onmousemove){t.onmousemove=self.tooltipMouseMove;t.onmouseout=self.tooltipMouseOut}self.showTooltip(type,id,e,null,null);return}};this.getMousePosX=function(event){if(self.MWTT_browserIsIE){return window.event.clientX}else{return event.pageX}};this.getMousePosY=function(event){if(self.MWTT_browserIsIE){return window.event.clientY}else{return event.pageY}};this.getWindowWidth=function(){if(window.innerWidth){return window.innerWidth}else if(document.documentElement&&document.documentElement.clientWidth){return document.documentElement.clientWidth}else if(document.body&&document.body.clientWidth){return document.body.clientWidth}else{return 0}};this.getWindowHeight=function(){if(window.innerHeight){return window.innerHeight}else if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight}else if(document.body&&document.body.clientHeight){return document.body.clientHeight}else{return 0}};this.getScrollX=function(){if(self.MWTT_browserIsNetscape||self.MWTT_browserIsOpera){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{return 0}};this.getScrollY=function(){if(self.MWTT_browserIsNetscape||self.MWTT_browserIsOpera){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{return 0}};this.showTooltip=function(type,id,e,xpos,ypos){var cache=self.MWTT_Cache;if(!cache[type+id]){if(e){self.MWTT_LastRequest_Type=type;self.MWTT_LastRequest_ID=id;self.MWTT_LastRequest_X=self.getMousePosX(e);self.MWTT_LastRequest_Y=self.getMousePosY(e);self.startAJAXRequest(self.MWTT_BaseURL+"tooltip.php?type="+type+"&id="+id)}}else{if(!cache[type+id]||cache[type+id].length!=3)return;var icon=cache[type+id][0];var tooltip=self.ttheader+cache[type+id][1]+self.ttfooter;var size=cache[type+id][2];var ttdiv=document.getElementById("MWTT_Tooltip");if(!ttdiv){var b=document.getElementsByTagName("body")[0];if(!b)return;ttdiv=document.createElement("div");ttdiv.id="MWTT_Tooltip";ttdiv.style.display="none";ttdiv.style.visibility="hidden";if(!(typeof MWTT_TooltipStyle_DisplayIcons=="boolean"&&MWTT_TooltipStyle_DisplayIcons==false)){var ttdiv_icon_div=document.createElement("div");ttdiv_icon_div.id="MWTTTooltipIcon";var ttdiv_icon_div_border=document.createElement("div");ttdiv_icon_div_border.id="MWTTTooltipIconBorder";if(self.MWTT_browserIsIE&&navigator.userAgent.indexOf("MSIE 6.0")!=-1){ttdiv_icon_div_border.style.backgroundImage="url('"+self.MWTT_ScriptPath+"tticonbg.gif')"}else{ttdiv_icon_div_border.style.backgroundImage="url('"+self.MWTT_ScriptPath+"tticonbg.png')"}ttdiv_icon_div.appendChild(ttdiv_icon_div_border);ttdiv.appendChild(ttdiv_icon_div)}var ttdiv_data_div=document.createElement("div");ttdiv_data_div.id="MWTTTooltipData";ttdiv.appendChild(ttdiv_data_div);b.appendChild(ttdiv)}ttdiv.style.display="";ttdiv.style.visibility="hidden";self.MWTT_moveTooltip(0,0);if(document.getElementById("MWTTTooltipIcon")!=null){if(icon!=null&&icon!=""){document.getElementById("MWTTTooltipIcon").style.backgroundImage="url('"+icon+"')";document.getElementById("MWTTTooltipIcon").style.visibility="visible"}else{document.getElementById("MWTTTooltipIcon").style.visibility="hidden"}}if(document.doctype&&document.doctype.publicId.search(/xhtml|XHTML/)!=-1){tooltip=self.replaceEntitiesForXHTML(tooltip)}var ttdata=document.getElementById("MWTTTooltipData");ttdata.innerHTML=tooltip;var container=document.getElementById("MWTTTooltipContainer");ttdata.className="MWTTTooltip"+size+"px";ttdiv.style.width="";ttdiv.style.width=(container.clientWidth+50)+"px";ttdiv.cwidth=ttdiv.clientWidth;if((container.clientWidth+50)<ttdiv.cwidth){ttdiv.cwidth=(container.clientWidth+50)}ttdiv.cheight=ttdiv.clientHeight;if(!(xpos&&ypos)&&e){xpos=self.getMousePosX(e);ypos=self.getMousePosY(e)}self.MWTT_moveTooltip(xpos,ypos);ttdiv.style.visibility="visible"}};this.MWTT_moveTooltip=function(xpos,ypos){var ttdiv=document.getElementById("MWTT_Tooltip");if(ttdiv){var windowheight=self.getWindowHeight();var windowwidth=self.getWindowWidth();var height=ttdiv.cheight;var width=ttdiv.cwidth;var xoffset=-40;var yoffset=20;var xscroll=self.getScrollX();var yscroll=self.getScrollY();var xzero=0;var yzero=0;if(xpos+width>windowwidth+xscroll-5){xzero=-width+xzero}if(xpos+xzero<xscroll){xzero=0}if(ypos+height>windowheight+yscroll-20){yzero=-height-25+yzero}if(ypos+yzero<yscroll){yzero=0}ttdiv.style.left=(xpos+xoffset+xzero+(self.MWTT_browserIsIE?xscroll:0))+"px";ttdiv.style.top=(ypos+yoffset+yzero+(self.MWTT_browserIsIE?yscroll:0))+"px"}};this.MWTT_hideTooltip=function(){var ttdiv=document.getElementById("MWTT_Tooltip");if(ttdiv){ttdiv.style.visibility="hidden";var tticon=document.getElementById("MWTTTooltipIcon");if(tticon)tticon.style.visibility="hidden"}};this.tooltipMouseMove=function(e){self.MWTT_moveTooltip(self.getMousePosX(e),self.getMousePosY(e))};this.tooltipMouseOut=function(){self.MWTT_LastRequest_Type=null;self.MWTT_LastRequest_ID=null;self.MWTT_hideTooltip()};this.addTooltip=function(id,type,icon,data,size){var element=document.getElementById("MWTTRequest");var h=document.getElementsByTagName("head")[0];if(element)h.removeChild(element);self.MWTT_Cache[type+id]=[icon,data,size];if(self.MWTT_LastRequest_Type==type&&self.MWTT_LastRequest_ID==id)self.showTooltip(type,id,null,self.MWTT_LastRequest_X,self.MWTT_LastRequest_Y)};this.replaceEntitiesForXHTML=function(str){str=str.replace(/&auml;/g,"ä");str=str.replace(/&ouml;/g,"ö");str=str.replace(/&uuml;/g,"ü");str=str.replace(/&Auml;/g,"Ä");str=str.replace(/&Ouml;/g,"Ö");str=str.replace(/&Uuml;/g,"Ü");str=str.replace(/&szlig;/g,"ß");return str};this.setup=function(){self.addEvent(document,"mouseover",self.processMouseOver);var h=document.getElementsByTagName("head")[0];if(h){var l=document.createElement("link");l.type="text/css";l.href=self.MWTT_ScriptPath+"mwtt.css";l.rel="stylesheet";h.appendChild(l);if(self.MWTT_browserIsIE){l=document.createElement("link");l.type="text/css";l.href=self.MWTT_ScriptPath+"mwtt_ie.css";l.rel="stylesheet";h.appendChild(l);if(navigator.userAgent.indexOf("MSIE 6.0")!=-1){l=document.createElement("link");l.type="text/css";l.href=self.MWTT_ScriptPath+"mwtt_ie6.css";l.rel="stylesheet";h.appendChild(l)}}}};this.addLtt=function(t,id,data,size){var type='local';var e=window.event;if(!self.MWTT_Cache[type+id]){t.onmousemove=self.tooltipMouseMove;t.onmouseout=self.tooltipMouseOut;data='<span class="MWTTWhite">'+data+'</span>';self.MWTT_Cache[type+id]=['',data,size]}self.showTooltip(type,id,e,null,null)}}var omwtt=new mwtt();omwtt.setup();