var status="Start",auto="",encode=encodeURIComponent;function _popupControl(){}if(!this.JSON||!JSON.parse)JSON={parse:function(a){return eval("("+a+")")}};document.ondragstart=function(){if(mapvars.drag)return false};
if(this.lang){translate=function(a){return lang[a]?lang[a]:a};translate2=function(a,b){return lang[a]?lang[a].replace(/{([0-9]+)}/g,function(d,c){return b[c]}):a.replace(/{([0-9]+)}/g,function(d,c){return b[c]})};translate3=function(a,b){return lang[a]?lang[a].replace(/{text}/,b):a.replace(/{text}/,b)}}else{var lang={},translate=function(a){return a},translate2=function(a,b){return a.replace(/{([0-9]+)}/g,function(d,c){return b[c]})},translate3=function(a,b){return a.replace(/{text}/,b)};translate4=
function(a,b){return a.replace(/\[([0-9]+)\]/g,function(d,c){return b[c]})}}function translate4(a,b){return lang[a]?lang[a].replace(/\[([0-9]+)\]/g,function(d,c){return b[c]}):a.replace(/\[([0-9]+)\]/g,function(d,c){return b[c]})}function $(a){return document.getElementById(a)}function $S(a){return document.getElementById(a).style}function is_num(a){return/^[0-9]+$/.test(a)}function is_num2(a){return/^\-?[0-9]+$/.test(a)}
function number(a){if(a!=-Infinity&&a!=Infinity){a+="";for(var b=/([0-9]+)([0-9]{3})/;b.test(a);)a=a.replace(b,"$1.$2")}else a=(a==-Infinity?"-":"")+"\u221e";return a}function datetime(a,b){var d=translate,c=Math.max(Math.round(a/3600),0);if(c>=24){var e=Math.floor(c/24),f=e+(b?e==1?d(" day"):d(" days"):d("d"));if(c-e*24>0)f+=(b?d(" and "):" ")+(c-e*24)+(b?c-e*24==1?d(" hour"):d(" hours"):d("h"))}else f=c+(b?c-e*24==1?d(" hour"):d(" hours"):d("h"));return f}
function errorMessage(a){if(!vars.hideerror){display.errorvars=a;$S("error").display="block"}}
window.onerror=function(a,b,d){if(a!="Script error."){b=translate;var c="";try{c=minsets()}catch(e){}errorMessage('<div class="fixWidth lefta"><u>'+b("Error description:")+"</u> "+a+"<br /><u>"+b("Line:")+"</u> "+d+"<br /><u>"+b("Browser:")+"</u> "+navigator.userAgent+"<br /><u>"+b("Initiate status:")+"</u> "+status+"<br /><u>"+b("Settings:")+"</u> "+c+"<br /><u>"+b("UserID:")+"</u> "+userid+"<br /><br />"+translate2("{0}Reloading/refreshing</a> usually solves serious errors, if the error persists, email this error report to {1}.",
['<a href="'+window.location+'">','<a href="mailto: contact@tribalwarsmap.com?subject=Error report&amp;cc=&amp;bcc=&amp;body=Error description:%20'+encode(a)+"%0ALine:%20"+encode(d)+"%0ABrowser:%20"+encode(navigator.userAgent)+"%0AInitiate status:%20"+encode(status)+"%0A%0ASettings:%20"+c+"%0AUserID:%20"+encode(userid)+'">contact@tribalwarsmap.com</a>'])+"</div>");return true}};
function alertmessage(a,b,d,c,e,f){if(vars.lastmessage!=a||(new Date).getTime()-vars.lastmessaget>1E3){vars.lastmessage=a;vars.lastmessaget=(new Date).getTime();var g=document.createElement("div");g.setAttribute("id",c?c:"alert-"+vars.alertnum);g.className="alertmessage"+(e?e:"");g.innerHTML='<table cellpadding="3" cellspacing="0"><tr><td class="largetext" valign="top"><b>'+(f?f:translate("Notice"))+'</b></td></tr><tr><td class="'+(d?d:"")+'">'+a+'</td></tr><tr><td valign="bottom"><input type="submit" value="'+
translate("OK")+'" class="fbut" onclick="'+(b?b:"")+"jQuery('#"+(c?c:"alert-"+vars.alertnum)+"').slideUp(200,function() {jQuery(this).remove();});\" /></td></tr></table>";document.body.appendChild(g);jQuery(g).slideDown(200);vars.alertnum++}}
function resetZoom(a){if(a)$("zoomalert")&&jQuery("#zoomalert").stop().slideUp(200,function(){jQuery(this).remove()});else $("zoomalert")||alertmessage(translate("Your browser is not zoomed to 100%, the map will not display properly if you do not reset the zoom.<br />You can reset your browser zoom using the following instructions:<br />Internet Explorer: Page->Zoom->100% or CTRL+0<br />Firefox: View->Zoom->Reset or CTRL+0<br />Safari: View->Actual Size or CTRL+0<br />Chrome: Page->Zoom->Normal or CTRL+0<br />Opera: View->Zoom->100% or CTRL+0"),0,
"lefta","zoomalert"," alertl")}
var hotkeylist={},mapvars={aelement:0,aminielement:0,ad:0,am:0,map:false,inmap:false,inminimap:false,mapx:false,mapy:false,lastx:0,lasty:0,leftpad:40,toppad:28,drag:false,miniview:0,mapover:false,num:1,fontsize:12,mino:0,width:1,height:1,rest:false,maptooltip:false,tipd:0},vars={defaulthotkeys:{"CTRL.37":["ml",0,0],"CTRL.38":["mu",0,0],"CTRL.39":["mr",0,0],"CTRL.40":["md",0,0],"CTRL.ALT.67":["tc",0,0],"CTRL.ALT.76":["tl",0,0],"27":["cl",0,0]},defx:500,defy:500,xc:100,yc:100,width:1024,height:768,
display:0,qtip:false,tip:false,men:false,serverurl:"",change:false,villageid:{},player:0,minx:0,miny:0,bordertop:'<tr><td class="qtl"><div /></td><td class="qt"></td><td class="qtr"><div /></td></tr>',borderbottom:'<tr><td class="qbl"></td><td class="qb"></td><td class="qbr"></td></tr>',spacer:'<tr><td class="qsl"></td><td class="qs"></td><td class="qsr"></td></tr>',borderleft:'<tr><td class="ql"></td><td class="qc" valign="top">',borderlefta:'<tr><td class="ql"></td><td class="qc lefta" valign="top">',
borderlefth1:'<tr><td class="ql"></td><td class="qc h1" valign="top">',borderright:'</td><td class="qr"></td></tr>',browser:false,timeminimap:false,tribes:{},players:{},villages:{},villages2:{},minover:false,"vars.serverpage":"",last:"#000000",search:0,ie67:0,moveurl:function(a,b){var d="?x="+a+"&y="+b;if(external)if(config!="")d=encode(config)+d;else d+="&settings="+minsets();if(serversettings.logintype=="1")d="public:"+encode(userid)+(external&&config!=""?"-":"")+d;return serversettings.folder+
d},dat:(new Date).getMonth()+"-"+(new Date).getDate()+"-"+(new Date).getHours(),tooltips:true,attmap:true,attminimap:true,notechange:false,notec:"",text:"",wheel:false,cis:false,lastclick:false,minw:4,clmenc:0,lastmen:0,lastment:0,hoverx:0,hovery:0,smallmen:0,lastm:0,hotkeycreate:0,tooltipvars:[0,0,0],mapcols:["444444","823c0a","969696","FFFFFF","000000","30490e","436213","252589","FF0000","FFFF00","444444","a2a2a2","828282","FFFFFF","FFFFFF","FF0000","FF0000"],firstretry:true,keyfunc:function(a){a=
a||window.event;var b=a.keyCode||a.which,d=a.target?a.target:a.srcElement;if(d.tagName!="INPUT"&&d.tagName!="TEXTAREA"&&b!=16&&b!=17&&b!=18){d=false;if(vars.change=="key"){vars.change=false;display.settingvars=["newhotkey",b,String.fromCharCode(b),a.ctrlKey,a.altKey,a.shiftKey];display.refreshpanel("settings");d=true}else{if(a.shiftKey)b="SHIFT."+b;if(a.altKey)b="ALT."+b;if(a.ctrlKey)b="CTRL."+b;if(hotkeylist[b]||vars.defaulthotkeys[b]){b=hotkeylist[b]||vars.defaulthotkeys[b];if(b[1]&&is_num(b[2]))if(b[1]==
"P"||b[1]=="T"){showmen(b[1]=="T"?b[2]:0,b[1]=="P"?b[2]:0,0,"tribe",0,b[0]);d=true}else{if(vars.villageid[b[2]]){d=vars.villageid[b[2]].split("-");vars.lastclick=false;showmen(d[1],d[2],0,0,0,b[0]);d=true}}else{switch(b[0]){case "mu":moveDirection("Up");break;case "ml":moveDirection("Left");break;case "md":moveDirection("Down");break;case "mr":moveDirection("Right");break;case "zi":zoom(0,3);break;case "zo":zoom(0,-3);break;case "tt":changetooltipsetting(0,0,"toggletooltips");hide();break;case "tl":draw.toggle();
break;case "tc":draw.churchtoggle();break;case "cl":Close();break;case "fltr":filter.toggle();break;case "com":mainvillage.center();break;case "cos":is_num2(data.xstart)&&is_num2(data.ystart)&&mov(data.xstart,data.ystart);break;case "cod":is_num2(data.xdest)&&is_num2(data.ydest)&&mov(data.xdest,data.ydest);break;default:if(vars.smallmen){vars.lastclick=false;showmen(vars.hoverx,vars.hovery,0,vars.smallmen==2?"tribe":0,0,b[0])}}d=true}}}if(d){a.cancelBubble=true;a.returnValue=false;if(a.stopPropagation){a.stopPropagation();
a.preventDefault()}return false}}},delaysave:0,lastz:0,proppos:{},dbc:[500,500,0],realwidth:1024,realheight:768,diff:true,loadindicator:true,framerate:24,lastcontinent:0,continentloaded:0,alertnum:0,timezoneoffset:(new Date).getTimezoneOffset()*6E4,bonus:[["","10% higher wood production","10% higher clay production","10% higher iron production","10% more population","10% faster recruitment in the barracks","10% faster recruitment in the stables","10% faster recruitment in the workshop","3% more resources are produced",
""],["","100% higher wood production","100% higher clay production","100% higher iron production","10% more population","33% faster recruitment in the barracks","33% faster recruitment in the stables","50% faster recruitment in the workshop","30% more resources are produced","50% more storage capacity and merchants"]],tiptext:["Middle click a village to open the village page in a new tab/window.","Hold your left mouse button on the map or minimap to drag it.","Drag the map or minimap in a direction to move it.",
"Zoom in or out by scrolling your mouse wheel.","Double click on the map or minimap to center on that coordinate.",'You can configure a hotkey for every menu option at <a href="javascript: display.settingvars=[\'hotkeys\']; display.panel(\'settings\',1);">"Settings"->"Hotkeys"</a>.',"You can enter X|Y, (X|Y), X/Y and (X/Y) formatted coordinates in X boxes.",'You can utilize Right Click to execute functions, enable at <a href="javascript: display.settingvars=[\'hotkeys\']; display.panel(\'settings\',1);">"Settings"->"Hotkeys"</a>.',
'Remove and add info to the tooltip at <a href="javascript: display.settingvars=[\'tooltips\']; display.panel(\'settings\',1);">"Settings"->"Tooltips"</a>.',"You can create several configurations on one server. Read more at <a href=\"javascript: display.helptab='config'; display.panel('help',1);\">Help</a>.","If you are not sure how a function works, try reading the tooltip for more info.",'Got a suggestion? Send an email to <a href="mailto:contact@tribalwarsmap.com">contact@tribalwarsmap.com</a>.',
'Send your suggestions and comments to <a href="mailto:contact@tribalwarsmap.com">contact@tribalwarsmap.com</a>.','Get a direct link to a copy of your Minimap from <a href="javascript: minimapLink();">"More"->"Minimap link"</a>.','Help translate Tribal Wars Map into other languages and help improve translations easily with the <a href="translate.php" target="_blank">public translation tool</a>.']};
function mapout(){markers.restore();mapvars.inmap=false;if(mapvars.ad){mapvars.aelement.display="none";mapvars.ad=false}if(mapvars.am){mapvars.aminielement.display="none";mapvars.am=false}mapvars.rest=false}
function calcmousepos(a,b,d){if(!mapvars.drag){!mapvars.minover&&data.mo!=""&&mapvars.mino&&setTimeout(function(){if(!mapvars.minover&&mapvars.mino){changeminimapopacity(data.mo,1);mapvars.mino=0}},100);if(mapvars.minover||mapvars.mapover){if(mapvars.minover){if(!mapvars.mino&&data.mo!=""){changeminimapopacity(10,1);mapvars.mino=1}var c=mapvars.aminielement;a=Math.floor((a-vars.minx)/vars.minw);b=Math.floor((b-vars.miny)/vars.minw);var e=data.minimapx,f=data.minimapy}else{c=mapvars.aelement;a=Math.floor((a-
mapvars.leftpad+1)/mapvars.iconwidth);b=Math.floor((b-40-mapvars.toppad+1)/mapvars.iconheight);e=mapvars.width;f=mapvars.height}var g=a+data.xcord-Math.floor(e/2),h=b+data.ycord-Math.floor(f/2);if(g!=mapvars.mapx||h!=mapvars.mapy){mapvars.mapx=g;mapvars.mapy=h;d=true}if(a<e&&a>=0&&b<f&&b>=0){if(!mapvars.inmap||d)if(villagedata["C-"+g+"-"+h]&&(data.filtert!="yes"||filter.check("C-"+g+"-"+h))){mapvars.inmap=villagedata["C-"+g+"-"+h];if(mapvars.minover){c.left=a*vars.minw-2+"px";c.top=b*vars.minw-2+
"px";$("aminielement").innerHTML='<a href="'+vars.serverpage+"screen=info_village&id="+mapvars.inmap[0]+'" onmouseover="mapvars.minover=true;" onselectstart="return false;" onmousedown="return false;" onclick="showmen(\''+g+"','"+h+"', event); vars.dbc=['"+g+"','"+h+'\',new Date().getTime()]; return false;" oncontextmenu="if (data.rightclick==\'1\') {return false;}" target="_blank"><div style="width: '+(vars.minw-1)+"px; height: "+(vars.minw-1)+'px;"></div></a>';if(!mapvars.am){c.display="block";
mapvars.am=true}}else{c.left=a*mapvars.iconwidth+mapvars.leftpad-1-mapvars.miniview+"px";c.top=b*mapvars.iconheight+mapvars.toppad-1-mapvars.miniview+"px";$("aelement").innerHTML='<a href="'+vars.serverpage+"screen=info_village&id="+mapvars.inmap[0]+'" onmouseover="mapvars.mapover=true;" onselectstart="return false;" onmousedown="return false;" onclick="showmen(\''+g+"','"+h+"', event); vars.dbc=['"+g+"','"+h+'\',new Date().getTime()]; return false;" oncontextmenu="if (data.rightclick==\'1\') {return false;}" target="_blank"'+
(mapvars.miniview?' style="border: 1px solid #FFFFFF; background: none;"><div style="width: '+(mapvars.iconwidth-1)+"px; height: "+(mapvars.iconheight-1)+'px;"></div>':">")+"</a>";if(!mapvars.ad){c.display="block";mapvars.ad=true}}show(tooltiptext(g,h));mapvars.maptooltip=true;mapvars.inmap[1]!="0"&&mapvars.inmap[1]!=""&&data.playerhighlight!=1?markers.show(g,h,mapvars.inmap[1]):markers.restore();mapvars.rest=true}else if(mapvars.rest){mapout();mapvars.maptooltip&&msu()}}else if(mapvars.rest){mapout();
mapvars.maptooltip&&msu()}}}}
function move(a){var b=0,d=0;if(!a)a=window.event;if(a.pageX||a.pageY){b=a.pageX;d=a.pageY}else if(a.clientX||a.clientY){b=a.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;d+=a.clientY+document.body.scrollTop+document.documentElement.scrollTop}vars.xc=b;vars.yc=d;try{if(mapvars.drag){if(mapvars.drag==2)var c=vars.minw,e=c;else{c=mapvars.iconwidth;e=mapvars.iconheight}var f=Math.abs(mapvars.lastx-b),g=Math.abs(mapvars.lasty-d);if(!vars.moved&&(f>c||g>e||f+g>15)){$S("aminielement").display=
"none";$S("aelement").display="none";vars.moved=true;if(mapvars.rest){mapout();mapvars.maptooltip&&msu()}}if(f>c||g>e){var h=Math.round((mapvars.lastx-b)/c),j=Math.round((mapvars.lasty-d)/e);mapvars.lastx-=h*c;mapvars.lasty-=j*e;mov(data.xcord*1+h,data.ycord*1+j)}}else calcmousepos(b,d)}catch(k){}if((a=vars.tip)&&mapvars.tipd){a.style.left=(b+a.offsetWidth+13>vars.realwidth&&b-a.offsetWidth-7>0?b-a.offsetWidth-7:b+13)+"px";a.style.top=(d+a.offsetHeight>vars.realheight&&d-a.offsetHeight-2>0?d-a.offsetHeight-
2:d)+"px"}}
function mu(a){if(mapvars.drag){mapvars.drag=false;$("linewrapper").className="pos";$("minimapoverlay").className="";calcmousepos(vars.xc,vars.yc)}else if((new Date).getTime()-vars.dbc[2]<=300){jQuery(vars.men).stop();vars.men.style.display="none";mov(vars.dbc[0],vars.dbc[1]);return false}if(!a)a=window.event;vars.lastclick=false;var b=a.target?a.target:a.srcElement;if(vars.hotkeycreate)if(vars.smallmen){setTimeout(function(){hotkeyfunction.save(0,0,0,1)},1);return false}var d=0,c=0;if(vars.moved)vars.moved=false;
else if(a.button==2){if(data.rightclick=="1"&&vars.smallmen){document.oncontextmenu(a);a.cancelBubble=true;a.returnValue=false;if(a.stopPropagation){a.stopPropagation();a.preventDefault()}return false}}else{for(;b&&c<25;)if(b.id=="men"||/^alertmessage/.test(b.className)){c=99;vars.lastclick=true}else if(b.tagName=="BODY"){d=1;c=99}else if(b.parentNode){b=b.parentNode;c++}else c=99;if(d&&vars.men.style.display=="block"&&(!vars.notechange||confirm(translate("You have editted your note. Discard note changes?")))){vars.notechange=
false;vars.clmenc=true;setTimeout(function(){Close(1)},1)}}}
var fetch={coordinfo:function(a,b){jQuery.ajax({url:"data.php?type=villagecoord&&x="+a+"&y="+b+"&ms="+vars.dat,dataType:"parse"})},k:function(a,b){return a<0||b<0||a>999||b>999?"?":Math.floor(b/100)*10+Math.floor(a/100)},village:[function(a){var b=a.split("-");return villagedata[a]?villagedata[a][3]+" ("+b[1]+"|"+b[2]+") K"+fetch.k(b[1],b[2]):"("+b[1]+"|"+b[2]+") K"+fetch.k(b[1],b[2])},function(a,b){var d=a.split("-");if(villagedata[a])var c=vars.serverpage+"screen=info_village&id="+villagedata[a][0],
e=b==1?d[1]+"|"+d[2]:villagedata[a][3]+" ("+d[1]+"|"+d[2]+") K"+fetch.k(d[1],d[2]);else{c="more.php?type=coordinate&x="+d[1]+"&y="+d[2];e=b==1?d[1]+"|"+d[2]:"("+d[1]+"|"+d[2]+") K"+fetch.k(d[1],d[2])}return"<a"+(b?"":' class="spl"')+' href="'+c+'" target="_blank" onclick="showmen(\''+d[1]+"','"+d[2]+'\',event); return false;" oncontextmenu="if (data.rightclick==\'1\') {return false;}" onmouseover="show(tooltiptext('+d[1]+","+d[2]+'));" onmouseout="msu();">'+e+"</a>"},function(a,b){return vars.villageid[a]?
fetch.village[1](vars.villageid[a],b):"<a"+(b?"":' class="spl"')+' href="'+vars.serverpage+"screen=info_village&id="+a+'" target="_blank" onmouseover="show(\'No village info ['+a+'].<br />Click to open village page at Tribal Wars.&lt;/div>\',1);" onmouseout="msu();">Village ['+a+"]</a>"}],player:[function(a){return playerdata[a]?playerdata[a][2]:translate3("Player [{text}]",a)},function(a,b){var d=playerdata[a]?playerdata[a]:[0,0,translate3("Player [{text}]",a)];return"<a"+(b?"":' class="spl"')+' href="'+
vars.serverpage+"screen=info_player&id="+a+'" target="_blank" onclick="showmen(\''+d[1]+"','"+a+"',event,'tribe'); return false;\" oncontextmenu=\"if (data.rightclick=='1') {return false;}\" onmouseover=\"show(tooltiptext('"+d[1]+"', '"+a+'\', 1));" onmouseout="msu();">'+d[2]+"</a>"}],tribe:[function(a,b){return tribedata[a]?tribedata[a][2]+(b?"":" ["+tribedata[a][9]+"]"):translate3("Tribe [{text}]",a)},function(a,b,d){d=tribedata[a]?tribedata[a][2]+(d?"":" ["+tribedata[a][9]+"]"):translate3("Tribe [{text}]",
a);return"<a"+(b?"":' class="spl"')+' href="'+vars.serverpage+"screen=info_ally&id="+a+'" target="_blank" onclick="showmen(\''+a+"','',event,'tribe'); return false;\" oncontextmenu=\"if (data.rightclick=='1') {return false;}\" onmouseover=\"show(tooltiptext('"+a+'\', 0, 1));" onmouseout="msu();">'+d+"</a>"}]};function Close(a){if(!a)vars.clmenc=true;setTimeout(function(){if(vars.clmenc){jQuery(vars.men).stop().slideUp(300);vars.change=false;vars.notechange=false}},1)}
function hide(a){if(vars.tip&&(!a||!vars.display)&&mapvars.tipd){vars.tip.style.display="none";mapvars.tipd=0;vars.smallmen=0}}function msu(){vars.display=0;setTimeout(function(){hide(1)},10)}function msd(){vars.display=0;setTimeout(function(){hide(1)},150)}
function show(a,b){if(vars.tip&&data.tooltips.charAt(0)!="1"){mapvars.maptooltip=false;vars.display=1;vars.qtip.innerHTML=b==3?'<div class="la">'+fixText(a)+"</div>":b?'<div class="la'+(b==2?" fc":"")+'">'+a+"</div>":a;vars.tip.style.display="block";mapvars.tipd=1;var d=vars.tip.offsetWidth,c=vars.tip.offsetHeight,e=vars.xc,f=vars.yc;vars.tip.style.left=(e+d+13>vars.realwidth&&e-d-7>0?e-d-7:e+13)+"px";vars.tip.style.top=(f+c>vars.realheight&&f-c-2>0?f-c-2:f)+"px"}}
function fixText(a,b){b=b?b:50;for(var d=a.length/Math.ceil(a.length/b),c="",e=0,f=0,g=a.length;a.length>b;){e=d-1;for(f=d;a.charAt(e)!=" "&&a.charAt(f)!=" "&&(e>10||f<g);){e>10&&e--;f<g&&f++}if(a.charAt(e)==" "){c+=a.substring(0,e)+"<br />";a=a.substr(e+1);g=a.length}else if(a.charAt(f)==" "){c+=a.substring(0,f)+"<br />";a=a.substr(f+1);g=a.length}}return c+a}
function cancelcol(){vars.change=false;vars.clmenc=false;mapvars.mapover=false;mapvars.minover=false;return vars.notechange||vars.hotkeycreate&&vars.smallmen?false:true}function convertani(a,b,d,c){vars.men.firstChild.style.width="100%";jQuery(vars.men).animate({width:a,height:b,left:Math.max(d,0),top:Math.max(c,0)},300,0,function(){vars.men.firstChild.style.width="";vars.men.style.width="";vars.men.style.height="";vars.men.style.left=Math.max(d,0)+"px";vars.men.style.top=Math.max(c,0)+"px"})}
function mend(){var a=vars.men;jQuery(a).stop();if(vars.lastclick){var b=parseInt(a.style.left),d=parseInt(a.style.top);a.style.display="block";var c=a.offsetWidth-2+"px",e=a.offsetHeight-2+"px";if(vars.text!=""){a.innerHTML=vars.text;vars.text=""}a.style.width="";a.style.height="";if($("vlist")){var f=$("vlist");if(f.offsetHeight>f.clientHeight)f.style.paddingRight=Math.min(f.offsetHeight-f.clientHeight+3,30)+"px";else if(f.offsetHeight<=f.clientHeight-21)f.style.paddingRight="3px"}f=a.offsetWidth;
var g=a.offsetHeight;a.style.width=c;a.style.height=e;if(b+f>vars.realwidth&&vars.xc<vars.realwidth)b=vars.realwidth-f;if(d+g>vars.realheight&&vars.yc<vars.realheight)d=vars.realheight-g;convertani(f-2,g-2,b,d)}else if(a.style.display!="block"){a.style.width="";a.style.height="";a.style.top=vars.yc+"px";a.style.left=vars.xc+"px";if(vars.text!=""){a.innerHTML=vars.text;vars.text=""}a.style.display="block";if($("vlist")){f=$("vlist");if(f.offsetHeight>f.clientHeight)f.style.paddingRight=Math.min(f.offsetHeight-
f.clientHeight+3,30)+"px";else if(f.offsetHeight<=f.clientHeight-21)f.style.paddingRight="3px"}f=a.offsetWidth;b=vars.xc-Math.round(f/2);if(b+f>vars.realwidth)b=vars.xc<vars.realwidth?vars.realwidth-f:vars.xc-f;a.style.left=Math.max(b,0)+"px";g=a.offsetHeight;d=vars.yc-12;if(d+g>vars.realheight)d=vars.yc<vars.realheight?vars.realheight-g:vars.yc-g+12;a.style.top=Math.max(d,0)+"px";a.style.display="none";jQuery(a).slideDown(300)}else{c=a.offsetWidth-2+"px";e=a.offsetHeight-2+"px";if(vars.text!=""){a.innerHTML=
vars.text;vars.text=""}a.style.width="";a.style.height="";if($("vlist")){f=$("vlist");if(f.offsetHeight>f.clientHeight)f.style.paddingRight=Math.min(f.offsetHeight-f.clientHeight+3,30)+"px";else if(f.offsetHeight<=f.clientHeight-21)f.style.paddingRight="3px"}f=a.offsetWidth;g=a.offsetHeight;a.style.width=c;a.style.height=e;b=vars.xc-Math.round(f/2);if(b+f>vars.realwidth)b=vars.xc<vars.realwidth?vars.realwidth-f:vars.xc-f;d=vars.yc-12;if(d+g>vars.realheight)d=vars.yc<vars.realheight?vars.realheight-
g:vars.yc-g+12;convertani(f-2,g-2,b,d)}msd()}
function ment(){var a=vars.men;jQuery(a).stop();if(a.style.display!="block"){a.style.width="";a.style.height="";var b=vars.xc,d=vars.yc;if(vars.text!=""){a.innerHTML=vars.text;vars.text=""}a.style.display="block";if($("vlist")){var c=$("vlist");if(c.offsetHeight>c.clientHeight)c.style.paddingRight=Math.min(c.offsetHeight-c.clientHeight+3,30)+"px";else if(c.offsetHeight<=c.clientHeight-21)c.style.paddingRight="3px"}c=a.offsetWidth;if(b+c+13>vars.realwidth&&b-c-7>0)b=b-c-7;else b+=13;a.style.left=Math.max(b,
0)+"px";var e=a.offsetHeight;if(d+e>vars.realheight&&d-e-2>0)d=d-e-2;a.style.top=Math.max(d,0)+"px";a.style.display="none";jQuery(a).slideDown(300)}else{b=a.offsetWidth-2+"px";d=a.offsetHeight-2+"px";if(vars.text!=""){a.innerHTML=vars.text;vars.text=""}a.style.width="";a.style.height="";if($("vlist")){c=$("vlist");if(c.offsetHeight>c.clientHeight)c.style.paddingRight=Math.min(c.offsetHeight-c.clientHeight+3,30)+"px";else if(c.offsetHeight<=c.clientHeight-21)c.style.paddingRight="3px"}c=a.offsetWidth;
e=a.offsetHeight;a.style.width=b;a.style.height=d;b=vars.xc;d=vars.yc;if(b+c+13>vars.realwidth&&b-c-7>0)b=b-c-7;else b+=13;if(d+e>vars.realheight&&d-e-2>0)d=d-e-2;convertani(c-2,e-2,b,d)}msd()}function toggleCheckbox(a,b,d,c){if(data[a]==c){if($(b))$(b).checked=d?true:false;return true}else{if($(b))$(b).checked=d?false:true;return false}}
function checkcoordinate(a,b,d,c,e){if(!d(a)){var f=/\(?(\-?[0-9]+)[|\/](\-?[0-9]+)\)?.*/.exec(a);if(f){a=f[1];b=f[2]}}if(d(a)&&d(b)&&(!e||a<1E3&&b<1E3))return[a,b];else{c||alertmessage(translate("Not a valid coordinate.")+"<br />"+translate("Please check your input."));return false}}function hex2rgb(a){return[parseInt(a.substring(0,2),16),parseInt(a.substring(2,4),16),parseInt(a.substring(4,6),16)]}
var gradientHighlight={func:function(a,b){var d=gradientHighlight;if(a>=d.turnp){var c=Math.min(a-d.turnp,d.am1),e=Math.round(d.rb+d.radd*c),f=Math.round(d.gb+d.gadd*c);d=Math.round(d.bb+d.badd*c)}else if(a>=d.turnp2){c=Math.min(Math.abs(a-d.turnp),d.am2);e=Math.round(d.rb2+d.radd2*c);f=Math.round(d.gb2+d.gadd2*c);d=Math.round(d.bb2+d.badd2*c)}else{c=Math.min(Math.abs(a-d.turnp2),d.am3);e=Math.round(d.rb3+d.radd3*c);f=Math.round(d.gb3+d.gadd3*c);d=Math.round(d.bb3+d.badd3*c)}return b?toHex(e)+toHex(f)+
toHex(d):"rgb("+e+","+f+","+d+")"}};
function minsets(){return encode([data.lighttribes,data.lightplayers,data.minimap,data.minimapx,data.minimapy,data.mainvillage,data.xstart,data.ystart,data.xdest,data.ydest,data.mode,data.iconsize,data.width,data.height,data.wheel,data.lightvillages,data.mpos,data.filtert,data.filter,data.spoints,data.auto,data.props,data.last,data.markers,data.def,data.groups,data.defgroup,data.lines,data.mcol,data.church,data.lt,data.ct,data.cto,data.ani,data.tooltips,data.minsize,data.mo,data.ctop,data.menu,data.hotkeys,
data.rightclick,data.colours,data.bordera,data.timers,data.mapani].join("_"))}
function save(a){clearTimeout(vars.delaysave);if(a)vars.delaysave=setTimeout(function(){save()},2E3);else if(!external){a=minsets();if(save.oldsets!=a){save.oldsets=a;try{jQuery.ajax({url:"more.php?type=save&ms="+(new Date).getTime(),error:function(d,c){c!="parsererror"&&errorMessage(translate("Failed to save your settings.")+'<a href="javascript:;" onclick="save(); jQuery(\'#error\').slideUp(500);">'+translate("Retry")+"</a>")},data:"userid="+encode(userid)+"&savedata="+a,type:"post"})}catch(b){errorMessage(translate("Cannot save settings (an error has occurred)."))}}}}
function setDefaultCoordinate(a,b){if(!external){var d=translate;Close();$("defcoord").innerHTML=translate3("Setting {text} as default coordinate...","<b>"+a+"|"+b+"</b>");vars.savehttp=jQuery.ajax({url:"more.php?type=default&ms="+(new Date).getTime(),error:function(){if($("defcoord"))$("defcoord").innerHTML=translate3("Could not set {text} as default coordinate.","<b>"+a+"|"+b+"</b>")+' <a href="javascript: setDefaultCoordinate();">'+d("Retry")+"</a>"},success:function(){if($("defcoord")){$("defcoord").innerHTML=
translate3("Default coordinate: {text}","<b>"+a+"|"+b+"</b>");vars.defx=a;vars.defy=b}},data:"userid="+encode(userid)+"&defx="+a+"&defy="+b,type:"post"})}}
var textbox={menu:function(a,b,d,c,e,f,g){vars.text=['<table cellpadding="0" cellspacing="0" class="',d,'">',vars.bordertop,c?a:vars.borderlefth1+"<b><u>"+a+"</u></b>",vars.borderright,vars.spacer,c&&(e||g)?vars.borderlefth1:vars.borderleft,b,vars.borderright,e?"":vars.spacer+vars.borderlefth1+'<a class="spl" href="javascript: Close();"><b>'+translate("Close")+"</b></a>"+vars.borderright,vars.borderbottom,"</table>"].join("");f?ment():mend()},link:function(a,b,d,c){if(cancelcol())textbox.menu(a,[c?
b:'<div class="lefta ws" style="width: 300px;">'+b+"</div>",vars.borderright,vars.spacer,vars.borderleft,'<div><input type="text" class="oi" style="width: 300px" value="',d,'" readonly="readonly" onclick="this.select();" /><br />',translate("Right click and select copy link location"),': <a href="',d,'">',translate("Link"),"</a></div>"].join(""),"t100 ie")},question:function(a,b,d,c,e,f){if(cancelcol())textbox.menu(c,[d!=""?['<div class="lefta">',d,"</div>",vars.borderright,vars.spacer,vars.borderleft].join(""):
"",'<form action="javascript:;" onsubmit="',a,"('",b,"',this.childNodes[1].value)\"><span>",e,'</span><input type="text" class="oi norightrad" style="width: 130px;" value="',f,'" maxlength="25" onkeydown="return submitenter(this, event);" /><input type="submit" value="',translate("Save"),'" class="fbut noleftrad" /></form>'].join(""),"t100 fc")}};
function playermen(a,b,d){if(cancelcol()){var c=[],e=translate,f=true,g=false,h="",j="",k="C-"+a+"-"+b;if(d=="tribe"){h=b;j=a}else{f=false;if(villagedata[k]){g=villagedata[k];h=g[1]}}if(h!=""&&h!="0"&&!j)if(playerdata[h])j=playerdata[h][1];g&&c.push('<a class="spl" href="',vars.serverpage,"screen=info_village&id=",g[0],'" target="_blank" onmouseover="show(\'',e("Open village page at Tribal Wars in a new tab/window."),'\',3);" onmouseout="msu();" onclick="Close()">',e("Village page"),"</a>");h!=""&&
h!="0"&&c.push('<a class="spl" href="',vars.serverpage,"screen=info_player&id=",h,'" target="_blank" onmouseover="show(\'',e("Player page at Tribal Wars."),'\',3);" onmouseout="msu();" onclick="Close()">',e("Player page"),"</a>");j!=""&&j!="0"&&c.push('<a class="spl" href="',vars.serverpage,"screen=info_ally&id=",j,'" target="_blank" onmouseover="show(\'',e("Tribe page at Tribal Wars."),'\',3);" onmouseout="msu();" onclick="Close()">',e("Tribe page"),"</a>");c.push('<a class="spl" href="javascript: stats(\'',
h,"','",j,"','",g?g[0]:"","');\" onmouseover=\"show('",e("View player, tribe graphs and links to other external tools."),'\',3);" onmouseout="msu();">',e("Graphs & links"),"</a>");c.push("<a class=\"spl\" href=\"javascript: bbcode(0,'','",h,"','",j,"',1);\" onmouseover=\"show('",e("BBcodes for village, player and tribe. You can also generate a BBcode list of the player\\'s villages or the tribe\\'s members."),'\',3);" onmouseout="msu();">',e("BBcodes"),"");g&&c.push('<a class="spl" href="',serversettings.folder,
"?x=",a,"&y=",b,'" target="_blank" onmouseover="show(\'',translate3("Center map on {text}.",a+"|"+b),'\',3);" onmouseout="msu();" onclick="Close()">',e("Center map"),"</a>");textbox.menu(f?'<a class="spl smt" onmouseover="show(tooltiptext(\''+j+"','"+h+'\',1));" onmouseout="msu();" href="javascript: tooltipInfo(\''+j+"','"+h+"',0,1);\">"+(h!="0"&&h!=""?fetch.player[0](h):j!="0"&&j!=""?fetch.tribe[0](j,1):e("No data"))+"</a>":'<a class="spl smt" onmouseover="show(tooltiptext(\''+a+"','"+b+'\'));" onmouseout="msu();" href="javascript: tooltipInfo('+
a+", "+b+');">('+a+"|"+b+") K"+fetch.k(a,b)+"</a>",c.join(""),"t100 ie")}}
function showmen(a,b,d,c,e,f){if(serversettings.baseonly)playermen(a,b,c);else if(cancelcol()&&(a!=vars.dbc[0]||b!=vars.dbc[1]||(new Date).getTime()-vars.dbc[2]>300)){var g=0;if(f)g=f;else try{if(d){var h=d.shiftKey,j=d.altKey,k=d.ctrlKey;d=-1;if(k&&j)d=0;else if(k&&h)d=1;else if(k)d=2;else if(j)d=3;else if(h)d=4;if(e)d+=6;if(d>=0){g=data.menu.charAt(d)+"";if(!/^[1vhpjtkmacibnwxqu]{1}$/.test(g))switch(d){case 0:g="c";break;case 1:g="m";break;case 2:g="v";break;case 3:g="t";break;case 4:g="p";break;
case 5:g="s";break;case 6:g="q";break;case 7:g="a";break;case 8:g="h";break;case 9:g="j";break;case 10:g="k";break}}}}catch(m){}h="C-"+a+"-"+b;k=j="";d=false;if(c=="tribe"){c=0;d=true;h="";j=b;k=a}else if(c==2&&!e){a=data.mainvillage.split("-");vars.villageid[a[0]]&&villagedata[vars.villageid[a[0]]]&&villagelist.fetch(1,villagedata[vars.villageid[a[0]]][1],"main","");vars.lastclick=true;return 1}e=false;if(!d&&villagedata[h]){e=villagedata[h];j=e[1]}if(j!=""&&j!="0"&&!k)if(playerdata[j])k=playerdata[j][1];
if(g)switch(g){case "v":e&&window.open(vars.serverpage+"screen=info_village&id="+e[0]);return 1;case "h":if(e)vars.villages[e[0]]!=undefined?highlight.options(e[0],"village"):highlight.add(e[0],"village");return 1;case "p":j!="0"&&j!=""&&window.open(vars.serverpage+"screen=info_player&id="+j);return 1;case "j":if(j!="0"&&j!="")vars.players[j]!=undefined?highlight.options(j,"player"):highlight.add(j,"player");return 1;case "t":k!="0"&&k!=""&&window.open(vars.serverpage+"screen=info_tribe&id="+k);return 1;
case "k":if(k!="0"&&k!="")vars.tribes[k]!=undefined?highlight.options(k,"tribe"):highlight.add(k,"tribe");return 1;case "m":e&&j!="0"&&j!=""&&mainvillage.set(e[0],1);return 1;case "a":if(e)marker.list[h]?marker.del(a,b):marker.add(a,b);return 1;case "c":if(!d&&vars.lastm<(new Date).getTime()-500){mov(a,b);vars.lastm=(new Date).getTime()}return 1;case "b":bbcode(0,h,j,k,0);return 1;case "n":notelist(h,j,k);return 1;case "w":manual(a,b,1);return 1;case "x":manual(a,b);return 1;case "q":stats(j,k,e?
e[0]:"");return 1;case "i":tooltipInfo(a,b,c,d);return 1;case "u":k!="0"&&k!=""&&window.open(serversettings.folder+"history/tribe/"+k);return 1}c=[];g=translate;if(e){c.push('<table cellpadding="0" cellspacing="0" class="tb1"><tr><td class="righta"><div><a class="spl" href="',vars.serverpage,"screen=info_village&id=",e[0],'" target="_blank" onmouseover="show(\'',g("Open village page at Tribal Wars in a new tab/window."),'\',3);" onmouseout="msu();" onclick="Close()">',g("Village"),'&nbsp;</a></div></td><td class="lefta"><div><a class="spl" href="javascript: ');
vars.villages[e[0]]!=undefined?c.push("highlight.options('",e[0],"', 'village');\" onmouseover=\"show('",g("Edit the highlighted village\\'s colour, assign it to a group or delete it."),'\',3);" onmouseout="msu();"><span class="colimg smb" style="background-color: #',vars.villages[e[0]],'"></span>&nbsp;',g("(options)")):c.push("highlight.add('",e[0],"', 'village');\" onmouseover=\"show('",g("Highlight this village on the map."),'\',3);" onmouseout="msu();">',g("(highlight)"));c.push("</a></div></td></tr></table>");
if(j!="0"&&j!="")e[0]==data.mainvillage?c.push('<a class="spl" href="javascript: mainvillage.unset();" onmouseover="show(\'',g("Unset main village."),'\',3);" onmouseout="msu();">',g("Unset main"),"</a>"):c.push('<a class="spl" href="javascript: mainvillage.set(\'',e[0],"'); Close();\" onmouseover=\"show('",g("Set a main village which will be selected when links to Tribal Wars are opened. Also sets the player whose morale is displayed."),'\',3);" onmouseout="msu();">',g("Set main"),"</a>");marker.list[h]?
c.push('<a class="spl" href="javascript: marker.del(\''+a+"','"+b+"');\" onmouseover=\"show('",g("Remove marker from the map."),'\',3);" onmouseout="msu();">',g("Delete marker"),"</a>"):c.push('<a class="spl" href="javascript: marker.add(\''+a+"','"+b+"');\" onmouseover=\"show('",g("Display a round marker on the map at this coordinate."),'\',3);" onmouseout="msu();">',g("Add marker"),"</a>");f=draw.churchlist;for(var n=f.length,q=false,r=0;r<n;r++)if(f[r][0]==a&&f[r][1]==b){q=f[r];break}q?c.push('<a class="spl" href="javascript: draw.circleoptions(\''+
a+"','"+b+"');\" onmouseover=\"show('",g("Edit the circle\\'s colour and radius or delete it."),'\',3);" onmouseout="msu();">',g("Circle"),' <span class="colimg smb" style="background-color: #',q[3],'"></span>&nbsp;',g("(options)"),"</a>"):c.push('<a class="spl" href="javascript:;" onclick="draw.churchadd(\'',a,"','",b,"','1','252589','6'); Close();\" onmouseover=\"show('",g("Draws a blue &quot;First church&quot; circle at this coordinate. You can edit it afterwards."),'\',3);" onmouseout="msu();">',
g("Draw circle"),"</a>");c.push('<a class="spl" href="javascript: timer.newvillagetimer(\''+h+"');\" onmouseover=\"show('",g("Create a simple timer that opens the village page when it expires."),'\',3);" onmouseout="msu();">',g("New timer"),"</a>")}if(j!="0"&&j!=""){c.push('<table cellpadding="0" cellspacing="0" class="tb1"><tr><td class="righta"><div><a class="spl" href="',vars.serverpage,"screen=info_player&id=",j,'" target="_blank" onmouseover="show(\'',g("Player page at Tribal Wars."),'\',3);" onmouseout="msu();" onclick="Close()">',
g("Player"),'&nbsp;</a></div></td><td class="lefta"><div><a class="spl" href="javascript: ');vars.players[j]!=undefined?c.push("highlight.options('",j,"','player');\" onmouseover=\"show('",g("Edit the highlighted player\\'s colour, assign it to a group or delete it."),'\',3);" onmouseout="msu();"><span class="colimg smb" style="background-color: #',vars.players[j],'"></span>&nbsp;',g("(options)")):c.push("highlight.add('",j,"','player');\" onmouseover=\"show('",g("Highlight this player on the map."),
'\',3);" onmouseout="msu();">',g("(highlight)"));c.push('</a></div></td></tr></table><a class="spl" href="javascript: villagelist.fetch(1,',j,",'list','');\" onmouseover=\"show('",g("Displays a list of the player\\'s villages, selecting one will display its village menu."),'\',3);" onmouseout="msu();">',g("Village list"),"</a>")}if(k!="0"&&k!=""){c.push('<table cellpadding="0" cellspacing="0" class="tb1"><tr><td class="righta"><div><a class="spl" href="',vars.serverpage,"screen=info_ally&id=",k,'" target="_blank" onmouseover="show(\'',
g("Tribe page at Tribal Wars."),'\',3);" onmouseout="msu();" onclick="Close()">',g("Tribe"),'&nbsp;</a></div></td><td class="lefta"><div><a class="spl" href="javascript: ');vars.tribes[k]!=undefined?c.push("highlight.options('",k,"', 'tribe');\" onmouseover=\"show('",g("Edit the highlighted tribe\\'s colour, assign it to a group or delete it."),'\',3);" onmouseout="msu();"><span class="colimg smb" style="background-color: #',vars.tribes[k],'"></span>&nbsp;',g("(options)")):c.push("highlight.add('",
k,"', 'tribe');\" onmouseover=\"show('",g("Highlight this tribe on the map."),'\',3);" onmouseout="msu();">',g("(highlight)"));c.push('</a></div></td></tr></table><a class="spl" href="javascript: memberlist.fetch(1,',k,",'list',0);\" onmouseover=\"show('",g("Displays a list of the tribe\\'s members, selecting one will display their menu."),'\',3);" onmouseout="msu();">',g("Member list"),"</a>")}if(d||e){if(j!="0"&&j!=""||k!="0"&&k!="")c.push('<a class="spl" href="',k!="0"&&k!=""?serversettings.folder+
"history/tribe/"+k:serversettings.folder+"history/player/"+j,'" onmouseover="show(\'',g("Historical data giving an overview of points, ODA, ODD, conquers and more over the past week."),'\',3);" onmouseout="msu();" target="_blank" onclick="Close();">',g("Historical data"),"</a>");c.push('<a class="spl" href="javascript: stats(\'',j,"','",k,"','",e?e[0]:"","');\" onmouseover=\"show('",g("View player, tribe graphs and links to other external tools."),'\',3);" onmouseout="msu();">',g("Graphs & links"),
'</a><a class="spl" href="javascript: bbcode(0,\'',h,"','",j,"','",k,"',0);\" onmouseover=\"show('",g("BBcodes for village, player and tribe. You can also generate a BBcode list of the player\\'s villages or the tribe\\'s members."),'\',3);" onmouseout="msu();">',g("BBcodes"),"</a>")}if(d){if(j!="0"&&j!=""||k!="0"&&k!="")c.push("<a class=\"spl\" href=\"javascript: notelist('','",j,"','",k,"');\" onmouseover=\"show('",g("View, edit and save notes for this player or tribe."),'\',3);" onmouseout="msu();">',
g("Notes"),"</a>")}else{if(!e){c.push(fixText(g("No village at this coordinate"),15));c.push(vars.borderright,vars.spacer,vars.borderleft)}c.push('<a class="spl" href="javascript: notelist(\'',h,"','",j,"','",k,"');\" onmouseover=\"show('",g("View, edit and save notes for this village, player or tribe."),'\',3);" onmouseout="msu();">',g("Notes"),"</a>");data.xstart==a&&data.ystart==b?c.push('<a class="spl" href="javascript: unset();" onmouseover="show(\'',g("Unset start coordinate."),'\',3);" onmouseout="msu();">',
g("Unset start"),"</a>"):c.push('<a class="spl" href="traveltimes?world=',data.server,"&xs=",a,"&ys=",b,'" target="_blank" onclick="manual(',a,", ",b,',1); return false;" onmouseover="show(\'',g("Set start coordinate for travel times and line/circle drawing."),'\',3);" onmouseout="msu();">',g("Set start"),"</a>");data.xdest==a&&data.ydest==b?c.push('<a class="spl" href="javascript: unset(1);" onmouseover="show(\'',g("Unset destination coordinate."),'\',3);" onmouseout="msu();">',g("Unset destination"),
"</a>"):c.push('<a class="spl" href="traveltimes?world=',data.server,"&xd=",a,"&yd=",b,'" target="_blank" onclick="manual(',a,", ",b,'); return false;" onmouseover="show(\'',g("Set destination coordinate for travel times and line/circle drawing."),'\',3);" onmouseout="msu();">',g("Set destination"),"</a>");c.push('<a class="spl" href="',vars.moveurl(a,b),'" target="_blank" onclick="mov(',a,",",b,'); return false;" onmouseover="show(\'',translate3("Center map on {text}.",a+"|"+b),'\',3);" onmouseout="msu();">',
g("Center map"),"</a>")}textbox.menu(d?'<a class="spl smt" onmouseover="show(tooltiptext(\''+k+"','"+j+'\',1));" onmouseout="msu();" href="javascript: tooltipInfo(\''+k+"','"+j+"',0,1);\">"+(j!="0"&&j!=""?fetch.player[0](j):k!="0"&&k!=""?fetch.tribe[0](k,1):g("No data"))+"</a>":'<a class="spl smt" onmouseover="show(tooltiptext(\''+a+"','"+b+'\'));" onmouseout="msu();" href="javascript:;" onclick="if (new Date().getTime()-vars.dbc[2]>300) {tooltipInfo('+a+", "+b+');}">('+a+"|"+b+") K"+fetch.k(a,b)+
"</a>",c.join(""),"t100 ie")}}
function stats(a,b,d,c,e){if(cancelcol()){var f=function(r,o,x){r=r.replace(/{prefix}/g,serversettings.prefix).replace(/{server}/g,data.server).replace(/{id}/g,o);if(x){o=x.length;for(var s=0;s<o;s+=2)r=r.replace(x[s],x[s+1])}return r.replace(/</g,"&lt;").replace(/"/g,"&quot;")},g=serversettings.twstatsdomain==""?false:"http://"+serversettings.twstatsdomain+"/",h=serversettings.prefix=="en"&&data.server!="c1"&&data.server>=23?"http://www.mytwstats.com/":serversettings.prefix=="pl"&&(data.server==
"c1"||data.server>=9)?"http://www.tw-stats.littlbuger.info/":false,j=translate,k=1,m=a!="0"&&a!=""||b!="0"&&b!=""?true:false,n=['<table class="ttt" cellpadding="2" cellspacing="1"><tr>',m?'<td colspan="2"><div class="center"><b><u>Graphs</u></b></div></td>':"",'<td><div class="center"><b><u>Links</u></b></div></td></tr><tr>'],q=[];if(m){n.push("<td>");e=e==2||e==1?e:3;e==3||!g?n.push("<div><b>Tribal Wars Map</b></div>"):n.push('<a class="spl" href="javascript: stats(\'',a,"','",b,"','",d,"','',3);\">Tribal Wars Map</a>");
if(g){e==2?n.push("<div><b>TW Stats</b></div>"):n.push('<a class="spl" href="javascript: stats(\'',a,"','",b,"','",d,"','",c?c:"","',2);\">TW Stats</a>");e==1?n.push("<div><b>TW Stats (alt view)</b></div>"):n.push('<a class="spl" href="javascript: stats(\'',a,"','",b,"','",d,"','",c?c:"","',1);\">TW Stats (alt view)</a>")}n.push("</td><td>",(e==3||!g)&&(!c||c=="")?"<b>"+j("Points")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','',3);\">"+j("Points")+"</a>"," - ");(e==3||!g)&&c=="oda"?
n.push("<b>"+j("ODA")+"</b>"):n.push("<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','oda',3);\">"+j("ODA")+"</a>");n.push(" - ");(e==3||!g)&&c=="odd"?n.push("<b>"+j("ODD")+"</b>"):n.push("<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','odd',3);\">"+j("ODD")+"</a>");if(a!="0"&&a!=""){n.push(" - ");e==3&&c=="playerdata"?n.push("<b>"+j("Player data")+"</b>"):n.push("<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','playerdata',3);\">"+j("Player data")+"</a>")}if(b!="0"&&b!=""){n.push(" - ");
e==3&&c=="tribedata"||!g&&a!="0"&&a!=""?n.push("<b>"+j("Tribe data")+"</b>"):n.push("<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','tribedata',3);\">"+j("Tribe data")+"</a>")}if(g)n.push("<br />",(!c||c=="")&&e==2?"<b>"+j("Points")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','',2);\">"+j("Points")+"</a>"," - ",c=="&graph=oda"&&e==2?"<b>"+j("ODA")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=oda',2);\">"+j("ODA")+"</a>"," - ",c=="&graph=odd"&&e==2?"<b>"+
j("ODD")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=odd',2);\">"+j("ODD")+"</a>"," - ",c=="&graph=villages"&&e==2?"<b>"+j("Villages")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=villages',2);\">"+j("Villages")+"</a>"," - ",c=="&graph=members"&&e==2?"<b>"+j("Members")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=members',2);\">"+j("Members")+"</a>","<br />",(!c||c==""||c=="&graph=points")&&e==1?"<b>"+j("Points")+"</b>":"<a href=\"javascript: stats('"+
a+"','"+b+"','"+d+"','&graph=points',1);\">"+j("Points")+"</a>"," - ",c=="&graph=oda"&&e==1?"<b>"+j("ODA")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=oda',1);\">"+j("ODA")+"</a>"," - ",c=="&graph=odd"&&e==1?"<b>"+j("ODD")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=odd',1);\">"+j("ODD")+"</a>"," - ",c=="&graph=villages"&&e==1?"<b>"+j("Villages")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=villages',1);\">"+j("Villages")+"</a>",
" - ",c=="&graph=members"&&e==1?"<b>"+j("Members")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=members',1);\">"+j("Members")+"</a>"," - ",c=="&graph=rank"&&e==1?"<b>"+j("Rank")+"</b>":"<a href=\"javascript: stats('"+a+"','"+b+"','"+d+"','&graph=rank',1);\">"+j("Rank")+"</a>")}if(g&&(e==2||e==1)){if(a!="0"&&a!=""){k++;q.push('<tr><td colspan="2"><div style="width: 342px; height: 132px;"><a href="',f(g+"{prefix}{server}/index.php?page=player&id={id}",a),'" target="_blank" onclick="Close()"><img src="',
f(g+"image.php?id={id}&s={prefix}{server}{type}&type=player"+(e==1?"ssgraph":"graph"),a,[/{type}/,c?c:""]),'" alt="',j("Player graph"),'" title="" /></a></div></td></tr>')}if(b!="0"&&b!=""){k++;q.push('<tr><td colspan="2"><div style="width: 342px; height: 132px;"><a href="',f(g+"{prefix}{server}/index.php?page=tribe&id={id}",b),'" target="_blank" onclick="Close()"><img src="',f(g+"image.php?id={id}&s={prefix}{server}{type}&type=tribe"+(e==1?"ssgraph":"graph"),b,[/{type}/,c?c:""]),'" alt="',j("Tribe graph"),
'" title="" /></a></div></td></tr>')}}else{if(a!="0"&&a!=""&&c!="tribedata"){k+=2;q.push('<tr><td colspan="2"><div style="',c=="playerdata"?"width: 544px; height: 320px;":"width: 320px; height: 135px;",'"><a href="',f(serversettings.folder+"history/player/{id}",a),'" target="_blank" onclick="Close()"><img src="',f(serversettings.folder+"graph/"+(c=="playerdata"?"":c?c+"_":"p_")+"player/{id}",a),'" alt="',j("Player graph"),'" title="" /></a></div></td></tr><tr><td colspan="2" class="center"><input class="oi" value="[img]',
f("http://{prefix}{server}."+serversettings.domain+serversettings.folder+"graph/"+(c=="playerdata"?"":c?c+"_":"p_")+"player/{id}",a),'[/img]" readonly="readonly" onclick="this.select();" /></div></td></tr>')}if(b!="0"&&b!=""&&c!="playerdata"){k+=2;q.push('<tr><td colspan="2"><div style="',c=="tribedata"?"width: 544px; height: 320px;":"width: 320px; height: 135px;",'"><a href="',f(serversettings.folder+"history/tribe/{id}",b),'" target="_blank" onclick="Close()"><img src="',f(serversettings.folder+
"graph/"+(c=="tribedata"?"":c?c+"_":"p_")+"tribe/{id}",b),'" alt="',j("Tribe graph"),'" title="" /></a></div></td></tr><tr><td colspan="2" class="center"><input class="oi" value="[img]',f("http://{prefix}{server}."+serversettings.domain+serversettings.folder+"graph/"+(c=="tribedata"?"":c?c+"_":"p_")+"tribe/{id}",b),'[/img]" readonly="readonly" onclick="this.select();" /></div></td></tr>')}}n.push("</td>");n.push('<td rowspan="',k,'" valign="top" class="center">');if(g){n.push("<b>TW Stats</b><br />");
d!="0"&&d!=""&&n.push('<a class="spl" href="',f(g+"{prefix}{server}/index.php?page=village&mode=conquers&id={id}",d),'" target="_blank" onclick="Close()">',j("Village conquer history"),"</a>");a!="0"&&a!=""&&n.push('<a class="spl" href="',f(g+"{prefix}{server}/index.php?page=player&id={id}",a),'" target="_blank" onclick="Close()">',j("Player page"),"</a>");b!="0"&&b!=""&&n.push('<a class="spl" href="',f(g+"{prefix}{server}/index.php?page=tribe&id={id}",b),'" target="_blank" onclick="Close()">',j("Tribe page"),
"</a>")}if(m){n.push("<b>Tribal Wars Map</b><br />");a!="0"&&a!=""&&n.push('<a class="spl" href="',f(serversettings.folder+"history/player/{id}",a),'" target="_blank" onclick="Close()">',j("Player data"),"</a>");b!="0"&&b!=""&&n.push('<a class="spl" href="',f(serversettings.folder+"history/tribe/{id}",b),'" target="_blank" onclick="Close()">',j("Tribe data"),"</a>")}if(m){n.push("<b>TW Plus</b><br />");a!="0"&&a!=""&&n.push('<a class="spl" href="',f("http://{prefix}{server}.twplus.org/file/player/{id}/",
a),'" target="_blank" onclick="Close()">',j("Player page"),"</a>");b!="0"&&b!=""&&n.push('<a class="spl" href="',f("http://{prefix}{server}.twplus.org/file/ally/{id}/",b),'" target="_blank" onclick="Close()">',j("Tribe page"),"</a>")}if(m&&h){n.push("<b>MyTWStats</b><br />");a!="0"&&a!=""&&n.push('<a class="spl" href="',f(h+"show_player.php?w={prefix}{server}&id={id}",a),'" target="_blank" onclick="Close()">',j("Player page"),"</a>");b!="0"&&b!=""&&n.push('<a class="spl" href="',f(h+"show_tribe.php?w={prefix}{server}&id={id}",
b),'" target="_blank" onclick="Close()">',j("Tribe page"),"</a>")}n.push("</td></tr>");n.push(q.join(""),"</table>");textbox.menu(j("Graphs & links"),n.join(""),"t100 ie twstats")}}
function bbcode(a,b,d,c,e){if(cancelcol()){var f=translate,g="",h="",j=vars.serverurl+"page.php?page=inbound&screen=info_",k="bbcodes";if(a==1)k="bbcodes2";else if(a==2)k="html";if(b!=""&&villagedata[b]){h=fetch.village[0](b);g=b.split("-");var m=villagedata[b];g=a==1?'[url="'+j+"village&id="+m[0]+'"]'+h+"[/url]":a==2?'&lt;a href="'+j+"village&id="+m[0]+'"&gt;'+h+"&lt;/a&gt;&lt;br /&gt;":"[village]("+g[1]+"|"+g[2]+")[/village]";h='<a href="'+j+"village&id="+m[0]+'" target="_blank" onclick="Close()">'+
h+"</a>"}if(d!=""&&d!="0"&&playerdata[d]){m=fetch.player[0](d);if(g!="")g+="<br />";g+=a==1?'[url="'+j+"player&id="+d+'"]'+m+"[/url]":a==2?'&lt;a href="'+j+"player&id="+d+'"&gt;'+m+"&lt;/a&gt;&lt;br /&gt;":"[player]"+m+"[/player]";if(h!="")h+="<br />";h+='<a href="'+j+"player&id="+d+'" target="_blank" onclick="Close()">'+m+"</a>"}if(c!=""&&c!="0"&&tribedata[c]){m=fetch.tribe[0](c,1);if(g!="")g+="<br />";g+=a==1?'[url="'+j+"ally&id="+c+'"]'+m+"[/url]":a==2?'&lt;a href="'+j+"ally&id="+c+'"&gt;'+m+"&lt;/a&gt;&lt;br /&gt;":
"[ally]"+m+"[/ally]";if(h!="")h+="<br />";h+='<a href="'+j+"ally&id="+c+'" target="_blank" onclick="Close()">'+m+"</a>"}vars.text=['<table cellpadding="0" cellspacing="0" class="t100 ie"><tr><td class="qtl"><div /></td><td class="qt" colspan="3"></td><td class="qtr"><div /></td></tr><tr><td class="ql"></td><td class="qc h1" colspan="3"><b><u>'+f("BBcodes")+"</u> <a href=\"javascript: select('bbcodes');\">("+f("select code")+")</a></b>",vars.borderright,'<tr><td class="qsl"></td><td class="qs" colspan="3"></td><td class="qsr"></td></tr><tr><td class="ql"></td><td class="qc h1" colspan="3"><div>',
a!=1&&a!=2?"<b>"+f("BBcode")+"</b> - ":"<a href=\"javascript: bbcode(0,'"+b+"','"+d+"','"+c+"',"+e+');">'+f("BBcode")+"</a> - ",a==1?"<b>"+f("Forum BBcode")+"</b> - ":"<a href=\"javascript: bbcode(1,'"+b+"','"+d+"','"+c+"',"+e+');">'+f("Forum BBcode")+"</a> - ",a==2?"<b>"+f("HTML")+"</b>":"<a href=\"javascript: bbcode(2,'"+b+"','"+d+"','"+c+"',"+e+');">'+f("HTML")+"</a>","</div>",vars.borderright,'<tr><td class="qsl"></td><td class="qs"></td><td class="qspt"><div /></td><td class="qs"></td><td class="qsr"></td></tr><tr><td class="ql"></td><td class="qc"><div id="bbcodes">',
g,'</div></td><td class="qsv"></td><td class="qc"><div>',h,"</div>",vars.borderright,'<tr><td class="qsl"></td><td class="qs"></td><td class="qspbm"></td><td class="qs"></td><td class="qsr"></td></tr><tr><td class="ql"></td><td class="qc h1" colspan="3"><div>',!e&&d!=""&&d!="0"?'<a href="javascript: villagelist.fetch(1,'+d+",'"+k+"','');\" onmouseover=\"show('"+f("Displays a list of the player\\'s villages in BBcode format.")+'\',3);" onmouseout="msu();">'+f("BBcode village list")+"</a> - ":"",!e&&
c!=""&&c!="0"?'<a href="javascript: memberlist.fetch(1,'+c+",'"+k+"','');\" onmouseover=\"show('"+f("Displays a list of the tribe\\'s members in BBcode format.")+'\',3);" onmouseout="msu();">'+f("BBcode member list")+"</a> - ":"",!e&&(d!=""&&d!="0"||c!=""&&c!="0")?"<a":'<a class="spl"',' href="javascript: Close();"><b>'+f("Close")+"</b></a></div>",vars.borderright,'<tr><td class="qbl"></td><td class="qb" colspan="3"></td><td class="qbr"></td></tr></table>'].join("");mend()}}
var group={villages:{},players:{},tribes:{},list:{},init:function(){for(var a=data.groups.split("-"),b=a.length,d=0;d<b;d+=6)if(is_num(a[d])&&a[d+1]!=""){a[d+3]||(a[d+3]="");a[d+4]||(a[d+4]="");a[d+5]||(a[d+5]="");group.list[a[d]]=[a[d+1],a[d+2],a[d+3].split("."),a[d+4].split("."),a[d+5].split(".")]}a=group.list;var c="",e=vars.tribes,f=vars.players,g=vars.villages;for(var h in a){c=a[h][2];b=c.length;for(d=0;d<b;d++)if(e[c[d]]!=undefined)group.tribes[c[d]]=h;else{c.splice(d,1);d--;b--}c=a[h][3];
b=c.length;for(d=0;d<b;d++)if(f[c[d]]!=undefined)group.players[c[d]]=h;else{c.splice(d,1);d--;b--}c=a[h][4];b=c.length;for(d=0;d<b;d++)if(g[c[d]]!=undefined)group.villages[c[d]]=h;else{c.splice(d,1);d--;b--}}if(data.defgroup&&!group.list[data.defgroup])data.defgroup=0},decode:function(a){return a.charAt(0)=="!"?jQuery.base64Decode(a.substr(1)).replace(/</g,"&lt;"):a.replace(/</g,"&lt;")},change:function(a,b,d){var c=translate,e=group.list,f=["<div>"],g=false,h=false;if(d)h=data.defgroup;else if(group[b+
"s"][a])h=group[b+"s"][a];var j=false,k=[];for(var m in e){j||(j=true);if(h==m){k.push("<b>",group.decode(e[m][0]),"</b>");g=true}else k.push('<a class="spl" href="javascript: ',d?"group.def('"+m+"');\">":"group.assign('"+a+"','"+b+"','"+m+"');\">",group.decode(e[m][0]),"</a>")}g?f.push('<a class="spl" href="javascript: ',d?'group.def(0);">'+c("None")+"</a>":"group.unassign('"+a+"','"+b+"');\">"+c("None")+"</a>"):f.push("<b>"+c("None")+"</b>");f.push(k.join(""));if(j){if(cancelcol()){f.push("</div>");
textbox.menu(d?c("Set default group"):c("Change group"),f.join(""),"t100 ie")}}else confirm(c("No groups have been created yet. Do you want to create a new group?"))?textbox.question("group.create","","",c("Create new group"),c("Group name")+": ",""):Close()},def:function(a){Close();data.defgroup=a;save()},editcolour:function(a,b){if(group.list[b]){a=highlight.hexcheck(a);if(a!=""){Close();var d=group.villages;for(var c in d)d[c]==b&&highlight.edicol(c,a,"village",1);d=group.players;for(c in d)d[c]==
b&&highlight.edicol(c,a,"player",1);d=group.tribes;for(c in d)d[c]==b&&highlight.edicol(c,a,"tribe",1);highlight.build("village");highlight.build("player");highlight.build("tribe");mode("normal",1)}}},unassign:function(a,b){group[b+"s"][a]&&delete group[b+"s"][a];group.build();display.refreshpanel("highlights");Close()},assign:function(a,b,d){group[b+"s"][a]=d;group.build();display.refreshpanel("highlights");Close()},name:function(a,b){if(group.list[a]){b="!"+jQuery.base64Encode(b);Close();group.list[a][0]=
b;group.build();display.refreshpanel("highlights")}},create:function(a,b){b="!"+jQuery.base64Encode(b);Close();for(var d=group.list,c=1,e=true;e;)if(d[c])c++;else e=false;group.list[c]=[b,1,[],[],[]];group.build();display.refreshpanel("highlights")},add:function(a){if(a&&group.list[a]){var b=translate,d=['<table cellpadding="0" cellspacing="1" class="ttt"><tr><td class="fl"><div><b>',group.decode(group.list[a][0]),"</b> (",group.list[a][2].length+group.list[a][3].length+group.list[a][4].length,')</div></td><td class="stsr fr"><div><a href="javascript: group.toggle(\'',
a,'\');" id="group-',a,'-toggle">'],c="";if(group.list[a][1]=="0"){c=' style="display: none;"';d.push(b("Expand"))}else d.push(b("Collapse"));var e=group.list[a][2],f=e.length,g=vars.tribes,h=c;f||(h=' style="display: none;"');d.push("</a> - <a href=\"javascript: group.options('",a,"');\">",b("Options"),"</a></div></td></tr><tr",h,' id="group-',a,'-tri"><td colspan="2"><div class="lefta"><div>',b("Tribes")," (",f,"):</div>");for(h=0;h<f;h++)d.push(highlight.addtribe(e[h],g[e[h]],1));e=group.list[a][3];
f=e.length;g=vars.players;d.push("</div></td></tr><tr",f?c:' style="display: none;"',' id="group-',a,'-pla"><td colspan="2"><div class="lefta"><div>',b("Players")," (",f,"):</div>");for(h=0;h<f;h++)d.push(highlight.addplayer(e[h],g[e[h]],1));e=group.list[a][4];f=e.length;g=vars.villages;d.push("</div></td></tr><tr",f?c:' style="display: none;"',' id="group-',a,'-vil"><td colspan="2"><div class="lefta"><div>',b("Villages")," (",f,"):</div>");for(h=0;h<f;h++)d.push(highlight.addvillage(e[h],g[e[h]],
1));d.push("</div></td></tr></table>");return d.join("")}},toggle:function(a){if(group.list[a]&&$("group-"+a+"-toggle")){var b="";if(group.list[a][1]!="0"){group.list[a][1]=0;b="none";$("group-"+a+"-toggle").innerHTML=translate("Expand")}else{group.list[a][1]="";$("group-"+a+"-toggle").innerHTML=translate("Collapse")}group.build();if(group.list[a][2].length)$S("group-"+a+"-tri").display=b;if(group.list[a][3].length)$S("group-"+a+"-pla").display=b;if(group.list[a][4].length)$S("group-"+a+"-vil").display=
b;display.place(1)}},build:function(a){var b=group.villages,d={};for(var c in b)if(d[b[c]])d[b[c]].push(c);else d[b[c]]=[c];b=group.players;var e={};for(c in b)if(e[b[c]])e[b[c]].push(c);else e[b[c]]=[c];b=group.tribes;var f={};for(c in b)if(f[b[c]])f[b[c]].push(c);else f[b[c]]=[c];b=group.list;var g={};for(c in b){g[c]=b[c];f[c]||(f[c]=[]);g[c][2]=f[c];e[c]||(e[c]=[]);g[c][3]=e[c];d[c]||(d[c]=[]);g[c][4]=d[c]}group.list=g;data.groups="";b=true;for(c in g)if(b){data.groups=c+"-"+g[c][0]+"-"+g[c][1]+
"-"+g[c][2].join(".")+"-"+g[c][3].join(".")+"-"+g[c][4].join(".");b=false}else data.groups+="-"+c+"-"+g[c][0]+"-"+g[c][1]+"-"+g[c][2].join(".")+"-"+g[c][3].join(".")+"-"+g[c][4].join(".");a||save()},bbcode:function(a,b,d,c){if(cancelcol()){var e=translate,f=[],g=[];if(group.list[a]||c){var h,j,k,m,n,q,r=0;if(c){k=vars.tribes;h=group.tribes;j=[];for(var o in k)if(c==2||!h[o])j.push(o)}else j=group.list[a][2];r=n=j.length;if(d!=1&&d!=2){h=tribedata;n&&d!=3&&g.push("<div><b>",e("Tribes"),":</b></div>");
for(o=0;o<n;o++)if(h[j[o]])if(b==1)g.push("<div>[ally]",h[j[o]][2],"[/ally]</div>");else if(b==2)g.push('<div>[url="',vars.serverurl,"page.php?page=inbound&screen=info_ally&id=",j[o],'"]',h[j[o]][2],"[/url]</div>");else b==3&&g.push('<div>&lt;a href="',vars.serverurl,"page.php?page=inbound&screen=info_ally&id=",j[o],'"&gt;',h[j[o]][2],"&lt;/a&gt;&lt;br /&gt;</div>")}if(c){k=vars.players;h=group.players;j=[];for(o in k)if(c==2||!h[o])j.push(o)}else j=group.list[a][3];m=j.length;r+=m;if(d!=1&&d!=3){h=
playerdata;m&&d!=2&&g.push("<div><b>",e("Players"),":</b></div>");for(o=0;o<m;o++)if(h[j[o]])if(b==1)g.push("<div>[player]",h[j[o]][2],"[/player]</div>");else if(b==2)g.push('<div>[url="',vars.serverurl,"page.php?page=inbound&screen=info_player&id=",j[o],'"]',h[j[o]][2],"[/url]</div>");else b==3&&g.push('<div>&lt;a href="',vars.serverurl,"page.php?page=inbound&screen=info_player&id=",j[o],'"&gt;',h[j[o]][2],"&lt;/a&gt;&lt;br /&gt;</div>")}if(c){k=vars.villages;h=group.villages;j=[];for(o in k)if(c==
2||!h[o])j.push(o)}else j=group.list[a][4];k=j.length;r+=k;if(d!=2&&d!=3){q=vars.villageid;k&&d!=1&&g.push("<div><b>",e("Villages"),":</b></div>");for(o=0;o<k;o++)if(q[j[o]]){h=q[j[o]].split("-");if(b==1)g.push("<div>[village](",h[1],"|",h[2],")[/village]</div>");else if(b==2)g.push('<div>[url="',vars.serverurl,"page.php?page=inbound&screen=info_village&id=",j[o],'"]',fetch.village[0](q[j[o]]),"[/url]</div>");else b==3&&g.push('<div>&lt;a href="',vars.serverurl,"page.php?page=inbound&screen=info_village&id=",
j[o],'"&gt;',fetch.village[0](q[j[o]]),"&lt;/a&gt;&lt;br /&gt;</div>")}}f.push("<div>");b==1?f.push("<b>",e("BBcode"),"</b> - "):f.push("<a href=\"javascript: group.bbcode('",a,"',1,",d,",",c,');">',e("BBcode"),"</a> - ");b==2?f.push("<b>",e("Forum BBcode"),"</b> - "):f.push("<a href=\"javascript: group.bbcode('",a,"',2,",d,",",c,');">',e("Forum BBcode"),"</a> - ");b==3?f.push("<b>",e("HTML"),"</b>"):f.push("<a href=\"javascript: group.bbcode('",a,"',3,",d,",",c,');">',e("HTML"),"</a>");f.push("</div>",
vars.borderright,vars.spacer,vars.borderleft,"<div>");if(n)d==3?f.push("<b>",e("Tribes")," (",n,")</b> - "):f.push("<a href=\"javascript: group.bbcode('",a,"',",b,",3,",c,');">',e("Tribes")," (",n,")</a> - ");if(m)d==2?f.push("<b>",e("Players")," (",m,")</b> - "):f.push("<a href=\"javascript: group.bbcode('",a,"',",b,",2,",c,');">',e("Players")," (",m,")</a> - ");if(k)d==1?f.push("<b>",e("Villages")," (",k,")</b> - "):f.push("<a href=\"javascript: group.bbcode('",a,"',",b,",1,",c,');">',e("Villages"),
" (",k,")</a> - ");d!=1&&d!=2&&d!=3?f.push("<b>",e("All")," (",r,")</b>"):f.push("<a href=\"javascript: group.bbcode('",a,"',",b,",0,",c,');">',e("All")," (",r,")</a>");f.push("</div>",vars.borderright,vars.spacer);if(!g.length)if(c==2)g.push('<div class="center">',e("No highlights."),"</div>");else c?g.push('<div class="center">',e("No ungrouped highlights."),"</div>"):g.push('<div class="center">',e("This group has no members."),"</div>")}else g=['<div class="center">',e("No group info."),"</div>"];
f.push('<tr><td class="ql"></td><td class="qc qcnm"><div class="lefta maxh" id="vlist">',g.join(""),"</div>");textbox.menu(c==2?e("All highlights BBcode list"):c?"Ungrouped highlights BBcode list":group.list[a][0]+" - "+e("Member BBcode list"),f.join(""),"t100 ie")}},options:function(a){if(group.list[a])if(cancelcol()){var b=translate;textbox.menu(b("Group options"),["<div>",group.list[a][4].length?'<a class="spl" href="javascript: group.openvillagepages(\''+a+"');\" onmouseover=\"show('"+b("Open a tab/window to the village page at Tribal Wars for every village in this group.")+
'\',3);" onmouseout="msu();">'+b("Open all village pages")+"</a>":"",'<a class="spl" href="javascript: group.bbcode(\'',a,"',1,0,0);\" onmouseover=\"show('",b("Generate a BBcode list of all the members of this group."),'\',3);" onmouseout="msu();">',b("Member BBcode list"),'</a><a class="spl" href="javascript: highlight.edit(\'',a,"', 'group');\" onmouseover=\"show('",b("Edit all the group\\'s members their colour."),'\',3);" onmouseout="msu();">',b("Edit member colours"),"</a><a class=\"spl\" href=\"javascript: textbox.question('group.name','",
a,"','','",b("Change group name"),"','",b("Group name")+": ","','",group.decode(group.list[a][0]),"');\" onmouseover=\"show('",b("Change this group\\'s name."),'\',1);" onmouseout="msu();">',b("Change group name"),'</a><a class="spl" href="javascript: group.del(\'',a,"');\" onmouseover=\"show('",b("Delete this group (members will not be deleted)."),'\',1);" onmouseout="msu();">',b("Delete group"),'</a><a class="spl" href="javascript: group.del(\'',a,'\',1);" onmouseover="show(\'Delete this group and all of its members.\',1);" onmouseout="msu();">',
b("Delete group and members"),"</a></div>"].join(""),"t100 ie")}},openvillagepages:function(a){if(group.list[a])for(var b=group.list[a][4].length,d=0;d<b;d++)window.open(vars.serverpage+"screen=info_village&id="+group.list[a][4][d])},openallvillagepages:function(a){var b=1;if(data.lightvillages)for(var d=data.lightvillages.split("-"),c=d.length,e=0;e<c;e+=2)if(a||!group.villages[d[e]]){window.open(vars.serverpage+"screen=info_village&id="+d[e]);b=0}if(b)alertmessage(a?translate("No villages highlighted."):
translate("No ungrouped villages."))},masstimeout:false,massparse:function(a){if(cancelcol())if($("masshighlight")){for(var b=translate,d=$("masshighlight").value.split("\n"),c=[],e=[],f=[],g=d.length,h="",j=0;j<g;j++)if(is_num(d[j]))c.push(d[j]);else{h=/^\(?([0-9]{1,3})[|\/]([0-9]{1,3})\)?$/.exec(d[j]);if(a!="players"&&a!="tribes"&&h&&is_num(h[1])&&is_num(h[2])&&h[1]<1E3&&h[2]<1E3)e.push(h[1],h[2]);else d[j]!=""&&f.push(d[j])}g=e.length;d="villagename";h="V";var k=b("villages");if(a=="players"){d=
"playername";h="P";k=b("players")}else if(a=="tribes"){d="tribename";h="T";k=b("tribes")}if(g||c.length||f.length){var m="";if(g)for(j=0;j<g;j+=2){if(j)m+="_";m+="C_"+e[j]+"-"+e[j+1]}if(c.length){if(g)m+="_";m+="I_"+c.join("_I_")}if(f.length){if(c.length||g)m+="_";g=f.length;c=jQuery.base64Encode;for(j=0;j<g;j++){if(j)m+="_";m+=h+"_"+c(f[j])}}$("searchb").innerHTML=translate3("Parsing {text}. Please wait...",k);vars.change="massp";jQuery.ajax({url:"data.php?type="+d+"&q="+encode(m)+"&ms="+vars.dat,
success:function(n){if(vars.change=="massp"){namesearch.parseresults(n);group.masshighlightchecked.highlights=[];var q=['<div class="lefta">',fixText(translate3("Uncheck {text} that should not be highlighted and click Save.",k)),"</div>",vars.borderright,vars.spacer,vars.borderleft,'<table cellpadding="1" cellspacing="1" class="ttt">'],r=n.villagedata,o=vars.villages2,x=fetch.village[0];if(a=="players"){r=n.playerdata;o=vars.players;x=fetch.player[0]}else if(a=="tribes"){r=n.tribedata;o=vars.tribes;
x=fetch.tribe[0]}n="";for(var s in r)if(o[s]==undefined){group.masshighlightchecked.highlights.push(a=="players"||a=="tribes"?s:r[s][0]);n=s.split("-");q.push("<tr onmouseover=\"show(tooltiptext('",a=="players"?r[s][1]:a=="tribes"?s:n[1],"','",a=="players"?s:a=="tribes"?0:n[2],"',",a=="players"||a=="tribes"?1:0,'));" onmouseout="msu();"><td><input type="checkbox" class="cb" id="massparse-',a=="players"?"p-"+s:a=="tribes"?"t-"+s:"v-"+r[s][0],'" checked="checked" /></td><td class="tb1"><div>',x(s),
"</div></td></tr>")}if(q.length==1)q=['<div class="lefta">',fixText(b("No parsed results to display.")),"</div>"];else q.push('</table><input type="submit" value="',b("Save"),'" class="fbut" onclick="group.masshighlightchecked(\''+(a?a:"")+"');\" />");textbox.menu(b("Mass highlight"),q.join(""),"t100 ie")}},error:function(){if(vars.change=="massp")$("searchb").innerHTML=translate3("Could not load parsed {text}. ",k)+'<a href="javascript:;" onclick="group.massparse(\''+(a?a:"")+"');\">"+b("Retry")+
"</a>"},dataType:"json"})}else alertmessage(translate3("Please enter a list of {text} in the white area.",k))}},masshighlightchecked:function(a){var b=group.masshighlightchecked.highlights,d=b.length,c="",e="v",f="village";if(a=="players"){e="p";f="player"}else if(a=="tribes"){e="t";f="tribe"}a=false;c="";if(data.def=="1"){highlight.check();c=data.last}else{a=true;var g=highlight.randomcolour}var h=false;if(data.defgroup&&group.list[data.defgroup]){h=true;var j=data.defgroup}for(var k=0;k<d;k++)if($("massparse-"+
e+"-"+b[k])&&$("massparse-"+e+"-"+b[k]).checked)if(e!="v"||vars.villageid[b[k]]){if(a)c=g();vars[f+"s"][b[k]]=c;if(e=="v")vars.villages2[vars.villageid[b[k]]]=c;if(h)group[f+"s"][b[k]]=j}h&&group.build(1);highlight.build(f);display.refreshpanel("highlights");mode("normal",1);Close()},masshighlight:function(a){if(cancelcol()){var b=translate,d=[];a!="players"&&a!="tribes"?d.push("<b>",b("Villages"),"</b>"):d.push('<a href="javascript: group.masshighlight();">',b("Villages"),"</a>");d.push(" - ");a==
"players"?d.push("<b>",b("Players"),"</b>"):d.push("<a href=\"javascript: group.masshighlight('players');\">",b("Players"),"</a>");d.push(" - ");a=="tribes"?d.push("<b>",b("Tribes"),"</b>"):d.push("<a href=\"javascript: group.masshighlight('tribes');\">",b("Tribes"),"</a>");d.push(vars.borderright,vars.spacer,vars.borderleft,'<form action="javascript:;" onsubmit="group.massparse(\'',a?a:"",'\');"><table class="ttt" cellpadding="1" cellspacing="1"><tr><td>');if(a=="players")d.push("Enter a list of players in the textarea below, one player per line. Recognized formats:<br />Player ID: 123456<br />Player name: Some player name");
else a=="tribes"?d.push("Enter a list of tribes in the textarea below, one tribe per line. Recognized formats:<br />Tribe ID: 123456<br />Tribe tag: Stn<br />Tribe name: Some tribe name"):d.push("Enter a list of villages in the textarea below, one village per line. Recognized formats:<br />Village ID: 123456<br />Village coordinate: 500|500, (500|500), 500/500, (500/500)<br />Village name: Some village name, Some village name (500|500) K55");d.push('</td></tr><tr><td><textarea id="masshighlight"></textarea></td></tr><tr><td class="center" id="searchb"><input type="submit" class="fbut" value="Search" /></td></tr></table></form>');
textbox.menu(b("Mass highlight"),d.join(""),"t100 ie")}},del:function(a,b){Close();if(confirm(b?translate("Are you sure you want to delete this group and all of its members?"):translate("Are you sure you want to delete this group? Its members will not be deleted."))){if(data.defgroup==a)data.defgroup=0;if(group.list[a]){delete group.list[a];var d=group.villages;for(var c in d)if(d[c]==a){b&&highlight.del(c,"village",1);delete group.villages[c]}d=group.players;for(c in d)if(d[c]==a){b&&highlight.del(c,
"player",1);delete group.players[c]}d=group.tribes;for(c in d)if(d[c]==a){b&&highlight.del(c,"tribe",1);delete group.tribes[c]}group.build(b);if(b){highlight.build("village");highlight.build("player");highlight.build("tribe");mode("normal",1)}display.refreshpanel("highlights")}}}};
function select(a){if(document.selection&&document.selection.empty)document.selection.empty();else window.getSelection&&window.getSelection().removeAllRanges();if(document.selection&&document.body.createTextRange){var b=document.body.createTextRange();b.moveToElementText($(a));b.select()}else if(window.getSelection){b=document.createRange();b.selectNode($(a));window.getSelection().addRange(b)}else alertmessage(translate("The required methods are not supported by your browser. Select the text manually."))}
var villagelist={highlight:function(a,b,d){if(villagedata[a]){var c=villagedata[a];b=b.parentNode.parentNode;if(d){highlight.del(c[0],"village");b.firstChild.innerHTML='<a class="spl" href="javascript:;" onclick="villagelist.highlight(\''+a+"', this, 0);\">"+fetch.village[0](a)+"</a>";b.childNodes[1].innerHTML=""}else{highlight.add(c[0],"village",1);b.firstChild.innerHTML="<div>"+fetch.village[0](a)+"</div>";b.childNodes[1].innerHTML='<a class="dell" href="javascript:;" onclick="villagelist.highlight(\''+
a+"', this, 1);\">"+translate("(delete)")+' <span class="colimg" style="background-color: #'+vars.villages[c[0]]+';"></span></a>'}mend()}},sort:function(a,b){var d=a[0][3].toLowerCase(),c=b[0][3].toLowerCase();return d<c?-1:d>c?1:parseInt(a[0][0])-parseInt(b[0][0])},sortpoints:function(a,b){var d=parseInt(a[0][2]),c=parseInt(b[0][2]);if(d>c)return-1;else if(d<c)return 1;else{d=a[0][3].toLowerCase();c=b[0][3].toLowerCase();return d<c?-1:d>c?1:parseInt(a[0][0])-parseInt(b[0][0])}},fetch:function(a,
b,d,c){var e=villagedata,f=[];for(var g in e)e[g][1]==b&&f.push([e[g],g]);villagelist.villages[b]=f;if(b!="0"&&b!="")if(!playerdata[b]||f.length<parseInt(playerdata[b][3])){if(a)villagelist.show(b,d,2,c);else vars.change=["villagelist-"+b,d,c];jQuery.ajax({url:"data.php?id="+b+"&type=villagelist&ms="+vars.dat,success:function(){if(a&&vars.change[0]=="villagelist-"+b){f=[];for(var h in e)e[h][1]==b&&f.push([e[h],h]);villagelist.villages[b]=f;f.sort(villagelist.sort);villagelist.show(b,vars.change[1],
0,vars.change[2],vars.change[3])}},error:function(){a&&vars.change[0]=="villagelist-"+b&&villagelist.show(b,vars.change[1],1,vars.change[2],vars.change[3])},dataType:"parse"})}else a&&villagelist.show(b,d,0,c)},villages:{},show:function(a,b,d,c,e){if(cancelcol()){var f=translate;(new Date).getTime();vars.change=["villagelist-"+a,b,c,e,d];var g=[],h=0;if(b=="bbcodes")h=1;else if(b=="highlight")h=2;else if(b=="main")h=3;else if(b=="bbcodes2")h=4;else if(b=="html")h=5;if(a&&a!="0"&&a!=""&&playerdata[a]&&
villagelist.villages[a]){if(h)var j=['<table cellpadding="0" cellspacing="0" class="vlit">'];else{j=['<table cellpadding="1" cellspacing="1" class="vlit ttt"><tr class="tdh"><td class="center">'];e=="1"?j.push("<a href=\"javascript: villagelist.show('",a,"','",b,"',",d,",'",c,"','');\" class=\"spl\">",f("Name"),"</a>"):j.push("<b>",f("Name"),"</b>");j.push('</td><td class="center">');e=="1"?j.push("<b>",f("Points"),"</b>"):j.push("<a href=\"javascript: villagelist.show('",a,"','",b,"',",d,",'",c,
"','1');\" class=\"spl\">",f("Points"),"</a>");j.push("</td></tr>")}var k,m,n=villagelist.villages[a];e=="1"?n.sort(villagelist.sortpoints):n.sort(villagelist.sort);for(var q=n.length,r="<div><b><u>"+playerdata[a][2]+" - "+f("Village list")+"</u> <a href=\"javascript: select('vlist');\">"+f("(select list)")+"</a></b></div>",o={},x=vars.villages,s=f("(delete)"),p=0;p<q;p++){k=n[p][1].split("-");m=fetch.k(k[1],k[2]);if(o[m])o[m]++;else o[m]=1;if(c==""||m==c){if(h==1)j.push("<tr><td>[village](",k[1],
"|",k[2],")[/village]");else if(h==4)j.push('<tr><td>[url="',vars.serverurl,"page.php?page=inbound&screen=info_village&id=",n[p][0][0],'"]',fetch.village[0](n[p][1]),"[/url]");else if(h==5)j.push('<tr><td>&lt;a href="',vars.serverurl,"page.php?page=inbound&screen=info_village&id=",n[p][0][0],'"&gt;',fetch.village[0](n[p][1]),"&lt;/a&gt;&lt;br /&gt;");else if(h==3||h==2){j.push("<tr onmouseover=\"show(tooltiptext('",k[1],"','",k[2],'\'));" onmouseout="msu();"><td class="tb1">');if(h==2)x[n[p][0][0]]!=
undefined?j.push("<div>",fetch.village[0](n[p][1]),'</div></td><td><a href="javascript:;" class="dell" onclick="villagelist.highlight(\'',n[p][1],"', this, 1);\">",s,' <span class="colimg" style="background-color: #',x[n[p][0][0]],';"></span></a>'):j.push('<a class="spl" href="javascript:;" onclick="villagelist.highlight(\''+n[p][1]+"', this, 0);\">",fetch.village[0](n[p][1]),"</a></td><td></td><td>");else j.push('<a class="spl" href="',vars.serverpage,"screen=info_village&id=",n[p][0][0],'" onclick="mainvillage.set(\'',
n[p][0][0],"','",a,"',1); Close(); return false;\">",fetch.village[0](n[p][1]),"</a>")}else j.push("<tr onmouseover=\"show(tooltiptext('",k[1],"','",k[2],'\'));" onmouseout="msu();" onclick="showmen(\'',k[1],"','",k[2],'\',event); return false;" oncontextmenu="if (data.rightclick==\'1\') {return false;}" class="tdt"><td class="tb1"><a target="_blank" class="spl" href="',vars.serverpage,"screen=info_village&id=",n[p][0][0],'">',fetch.village[0](n[p][1]),'</a></td><td class="righta">',n[p][0][2]);j.push("</td></tr>")}}j.push("</table>");
k=0;g.push("<div>");if(h!=3){h==0?g.push("<b>",f("Normal list"),"</b> - "):g.push("<a href=\"javascript: villagelist.show('",a,"','list',",d,",'",c,"');\" onmouseover=\"show('",f("Displays a list of the player\\'s villages, selecting one will display its village menu."),'\',3);" onmouseout="msu();">',f("Normal list"),"</a> - ");h==1||h==4||h==5?g.push("<b>",f("BBcode list"),"</b> - "):g.push("<a href=\"javascript: villagelist.show('",a,"','bbcodes',",d,",'",c,"');\" onmouseover=\"show('",f("Displays a list of the player\\'s villages in BBcode format."),
'\',3);" onmouseout="msu();">',f("BBcode list"),"</a> - ");h==2?g.push("<b>",f("Highlight list"),"</b>"):g.push("<a href=\"javascript: villagelist.show('"+a+"', 'highlight', "+d+", '"+c+"');\" onmouseover=\"show('",f("Displays a list of the player\\'s villages with your highlights displayed, selecting one will highlight it."),'\',3);" onmouseout="msu();">',f("Highlight list"),"</a>");g.push("<br />")}if(h==0)g.push(f("Click a village to view its menu."));else if(h==2)g.push(f("Click a village to highlight it."),
" <a href=\"javascript: highlight.allplayer('",a,"');\">",f("(highlight all)"),"</a>");else if(h==3)g.push('<div><a href="javascript: mainvillage.center();">',f("Center on main"),'</a> - <a href="javascript: mainvillage.unset();">',f("Unset main"),"</a><br />",f("Click a village to set it as your main."),"</div>");else{h==1?g.push("<b>",f("BBcode"),"</b> - "):g.push("<a href=\"javascript: villagelist.show('",a,"','bbcodes',",d,",'",c,"');\">",f("BBcode"),"</a> - ");h==4?g.push("<b>",f("Forum BBcode"),
"</b> - "):g.push("<a href=\"javascript: villagelist.show('",a,"','bbcodes2',",d,",'",c,"');\">",f("Forum BBcode"),"</a> - ");h==5?g.push("<b>",f("HTML"),"</b>"):g.push("<a href=\"javascript: villagelist.show('",a,"','html',",d,",'",c,"');\">",f("HTML"),"</a>")}g.push("</div>",vars.borderright,vars.spacer,vars.borderlefth1,"<div>");h=[];m="";for(m in o)h.push([m,o[m]]);h.sort(function(A,u){return parseInt(A[0])>parseInt(u[0])?1:-1});o={};m=h.length;for(o=0;o<m;o++){h[o][0]==c?g.push("<b>K",h[o][0],
" (",h[o][1],")</b>"):g.push("<a href=\"javascript: villagelist.show('",a,"','",b,"',",d,",'",h[o][0],"','",e,"');\">K",h[o][0]," (",h[o][1],")</a>");k++;if(k>=4){g.push("<br />");k=0}else g.push(" - ")}c==""?g.push("<b>",f("All")," (",q,")</b>"):g.push("<a href=\"javascript: villagelist.show('",a,"','",b,"',",d,",'');\">",f("All")," (",q,")</a>");g.push("</div>",vars.borderright,vars.spacer,'<tr><td class="ql"></td><td class="qc qcnm" valign="top"><div class="lefta maxh" id="vlist">',j.join(""),
"</div>");if(d==2||d==1)g.push(vars.borderright,vars.spacer,vars.borderleft)}else{r="<b><u>"+f("No player info")+"</u></b>";h==3&&g.push('<div><a href="javascript: mainvillage.center();">',f("Center on main"),'</a> - <a href="javascript: mainvillage.unset();">',f("Unset main"),"</a><br />",f("Click a village to set it as your main."),"</div>")}if(d==2)g.push(f("Loading player village data..."));else d==1&&g.push(f("Could not load player village data."),' <a href="javascript: villagelist.fetch(1,'+
a+",'"+b+"','"+c+"');\">",f("Retry"),"</a>");textbox.menu(vars.borderlefth1+r,g.join(""),"t100 ie",1,0,0,1)}}},memberlist={highlight:function(a,b,d){if(playerdata[a]){var c=playerdata[a];b=b.parentNode.parentNode;if(d){highlight.del(a,"player");b.firstChild.innerHTML='<a class="spl" href="javascript:;" onclick="memberlist.highlight(\''+a+"', this, 0);\">"+c[2]+"</a>";b.childNodes[1].innerHTML=""}else{highlight.add(a,"player",1);b.firstChild.innerHTML="<div>"+c[2]+"</div>";b.childNodes[1].innerHTML=
'<a class="dell" href="javascript:;" onclick="memberlist.highlight(\''+a+"', this, 1);\">"+translate("(delete)")+' <span class="colimg" style="background-color: #'+vars.players[a]+';"></span></a>'}mend()}},sort:function(a,b){var d=a[0][2].toLowerCase(),c=b[0][2].toLowerCase();return d<c?-1:d>c?1:parseInt(a[0][1])-parseInt(b[0][1])},sortrank:function(a,b){var d=parseInt(a[0][0]),c=parseInt(b[0][0]);return d<c?1:d>c||a[0][0]=="0"||a[0][3]=="0"?-1:memberlist.sort(a,b)},sortoda:function(a,b){var d=parseInt(a[0][9]),
c=parseInt(b[0][9]);return d<c?1:d>c?-1:memberlist.sort(a,b)},sortodd:function(a,b){var d=parseInt(a[0][10]),c=parseInt(b[0][10]);return d<c?1:d>c?-1:memberlist.sort(a,b)},sortactivity:function(a,b){var d=Math.max(parseInt(a[0][4]),parseInt(a[0][6])),c=Math.max(parseInt(b[0][4]),parseInt(b[0][6]));return d<c?-1:d>c?1:memberlist.sort(a,b)},sortvillages:function(a,b){var d=parseInt(a[0][3]),c=parseInt(b[0][3]);return d>c?-1:d<c?1:memberlist.sort(a,b)},fetch:function(a,b,d,c){var e=playerdata,f=[];for(var g in e)e[g][1]==
b&&f.push([e[g],g]);memberlist.villages[b]=f;if(b!="0"&&b!="")if(!tribedata[b]||f.length<parseInt(tribedata[b][1])){if(a)memberlist.show(b,d,2,0);else vars.change=["memberlist-"+b,d,c];jQuery.ajax({url:"data.php?id="+b+"&type=memberlist&ms="+vars.dat,success:function(){if(a&&vars.change[0]=="memberlist-"+b){f=[];for(var h in e)e[h][1]==b&&f.push([e[h],h]);memberlist.villages[b]=f;memberlist.show(b,vars.change[1],0,vars.change[2])}},error:function(){a&&vars.change[0]=="memberlist-"+b&&memberlist.show(b,
vars.change[1],1,vars.change[2])},dataType:"parse"})}else a&&memberlist.show(b,d,0,c)},villages:{},show:function(a,b,d,c){if(cancelcol()){var e=translate;vars.change=["memberlist-"+a,b,c];var f=[],g=0;if(b=="bbcodes")g=1;else if(b=="highlight")g=2;else if(b=="bbcodes2")g=4;else if(b=="html")g=5;if(a&&a!="0"&&a!=""&&tribedata[a]&&memberlist.villages[a]){if(g)var h=['<table cellpadding="0" cellspacing="0" class="vlit">'];else{h=['<table cellpadding="1" cellspacing="1" class="vlit ttt"><tr class="tdh"><td class="center">'];
c!=1&&c!=2&&c!=3&&c!=4&&c!=5?h.push("<b>",e("Name"),"</b>"):h.push("<a href=\"javascript: memberlist.show('",a,"','",b,"',",d,',0);" class="spl">',e("Name"),"</a>");h.push('</td><td class="center">');c==1?h.push("<b>",e("Points"),"</b>"):h.push("<a href=\"javascript: memberlist.show('",a,"','",b,"',",d,',1);" class="spl">',e("Points"),"</a>");h.push('</td><td class="center">');c==3?h.push("<b>",e("ODA"),"</b>"):h.push("<a href=\"javascript: memberlist.show('",a,"','",b,"',",d,',3);" class="spl">',
e("ODA"),"</a>");h.push('</td><td class="center">');c==4?h.push("<b>",e("ODD"),"</b>"):h.push("<a href=\"javascript: memberlist.show('",a,"','",b,"',",d,',4);" class="spl">',e("ODD"),"</a>");h.push('</td><td class="center">');c==5?h.push("<b>",e("Villages"),"</b>"):h.push("<a href=\"javascript: memberlist.show('",a,"','",b,"',",d,',5);" class="spl">',e("Villages"),"</a>");h.push('</td><td class="center">');c==2?h.push("<b>",e("Activity"),"</b>"):h.push("<a href=\"javascript: memberlist.show('",a,
"','",b,"',",d,',2);" class="spl">',e("Activity"),"</a>");h.push("</td></tr>")}var j="<div><b><u>"+tribedata[a][2]+" - Member list</u> <a href=\"javascript: select('vlist');\">"+e("(select list)")+"</a></b></div>",k=memberlist.villages[a],m=k.length;if(c==1)k.sort(memberlist.sortrank);else if(c==2)k.sort(memberlist.sortactivity);else if(c==3)k.sort(memberlist.sortoda);else if(c==4)k.sort(memberlist.sortodd);else c==5?k.sort(memberlist.sortvillages):k.sort(memberlist.sort);for(var n=(new Date).getTime()/
1E3+serversettings.time,q=datetime,r="",o=vars.players,x=number,s=e("(delete)"),p=0;p<m;p++)if(k[p][0][0]!="0"&&k[p][0][3]!="0"&&k[p][0][8]!="0"){if(g==1)h.push("<tr><td>[player]",k[p][0][2],"[/player]");else if(g==4)h.push('<tr><td>[url="',vars.serverurl,"page.php?page=inbound&screen=info_player&id=",k[p][1],'"]',k[p][0][2],"[/url]");else if(g==5)h.push('<tr><td>&lt;a href="',vars.serverurl,"page.php?page=inbound&screen=info_player&id=",k[p][1],'"&gt;',k[p][0][2],"&lt;/a&gt;&lt;br /&gt;");else if(g==
2){h.push("<tr onmouseover=\"show(tooltiptext('",k[p][0][1],"','",k[p][1],'\', 1));" onmouseout="msu();"><td class="tb1">');o[k[p][1]]!=undefined?h.push("<div>",k[p][0][2],'</div></td><td><a href="javascript:;" class="dell" onclick="memberlist.highlight(\'',k[p][1],"', this, 1);\">",s,' <span class="colimg" style="background-color: #',o[k[p][1]],';"></span></a>'):h.push('<a class="spl" href="javascript:;" onclick="memberlist.highlight(\''+k[p][1]+"', this, 0);\">",k[p][0][2],"</a></td><td></td><td>")}else{r=
k[p][0][4];if(k[p][0][6]>r)r=k[p][0][6];h.push("<tr onmouseover=\"show(tooltiptext('",k[p][0][1],"','",k[p][1],'\', 1));" onmouseout="msu();" onclick="showmen(\'',k[p][0][1],"','",k[p][1],'\', event, \'tribe\');return false;" class="tdt"><td class="tb1"><a target="_blank" class="spl" href="',vars.serverpage,"screen=info_player&id=",k[p][1],'">',k[p][0][2],'</a></td><td class="righta">',x(k[p][0][0]),'</td><td class="righta">',x(k[p][0][9]),'</td><td class="righta">',x(k[p][0][10]),'</td><td class="righta">',
x(k[p][0][3]),'</td><td class="righta">',q(n-r))}h.push("</td></tr>")}h.push("</table>");f.push("<div>");g==0?f.push("<b>",e("Normal list"),"</b> - "):f.push("<a href=\"javascript: memberlist.show('",a,"','list',",d,",",c,');" onmouseover="show(\'',e("Displays a list of the tribe\\'s members, selecting one will display their menu."),'\',3);" onmouseout="msu();">',e("Normal list"),"</a> - ");g==1||g==4||g==5?f.push("<b>",e("BBcode list"),"</b> - "):f.push("<a href=\"javascript: memberlist.show('",
a,"','bbcodes',",d,',0);" onmouseover="show(\'',e("Displays a list of the tribe\\'s members in BBcode format."),'\',3);" onmouseout="msu();">',e("BBcode list"),"</a> - ");g==2?f.push("<b>",e("Highlight list"),"</b>"):f.push("<a href=\"javascript: memberlist.show('"+a+"','highlight',"+d+',0);" onmouseover="show(\'',e("Displays a list of the tribe\\'s members with your highlights displayed, selecting one will highlight them."),'\',3);" onmouseout="msu();">',e("Highlight list"),"</a>");f.push("<br />");
if(g==0||g==3)f.push(e("Click a player to view their menu."));else if(g==2)f.push(e("Click a player to highlight them."));else{g==1?f.push("<b>",e("BBcode"),"</b> - "):f.push("<a href=\"javascript: memberlist.show('",a,"','bbcodes',",d,',0);">',e("BBcode"),"</a> - ");g==4?f.push("<b>",e("Forum BBcode"),"</b> - "):f.push("<a href=\"javascript: memberlist.show('",a,"','bbcodes2',",d,',0);">',e("Forum BBcode"),"</a> - ");g==5?f.push("<b>",e("HTML"),"</b>"):f.push("<a href=\"javascript: memberlist.show('",
a,"','html',",d,',0);">',e("HTML"),"</a>")}f.push("</div>",vars.borderright,vars.spacer,'<tr><td class="ql"></td><td class="qc qcnm" valign="top"><div class="lefta maxh" id="vlist">',h.join(""),"</div>");if(d==2||d==1)f.push(vars.borderright,vars.spacer,vars.borderleft)}else j="<b><u>"+e("No tribe info")+"</u></b>";if(d==2)f.push(e("Loading tribe member data..."));else d==1&&f.push(e("Could not load tribe member data."),' <a href="javascript: memberlist.fetch(1,',a,",'",b,"','",c,"');\">",e("Retry"),
"</a>");textbox.menu(vars.borderlefth1+j,f.join(""),"t100 ie",1,0,0,1)}}};function savenote(a,b,d,c,e){vars.notechange=false;var f=c.replace(/\r\n|\n|\r/g,"<br />"),g=e.replace(/\r\n|\n|\r/g,"<br />");if(!external){if(f==""&&g==""){f=0;if(note[b])for(var h in note[b])f++;if(f>1)delete note[b][d];else delete note[b]}else if(note[b]&&note[b][d]){note[b][d][0]=f;note[b][d][1]=g}else{note[b]||(note[b]={});note[b][d]=[f,g]}display.refreshpanel("notes");savenoteajax(a,b,d,c,e)}Close()}
function savenoteajax(a,b,d,c,e){jQuery.ajax({url:"note.php?id="+encode(b)+"&userid="+encode(userid)+"&noteid="+d+"&ms="+(new Date).getTime(),data:"description="+encode(c)+"&content="+encode(e),error:function(){if(confirm(c==""&&e==""?translate("Note could not be deleted. Do you want to retry deleting the note?"):translate("Note could not be saved. Do you want to retry saving?")))savenoteajax(a,b,d,c,e)},type:"post"})}
function notelist(a,b,d){if(cancelcol()){var c=[];a!=""&&c.push(display.notevillageadd(a,0,2));if(b!=""&&b!="0"){a!=""&&c.push(vars.borderright,vars.spacer,vars.borderleft);c.push(display.noteplayeradd("P-"+b,0,2))}if(d!=""&&d!="0"){if(b!=""&&b!="0"||a!="")c.push(vars.borderright,vars.spacer,vars.borderleft);c.push(display.notetribeadd("T-"+d,0,2))}textbox.menu(translate("Notes"),c.join(""),"t100 ie")}}
function notes(a,b){if(cancelcol()){var d=translate,c=false,e=a.split("-"),f="village";if(e[0]=="P")f="player";else if(e[0]=="T")f="tribe";if(note[a])c=note[a];if(!b){if(c){l=c.length;var g=[];for(var h in c)g[h]=true;for(c=1;!b;)if(g[c])c++;else b=c}else b=1;c=false}g=['<form action="javascript:;" onsubmit="savenote(\'',f,"', '",a,"', '",b,'\', $(\'ajaxdesc\').value, $(\'ajaxnote\').value);"><table cellpadding="1" cellspacing="1" class="ttt" style="width: 406px;"><tr><td><div><b>',d("Note description (optional)"),
"</b><br />",d("Enter the note's description below, this text will be displayed in the village's tooltip and note list."),'</div></td></tr><tr><td><div><textarea id="ajaxdesc" onkeydown="vars.notechange=true" onfocus="vars.notec=this.innerHTML" onblur="if (vars.notec!=this.innerHTML) {vars.notechange=true}">',c?note[a][b][0].replace(/<br \/>/g,"\n"):"","</textarea></div></td></tr><tr><td><div><b>",d("Note content (optional)"),"</b><br />",d("Enter the note's content below. You can choose to enter only a description above and leave the content below empty."),
'</div></td></tr><tr><td><div id="notecontent"><textarea id="ajaxnote" onkeydown="vars.notechange=true" onfocus="vars.notec=this.innerHTML" onblur="if (vars.notec!=this.innerHTML) {vars.notechange=true}">',c?note[a][b][1].replace(/<br \/>/g,"\n"):"",'</textarea></div></td></tr><tr><td><div class="center" id="notesafe">'];external?g.push(d("While viewing a link to configuration notes cannot be editted.")):g.push('<input type="submit" class="fbut" value="',d("Save"),'" />',c?'<input type="submit" value="'+
d("Delete")+'" class="fbut fbut2" onclick="savenote(\''+f+"', '"+a+"', '"+b+"', '', ''); return false;\" />":"");g.push("</div></td></tr></table></form>");textbox.menu(fetch[f][0](f!="village"?e[1]:a)+" - "+(c?d("View/edit note"):d("Add note")),g.join(""),"t100")}}
var draw={xs:0,ys:0,xd:0,yd:0,list:[],churchlist:[],toggle:function(){var a=toggleCheckbox("lt","drawtoggle",1,"1");data.lt=a?"":"1";draw.refresh();draw.refresh(1);save()},churchtoggle:function(){var a=toggleCheckbox("ct","churchtoggle",1,"1");data.ct=a?"":"1";draw.refresh();draw.refresh(1);save()},churchopacity:function(a){data.ctop=a;save();draw.refresh();draw.refresh(1)},listadd:function(a,b){var d=[];b||d.push('<table cellpadding="0" cellspacing="0">');d.push('<tr><td><span class="colimg" style="background-color:#',
a[5],';"></span></td><td class="fl"><div>',fetch.village[1]("C-"+a[0]+"-"+a[1],1),"<span> &mdash; </span>",fetch.village[1]("C-"+a[2]+"-"+a[3],1)," - ",a[4],"px ",translate("solid"),"",'</div></td><td class="fr"><div><a href="javascript: draw.options(\'',a[0],"','",a[1],"','",a[2],"','",a[3],"');\">",translate("Options"),"</a></div></td></tr>");b||d.push("</table>");return d.join("")},churchlistadd:function(a,b,d,c){var e=translate,f=translate3("Circle (radius: {text})",a[4]);if(a[2]==1)f=e("First church");
else if(a[2]==2||a[2]==3||a[2]==4)f=translate3("Church level {text}",a[2]-1);e=[];d||e.push('<table cellpadding="0" cellspacing="0">');e.push('<tr><td><span class="colimg" style="background-color:#',a[3],';"></span></td><td class="fl"><div>',c=="C-"+a[0]+"-"+a[1]?translate("(this village)"):fetch.village[1]("C-"+a[0]+"-"+a[1],b?2:1)," - ",f,"</div></td>");b||e.push('<td class="fr"><div><a href="javascript: draw.circleoptions(\'',a[0],"','",a[1],"');\">",translate("Options"),"</a></div></td>");e.push("</tr>");
d||e.push("</table>");return e.join("")},stroke:function(a,b,d,c,e){for(var f=draw.list,g=f.length,h=false,j=0;j<g;j++)if(f[j][0]==a&&f[j][1]==b&&f[j][2]==d&&f[j][3]==c){h=f[j];break}if(h){draw.add(a,b,d,c,e,h[5]);Close()}},type:function(a,b,d,c){if(cancelcol()){for(var e=translate,f=draw.list,g=f.length,h=false,j=0;j<g;j++)if(f[j][0]==a&&f[j][1]==b&&f[j][2]==d&&f[j][3]==c){h=true;stroke=f[j][4];break}if(h){f=["<div>"];stroke!="2"&&stroke!="3"?f.push("<b>1px ",e("solid"),"</b><br />"):f.push('<a class="spl" href="javascript: draw.stroke(\'',
a,"','",b,"','",d,"','",c,"','1');\">1px ",e("solid"),"</a>");stroke=="2"?f.push("<b>2px ",e("solid"),"</b><br />"):f.push('<a class="spl" href="javascript: draw.stroke(\'',a,"','",b,"','",d,"','",c,"','2');\">2px ",e("solid"),"</a>");stroke=="3"?f.push("<b>3px ",e("solid"),"</b>"):f.push('<a class="spl" href="javascript: draw.stroke(\'',a,"','",b,"','",d,"','",c,"','3');\">3px ",e("solid"),"</a>");f.push("</div>");textbox.menu(e("Line type"),f.join(""),"t100 ie")}}},options:function(a,b,d,c){if(cancelcol()){var e=
translate;textbox.menu(e("Line options"),'<div><a class="spl" href="javascript: highlight.edit(\''+a+"-"+b+"-"+d+"-"+c+"','line2');\" onmouseover=\"show('"+e("Edit this line\\'s colour.")+'\',1);" onmouseout="msu();">'+e("Edit colour")+'</a><a class="spl" href="javascript: draw.type(\''+a+"','"+b+"','"+d+"','"+c+"');\" onmouseover=\"show('"+e("Edit this line\\'s type.")+'\',1);" onmouseout="msu();">'+e("Edit type")+'</a><a class="spl" href="javascript: draw.del(\''+a+"','"+b+"','"+d+"','"+c+"');\" onmouseover=\"show('"+
e("Delete this line.")+'\',1);" onmouseout="msu();">'+e("Delete")+"</a></div>","t100 ie")}},saveradius:function(a,b){var d=5,c=$("optchurchr").value;if($("optchurch1").checked){d=1;c=6}else if($("optchurch2").checked){d=2;c=4}else if($("optchurch3").checked){d=3;c=6}else if($("optchurch4").checked){d=4;c=8}for(var e=draw.churchlist,f=e.length,g=false,h=0;h<f;h++)if(e[h][0]==a&&e[h][1]==b){g=e[h];break}g&&draw.churchadd(a,b,d,g[3],c);Close()},radius:function(a,b){if(cancelcol()){for(var d=translate,
c=draw.churchlist,e=c.length,f=false,g=0;g<e;g++)if(c[g][0]==a&&c[g][1]==b){f=c[g];break}if(f)textbox.menu(d("Circle radius"),['<div><form action="javascript:;" onsubmit="draw.saveradius(\'',a,"','",b,'\');"><table cellpadding="0" cellspacing="0" class="la" style="margin: 0px auto;"><tr><td><input id="optchurch1" type="radio" name="churchtype" class="rad"',f[2]=="1"?' checked="checked"':""," /></td><td>",d("First church")+'</td></tr><tr><td><input id="optchurch2" type="radio" name="churchtype" class="rad"',
f[2]=="2"?' checked="checked"':""," /></td><td>",translate3("Church level {text}","1")+'</td></tr><tr><td><input id="optchurch3" type="radio" name="churchtype" class="rad"',f[2]=="3"?' checked="checked"':""," /></td><td>",translate3("Church level {text}","2")+'</td></tr><tr><td><input id="optchurch4" type="radio" name="churchtype" class="rad"',f[2]=="4"?' checked="checked"':""," /></td><td>",translate3("Church level {text}","3")+'</td></tr><tr><td valign="top"><input id="optchurch5" type="radio" name="churchtype" class="rad"',
f[2]!="1"&&f[2]!="2"&&f[2]!="3"&&f[2]!="4"?' checked="checked"':""," /></td><td>",d("Custom"),': <input id="optchurchr" type="text" class="oi" maxlength="3" onkeydown="return submitenter(this, event);" value="',f[4],'" /></td></tr></table><input type="submit" class="fbut fbutt" value="',d("Save"),'" /></form></div>'].join(""),"t100 ie")}},circleoptions:function(a,b){if(cancelcol()){var d=translate;textbox.menu(d("Circle options"),['<div><a class="spl" href="javascript: highlight.edit(\'',a,"-",b,
"','circle2');\" onmouseover=\"show('",d("Edit this circle\\'s colour."),'\',1);" onmouseout="msu();">'+d("Edit colour")+'</a><a class="spl" href="javascript: draw.radius(\'',a,"','",b,"');\" onmouseover=\"show('",d("Edit this circle\\'s radius."),'\',1);" onmouseout="msu();">'+d("Edit radius")+'</a><a class="spl" href="javascript: draw.circledel(\'',a,"','",b,"');\" onmouseover=\"show('",d("Delete this circle."),'\',1);" onmouseout="msu();">'+d("Delete")+"</a></div>"].join(""),"t100")}},add:function(a,
b,d,c,e,f){if(a=checkcoordinate(a,b,is_num)){b=a[1]*1;a=a[0]*1;if(d=checkcoordinate(d,c,is_num)){c=d[1]*1;d=d[0]*1;if(a!=d||b!=c){for(var g=draw.list,h=g.length,j="no",k=0;k<h;k++)if(g[k][0]==a&&g[k][1]==b&&g[k][2]==d&&g[k][3]==c){j=k;break}e=[a,b,d,c,e,f];if(j!="no")draw.list[j]=e;else draw.list.push(e);draw.build();draw.refresh();draw.refresh(1);display.refreshpanel("lines");villagedata["C-"+a+"-"+b]||jQuery.ajax({url:"data.php?type=villagecoord&&x="+a+"&y="+b+"&ms="+vars.dat,dataType:"parse"});
villagedata["C-"+d+"-"+c]||jQuery.ajax({url:"data.php?type=villagecoord&&x="+d+"&y="+c+"&ms="+vars.dat,dataType:"parse"})}else alertmessage(translate("Start and destination coordinates are the same."))}}},churchadd:function(a,b,d,c,e){if(a=checkcoordinate(a,b,is_num,0,1)){b=a[1]*1;a=a[0]*1;if(is_num(e)){e*=1;for(var f=draw.churchlist,g=f.length,h="no",j=0;j<g;j++)if(f[j][0]==a&&f[j][1]==b){h=j;break}d=[a,b,d,c,e];if(h!="no")draw.churchlist[h]=d;else draw.churchlist.push(d);draw.churchbuild();draw.refresh();
draw.refresh(1);display.refreshpanel("circles");villagedata["C-"+a+"-"+b]||jQuery.ajax({url:"data.php?type=villagecoord&&x="+a+"&y="+b+"&ms="+vars.dat,dataType:"parse"})}else alertmessage(translate("Not a valid radius."))}},del:function(a,b,d,c){for(var e=draw.list,f=e.length,g=0;g<f;g++)if(e[g][0]==a&&e[g][1]==b&&e[g][2]==d&&e[g][3]==c){e.splice(g,1);g--;f--}draw.build();draw.refresh();draw.refresh(1);display.refreshpanel("lines");Close()},circledel:function(a,b){for(var d=draw.churchlist,c=d.length,
e=0;e<c;e++)if(d[e][0]==a&&d[e][1]==b){d.splice(e,1);e--;c--}draw.churchbuild();draw.refresh();draw.refresh(1);display.refreshpanel("circles");Close()},build:function(){for(var a=draw.list,b=a.length,d=[],c=0;c<b;c++)d.push(a[c].join("-"));data.lines=d.join("-");save()},churchbuild:function(){for(var a=draw.churchlist,b=a.length,d=[],c=0;c<b;c++)d.push(a[c].join("-"));data.church=d.join("-");save()},refresh:function(a){if(a&&flash.minimap.drawelements||!a&&flash.map.drawelements){var b=draw.churchlist,
d=b.length,c=data.ctop/10;if(!is_num(data.ctop)||data.ctop<0||data.ctop>8)c=0.2;var e=[],f=[],g=[],h=a?vars.minw:mapvars.iconwidth,j=a?vars.minw:mapvars.iconheight,k=Math.ceil(h/2),m=Math.ceil(j/2),n=a?1:mapvars.miniview,q=n?h==4?1:2:0,r={};if(data.ct!="1"){for(var o=0;o<d;o++){if(r[b[o][3]])r[b[o][3]].push(b[o]);else r[b[o][3]]=[b[o]];!a&&!n&&g.push(b[o][0],b[o][1],b[o][3])}var x,s,p,A,u,B,y,w,G,H=function(K,N,O,D,J){K=K*h-1;N=N*j-1;f.push(K,N,K+O,N+D,1,J)};for(o in r){b=r[o];A=b[0][3];x=[A];s={};
d=b.length;for(var M=0;M<d;M++){u=b[M][0]*1;B=b[M][1]*1;w=b[M][4]*1;if(is_num(u)&&is_num(B)&&is_num(w)){y=u+w;for(var v=B-w;v<=B+w;v++)for(var I=u-w;I<=y;I++)if(I>=0&&I<1E3&&v>=0&&v<1E3&&Math.ceil(Math.sqrt(Math.pow(I-u,2)+Math.pow(v-B,2)))<=w){s[I+"_"+v]=[1,1,1,1];p=s[I+"_"+v];if(s[I-1+"_"+v]){s[I-1+"_"+v][3]=0;p[1]=0}if(s[I+1+"_"+v]){s[I+1+"_"+v][1]=0;p[3]=0}if(s[I+"_"+(v-1)]){s[I+"_"+(v-1)][0]=0;p[2]=0}if(s[I+"_"+(v+1)]){s[I+"_"+(v+1)][2]=0;p[0]=0}}}}for(G in s){b=s[G];p=G.split("_");c>0&&x.push(p[0]*
h,p[1]*j,h,j);b[3]&&H(p[0]*1+1,p[1],0,j+1,A);b[0]&&H(p[0],p[1]*1+1,h+1,0,A);b[1]&&H(p[0],p[1],0,j+1,A);b[2]&&H(p[0],p[1],h+1,0,A)}e.push(x.join("."))}}if(data.lt!="1"){b=draw.list;d=b.length;for(o=0;o<d;o++){n||(q=b[o][4]==3||b[o][4]==1?1:0);f.push(b[o][0]*h+k-q,b[o][1]*j+m-q,b[o][2]*h+k-q,b[o][3]*j+m-q,n?1:b[o][4],b[o][5])}}a?flash.minimap.drawelements(e.join("_"),f.join("_"),c,""):flash.map.drawelements(e.join("_"),f.join("_"),c,g.join("_"))}},startline:function(a,b){var d=data,c=is_num2;if(d.startline!=
1&&c(d.xstart)&&c(d.ystart)&&c(d.xdest)&&c(d.ydest)){var e=vars.minw;c=e==4?1:2;var f=Math.ceil(e/2);a&&flash.minimap.drawstartline&&flash.minimap.drawstartline(0,d.xstart*e+f-c,d.ystart*e+f-c,d.xdest*e+f-c,d.ydest*e+f-c);e=mapvars.iconwidth;f=mapvars.iconheight;var g=Math.ceil(e/2),h=Math.ceil(f/2);c=mapvars.miniview?e==4?1:2:1;b&&flash.map.drawstartline&&flash.map.drawstartline(0,d.xstart*e+g-c,d.ystart*f+h-c,d.xdest*e+g-c,d.ydest*f+h-c)}},init:function(){for(var a=data.lines.split("-"),b=a.length,
d=is_num,c=0;c<b;c+=6)d(a[c])&&d(a[c+1])&&d(a[c+2])&&d(a[c+3])&&d(a[c+4])&&highlight.hexcheck(a[c+5],1)!=""&&draw.list.push([a[c],a[c+1],a[c+2],a[c+3],a[c+4],a[c+5]]);a=data.church.split("-");b=a.length;for(c=0;c<b;c+=5)d(a[c])&&d(a[c+1])&&d(a[c+2])&&highlight.hexcheck(a[c+3],1)!=""&&d(a[c+4])&&draw.churchlist.push([a[c],a[c+1],a[c+2],a[c+3],a[c+4]]);draw.xd=data.xcord*1+Math.ceil(mapvars.width/2);draw.xs=data.xcord-Math.floor(mapvars.width/2);draw.yd=data.ycord*1+Math.ceil(mapvars.height/2);draw.ys=
data.ycord-Math.floor(mapvars.height/2)}},marker={list:{},openvillagepages:function(){var a=1,b=marker.list,d=villagedata;for(var c in b)if(d[c]){window.open(vars.serverpage+"screen=info_village&id="+d[c][0]);a=0}a&&alertmessage(translate("No markers."))},markersadd:function(a){if(marker.list[a]){var b=a.split("-");return['<table cellpadding="0" cellspacing="0" id="marker-',a,'"><tr><td class="fl"><div>',fetch.village[1](a),'</div></td><td class="fr"><div><a href="javascript: marker.del(\'',b[1],
"', '",b[2],"');\">",translate("Delete"),"</a></div></td></tr></table>"].join("")}},add:function(a,b){if(!marker.list["C-"+a+"-"+b]){marker.list["C-"+a+"-"+b]=true;marker.build();flash.icons();display.refreshpanel("markers")}Close()},del:function(a,b){if(marker.list["C-"+a+"-"+b]){delete marker.list["C-"+a+"-"+b];marker.build();flash.icons();display.refreshpanel("markers")}Close()},build:function(){var a=marker.list,b=[],d="";for(i in a){d=i.split("-");b.push(d[1]+"-"+d[2])}data.cto=b.join("-");save()},
init:function(){for(var a=data.cto.split("-"),b=a.length,d=is_num,c=0;c<b;c+=2)if(d(a[c])&&d(a[c+1]))marker.list["C-"+a[c]+"-"+a[c+1]]=true}},timer={newvillagetimerdescription:"",newvillagetimer:function(a){if(cancelcol()&&villagedata[a]){var b=translate;a="[url="+vars.serverpage+"screen=info_village&id="+villagedata[a][0]+"]"+fetch.village[0](a)+"[/url]";timer.newvillagetimerdescription=a;a=new Date;var d=function(c){return(""+c).length<2?"0"+c:c};a.setTime((new Date).getTime()+serversettings.time*
1E3+vars.timezoneoffset+serversettings.timeoffset*1E3);a=a.getFullYear()+"-"+d(a.getMonth()+1)+"-"+d(a.getDate())+" "+d(a.getHours())+":"+d(a.getMinutes())+":"+d(a.getSeconds());textbox.menu(b("Create new timer"),'<form action="javascript:;" onsubmit="timer.set(1);"><div class="lefta"><input type="text" id="timermenutime" class="oi" style="width: 125px; margin: 0px; margin-top: 1px;" onkeydown="return submitenter(this, event);" value="'+a+'" /><br /><span class="selectdiv fbutt"><select id="timermenusoundid"><option selected="selected" value="0">'+
b("MGS Ring")+'</option><option value="3">'+b("Ring")+'</option><option value="2">'+b("Notify")+'</option><option value="4">'+b("Tada")+'</option><option value="1">'+b("Police siren")+'</option><option value="5">'+b("None")+'</option></select></span> <a href="javascript:;" onclick="if ($(\'timermenusoundid\').value!=5) {flash.map.playsound($(\'timermenusoundid\').value);};" class="playicon"></a></div><input type="submit" class="fbut fbutt" value="'+b("Save")+'" /></form>',"t100")}},timers:{},playsound:false,
interval:false,init:function(){for(var a=data.timers.split("-"),b=a.length,d=0,c=0;c<b;c+=8)if(is_num(a[c])&&is_num(a[c+1])&&is_num(a[c+6])){timer.timers[a[c]]=[a[c+1],a[c+2],a[c+3],a[c+4],a[c+5],a[c+6],a[c+7]];d=a[c+1]*1E3-(new Date).getTime()-serversettings.time*1E3-serversettings.timeoffset*1E3-[c+6]*1E3;d>0&&setTimeout(timer.executetimers,d)}b>6&&timer.executetimers()},build:function(){var a=[],b=timer.timers;for(var d in b)a.push(d+"-"+b[d].join("-"));data.timers=a.join("-");save(1)},del:function(a){if(timer.timers[a]){delete timer.timers[a];
timer.build();display.refreshpanel("timers")}},set:function(a){var b=(new Date($(a?"timermenutime":"timertime").value.replace(/-/g,"/"))).getTime()-vars.timezoneoffset;if(is_num(b)){for(var d=1;timer.timers[d];)d++;var c=jQuery.base64Encode(a?timer.newvillagetimerdescription:$("timerdescription").value),e=false;a||(e=checkcoordinate($("timermainx").value,$("timermainy").value,is_num,1));var f=$(a?"timermenusoundid":"timersoundid").value,g=a?0:$("timeralert").value;is_num(g)||(g=0);var h=a?1:$("timerlinks").checked?
1:0,j=new Date;j.setTime(b);j.toLocaleString();j=b-(new Date).getTime()-g*1E3-serversettings.time*1E3-serversettings.timeoffset*1E3;timer.timers[d]=[Math.round(b/1E3),c,e?"":e[0],e?"":e[1],f,g,h];j>0?setTimeout(timer.executetimers,j):timer.executetimers();timer.build();display.refreshpanel("timers");a&&Close()}else alertmessage(translate("Not a valid date and time."))},executetimers:function(){var a=timer.timers,b=[],d="";d=false;for(var c in a){b=a[c];if(b[0]*1E3-(new Date).getTime()-serversettings.time*
1E3-serversettings.timeoffset*1E3-b[5]*1E3<1E3){d=new Date;d.setTime(b[0]*1E3+vars.timezoneoffset);timer.timer(d.toLocaleString(),b[1],b[4],is_num(b[2])&&is_num(b[3])?"&mainx="+b[2]+"&mainy="+b[3]:"",b[5],b[6]);delete timer.timers[c];d=true}}if(d){timer.build();display.refreshpanel("timers")}},timer:function(a,b,d,c,e,f){var g=encode;alertmessage(a+(e>0?"<br />Warning "+e+" seconds before timer":"")+(b?'<div class="timerdesc">'+jQuery.base64Decode(b).replace(/</g,"&lt;").replace(/"/g,"&quot;").replace(/\n/g,
"<br />").replace(/\[village\]\(?([0-9]+)[|\/]([0-9]+)\)?\[\/village\]/ig,function(j,k,m){return'<a href="more.php?type=villagelink&x='+k+"&y="+m+c+'" target="_blank">('+k+"|"+m+") K"+fetch.k(k,m)+"</a>"}).replace(/\[player\](.*?)\[\/player\]/ig,function(j,k){return'<a href="more.php?type=playerlink&name='+g(k)+c+'" target="_blank">'+k+"</a>"}).replace(/\[tribe\](.*?)\[\/tribe\]/ig,function(j,k){return'<a href="more.php?type=tribelink&name='+g(k)+c+'" target="_blank">'+k+"</a>"}).replace(/\[url=(.*?)\](.*)\[\/url\]/ig,
function(j,k,m){return'<a href="'+k+'" target="_blank">'+m+"</a>"})+"</div>":""),"clearInterval(timer.playsound);",'lefta" onclick="clearInterval(timer.playsound);',0," timeralert",translate("A timer has expired"));if(f==1&&$("alert-"+(vars.alertnum-1))){a=$("alert-"+(vars.alertnum-1)).getElementsByTagName("a");b=a.length;for(e=0;e<b;e++)window.open(a[e].getAttribute("href"))}if(d!="5"){clearInterval(timer.playsound);flash.map.playsound&&flash.map.playsound(d);timer.playsound=setInterval(function(){flash.map.playsound&&
flash.map.playsound(d)},4E3)}try{window.focus();self.focus()}catch(h){}},preview:function(a){if(a)if(timer.timers[a])a=timer.timers[a];else return false;else a=[((new Date($("timertime").value.replace(/-/g,"/"))).getTime()-vars.timezoneoffset)/1E3,jQuery.base64Encode($("timerdescription").value),$("timermainx").value,$("timermainy").value,$("timersoundid").value,is_num($("timeralert").value)?$("timeralert").value:0,$("timerlinks").checked?1:0];var b=new Date;b.setTime(a[0]*1E3+vars.timezoneoffset);
var d="",c=checkcoordinate(a[2],a[3],is_num,1);if(c)d="&mainx="+c[0]+"&mainy="+c[1];timer.timer(b.toLocaleString(),a[1],a[4],d,a[5],a[6])}};
function manual(a,b,d){if(a=checkcoordinate(a,b,is_num2)){b=a[1]*1;a=a[0]*1;Close();var c=false;if(d){if(data.xstart==a&&data.ystart==b)c=true;data.xstart=a;data.ystart=b}else{if(data.xdest==a&&data.ydest==b)c=true;data.xdest=a;data.ydest=b}villagedata["C-"+a+"-"+b]||jQuery.ajax({url:"data.php?type=villagecoord&&x="+a+"&y="+b+"&ms="+vars.dat,success:function(){if(d&&a==data.xstart&&b==data.ystart||!d&&a==data.xdest&&b==data.ydest)display.refreshpanel("traveltimes")},dataType:"parse"});display.displayed.traveltimes?
display.refreshpanel("traveltimes"):display.panel("traveltimes",1);if($("xbs")&&$("xbd")){$("xbs").value=a;$("xbd").value=b}if(!c){flash.icons();draw.startline(1,1);save()}}}function unset(a){if(a){data.xdest="";data.ydest=""}else{data.xstart="";data.ystart=""}save();flash.icons();display.refreshpanel("traveltimes");Close();flash.minimap.drawstartline&&flash.minimap.drawstartline(1,0,0,0,0);flash.map.drawstartline&&flash.map.drawstartline(1,0,0,0,0)}
var namesearch={searchq:0,search3:0,prefetched:{player:{},tribe:{},village:{}},timeout:false,search:function(){this.getnames($("searchselect").value,$("searchbox").value)},parseresults:function(a){var b=a.tribedata;for(var d in b)tribedata[d]=b[d];b=a.playerdata;for(d in b)playerdata[d]=b[d];a=a.villagedata;for(d in a){vars.villageid[a[d][0]]=d;villagedata[d]=a[d]}},getnames:function(a,b,d){var c=translate;if(a=="player"&&b.length<4)$("searchresults").innerHTML='<div class="ws">'+translate3("When searching for a player your search query must be at least {text} characters long.",
"4")+"</div>";else if(b.length<2&&a!="village")$("searchresults").innerHTML='<div class="ws">'+translate3("When searching for a tribe your search query must be at least {text} characters long.","2")+"</div>";else{if(a=="village"){var e=checkcoordinate(b,"",is_num,1);if(!e){$("searchresults").innerHTML='<div class="ws">'+c("Your coordinate search query must use one of these formats: X|Y, (X|Y), X/Y, (X/Y).")+"</div>";return false}var f=e[0];e=e[1];var g="data.php?type=villagecoord&x="+f+"&y="+e,h=
f+"|"+e;b=h}else if(a=="player"){h=b.substr(0,4);g="data.php?type=playersearch&q="+encode(h)}else{h=b.substr(0,2);g="data.php?type=tribesearch&q="+encode(h)}this.searchq=b;this.search3=h;b.replace(/</g,"&lt;");if(this.prefetched[a][h])this.results(a,b,this.prefetched[a][h]==2?c("Loading search results..."):"",d);else{this.prefetched[a][h]=2;this.results(a,b,c("Loading search results..."),d);jQuery.ajax({url:g+"&ms="+vars.dat,success:function(){namesearch.prefetched[a][h]=1;namesearch.results(a,b,
"",d)},error:function(){namesearch.prefetched[a][h]=0;namesearch.results(a,b,c("Could not load search results.")+" <a href=\"javascript: namesearch.getnames('"+a+"',namesearch.searchq,'"+d+"');\">"+c("Retry")+"</a>",d)},dataType:"parse"})}}},results:function(a,b,d,c){var e=translate,f=a=="village"?b:a=="player"?b.substr(0,4):b.substr(0,2);if($("searchresults")&&this.search3==f){b=this.searchq;var g=villagedata,h=3,j=0;if(a=="tribe"){g=tribedata;h=2;j=9}else if(a=="player"){g=playerdata;h=2}f=[];var k=
[],m=new RegExp("^"+b.replace(new RegExp("(\\\\|\\/|\\^|\\$|\\.|\\+|\\?|\\||\\(|\\)|\\[|\\]|\\{|\\}|\\*)","g"),"\\$1")+".*$","i");if(a=="village"){var n=b.split("|");n="C-"+n[0]+"-"+n[1];g[n]&&k.push([g[n],fetch[a][1](n)])}else for(n in g)if(m.test(g[n][h])||j&&m.test(g[n][j]))if(c)c==2?k.push([g[n],'<a class="spl" href="'+serversettings.folder+"history/player/"+n+'" onmouseover="show(tooltiptext(\''+g[n][1]+"', '"+n+'\', 1));" onmouseout="msu();">'+fetch[a][0](n)+"</a>"]):k.push([g[n],'<a class="spl" href="'+
serversettings.folder+"history/tribe/"+n+'" onmouseover="show(tooltiptext(\''+n+'\', 0, 1));" onmouseout="msu();">'+fetch[a][0](n)+"</a>"]);else k.push([g[n],fetch[a][1](n)]);if(h==3)k.sort(villagelist.sort);else h==2&&k.sort(memberlist.sort);if(c=k.length){f.push("<b>",c,"</b> ",translate3("{text} found.",e(a+(c==1?"":"s"))),"<br />");for(n=0;n<c;n++)f.push(k[n][1])}else f.push(translate3("No {text} found.",e(a+"s")),"<br />");f.push(d);a=$("searchresults");a.innerHTML=f.join("");if(a.offsetHeight>
a.clientHeight)a.style.paddingRight=Math.min(a.offsetHeight-a.clientHeight+3,30)+"px";else if(a.offsetHeight<=a.clientHeight-21)a.style.paddingRight="3px";display.place(1)}}};function subm(a,b){var d="";if(window.event)d=a.keyCode;else if(a.which)d=a.which;if(d==13){namesearch.getnames(b,0);return false}}
var highlight={set:function(a){if($("colourinput")){var b=highlight.hexcheck($("colourinput").value);if(b!=""){if(b!=data.last){data.last=b;save()}if($("defaultcoldiv"))$S("defaultcoldiv").backgroundColor="#"+b;if($("defspan"))$S("defspan").backgroundColor="#"+b;a&&Close()}}},options:function(a,b){if(cancelcol()){var d=translate,c=d(b);textbox.menu(d("Highlight options"),['<div><a class="spl" href="javascript: highlight.edit(\'',a,"','",b,"');\" onmouseover=\"show('",translate3("Edit this highlighted {text}\\'s colour.",
c),'\',1);" onmouseout="msu();">',d("Edit colour"),'</a><a class="spl" href="javascript: group.change(\'',a,"','",b,"');\" onmouseover=\"show('",translate3("Change this highlighted {text}\\'s group.",c),'\',1);" onmouseout="msu();">',d("Change group"),'</a><a class="spl" href="javascript: Close(); highlight.del(\'',a,"', '",b,"');\" onmouseover=\"show('",translate3("Delete this highlighted {text}.",c),'\',1);" onmouseout="msu();">',d("Delete"),"</a></div>"].join(""),"t100 ie")}},check:function(){if(highlight.hexcheck(data.last,
1)=="")data.last="000000"},hexcheck:function(a,b){if(a!==""&&/^#?[0-9a-f]{6}$/i.test(a))return a.length==7?a.substring(1):a;else{b||alertmessage(translate("Not a valid hex colour."));return""}},toggle:function(){var a=toggleCheckbox("def","highlighttoggle",0,"1");data.def=a?"":"1";save()},build:function(a){var b=vars[a+"s"];data["light"+a+"s"]="";var d=true;for(var c in b)if(d){data["light"+a+"s"]=c+"-"+b[c];d=false}else data["light"+a+"s"]+="-"+c+"-"+b[c]},del:function(a,b,d){if(vars[b+"s"][a]){delete vars[b+
"s"][a];b=="village"&&vars.villageid[a]&&delete vars.villages2[vars.villageid[a]];if(!d){if(group[b+"s"][a]){delete group[b+"s"][a];group.build(1)}highlight.build(b);mode("normal",1);display.refreshpanel("highlights")}}},insert:function(a,b){var d=translate;a=highlight.hexcheck(a,1);if(a!=""){if(highlight.quickcols[a])$("quickcoltext").innerHTML=d("Delete quick colour");else $("quickcoltext").innerHTML=d("Add quick colour");if(b&&vars.wheel==2){HSV2=color.RGB2HSV(color.hex2RGB(a));placeCursor(HSV2)}}else{a=
"E0D3B8";$("quickcoltext").innerHTML=d("Invalid colour")}$S("colourspan").backgroundColor="#"+a;$S("colouraddspan").backgroundColor="#"+a;if($("colourdefspan"))$S("colourdefspan").backgroundColor="#"+a;if(b!=1)$("colourinput").value="#"+a},it:function(a){highlight.insert(a.getAttribute("bgcolor").toUpperCase())},edicol:function(a,b,d,c){if(vars[d+"s"][a]){c||(b=highlight.hexcheck(b));if(b!=""){Close();if(vars[d+"s"][a]!=b){vars[d+"s"][a]=b;if(d=="village"&&vars.villageid[a])vars.villages2[vars.villageid[a]]=
b;if(!c){highlight.build(d);mode("normal",1)}display.refreshpanel("highlights")}}}},picker:function(){var a=[],b=translate;if(vars.wheel=="2")a.push('<div class="pall" style="height: 172px;"><div id="plugin"><div id="SV" onmousedown="HSVslide(\'SVslide\',\'plugin\',event); return false;" ondrag="return false;" onselectstart="return false;"><div id="SVslide"><br /></div></div><form id="H" onmousedown="HSVslide(\'Hslide\',\'plugin\',event); return false;" ondrag="return false;" onselectstart="return false;"><div id="Hslide"><br /></div><div id="Hmodel"></div></form></div></div>');
else vars.wheel=="1"?a.push('<div class="pall"><div id="min"></div><div id="mini"><div id="mSpec" style="height: 168px; width: 168px;" onmousedown="coreXY(event)"><div id="mCur" onmousedown="return false;" ondrag="return false;" onselectstart="return false;"></div><div class="mIG" onmousedown="return false;" ondrag="return false;" onselectstart="return false;"></div></div></div></div>'):a.push('<div class="pall"><table cellpadding="0" cellspacing="1"><tr><td onclick="highlight.it(this);" class="twc" colspan="7" valign="middle" bgcolor="#e0d3b8"><div>',
b("Tribal Wars colours:"),'</div></td><td onclick="highlight.it(this);" bgcolor="#969696" onmouseover="show(\'',b("Abandoned villages"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#823c0a" onmouseover="show(\'',b("Other villages"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#b40000" onmouseover="show(\'',b("Other villages (pre-version 6)"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#f40000" onmouseover="show(\'',
b("Enemies"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#0000f4" onmouseover="show(\'',b("Your tribe"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#800080" onmouseover="show(\'',b("Non-Aggression-Pact (NAP)"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#f0c800" onmouseover="show(\'',b("Your villages"),'\',1);" onmouseout="msd();"></td><td onclick="highlight.it(this);" bgcolor="#00a0f4" onmouseover="show(\'',
b("Allies"),'\',1);" onmouseout="msd();"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#190707"></td><td onclick="highlight.it(this);" bgcolor="#2a0a0a"></td><td onclick="highlight.it(this);" bgcolor="#3b0b0b"></td><td onclick="highlight.it(this);" bgcolor="#610b0b"></td><td onclick="highlight.it(this);" bgcolor="#8a0808"></td><td onclick="highlight.it(this);" bgcolor="#b40404"></td><td onclick="highlight.it(this);" bgcolor="#df0101"></td><td onclick="highlight.it(this);" bgcolor="#ff0000"></td><td onclick="highlight.it(this);" bgcolor="#fe2e2e"></td><td onclick="highlight.it(this);" bgcolor="#fa5858"></td><td onclick="highlight.it(this);" bgcolor="#f78181"></td><td onclick="highlight.it(this);" bgcolor="#f5a9a9"></td><td onclick="highlight.it(this);" bgcolor="#f6cece"></td><td onclick="highlight.it(this);" bgcolor="#f8e0e0"></td><td onclick="highlight.it(this);" bgcolor="#fbefef"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#191007"></td><td onclick="highlight.it(this);" bgcolor="#2a1b0a"></td><td onclick="highlight.it(this);" bgcolor="#3b240b"></td><td onclick="highlight.it(this);" bgcolor="#61380b"></td><td onclick="highlight.it(this);" bgcolor="#8a4b08"></td><td onclick="highlight.it(this);" bgcolor="#b45f04"></td><td onclick="highlight.it(this);" bgcolor="#df7401"></td><td onclick="highlight.it(this);" bgcolor="#ff8000"></td><td onclick="highlight.it(this);" bgcolor="#fe9a2e"></td><td onclick="highlight.it(this);" bgcolor="#faac58"></td><td onclick="highlight.it(this);" bgcolor="#f7be81"></td><td onclick="highlight.it(this);" bgcolor="#f5d0a9"></td><td onclick="highlight.it(this);" bgcolor="#f6e3ce"></td><td onclick="highlight.it(this);" bgcolor="#f8ece0"></td><td onclick="highlight.it(this);" bgcolor="#fbf5ef"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#181907"></td><td onclick="highlight.it(this);" bgcolor="#292a0a"></td><td onclick="highlight.it(this);" bgcolor="#393b0b"></td><td onclick="highlight.it(this);" bgcolor="#5e610b"></td><td onclick="highlight.it(this);" bgcolor="#868a08"></td><td onclick="highlight.it(this);" bgcolor="#aeb404"></td><td onclick="highlight.it(this);" bgcolor="#d7df01"></td><td onclick="highlight.it(this);" bgcolor="#ffff00"></td><td onclick="highlight.it(this);" bgcolor="#f7fe2e"></td><td onclick="highlight.it(this);" bgcolor="#f4fa58"></td><td onclick="highlight.it(this);" bgcolor="#f3f781"></td><td onclick="highlight.it(this);" bgcolor="#f2f5a9"></td><td onclick="highlight.it(this);" bgcolor="#f5f6ce"></td><td onclick="highlight.it(this);" bgcolor="#f7f8e0"></td><td onclick="highlight.it(this);" bgcolor="#fbfbef"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#101907"></td><td onclick="highlight.it(this);" bgcolor="#1b2a0a"></td><td onclick="highlight.it(this);" bgcolor="#243b0b"></td><td onclick="highlight.it(this);" bgcolor="#38610b"></td><td onclick="highlight.it(this);" bgcolor="#4b8a08"></td><td onclick="highlight.it(this);" bgcolor="#5fb404"></td><td onclick="highlight.it(this);" bgcolor="#74df00"></td><td onclick="highlight.it(this);" bgcolor="#80ff00"></td><td onclick="highlight.it(this);" bgcolor="#9afe2e"></td><td onclick="highlight.it(this);" bgcolor="#acfa58"></td><td onclick="highlight.it(this);" bgcolor="#bef781"></td><td onclick="highlight.it(this);" bgcolor="#d0f5a9"></td><td onclick="highlight.it(this);" bgcolor="#e3f6ce"></td><td onclick="highlight.it(this);" bgcolor="#ecf8e0"></td><td onclick="highlight.it(this);" bgcolor="#f5fbef"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#071907"></td><td onclick="highlight.it(this);" bgcolor="#0a2a0a"></td><td onclick="highlight.it(this);" bgcolor="#0b3b0b"></td><td onclick="highlight.it(this);" bgcolor="#0b610b"></td><td onclick="highlight.it(this);" bgcolor="#088a08"></td><td onclick="highlight.it(this);" bgcolor="#04b404"></td><td onclick="highlight.it(this);" bgcolor="#01df01"></td><td onclick="highlight.it(this);" bgcolor="#00ff00"></td><td onclick="highlight.it(this);" bgcolor="#2efe2e"></td><td onclick="highlight.it(this);" bgcolor="#58fa58"></td><td onclick="highlight.it(this);" bgcolor="#81f781"></td><td onclick="highlight.it(this);" bgcolor="#a9f5a9"></td><td onclick="highlight.it(this);" bgcolor="#cef6ce"></td><td onclick="highlight.it(this);" bgcolor="#e0f8e0"></td><td onclick="highlight.it(this);" bgcolor="#effbef"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#071910"></td><td onclick="highlight.it(this);" bgcolor="#0a2a1b"></td><td onclick="highlight.it(this);" bgcolor="#0b3b24"></td><td onclick="highlight.it(this);" bgcolor="#0b6138"></td><td onclick="highlight.it(this);" bgcolor="#088a4b"></td><td onclick="highlight.it(this);" bgcolor="#04b45f"></td><td onclick="highlight.it(this);" bgcolor="#01df74"></td><td onclick="highlight.it(this);" bgcolor="#00ff80"></td><td onclick="highlight.it(this);" bgcolor="#2efe9a"></td><td onclick="highlight.it(this);" bgcolor="#58faac"></td><td onclick="highlight.it(this);" bgcolor="#81f7be"></td><td onclick="highlight.it(this);" bgcolor="#a9f5d0"></td><td onclick="highlight.it(this);" bgcolor="#cef6e3"></td><td onclick="highlight.it(this);" bgcolor="#e0f8ec"></td><td onclick="highlight.it(this);" bgcolor="#effbf5"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#071918"></td><td onclick="highlight.it(this);" bgcolor="#0a2a29"></td><td onclick="highlight.it(this);" bgcolor="#0b3b39"></td><td onclick="highlight.it(this);" bgcolor="#0b615e"></td><td onclick="highlight.it(this);" bgcolor="#088a85"></td><td onclick="highlight.it(this);" bgcolor="#04b4ae"></td><td onclick="highlight.it(this);" bgcolor="#01dfd7"></td><td onclick="highlight.it(this);" bgcolor="#00ffff"></td><td onclick="highlight.it(this);" bgcolor="#2efef7"></td><td onclick="highlight.it(this);" bgcolor="#58faf4"></td><td onclick="highlight.it(this);" bgcolor="#81f7f3"></td><td onclick="highlight.it(this);" bgcolor="#a9f5f2"></td><td onclick="highlight.it(this);" bgcolor="#cef6f5"></td><td onclick="highlight.it(this);" bgcolor="#e0f8f7"></td><td onclick="highlight.it(this);" bgcolor="#effbfb"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#071019"></td><td onclick="highlight.it(this);" bgcolor="#0a1b2a"></td><td onclick="highlight.it(this);" bgcolor="#0b243b"></td><td onclick="highlight.it(this);" bgcolor="#0b3861"></td><td onclick="highlight.it(this);" bgcolor="#084b8a"></td><td onclick="highlight.it(this);" bgcolor="#045fb4"></td><td onclick="highlight.it(this);" bgcolor="#0174df"></td><td onclick="highlight.it(this);" bgcolor="#0080ff"></td><td onclick="highlight.it(this);" bgcolor="#2e9afe"></td><td onclick="highlight.it(this);" bgcolor="#58acfa"></td><td onclick="highlight.it(this);" bgcolor="#81bef7"></td><td onclick="highlight.it(this);" bgcolor="#a9d0f5"></td><td onclick="highlight.it(this);" bgcolor="#cee3f6"></td><td onclick="highlight.it(this);" bgcolor="#e0ecf8"></td><td onclick="highlight.it(this);" bgcolor="#eff5fb"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#070719"></td><td onclick="highlight.it(this);" bgcolor="#0a0a2a"></td><td onclick="highlight.it(this);" bgcolor="#0b0b3b"></td><td onclick="highlight.it(this);" bgcolor="#0b0b61"></td><td onclick="highlight.it(this);" bgcolor="#08088a"></td><td onclick="highlight.it(this);" bgcolor="#0404b4"></td><td onclick="highlight.it(this);" bgcolor="#0101df"></td><td onclick="highlight.it(this);" bgcolor="#0000ff"></td><td onclick="highlight.it(this);" bgcolor="#2e2efe"></td><td onclick="highlight.it(this);" bgcolor="#5858fa"></td><td onclick="highlight.it(this);" bgcolor="#8181f7"></td><td onclick="highlight.it(this);" bgcolor="#a9a9f5"></td><td onclick="highlight.it(this);" bgcolor="#cecef6"></td><td onclick="highlight.it(this);" bgcolor="#e0e0f8"></td><td onclick="highlight.it(this);" bgcolor="#efeffb"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#100719"></td><td onclick="highlight.it(this);" bgcolor="#1b0a2a"></td><td onclick="highlight.it(this);" bgcolor="#240b3b"></td><td onclick="highlight.it(this);" bgcolor="#380b61"></td><td onclick="highlight.it(this);" bgcolor="#4b088a"></td><td onclick="highlight.it(this);" bgcolor="#5f04b4"></td><td onclick="highlight.it(this);" bgcolor="#7401df"></td><td onclick="highlight.it(this);" bgcolor="#8000ff"></td><td onclick="highlight.it(this);" bgcolor="#9a2efe"></td><td onclick="highlight.it(this);" bgcolor="#ac58fa"></td><td onclick="highlight.it(this);" bgcolor="#be81f7"></td><td onclick="highlight.it(this);" bgcolor="#d0a9f5"></td><td onclick="highlight.it(this);" bgcolor="#e3cef6"></td><td onclick="highlight.it(this);" bgcolor="#ece0f8"></td><td onclick="highlight.it(this);" bgcolor="#f5effb"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#190718"></td><td onclick="highlight.it(this);" bgcolor="#2a0a29"></td><td onclick="highlight.it(this);" bgcolor="#3b0b39"></td><td onclick="highlight.it(this);" bgcolor="#610b5e"></td><td onclick="highlight.it(this);" bgcolor="#8a0886"></td><td onclick="highlight.it(this);" bgcolor="#b404ae"></td><td onclick="highlight.it(this);" bgcolor="#df01d7"></td><td onclick="highlight.it(this);" bgcolor="#ff00ff"></td><td onclick="highlight.it(this);" bgcolor="#fe2ef7"></td><td onclick="highlight.it(this);" bgcolor="#fa58f4"></td><td onclick="highlight.it(this);" bgcolor="#f781f3"></td><td onclick="highlight.it(this);" bgcolor="#f5a9f2"></td><td onclick="highlight.it(this);" bgcolor="#f6cef5"></td><td onclick="highlight.it(this);" bgcolor="#f8e0f7"></td><td onclick="highlight.it(this);" bgcolor="#fbeffb"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#190710"></td><td onclick="highlight.it(this);" bgcolor="#2a0a1b"></td><td onclick="highlight.it(this);" bgcolor="#3b0b24"></td><td onclick="highlight.it(this);" bgcolor="#610b38"></td><td onclick="highlight.it(this);" bgcolor="#8a084b"></td><td onclick="highlight.it(this);" bgcolor="#b4045f"></td><td onclick="highlight.it(this);" bgcolor="#df0174"></td><td onclick="highlight.it(this);" bgcolor="#ff0080"></td><td onclick="highlight.it(this);" bgcolor="#fe2e9a"></td><td onclick="highlight.it(this);" bgcolor="#fa58ac"></td><td onclick="highlight.it(this);" bgcolor="#f781be"></td><td onclick="highlight.it(this);" bgcolor="#f5a9d0"></td><td onclick="highlight.it(this);" bgcolor="#f6cee3"></td><td onclick="highlight.it(this);" bgcolor="#f8e0ec"></td><td onclick="highlight.it(this);" bgcolor="#fbeff5"></td></tr><tr><td onclick="highlight.it(this);" bgcolor="#000000"></td><td onclick="highlight.it(this);" bgcolor="#0b0b0b"></td><td onclick="highlight.it(this);" bgcolor="#151515"></td><td onclick="highlight.it(this);" bgcolor="#1c1c1c"></td><td onclick="highlight.it(this);" bgcolor="#2e2e2e"></td><td onclick="highlight.it(this);" bgcolor="#424242"></td><td onclick="highlight.it(this);" bgcolor="#585858"></td><td onclick="highlight.it(this);" bgcolor="#6e6e6e"></td><td onclick="highlight.it(this);" bgcolor="#848484"></td><td onclick="highlight.it(this);" bgcolor="#a4a4a4"></td><td onclick="highlight.it(this);" bgcolor="#bdbdbd"></td><td onclick="highlight.it(this);" bgcolor="#d8d8d8"></td><td onclick="highlight.it(this);" bgcolor="#e6e6e6"></td><td onclick="highlight.it(this);" bgcolor="#f2f2f2"></td><td onclick="highlight.it(this);" bgcolor="#ffffff"></td></tr></table></div>');
a.push('<table cellpadding="0" cellspacing="0"><tr>');vars.wheel!="1"&&vars.wheel!="2"?a.push('<td><div class="spa palla spaselect"><b>',b("Palette"),"</b></div></td>"):a.push('<td><a class="spa palla" href="javascript:;" onclick="vars.wheel=0; $(\'colours\').innerHTML=highlight.picker();">',b("Palette"),"</a></td>");vars.wheel=="1"?a.push('<td><div class="spa spha spaselect"><b>',b("Sphere"),"</b></div></td>"):a.push('<td><a class="spa spha" href="javascript:;" onclick="vars.wheel=1; $(\'colours\').innerHTML=highlight.picker();">',
b("Sphere"),"</a></td>");vars.wheel=="2"?a.push('<td><div class="spa picka spaselect"><b>',b("Picker"),"</b></div></td>"):a.push('<td><a class="spa picka" href="javascript:;" onclick="vars.wheel=2; $(\'colours\').innerHTML=highlight.picker(); loadSV();">',b("Picker"),"</a></td>");a.push("</tr></table>");return a.join("")},quickcols:false,quickcoladd:function(a){return'<span id="quickcol'+a+'" onclick="highlight.insert(\''+a+'\',2);" class="colimg point quickcol" style="background-color: #'+a+';"></span>'},
quickcol:function(){var a=highlight.hexcheck($("colourinput").value);if(a!=""){if(highlight.quickcols[a]){delete highlight.quickcols[a];jQuery("#quickcol"+a).remove();$("quickcoltext").innerHTML=translate("Add quick colour")}else{highlight.quickcols[a]=true;$("quickcollist").innerHTML+=highlight.quickcoladd(a);$("quickcoltext").innerHTML=translate("Delete quick colour")}a=[];for(var b in highlight.quickcols)a.push(b);data.mcol=a.join("-");save()}},edit:function(a,b,d){if(cancelcol()){var c=translate,
e="";highlight.check();switch(b){case "favourite":e=data.last;break;case "line":e=display.drawcol;break;case "line2":a=a.split("-");for(var f=draw.list,g=f.length,h=0;h<g;h++)if(f[h][0]==a[0]&&f[h][1]==a[1]&&f[h][2]==a[2]&&f[h][3]==a[3]){a=f[h];e=f[h][5];break}break;case "circle":e=display.churchcol;break;case "circle2":a=a.split("-");f=draw.churchlist;g=f.length;for(h=0;h<g;h++)if(f[h][0]==a[0]&&f[h][1]==a[1]){a=f[h];e=f[h][3];break}break;case "group":e=data.last;break;case "colour":e=vars.mapcols[a];
break;default:if(vars[b+"s"]&&vars[b+"s"][a])e=vars[b+"s"][a]}if(e!=""){d=['<table cellpadding="0" cellspacing="0" class="t100 qcs ie">',vars.bordertop,vars.borderlefth1,'<div class="cols"><b><u>',translate3("Edit {text}",d?d.toLowerCase():b=="favourite"?c("favourite colour"):b=="group"?c("group member colours"):b=="line2"?c("line colour"):b=="circle2"?c("circle colour"):translate3("{text} colour",c(b))),"</u></b></div>",vars.borderright,vars.spacer,vars.borderleft,'<div id="colours">',highlight.picker(),
"</div>",vars.borderright,vars.spacer,vars.borderleft,'<table class="tb1 colf" cellpadding="0" cellspacing="0">'];b!="favourite"&&d.push('<tr><td class="lefta"><a href="javascript: highlight.insert(data.last,2);"><span id="defspan" class="colimg" style="background-color: #',data.last,';"></span>&nbsp;',c("Use favourite"),'</a></td><td class="righta"><a href="javascript: highlight.set();">',c("Update favourite"),' <span id="colourdefspan" class="colimg" style="background-color:#',e,';"></span></a></td></tr>');
if(!highlight.quickcols){highlight.quickcols={};f=data.mcol.split("-");g=f.length;for(h=0;h<g;h++){var j=highlight.hexcheck(f[h],1);if(j!="")highlight.quickcols[j]=true}}d.push('<tr><td class="lefta"><b>',c("Quick colours"),'</b></td><td class="fr"><a href="javascript: highlight.quickcol();"><span id="quickcoltext">',highlight.quickcols[e]?c("Delete quick colour"):c("Add quick colour"),'</span> <span id="colouraddspan" class="colimg" style="background-color: #',e,';"></span></a></td></tr><tr><td colspan="2" id="quickcollist">');
for(h in highlight.quickcols)d.push(highlight.quickcoladd(h));d.push("</td></tr></table>",vars.borderright,vars.spacer,'<tr><td class="ql"></td><td class="qc ec"><form action="javascript:;" onsubmit="');if(b=="group")d.push("group.editcolour($('colourinput').value, '",a,"')");else if(b=="line")d.push("var col=highlight.hexcheck($('colourinput').value); if (col!='') {display.drawcol=col; $S('drawcol').backgroundColor='#'+col; Close();}");else if(b=="line2")d.push("var col=highlight.hexcheck($('colourinput').value); if (col!='') {draw.add('",
a[0],"','",a[1],"','",a[2],"','",a[3],"','",a[4],"',col); Close();}");else if(b=="circle")d.push("var col=highlight.hexcheck($('colourinput').value); if (col!='') {display.churchcol=col; $S('churchcol').backgroundColor='#'+col; Close();}");else if(b=="circle2")d.push("var col=highlight.hexcheck($('colourinput').value); if (col!='') {draw.churchadd('",a[0],"','",a[1],"','",a[2],"',col,'",a[4],"'); Close();}");else if(b=="colour")d.push("var col=highlight.hexcheck($('colourinput').value); if (col!='') {vars.mapcols['",
a,"']=col; changecolours(); Close();}");else b!="favourite"?d.push("highlight.edicol('",a,"', $('colourinput').value, '",b,"')"):d.push("highlight.set(1)");d.push('"><div><span id="colourspan" style="background-color:#',e,';"></span><input maxlength="7" id="colourinput" type="text" class="oi norightrad noleftrad" value="#',e,'" onkeydown="return submitenter(this, event);" onkeyup="highlight.insert(this.value,1);" /><input type="submit" class="fbut noleftrad" value="',c("Save"),'" /></div></form>',
vars.borderright,vars.spacer,vars.borderleft,'<a class="spl" href="javascript: Close();"><b>',c("Close"),"</b></a>",vars.borderright,vars.borderbottom,"</table>");vars.text=d.join("");mend();vars.wheel=="2"&&loadSV()}}},randomcolour:function(){for(var a=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F"],b="",d=0;d<6;d++)b+=a[Math.round(Math.random()*15)];return b},allplayer:function(a){if(confirm(translate("Do you want to highlight all villages of this player?"))){var b=villagedata,
d=false,c="";if(data.def=="1"){highlight.check();c=data.last}else{d=true;var e=highlight.randomcolour}var f=false;if(data.defgroup&&group.list[data.defgroup]){f=true;var g=data.defgroup}for(var h in b)if(b[h][1]==a&&!vars.villages2[h]){if(d)c=e();vars.villages[b[h][0]]=c;vars.villages2[h]=c;if(f)group.villages[b[h][0]]=g}f&&group.build(1);highlight.build("village");display.refreshpanel("highlights");mode("normal",1);villagelist.show(a,vars.change[1],vars.change[4],vars.change[2],vars.change[3])}},
add:function(a,b,d){if(vars[b+"s"][a])alertmessage(translate3("This {text} is already highlighted.",translate(b)));else{d||Close();d="";if(data.def=="1"){highlight.check();d=data.last}else d=highlight.randomcolour();vars[b+"s"][a]=d;if(b=="village"&&vars.villageid[a])vars.villages2[vars.villageid[a]]=d;if(data.defgroup&&group.list[data.defgroup]){group[b+"s"][a]=data.defgroup;group.build(1)}highlight.build(b);display.refreshpanel("highlights");mode("normal",1)}},addvillage:function(a,b){if(a&&b)return['<table cellpadding="0" cellspacing="0"><tr><td><span class="colimg" style="background-color:#',
b,';"></span></td><td class="fl"><div>',fetch.village[2](a),'</div></td><td class="fr"><div><a href="javascript: highlight.options(\'',a,"', 'village');\">Options</a></div></td></tr></table>"].join("")},addplayer:function(a,b){if(a&&b)return['<table cellpadding="0" cellspacing="0"><tr><td><span class="colimg" style="background-color:#',b,';"></span></td><td class="fl"><div>',fetch.player[1](a),'</div></td><td class="fr"><div><a href="javascript: highlight.options(\'',a,"', 'player');\">Options</a></div></td></tr></table>"].join("")},
addtribe:function(a,b){if(a&&b)return['<table cellpadding="0" cellspacing="0"><tr><td><span class="colimg" style="background-color:#',b,';"></span></td><td class="fl"><div>',fetch.tribe[1](a),'</div></td><td class="fr"><div><a href="javascript: highlight.options(\'',a,"', 'tribe');\">Options</a></div></td></tr></table>"].join("")}};
function tooltipInfo(a,b,d,c){if(cancelcol()){var e=translate;c?textbox.menu(vars.borderleft+tooltiptext(a,b,1,1),["<a href=\"javascript: showmen('"+a+"','"+b+"', 0, 'tribe');\" onmouseover=\"show('",e("Show the player/tribe menu."),'\',1);" onmouseout="msu();">',e("Show menu"),'</a> - <a href="javascript: Close();"><b>',e("Close"),"</b></a>"].join(""),"t100 ie",true,true):textbox.menu(vars.borderleft+tooltiptext(a,b,0,1),[serversettings.baseonly?"":'<a href="'+vars.moveurl(a,b)+'" target="_blank" onclick="mov('+
a+","+b+'); return false;" onmouseover="show(\''+translate3("Center map on {text}.",a+"|"+b)+'\',1);" onmouseout="msu();">'+e("Center map")+"</a> - ","<a href=\"javascript: showmen('",a,"','",b,"');\" onmouseover=\"show('",e("Show the village menu."),'\',1);" onmouseout="msu();">',e("Show menu"),'</a> - <a href="javascript: Close();"><b>',e("Close"),"</b></a>"].join(""),"t100 ie",true,true,d)}}
function calcpos(){if(data.minimap!="no"&&!/^3|4|5$/.test(data.iconsize)){var a=vars.minw,b=$("minimap"),d=0,c=0;if(data.mpos=="tl"){d=mapvars.leftpad;c=40+mapvars.toppad}else if(data.mpos=="tr"){d=vars.width-data.minimapx*a-7;c=40+mapvars.toppad}else if(data.mpos=="br"){d=vars.width;c=39}else if(data.mpos=="dl"){d=mapvars.leftpad;c=vars.height-data.minimapy*a-7}else if(data.mpos=="bl"){d=0;c=vars.height}else{d=vars.width-data.minimapx*a-7;c=vars.height-data.minimapy*a-7}vars.minx=d+3;vars.miny=c+
3;b.style.left=d+"px";b.style.top=c+"px"}a=$S("linewrapper");a.width=vars.width+"px";a.height=vars.height-40+"px"}function initminimap(a){if(data.minimap!="no"){if(!a){$("minimapembed").width=data.minimapx*vars.minw+1;$("minimapembed").height=data.minimapy*vars.minw+1}$S("minimapoverlay").width=data.minimapx*vars.minw+1+"px";$S("minimapoverlay").height=data.minimapy*vars.minw+1+"px";$S("minimap").display="block"}}
function changeminimapsize(){var a=$("minimapwidth").value,b=$("minimapheight").value;if(is_num(a)&&is_num(b)&&a>0&&b>0)if(a*b>4E4)alertmessage(translate("The minimap cannot contain more than a total of 40.000 villages, for example a width of 400 villages and a height of 100 villages. Other examples: 200x200, 800x50."));else{if(data.minimapx!=a||data.minimapy!=b){data.minimapx=a;data.minimapy=b;save();initminimap();windowresize(0,2)}}else alertmessage(translate("The width and height of the minimap must be numbers and higher than zero."))}
function changeminimapopacity(a,b){if(!b){data.mo=a;save()}if(vars.ie67)$S("minimapbg").filter=a!=""?"alpha(opacity="+a*10+")":"alpha(opacity=100)";else $S("minimapbg").opacity=a!=""?a/10:"1"}function changeminimapposition(a){if(data.mpos!=a){data.mpos=a;windowresize(0,2);save()}}
function changeminimapiconsize(a){if(a!=data.minsize){if(a!="3"&&a!="5"){data.minsize="";vars.minw=4}else{data.minsize=a*1;vars.minw=a*1}save();initminimap();flash.refreshminimap();windowresize(0,2);a=mapvars.aminielement;a.width=vars.minw+1+"px";a.height=vars.minw+1+"px"}}
function changepointsmode(){var a=$("pointswhite").value,b=$("pointsred").value,d=a+"-"+b;if(b==""&&a=="")d="";else if(!is_num(a)||!is_num(b)){alertmessage(translate("Minimum and maximum point values must be numbers and cannot be negative."));return false}else if(parseInt(a)>parseInt(b)){alertmessage(translate("Minimum point value must be lower or equal to maximum point value."));return false}if(data.spoints!=d){data.spoints=d;save();data.mode=="points"&&mode("points")}}
function changeWorld(){if(cancelcol()){for(var a=serversettings.prefix,b=[],d=serversettings.serverstart;d<=serversettings.servernum;d++)data.server==d?b.push("<b>",serversettings.world," ",d,"</b><br />"):b.push('<a class="spl" href="http://',a,d,".",serversettings.domain,serversettings.folder,'" onclick="Close();">',serversettings.world," ",d,"</a>");if(serversettings.classic)data.server=="c1"?b.push("<b>",serversettings.classic,"</b>"):b.push('<a class="spl" href="http://',a,"c1.",serversettings.domain,
serversettings.folder,'">',serversettings.classic,"</a>");vars.text=['<table cellpadding="0" cellspacing="0" class="t100 ie"><tr><td class="qtl"><div /></td><td class="qt"></td><td class="qstp"><div/></td><td class="qt"></td><td class="qtr"><div /></td></tr><tr><td class="ql"></td><td class="qc h1" style="width: 90px;"><b><u>'+serversettings.world+'</u></a></b></td><td class="qsv"></td><td class="qc h1"><b><u>',translate("Version"),"</u></a></b>",vars.borderright,'<tr><td class="qsl"></td><td class="qs"></td><td class="qscross"><div /></td><td class="qs"></td><td class="qsr"></td></tr><tr><td class="ql"></td><td class="qc" valign="top"><div>',
b.join(""),'</div></td><td class="qsv"></td><td class="qc lefta" valign="top"><div class="twflag tribalwarsnet">',a=="en"?"<b>tribalwars.net</b>":'<a class="spl" href="http://www.tribalwarsmap.com/">tribalwars.net</a>','</div><div class="twflag tribalwarsuk">',a=="uk"?"<b>tribalwars.co.uk</b>":'<a class="spl" href="http://www.tribalwarsmap.co.uk/">tribalwars.co.uk</a>','</div><div class="twflag tribalwarsde">',a=="de"?"<b>die-staemme.de</b>":'<a class="spl" href="http://www.diestaemmekarte.de/">die-staemme.de</a>',
'</div><div class="twflag tribalwarsnl">',a=="nl"?"<b>tribalwars.nl</b>":'<a class="spl" href="http://www.tribalwarsmap.com/nl/">tribalwars.nl</a>','</div><div class="twflag tribalwarspl">',a=="pl"?"<b>plemiona.pl</b>":'<a class="spl" href="http://www.plemionamapa.pl">plemiona.pl</a>','</div><div class="twflag tribalwarsse">',a=="sv"?"<b>tribalwars.se</b>":'<a class="spl" href="http://www.tribalwarsmap.com/se/">tribalwars.se</a>','</div><div class="twflag tribalwarsbr">',a=="br"?"<b>tribalwars.com.br</b>":
'<a class="spl" href="http://www.tribalwarsmap.com/br/">tribalwars.com.br</a>','</div><div class="twflag tribalwarspt">',a=="pt"?"<b>tribalwars.com.pt</b>":'<a class="spl" href="http://www.tribalwarsmap.com/pt/">tribalwars.com.pt</a>','</div><div class="twflag tribalwarscz">',a=="cs"?"<b>divokekmeny.cz</b>":'<a class="spl" href="http://www.tribalwarsmap.com/cz/">divokekmeny.cz</a>','</div><div class="twflag tribalwarsro">',a=="ro"?"<b>triburile.ro</b>":'<a class="spl" href="http://www.tribalwarsmap.com/ro/">triburile.ro</a>',
'</div><div class="twflag tribalwarsgr">',a=="gr"?"<b>fyletikesmaxes.gr</b>":'<a class="spl" href="http://www.tribalwarsmap.com/gr/">fyletikesmaxes.gr</a>','</div><div class="twflag tribalwarsno">',a=="no"?"<b>tribalwars.no</b>":'<a class="spl" href="http://www.tribalwarsmap.com/no/">tribalwars.no</a>','</div><div class="twflag tribalwarssk">',a=="sk"?"<b>divoke-kmene.sk</b>":'<a class="spl" href="http://www.tribalwarsmap.com/sk/">divoke-kmene.sk</a>','</div><div class="twflag tribalwarshu">',a==
"hu"?"<b>klanhaboru.hu</b>":'<a class="spl" href="http://www.tribalwarsmap.com/hu/">klanhaboru.hu</a>','</div><div class="twflag tribalwarsdk">',a=="dk"?"<b>tribalwars.dk</b>":'<a class="spl" href="http://www.tribalwarsmap.com/dk/">tribalwars.dk</a>','</div><div class="twflag tribalwarsba">',a=="ba"?"<b>plemena.net</b>":'<a class="spl" href="http://www.tribalwarsmap.com/ba/">plemena.net</a>','</div><div class="twflag tribalwarsit">',a=="it"?"<b>tribals.it</b>":'<a class="spl" href="http://www.tribalwarsmap.com/it/">tribals.it</a>',
'</div><div class="twflag tribalwarstr">',a=="tr"?"<b>klanlar.org</b>":'<a class="spl" href="http://www.tribalwarsmap.com/tr/">klanlar.org</a>','</div><div class="twflag tribalwarsfr">',a=="fr"?"<b>guerretribales.fr</b>":'<a class="spl" href="http://www.tribalwarsmap.com/fr/">guerretribales.fr</a>','</div><div class="twflag tribalwarses">',a=="es"?"<b>guerrastribales.es</b>":'<a class="spl" href="http://www.tribalwarsmap.com/es/">guerrastribales.es</a>','</div><div class="twflag tribalwarsfi">',a==
"fi"?"<b>tribalwars.fi</b>":'<a class="spl" href="http://www.tribalwarsmap.com/fi/">tribalwars.fi</a>','</div><div class="twflag tribalwarssi">',a=="si"?"<b>vojnaplemen.si</b>":'<a class="spl" href="http://www.tribalwarsmap.com/si/">vojnaplemen.si</a>','</div><div class="twflag tribalwarslt">',a=="lt"?"<b>genciukarai.lt</b>":'<a class="spl" href="http://www.tribalwarsmap.com/lt/">genciukarai.lt</a>','</div><div class="twflag tribalwarshr">',a=="hr"?"<b>plemena.com.hr</b>":'<a class="spl" href="http://www.tribalwarsmap.com/hr/">plemena.com.hr</a>',
'</div><div class="twflag tribalwarsid">',a=="id"?"<b>perangkaum.net</b>":'<a class="spl" href="http://www.tribalwarsmap.com/id/">perangkaum.net</a>','</div><div class="twflag tribalwarsus">',a=="us"?"<b>tribalwars.us</b>":'<a class="spl" href="http://www.tribalwarsmap.com/us/">tribalwars.us</a>','</div><div class="twflag tribalwarszz">',a=="zz"?"<b>beta.tribalwars.net</b>":'<a class="spl" href="http://www.tribalwarsmap.com/zz/">beta.tribalwars.net</a>',"</div>",vars.borderright,'<tr><td class="qsl"></td><td class="qs"></td><td class="qspbm"></td><td class="qs"></td><td class="qsr"></td></tr><tr><td class="ql"></td><td class="qc h1" colspan="3"><div><a class="spl" href="javascript: Close();"><b>'+
translate("Close")+"</b></a></div>",vars.borderright,'<tr><td class="qbl"></td><td class="qb" colspan="3"></td><td class="qbr"></td></tr></table>'].join("");mend()}}
function disableCPUIntensiveFeatures(){changetooltipsetting(8,1,0,1);data.ani="1";jQuery.fx.off=true;data.playerhighlight="1";flash.map.clearplayers&&flash.map.clearplayers();flash.minimap.clearplayers&&flash.minimap.clearplayers();data.mapani="1";flash.map.toggleani&&flash.map.toggleani(1);flash.minimap.toggleani&&flash.minimap.toggleani(1);save();display.refreshpanel("settings");alertmessage(translate("The following settings were disabled:<br />General: Play menu animations<br />General: Play map animations<br />General: Auto player highlight<br />Tooltips: Show influence"))}
function toggleProps(){var a=toggleCheckbox("props","toggleprops",1,"no");data.props=a?"":"no";save();flash.smallrefresh()}function toggleAnimations(){if(toggleCheckbox("ani","toggleanimations",1,"1")){data.ani="";jQuery.fx.off=false}else{data.ani="1";jQuery.fx.off=true}save()}
function togglePlayerHighlight(){if(toggleCheckbox("playerhighlight","toggleplayerhighlight",1,"1"))data.playerhighlight="";else{data.playerhighlight="1";flash.map.clearplayers&&flash.map.clearplayers();flash.minimap.clearplayers&&flash.minimap.clearplayers()}save()}
function toggleMapAnimations(){if(toggleCheckbox("mapani","togglemapanimations",1,"1")){data.mapani="";flash.map.toggleani&&flash.map.toggleani(0);flash.minimap.toggleani&&flash.minimap.toggleani(0)}else{data.mapani="1";flash.map.toggleani&&flash.map.toggleani(1);flash.minimap.toggleani&&flash.minimap.toggleani(1)}save()}function toggleWheel(){var a=toggleCheckbox("wheel","togglewheel",1,"1");data.wheel=a?"":"1";save()}
function embedMinimap(a,b){if(a){swfobject.removeSWF("minimapembed");$("minimapbg").innerHTML='<div id="minimapembed"></div>'}if(b)swfobject.embedSWF("http://s1.tribalwarsmap.net/flashm-1.6.swf","minimapembed",data.minimapx*vars.minw+1,data.minimapy*vars.minw+1,"9.0.0",false,false,{wmode:"transparent",scale:"noscale",salign:"tl",allowScriptAccess:"always",menu:"false",quality:"autohigh",flashvars:"minimap=1&setframerate="+vars.framerate+"&iw="+vars.minw+"&ih="+vars.minw+"&mw=0&mh=0&sizet=12&bs=1&icononly=1&sline="+
vars.mapcols[5]+"&kline="+vars.mapcols[4]+"&ani="+(data.mapani=="1"?"1":"")})}function toggleMinimap(){if(toggleCheckbox("minimap","toggleminimap",1,"no")){data.minimap="";calcpos();initminimap(1);embedMinimap(0,1)}else{embedMinimap(1);data.minimap="no";flash.minimap=false;minimapsectors={};$S("minimap").display="none"}save()}
function toggleBorderBars(){if(toggleCheckbox("bordera","togglebordera",1,"1")){data.bordera="";$S("movearrows").display="block"}else{data.bordera="1";$S("movearrows").display="none"}save()}
function changecolours(a){if(a=="1")vars.mapcols=["444444","823c0a","969696","FFFFFF","000000","30490e","436213","252589","FF0000","FFFF00","444444","a2a2a2","828282","FFFFFF","FFFFFF","FF0000","FF0000"];else if(a=="2")vars.mapcols=["444444","a2a2a2","646464","FFFFFF","000000","484848","505050","252589","FF0000","FFFF00","444444","a2a2a2","646464","FFFFFF","FFFFFF","FF0000","FF0000"];a=vars.mapcols.join("-");if(data.colours!=a){data.colours=a;mode(data.mode,1);display.settingvars=["colours"];display.refreshpanel("settings");
$S("minimapbg").backgroundColor="#"+vars.mapcols[6];$S("fixsize").backgroundColor="#"+vars.mapcols[6];flash.flashsettings();flash.drawrect();flash.smallrefresh()}}function changetooltipsetting(a,b,d,c){for(var e=data.tooltips,f=[0,0,0,0,0,0,0,0,0,0,0],g=0;g<11;g++)if(e.charAt(g)!="")f[g]=e.charAt(g);if(d)if(f[a]=="1"){f[a]="0";if($(d))$(d).checked=true}else{f[a]="1";if($(d))$(d).checked=false}else f[a]=b;data.tooltips=f.join("");c||save()}
function changeclicksetting(a,b){for(var d=data.menu,c=["c","m","v","t","p","s","q","a","h","j","k"],e=0;e<11;e++)if(d.charAt(e)!="")c[e]=d.charAt(e);c[a]=b;data.menu=c.join("");save()}
var markers={curt:0,curtt:0,churcharr:"",show:function(a,b,d){markers.curt=0;var c=/^activity|points|conquer|attack|defend|growth|tribe$/.test(data.mode)?vars.mapcols[13]:vars.mapcols[3];if(!mapvars.miniview&&data.ct!="1"){for(var e=[],f=draw.churchlist,g=f.length,h=0;h<g;h++)Math.ceil(Math.sqrt(Math.pow(a-f[h][0],2)+Math.pow(b-f[h][1],2)))<=f[h][4]&&e.push(f[h][0],f[h][1]);e=e.join("_");if(markers.churcharr!=e){markers.churcharr=e;flash.map.showchurchicons&&flash.map.showchurchicons(c,e)}}if(markers.curtt!=
d){markers.curtt=d;a=false;if(data.filtert=="yes"){a=true;var j=filter.check}b=[];e=[];f=villagedata;for(h in f)if((!a||j(h))&&f[h][1]==d){e=h.split("-");b.push(e[1],e[2])}if(b.length){flash.map.showplayers&&flash.map.showplayers(c,b.join("_"),data.xcord,data.ycord,mapvars.width,mapvars.height);flash.minimap.showplayers&&!mapvars.miniview&&flash.minimap.showplayers(c,b.join("_"),data.xcord,data.ycord,data.minimapx,data.minimapy)}}},restore:function(){if(markers.curtt&&data.playerhighlight!=1){markers.curt=
1;setTimeout(function(){if(markers.curt){flash.map.clearplayers&&flash.map.clearplayers();flash.minimap.clearplayers&&flash.minimap.clearplayers();markers.curtt=0;markers.curt=0;markers.churcharr=""}},100)}}},info={login:function(){show(translate3("Login with your Tribal Wars account to access your settings from any computer and protect them from hard disk crashes. Logging in is not required for the tool to rememer your settings. You will be redirected to http://www.{text}/external_auth.php to login with your Tribal Wars username and password. Logging in is not required for your settings to be saved.",
serversettings.twdomain),3)},normal:function(a){show(translate("Normal mode uses your highlights to colour villages on the map.")+(a?'<div class="center">'+translate("Click to change the highlight mode.")+"</div>":""),2)},activity:function(a){function b(A){if(A>=172800){A=A/604800-0.29;return"rgb("+Math.round(g+h*A)+","+Math.round(j+k*A)+","+Math.round(m+n*A)+")"}else{A=A/604800;return"rgb("+Math.round(q+r*A)+","+Math.round(o+x*A)+","+Math.round(s+p*A)+")"}}var d=[translate2("Activity mode tracks the time since a player has last increased in points or defeated an enemy unit while attacking. When points and ODA (Opponents defeated as attacker) don't increase a player's villages are coloured from {0}to {1}for 2 days, from {2}to {3}for 1 week.",
['<span class="colimg" style="background-color: #'+vars.mapcols[0]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[9]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[9]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[8]+'"></span>&nbsp;']),"<br />",translate('Go to the "Colours" tab at the "Settings" menu to change colours.'),'<div class="center">'],c=vars.mapcols,e=hex2rgb(c[8]),f=hex2rgb(c[9]);c=hex2rgb(c[10]);
var g=f[0]*1,h=(e[0]-f[0])/0.71,j=f[1]*1,k=(e[1]-f[1])/0.71,m=f[2]*1,n=(e[2]-f[2])/0.71,q=c[0]*1,r=(f[0]-c[0])/0.29,o=c[1]*1,x=(f[1]-c[1])/0.29,s=c[2]*1,p=(f[2]-c[2])/0.29;d.push('<div class="center"><table class="preview" cellpadding="0" cellspacing="0" align="center"><tr><td colspan="7" class="nob"></td></tr><tr>');for(e=1;e<8;e++)d.push('<td class="nob">',e,"d</td>");d.push('</tr><tr><td class="btd tdb" colspan="2">');for(e=0;e<=60;e++)d.push('<div style="',e==30?"border-right: 1px solid #000000;":
"","height: 5px; width: 1px; background-color: ",b(e*2880),';"></div>');d.push('</td><td rowspan="2" colspan="5">');for(e=20;e<70;e++)d.push('<div style="',e==29||e==39||e==49||e==59?"border-right: 1px solid #000000;":"","background-color: ",b(e*8640),';"></div>');d.push('</td></tr><tr><td class="btd ttd" colspan="2">');c=hex2rgb(vars.mapcols[11]);q=c[0]*1;r=(f[0]-c[0])/0.29;o=c[1]*1;x=(f[1]-c[1])/0.29;s=c[2]*1;p=(f[2]-c[2])/0.29;for(e=0;e<=60;e++)d.push('<div style="',e==30?"border-right: 1px solid #000000;":
"","height: 5px; width: 1px; background-color: ",b(e*2880),';"></div>');d.push("</td></tr></table>",a?translate("Click to change the highlight mode."):"","</div>");show(d.join(""),2)},conquergraph:function(){function a(p){if(p<54){p=54-p;return"rgb("+Math.round(f+g*p)+","+Math.round(h+j*p)+","+Math.round(k+m*p)+")"}else{p=p-54;return"rgb("+Math.round(n+q*p)+","+Math.round(r+o*p)+","+Math.round(x+s*p)+")"}}var b=vars.mapcols,d=hex2rgb(b[8]),c=hex2rgb(b[9]),e=hex2rgb(b[10]),f=c[0]*1,g=(d[0]-c[0])/54,
h=c[1]*1,j=(d[1]-c[1])/54,k=c[2]*1,m=(d[2]-c[2])/54,n=c[0]*1,q=(e[0]-c[0])/18,r=c[1]*1,o=(e[1]-c[1])/18,x=c[2]*1,s=(e[2]-c[2])/18;d=['<table class="preview" cellpadding="0" cellspacing="0" align="center"><tr><td colspan="7" class="nob"></td></tr><tr><td class="nob">1d</td><td class="nob">2d</td><td class="nob">3d</td><td class="nob">4d</td></tr><tr><td colspan="3" rowspan="2" class="btd">'];for(i=0;i<=54;i++)d.push('<div style="',i==18||i==37?"border-right: 1px solid #000000;":"","background-color: ",
a(i),';"></div>');d.push('</td><td class="tdb">');for(i=162;i<216;i++)d.push('<div style="height: 5px; width: 1px; background-color: ',a(i/3),';"></div>');d.push('</td></tr><tr><td class="ttd">');e=hex2rgb(b[11]);n=c[0]*1;q=(e[0]-c[0])/18;r=c[1]*1;o=(e[1]-c[1])/18;x=c[2]*1;s=(e[2]-c[2])/18;for(i=162;i<216;i++)d.push('<div style="height: 5px; width: 1px; background-color: ',a(i/3),';"></div>');d.push("</td></tr></table>");return d.join("")},conquer:function(a){info.attack(a,3)},defend:function(a){info.attack(a,
2)},growth:function(a){info.attack(a,1)},attack:function(a,b){show(['<div class="la fc">',translate2("{0} From {1}to {2}for 0-3 days, from {3}to {4}for 3-4 days.",[translate(b=="3"?"Conquer mode colours villages on the map depending on how long ago they were captured.":b=="2"?"Defend mode colours villages on the map depending on how long ago a player last increased in ODD (Opponents defeated as defender).":b=="1"?"Growth mode colours villages on the map depending on how long ago a player last increased in points.":
"Attack mode colours villages on the map depending on how long ago a player last increased in ODA (Opponents defeated as attacker)."),'<span class="colimg" style="background-color: #'+vars.mapcols[8]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[9]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[9]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[0]+'"></span>&nbsp;']),"<br />",translate('Go to the "Colours" tab at the "Settings" menu to change colours.'),
'<div class="center">',info.conquergraph(),a?"Click to change the highlight mode.":"","</div></div>"].join(""))},pointsgraph:function(a){var b=['<table cellpadding="0" cellspacing="0" class="preview" align="center"><tr><td colspan="3" class="center nob">',translate("Minimum points to Maximum points"),'</td></tr><tr><td class="btd"><div style="width: 30px; background-color: #',vars.mapcols[14],';"></div></td><td class="btd">'],d=hex2rgb(vars.mapcols[14]),c=hex2rgb(vars.mapcols[15]),e=gradientHighlight;
e.turnp=0;e.turnp2=0;e.am1=a;e.rb=c[0]*1;e.radd=(d[0]-c[0])/a;e.gb=c[1]*1;e.gadd=(d[1]-c[1])/a;e.bb=c[2]*1;e.badd=(d[2]-c[2])/a;for(i=a;i>=0;i--)b.push('<div style="background-color: ',e.func(i),';"></div>');b.push('</td><td><div style="width: 30px; background-color: #',vars.mapcols[15],';"></div></td></tr></table>');return b.join("")},points:function(a){show(['<div class="la fc">',translate2('Points mode colours villages from Minimum {0}to Maximum {1}depending on their owner\'s points. The auto value is {2} for "Minimum and lower points" and {3} for "Maximum and higher points".',
['<span class="colimg" style="background-color: #'+vars.mapcols[14]+'"></span>&nbsp;','<span class="colimg" style="background-color: #'+vars.mapcols[15]+'"></span>&nbsp;',number(serversettings.pointsmin),number(serversettings.pointsmax)]),"<br />",translate('Go to the "Colours" tab at the "Settings" menu to change the minimum and maximum point values and colours.'),'<div class="center">',info.pointsgraph(50),a?translate("Click to change the highlight mode."):"","</div></div>"].join(""))},tribe:function(a){show('<div class="la fc">'+
translate3("Tribeless mode colours villages on the map whose owner isn't a member of a tribe {text}.",'<span class="colimg" style="background-color: #'+vars.mapcols[16]+'"></span>')+"<br />"+translate('Go to the "Colours" tab at the "Settings" menu to change this colour.')+(a?'<div class="center">'+translate("Click to change the highlight mode.")+"</div>":"")+"</div>")}};
function mode(a,b,d){switch(a){case "activity":$("modename").innerHTML="Activity";break;case "points":$("modename").innerHTML="Points";break;case "conquer":$("modename").innerHTML="Conquer";break;case "attack":$("modename").innerHTML="Attack";break;case "defend":$("modename").innerHTML="Defend";break;case "growth":$("modename").innerHTML="Growth";break;case "tribe":$("modename").innerHTML="Tribeless";break;default:$("modename").innerHTML="Normal"}if(b||data.mode!=a){data.mode=a;save();flash.smallrefresh()}d&&
display.mode(1)}function modeinfo(){switch(data.mode){case "activity":info.activity(1);break;case "points":info.points(1);break;case "conquer":info.conquer(1);break;case "attack":info.attack(1);break;case "defend":info.defend(1);break;case "growth":info.growth(1);break;case "tribe":info.tribe(1);break;default:info.normal(1)}}
var filter={last:"",lastparsed:[],toggle:function(){var t=translate; if(data.filtert=="yes"){data.filtert="";$("fils").innerHTML=t("off");if($("filterset"))$("filterset").checked=false}else{data.filtert="yes";$("fils").innerHTML='<span class="red">'+t("on")+"</span>";if($("filterset"))$("filterset").checked=true}save();flash.smallrefresh()},save:function(){var a=translate,b=$("filterminpoints").value;if(b&&!is_num(b)){alertmessage(a("Minimum village points must be a number and cannot be negative, you can leave the value empty if you wish not to use it."));
return false}var d=$("filtermaxpoints").value;if(d&&!is_num(d)||d==="0"){alertmessage(a("Maximum village points must be a number and higher than zero, you can leave the value empty if you wish not to use it."));return false}var c=$("filterab").value,e=$("filterminab").value;if(e&&!is_num(e)){alertmessage(a("Minimum abandoned village points must be a number and cannot be negative, you can leave the value empty if you wish not to use it."));return false}var f=$("filtermaxab").value;if(f&&!is_num(f)||
f==="0"){alertmessage(a("Maximum abandoned village points must be a number and higher than zero, you can leave the value empty if you wish not to use it."));return false}var g=$("filtertr").value,h=$("filterhighlight").value,j=$("filterminac").value;if(j&&!is_num(j)){alertmessage(a("Minimum # of hours since last activity must be a number and cannot be negative, you can leave the value empty if you wish not to use it."));return false}var k=$("filtermaxac").value;if(k&&!is_num(k)||k==="0"){alertmessage(a("Maximum # of hours since last activity must be a number and higher than zero, you can leave the value empty if you wish not to use it."));
return false}var m=$("filtermaxcon").value;if(m&&!is_num(m)||m==="0"){alertmessage(a("Maximum # of hours since conquered must be a number and higher than zero, you can leave the value empty if you wish not to use it."));return false}b=b+"-"+d+"-"+c+"-"+e+"-"+f+"-"+g+"-"+h+"-"+j+"-"+k+"-"+m;if(data.filtert!="yes"||data.filter!=b){data.filter=b;data.filtert="yes";$("fils").innerHTML='<span class="red">'+a("on")+"</span>";if($("filterset"))$("filterset").checked=true;save();flash.smallrefresh()}},check:function(a){var b=
[],d=true,c=false;if(filter.last!=data.filter){b=data.filter.split("-");filter.lastparsed=b;filter.last=data.filter}else b=filter.lastparsed;if(villagedata[a]){var e=villagedata[a],f=e[2];if(b[6]==2&&vars.villages2[a]!=undefined)return true;if(b[6]==1&&vars.villages2[a]!=undefined)d=false;if(b[0]&&is_num(b[0])&&f<=b[0])c=true;if(b[1]&&is_num(b[1])&&f>=b[1])c=true;a=e[1];if(a==0||a==""){if(b[2]==2)c=true;if(b[3]&&is_num(b[3])&&f<=b[3])c=true;if(b[4]&&is_num(b[4])&&f>=b[4])c=true}else{f=(new Date).getTime()/
1E3+serversettings.time;if(b[9]&&is_num(b[9])&&f-e[4]>=b[9]*3600)c=true;if(b[6]==2&&vars.players[a]!=undefined)return true;if(b[6]==1&&vars.players[a]!=undefined)d=false;if(b[2]==1)c=true;else if((b[6]==1||b[6]==2||b[5]==1||b[5]==2||b[7]!=""||b[8]!="")&&playerdata[a]){e=playerdata[a];if(b[6]==2&&vars.tribes[e[1]]!=undefined)return true;if(b[6]==1&&vars.tribes[e[1]]!=undefined)d=false;if(b[5]==1){if(e[1]==0||e[1]=="")c=true}else if(b[5]==2)if(e[1]!="0"&&e[1]!="")c=true;e=Math.max(e[4],e[6]);if(b[7]&&
is_num(b[7])&&f-e<=b[7]*3600)c=true;if(b[8]&&is_num(b[8])&&f-e>=b[8]*3600)c=true}}return b[6]==1&&d||c?false:true}else return false}};
function tooltiptext(a,b,d,c){var e=translate;a*=1;b*=1;var f=0,g=0,h=0,j=data.tooltips,k=villagedata,m=playerdata;if(c)j="00000001000";else{vars.hoverx=a;vars.hovery=b;vars.smallmen=d?2:1}var n=j.charAt(2),q=j.charAt(6),r=j.charAt(9)=="1"?false:true,o=["C",a,b],x="C-"+a+"-"+b;if(d||k[x]){c=[];var s=(new Date).getTime()/1E3+serversettings.time,p=number,A=datetime,u=false;c.push('<table cellpadding="1" cellspacing="1" class="t100 ttt">');var B=e("Points"),y=e("Rank");if(d)D=b;else{D=k[x];f=D[0];if(j.charAt(1)!=
"1"){for(var w=[],G=draw.churchlist,H=G.length,M=draw.churchlistadd,v=0;v<H;v++)Math.ceil(Math.sqrt(Math.pow(o[1]-G[v][0],2)+Math.pow(o[2]-G[v][1],2)))<=G[v][4]&&w.push(M(G[v],1,0,x));w.length&&c.push('<tr><td class="tooltipcircle">',w.join(""),"</td></tr>")}c.push("<tr><td><div>");note[x]&&c.push('<div class="noteicon"></div>');if(r&&vars.villages[f]!=undefined)c.push('<div class="tooltiphighlight">',group.villages[f]?group.decode(group.list[group.villages[f]][0])+" ":"",'<span class="colimg smb" style="background: #',
vars.villages[f],'"></span></div>');c.push("<b>",D[3],"</b> (",o[1],"|",o[2],") K",fetch.k(a,b));D[5]!="0"&&D[5]!=""&&c.push("<br />",e(vars.bonus[serversettings.bonus][D[5]]));c.push("<br />",B,": ",p(D[2]));if(j.charAt(8)!="1"&&!serversettings.baseonly){M=1/15;H={};var I,K;G=w=0;for(var N=b-15;N<=b+15;N++)for(var O=a-15;O<=a;O++){I=Math.ceil(Math.sqrt(Math.pow(O-a,2)+Math.pow(N-b,2)));if(I<=15&&k["C-"+O+"-"+N]){K=k["C-"+O+"-"+N];if(K[1]!="0"&&K[1]!=""&&m[K[1]]){if(H[m[K[1]][1]])H[m[K[1]][1]]+=(1.1-
I*M)*K[2];else H[m[K[1]][1]]=(1.1-I*M)*K[2];w+=K[2];G++}}}b=[];w/=G;G=w/2;for(v in H)H[v]>=G&&b.push([v,H[v]]);b.sort(function(J,L){return L[1]-J[1]});if(H=b.length>10?10:b.length){c.push("<br />",e("Influence"),": ");for(v=0;v<H;v++)if(b[v][0]==0||tribedata[b[v][0]])c.push(v?v==4?"<br />":", ":"",p(Math.round(b[v][1]/w))," ",b[v][0]==0?" "+e("Tribeless"):tribedata[b[v][0]][2])}}D[4]!="0"&&D[4]!=""&&s-D[4]<=345600&&c.push("<br />",translate2("Conquered {0} ago from {1}",[A(s-D[4],1),D[6]]));if(note[x]){b=
note[x];H=b.length;for(v in b)b[v][0]!=""&&c.push('</div></td></tr><tr><td><div class="notedesc">',b[v][0],"</div>")}c.push("</div></td></tr>");var D=D[1]}if(D!="0"&&D!=""){g=D;if(m[D]){u=m[D];c.push("<tr><td><div>");note["P-"+D]&&c.push('<div class="noteicon"></div>');if(r&&vars.players[D]!=undefined)c.push('<div class="tooltiphighlight">',group.players[D]?group.decode(group.list[group.players[D]][0])+" ":"",'<span class="colimg smb" style="background: #',vars.players[D],'"></span></div>');c.push("<b>");
u[0]!="0"&&u[5]>s-serversettings.protection*86400&&c.push(translate3("Beginner protection for {text}",A(u[5]-(s-serversettings.protection*86400),1)),"</b><br /><b>");c.push(u[2],"</b>: ",B,": ",p(u[0]),", ",e("Villages"),": ",u[3]);q!="1"&&q!="3"&&c.push(", ",y,": ",p(u[8]));if(n!=3&&n!=2){c.push("<br />",e("ODA"),": ",p(u[9]));q!="1"&&q!="3"&&c.push(", ",y,": ",p(u[11]));c.push(", ODD: ",p(u[10]));q!="1"&&q!="3"&&c.push(", ",y,": ",p(u[12]))}if(j.charAt(4)!="1"){c.push("<br />",e("Last activity"),
": ",A(s-Math.max(u[4],u[6])),", ",B,": ");u[4]!="0"&&u[4]!=""?c.push(A(s-u[4])):c.push("?");c.push(", ",e("ODA"),": ");u[6]!="0"&&u[6]!=""?c.push(A(s-u[6])):c.push("?");c.push(", ",e("ODD"),": ");u[7]!="0"&&u[7]!=""?c.push(A(s-u[7])):c.push("?")}if(note["P-"+D]){b=note["P-"+D];H=b.length;for(v in b)b[v][0]!=""&&c.push('</div></td></tr><tr><td><div class="notedesc">',b[v][0],"</div>")}c.push("</div></td></tr>");m=u[1]}else m=false}else m=false;if(!m&&d)m=a;if(m!="0"&&m!=""){h=m;if(tribedata[m]){a=
tribedata[m];c.push("<tr><td><div>");note["T-"+m]&&c.push('<div class="noteicon"></div>');if(r&&vars.tribes[m]!=undefined)c.push('<div class="tooltiphighlight">',group.tribes[m]?group.decode(group.list[group.tribes[m]][0])+" ":"",'<span class="colimg smb" style="background: #',vars.tribes[m],'"></span></div>');if(j.charAt(7)=="1")c.push("<b>",a[2],"</b> [<b>",a[9],"</b>]");else j.charAt(7)=="2"?c.push("<b>",a[9],"</b>"):c.push("<b>",a[2],"</b>");c.push(": ",B,": ",p(a[3]),", ",e("Members"),": ",a[1]);
q!="2"&&q!="3"&&c.push(", ",y,": ",p(a[4]));j.charAt(5)!="1"&&c.push("<br />",e("Total points"),": ",p(a[0]),", ",e("Avg points"),": ",p(Math.round(a[0]/a[1])));if(n!=3&&n!=1){c.push("<br />",e("ODA"),": ",p(a[5]));q!="2"&&q!="3"&&c.push(", ",y,": ",p(a[7]));c.push(", ",e("ODD"),": ",p(a[6]));q!="2"&&q!="3"&&c.push(", ",y,": ",p(a[8]))}if(note["T-"+m]){b=note["T-"+m];H=b.length;for(v in b)b[v][0]!=""&&c.push('</div></td></tr><tr><td><div class="notedesc">',b[v][0],"</div>")}c.push("</div></td></tr>")}}if(!d&&
j.charAt(10)!="1"&&is_num2(data.xstart)&&is_num2(data.ystart)){v=data.xstart;a=data.ystart;n=o[1];q=o[2];o=function(J){if(J){J=Math.round(J);var L=Math.floor(J/3600),S=Math.floor((J-L*3600)/60);J=Math.floor(J-L*3600-S*60);L=L+":";L=S<=9?L+"0"+S+":":L+S+":";if(J<=9)L=L+"0"+J;else L+=J;return L}else return"0:00:00"};v=is_num2(v)&&is_num2(a)&&is_num2(n)&&is_num2(q)?Math.sqrt(Math.pow(v-n,2)+Math.pow(a-q,2)):0;a=v/serversettings.speed;n=serversettings.archer!="0"?1:0;c.push("<tr><td><div>",fetch.village[0]("C-"+
data.xstart+"-"+data.ystart),", ",e("Distance"),": ",v==1?e("1 village"):translate3("{text} villages",Math.round(v*10)/10),'</div><div><table cellpadding="0" cellspacing="0" class="minitimetable"><tr><td><span class="spe"></span><span class="axe"></span>',n?'<span class="arc"></span>':"","</td><td>",o(1080*a),'</td><td class="padleft"><span class="swo"></span></td><td>',o(1320*a),'</td><td class="padleft"><span class="sco"></span></td><td>',o(540*a),'</td><td class="padleft"><span class="lca"></span>',
n?'<span class="mar"></span>':"",serversettings.paladin!="0"?'<span class="pal"></span>':"","</td><td>",o(600*a),'</td></tr><tr><td><span class="hca"></span></td><td>',o(660*a),'</td><td class="padleft"><span class="ram"></span><span class="cat"></span></td><td>',o(1800*a),'</td><td class="padleft"><span class="noble"></span></td><td>',o(2100*a),'</td><td class="padleft"><span class="mer"></span></td><td>',o(360*(v/serversettings.gamespeed)),"</td></tr></table></div></td></tr>")}if(!d&&j.charAt(3)!=
"1")if(u){if(vars.player)if(serversettings.morale=="2"&&u[5]!="0"&&u[5]!=""){p=Math.min(u[0]/vars.player*3+Math.min(0.25+(s-u[5])/432E5,0.5),1);c.push("<tr><td><div>",e("Morale"),": ",Math.round(p*100),"%</div></td></tr>")}else if(serversettings.morale=="1"){p=Math.min(u[0]/vars.player*3+0.3,1);c.push("<tr><td><div>",e("Morale"),": ",Math.round(p*100),"%</div></td></tr>")}}else{if(vars.player&&(serversettings.morale=="2"||serversettings.morale=="1"))c.push("<tr><td><div>",e("Morale"),": 100%</div></td></tr>");
c.push('<tr><td class="ca"><div><b>',e("Abandoned"),"</b></div></td></tr>")}c.push("</table>");vars.tooltipvars=[f,g,h];if(d&&c.length==2)return e("No player/tribe info.");return c.join("")}else return translate3("No village at this coordinate {text}.","("+o[1]+"|"+o[2]+") K"+fetch.k(a,b))}var sectorstoload=[],sectorsloading={},loadedsectors={};
function continentinview(a,b){var d=data.xcord*1,c=data.ycord*1,e=mapvars.miniview?0:flash.minimap,f=Math.max(mapvars.width,e?data.minimapx:0)/2,g=Math.max(mapvars.height,e?data.minimapy:0)/2;e=Math.floor((d-Math.floor(f)-25)/100)*100;var h=Math.floor((c-Math.floor(g)-25)/100)*100;d=Math.floor((d+Math.ceil(f)+25)/100)*100;c=Math.floor((c+Math.ceil(g)+25)/100)*100;return a>=e&&a<=d&&b>=h&&b<=c?true:false}
function loadsectors(){var a=continentinview;if(vars.diff){var b=data.xcord*1,d=data.ycord*1,c=mapvars.miniview?0:flash.minimap,e=Math.max(mapvars.width,c?data.minimapx:0)/2,f=Math.max(mapvars.height,c?data.minimapy:0)/2,g=Math.floor((b-Math.floor(e)-25)/100)*100,h=Math.floor((d-Math.floor(f)-25)/100)*100,j=Math.floor((b+Math.ceil(e)+25)/100)*100,k=Math.floor((d+Math.ceil(f)+25)/100)*100,m=(new Date).getTime();for(var n in sectorsloading){var q=n.split("_");a(q[0]*1,q[1]*1)||delete sectorsloading[n]}sectorstoload=
[];for(h=h;h<=k;h+=100)for(var r=g;r<=j;r+=100)if(r>=0&&h>=0&&r<1E3&&h<1E3&&(!loadedsectors[r+"_"+h]||loadedsectors[r+"_"+h]<serversettings.lastu)&&(!sectorsloading[r+"_"+h]||m-sectorsloading[r+"_"+h]>6E4))sectorstoload.push(r+"_"+h);g=Math.floor((b-Math.floor(e))/50)*50;h=Math.floor((d-Math.floor(f))/50)*50;j=Math.floor((b+Math.ceil(e))/50)*50;k=Math.floor((d+Math.ceil(f))/50)*50;if(c){e=Math.min(mapvars.width,data.minimapx)/2;f=Math.min(mapvars.height,data.minimapy)/2;var o=Math.floor((b-Math.floor(e))/
50)*50,x=Math.floor((d-Math.floor(f))/50)*50,s=Math.floor((b+Math.ceil(e))/50)*50,p=Math.floor((d+Math.ceil(f))/50)*50}else{e=mapvars.width/2;f=mapvars.height/2}m=generatemap;for(h=h;h<=k;h+=50)for(r=g;r<=j;r+=50)if(r>=0&&h>=0&&r<1E3&&h<1E3)m(r,h,1,c&&r>=o&&r<=s&&h>=x&&h<=p?1:0);if(c){e=data.minimapx/2;f=data.minimapy/2;g=Math.floor((b-Math.floor(e))/50)*50;h=Math.floor((d-Math.floor(f))/50)*50;j=Math.floor((b+Math.ceil(e))/50)*50;k=Math.floor((d+Math.ceil(f))/50)*50;for(h=h;h<=k;h+=50)for(r=g;r<=
j;r+=50)r>=0&&h>=0&&r<1E3&&h<1E3&&m(r,h,0,1)}vars.diff=false}c=0;for(n in sectorsloading)c++;if(c<6&&sectorstoload.length){b=data.xcord*1;d=data.ycord*1;e=99999;f=sectorstoload.length;q="";for(n=g=0;n<f;n++){q=sectorstoload[n].split("_");rad=Math.sqrt(Math.pow(b-(q[0]*1+50),2)+Math.pow(d-(q[1]*1+50),2));if(rad<e){e=rad;g=n}}var A=sectorstoload.splice(g,1)[0];c++;sectorsloading[A]=(new Date).getTime();q=A.split("_");q[0]*=1;q[1]*=1;jQuery.ajax({url:"continent/"+fetch.k(q[0],q[1])+"?ms="+(new Date).getTime(),
success:function(u){if(u){var B=props,y=u.props;for(var w in y)B[w]=y[w];namesearch.parseresults(u);if(u.lastu>serversettings.lastu){B=new Date;vars.dat=B.getMonth()+"-"+B.getDate()+"-"+B.getHours();serversettings.lastu=u.lastu}loadedsectors[A]=u.lastu;delete sectorsloading[A];u=q[0];B=q[1];y=sectors[u+"_"+B];w=minimapsectors[u+"_"+B];if(y||w)generatemap(u,B,y,w,1);u+=50;y=sectors[u+"_"+B];w=minimapsectors[u+"_"+B];if(y||w)generatemap(u,B,y,w,1);B+=50;y=sectors[u+"_"+B];w=minimapsectors[u+"_"+B];
if(y||w)generatemap(u,B,y,w,1);u=q[0];y=sectors[u+"_"+B];w=minimapsectors[u+"_"+B];if(y||w)generatemap(u,B,y,w,1);flash.icons();if(!vars.continentloaded){vars.continentloaded=true;$("nocontinents")&&jQuery("#nocontinents").stop().slideUp(200,function(){jQuery(this).remove()})}}},error:function(){setTimeout(function(){delete sectorsloading[A];a(q[0],q[1])&&sectorstoload.push(A)},15E3)},dataType:"json"})}c+=sectorstoload.length;if(c){if(vars.lastcontinent!=c)if(vars.lastcontinent=c){if($("loadnum"))$("loadnum").innerHTML=
c;if($("loadstatus"))$("loadstatus").innerHTML=c!=1?translate3("Currently loading {text} continents.",c):translate("Currently loading 1 continent.");if(!vars.loadindicator){vars.loadindicator=true;if($("loadindicator"))$S("loadindicator").display="block"}}else if(vars.loadindicator){vars.lastcontinent=0;vars.loadindicator=false;if($("loadindicator"))$S("loadindicator").display="none";if($("loadstatus"))$("loadstatus").innerHTML=""}if(vars.loadindicator){vars.loadindicator=true;$S("loadindicator").display=
"block"}}else{vars.lastcontinent=0;vars.loadindicator=false;if($("loadindicator"))$S("loadindicator").display="none";if($("loadstatus"))$("loadstatus").innerHTML=""}}setInterval(function(){(new Date).getTime()/1E3+serversettings.time-serversettings.lastu>4500&&jQuery.ajax({url:"more.php?type=lastu&ms="+(new Date).getTime(),success:function(a){if(is_num(a)&&a>serversettings.lastu){serversettings.lastu=a;vars.diff=true;loadsectors()}},dataType:"text"})},9E5);
function mov(a,b,d,c,e,f){a*=1;b*=1;if(a!=data.xcord||b!=data.ycord){d=true;data.xcord=a;data.ycord=b;$("x").value=a;$("y").value=b;document.title=data.xcord+"|"+data.ycord+" - "+serversettings.title;hide();Close()}if(c){!e&&flash.map.mapm&&flash.map.mapm(a,b,mapvars.width,mapvars.height);!f&&!mapvars.miniview&&flash.minimap.mapm&&flash.minimap.mapm(a,b,data.minimapx,data.minimapy)}if(d){vars.diff=true;!e&&flash.map.movem&&flash.map.movem(a,b,mapvars.width,mapvars.height);!f&&!mapvars.miniview&&flash.minimap.movem&&
flash.minimap.movem(a,b,data.minimapx*1,data.minimapy*1);calcmousepos(vars.xc,vars.yc,1)}}var sectors={},minimapsectors={};sectorsloading={};
function generatemap(a,b,d,c,e){(new Date).getTime();var f=Math.floor(a/100)*100,g=Math.floor(b/100)*100,h=false;if(d&&flash.map.sector&&(e||!sectors[a+"_"+b]||loadedsectors[f+"_"+g]&&sectors[a+"_"+b]<loadedsectors[f+"_"+g])){h=true;sectors[a+"_"+b]=1}d=false;if(c&&flash.minimap.sector&&(e||!minimapsectors[a+"_"+b]||loadedsectors[f+"_"+g]&&minimapsectors[a+"_"+b]<loadedsectors[f+"_"+g])){d=true;minimapsectors[a+"_"+b]=1}if(d||h){var j=(new Date).getTime()/1E3+serversettings.time;c=Math.round(j-serversettings.protection*
86400);var k="",m="";e=false;if(data.filtert=="yes"){e=true;var n=filter.check}var q=true,r=villagedata,o=playerdata,x=props,s=vars.mapcols,p=toHex,A=/^activity|points|conquer|attack|defend|growth|tribe$/.test(data.mode)?false:true,u="",B=A?s[1]:s[11],y,w,G,H,M,v,I,K,N,O,D,J,L,S,aa;switch(data.mode){case "activity":u=function(V,C){if(C[1]!="0"&&C[1]!=""&&o[C[1]]){var E=j-Math.max(o[C[1]][4],o[C[1]][6]);if(E>=604800)return s[8];else if(E>=172800){per=E/604800-0.29;return p(Math.round(H+O*per))+p(Math.round(M+
J*per))+p(Math.round(v+S*per))}else if(E>=7200){per=E/604800;return p(Math.round(I+D*per))+p(Math.round(K+L*per))+p(Math.round(N+badd2*per))}}return""};break;case "points":var ca=serversettings.pointsmin;aa=serversettings.pointsmax;if(data.spoints){m=data.spoints.split("-");if(is_num(m[0])&&is_num(m[1])&&m[0]<=m[1]){ca=m[0];aa=m[1]}}y=hex2rgb(s[14]);w=hex2rgb(s[15]);H=y[0]*1;O=w[0]-y[0];M=y[1]*1;J=w[1]-y[1];v=y[2]*1;S=w[2]-y[2];u=function(V,C){if(C[1]!="0"&&C[1]!=""&&C[1]&&o[C[1]]&&o[C[1]][0]){var E=
o[C[1]][0];if(E<=ca)return s[14];else if(E>aa)return s[15];else{E=(E-ca)/aa;return p(Math.round(H+O*E))+p(Math.round(M+J*E))+p(Math.round(v+S*E))}}else return""};break;case "conquer":case "growth":case "defend":case "attack":var W=2;if(data.mode=="conquer")W=0;else if(data.mode=="growth")W=1;else if(data.mode=="defend")W=3;u=function(V,C){var E=W?C[1]!="0"&&C[1]!=""&&o[C[1]]&&o[C[1]][4]?W==3?j-o[C[1]][7]:W==2?j-o[C[1]][6]:j-o[C[1]][4]:0:C[4]!="0"&&C[4]!=""?j-C[4]:0;if(E&&E<338400)if(E<259200){E=0.75-
E/345600;return p(Math.round(H+O*E))+p(Math.round(M+J*E))+p(Math.round(v+S*E))}else{E=E/345600-0.75;return p(Math.round(I+D*E))+p(Math.round(K+L*E))+p(Math.round(N+badd2*E))}return""};break;case "tribe":u=function(V,C){if(C[1]!="0"&&C[1]!=""&&o[C[1]]&&o[C[1]][1]==0)return s[16];return""};break;default:var ea=vars.villages2,fa=vars.players,ga=vars.tribes;u=function(V,C){if(ea[V]!=undefined)return ea[V];else if(fa[C[1]]!=undefined)return fa[C[1]];else if(o[C[1]]&&ga[o[C[1]][1]]!=undefined)return ga[o[C[1]][1]];
return""}}var ha=function(){if(data.mode=="activity"){y=hex2rgb(s[8]);w=hex2rgb(s[9]);G=hex2rgb(B);H=w[0]*1;O=(y[0]-w[0])/0.71;M=w[1]*1;J=(y[1]-w[1])/0.71;v=w[2]*1;S=(y[2]-w[2])/0.71;I=G[0]*1;D=(w[0]-G[0])/0.29;K=G[1]*1;L=(w[1]-G[1])/0.29;N=G[2]*1;badd2=(w[2]-G[2])/0.29}else if(data.mode=="conquer"||data.mode=="growth"||data.mode=="defend"||data.mode=="attack"){y=hex2rgb(s[8]);w=hex2rgb(s[9]);G=hex2rgb(B);H=w[0]*1;O=(y[0]-w[0])/0.75;M=w[1]*1;J=(y[1]-w[1])/0.75;v=w[2]*1;S=(y[2]-w[2])/0.75;I=w[0]*1;
D=(G[0]-w[0])/0.25;K=w[1]*1;L=(G[1]-w[1])/0.25;N=w[2]*1;badd2=(G[2]-w[2])/0.25}},ba=0,U=0,P=0,X=mapvars.iconwidth,ia=mapvars.iconheight,ja=[],ka=b+50,la=a+50;k=0;var ma=true;if(data.props=="no")ma=false;var T={},Y=[],da=vars.proppos;if(h&&mapvars.miniview||d){P=A?s[2]:s[12];ha();for(var Q=b;Q<ka;Q++)for(var R=a;R<la;R++){k="C-"+R+"-"+Q;if(e&&r[k])q=n(k);if(r[k])if(q){m=r[k];k=u(k,m);if(k=="")k=m[1]!=""&&m[1]!="0"?B:P;if(T[k])T[k].push(R,Q);else T[k]=[R,Q]}}for(var Z in T)Y.push(Z,T[Z].join("-"))}if(d){minimapsectors[a+
"_"+b]=loadedsectors[f+"_"+g]?loadedsectors[f+"_"+g]:1;flash.minimap.sector(a,b,"",Y.join("_"))}if(!mapvars.miniview&&h){T={};Y=[];B=A?s[0]:s[10];ha();for(Q=b;Q<ka;Q++)for(R=a;R<la;R++){k="C-"+R+"-"+Q;if(e&&r[k])q=n(k);if(r[k])if(q){P=1;m=r[k];k=u(k,m);ba=m[2]>10999?X*5:m[2]>8999?X*4:m[2]>2999?X*3:m[2]>999?X*2:m[2]>299?X:0;if(m[5]!="0")if(m[1]=="0"||m[1]==""){U=4;k!=""&&U++}else{U=7;if(k=="")k=B}else if(m[1]=="0"||m[1]==""){U=2;k!=""&&U++}else{U=6;if(k=="")k=B}if(m[1]!="0"&&m[1]!=""&&o[m[1]]&&o[m[1]][5]&&
o[m[1]][5]>c)P=2;else if(m[4]!="0"&&m[4]!=""&&j-m[4]<86400)P=3;if(k!="")if(T[k])T[k].push(R,Q);else T[k]=[R,Q];U*=ia}else P=4;else if(x[k])if(ma)if(x[k]==12){P=5;U=ba=0}else if(da[x[k]]){P=1;ba=da[x[k]][0];U=da[x[k]][1]}else P="";else P=4;else P="";ja.push(P,ba,U,R*X,Q*ia)}for(Z in T)Y.push(Z,T[Z].join("-"))}if(h){sectors[a+"_"+b]=loadedsectors[f+"_"+g]?loadedsectors[f+"_"+g]:1;flash.map.sector(a,b,ja.join("_"),Y.join("_"))}}}
var mainvillage={unset:function(){Close();data.mainvillage="";save();$("mainvil").innerHTML="none";mainvillage.init();flash.icons();display.refreshpanel()},set:function(a,b){if(vars.villageid[a]&&villagedata[vars.villageid[a]]){b||Close();var d=villagedata[vars.villageid[a]][1];if(a!=data.mainvillage&&d!="0"&&d!=""){data.mainvillage.split("-");data.mainvillage=a;save();mainvillage.init();flash.icons();display.refreshpanel();villagelist.fetch(0,d)}}else alertmessage(translate("Village data missing, cannot set main village."))},
init:function(){var a=data.mainvillage.split("-");if(a[0]&&a[0]!="0"&&a[0]!=""){vars.serverpage=vars.serverurl+"game.php?village="+a[0]+"&";if(vars.villageid[a[0]]&&villagedata[vars.villageid[a[0]]]){var b=vars.villageid[a[0]].split("-");$("mainvil").innerHTML='<a href="javascript:;" onclick="showmen(\''+b[1]+"','"+b[2]+'\',event,2,0,0); return false;" oncontextmenu="if (data.rightclick==\'1\') {return false;}" onmouseover="show(tooltiptext('+b[1]+","+b[2]+'));" onmouseout="msu();">'+fetch.village[0](vars.villageid[a[0]])+
"</a>"}else $("mainvil").innerHTML=translate("No village info")}else vars.serverpage=vars.serverurl+"page.php?page=inbound&"},center:function(){var a=data.mainvillage.split("-")[0];if(a)if(vars.villageid[a]){a=vars.villageid[a].split("-");mov(a[1],a[2])}else alertmessage(translate("Cannot center on main village. Main village data is missing. It is possible the village does not exist anymore or is missing from the database. Reloading/refreshing might solve this issue."));else alertmessage(translate('Cannot center on main village, you have not set a main village. Use the "Set main" menu option to set a main village.'))}},
worldMap={options:function(){if(cancelcol()){var a=translate,b="";if(data.lighttribes){var d=data.lighttribes.split("-");l=d.length;for(var c=0;c<l;c+=2)if(d[c]!=""&&d[c+1]!="")b+="&tribe_"+Math.round(c/2)+"_id="+d[c]+"&tribe_"+Math.round(c/2)+"_colour="+d[c+1]}if(data.lightplayers){d=data.lightplayers.split("-");l=d.length;for(c=0;c<l;c+=2)if(d[c]!=""&&d[c+1]!="")b+="&player_"+Math.round(c/2)+"_id="+d[c]+"&player_"+Math.round(c/2)+"_colour="+d[c+1]}if(data.lightvillages){d=data.lightvillages.split("-");
l=d.length;for(c=0;c<l;c+=2)if(d[c]!=""&&d[c+1]!="")b+="&village_"+Math.round(c/2)+"_id="+d[c]+"&village_"+Math.round(c/2)+"_colour="+d[c+1]}b="http://"+serversettings.twstatsdomain+"/"+serversettings.prefix+data.server+"/index.php?page=map"+b+"&zoom=100&centrex=500&centrey=500&grid=1";if(vars.ie67&&b.length>2024)b=b.substring(0,2024);textbox.menu(a("World map"),["<a href=\"javascript: worldMap.choice('Highlights', '",b,"');\" onmouseover=\"show('",a("Generate a world map with your current highlights."),
'\',3);" onmouseout="msu();">',a("Highlights"),'</a><br /><a href="javascript: worldMap.top();" onmouseover="show(\'',a("Generate a world map of the top players and tribes. You can define the number of players and tribes next."),'\',3);" onmouseout="msu();">',a("Top #"),"</a>"].join(""),"t100 ie")}},top:function(){if(cancelcol()){var a=translate;textbox.menu(a("World map"),[a("Top #"),vars.borderright,vars.spacer,vars.borderleft,"<form action=\"javascript:;\" onsubmit=\"worldMap.fetch($('playertop').value, $('tribetop').value);\">",
a("# of players"),': <input id="playertop" type="text" class="oi" value="0" maxlength="3" onkeydown="return submitenter(this, event);" /><br />',a("# of tribes"),': <input id="tribetop" type="text" class="oi fbutt" value="10" maxlength="3" onkeydown="return submitenter(this, event);" /><br /><input type="submit" class="fbut fbutt" value="Go" /></form>'].join(""),"t100 ie")}},fetch:function(a,b){if(cancelcol()){var d=translate;if(is_num(a)&&is_num(b)){var c=translate2("Top {0} players, {1} tribes",
[a,b]),e=c+vars.borderright+vars.spacer+vars.borderleft;textbox.menu(d("World map"),e+"<div>"+translate("Generating world map link. Please wait...")+"</div>","t100 ie");vars.change="worldmaptop";jQuery.ajax({url:"more.php?type=top&playertop="+a+"&tribetop="+b+"&ms="+(new Date).getTime(),success:function(f){vars.change=="worldmaptop"&&worldMap.choice(c,f.twstats,[a,b])},error:function(){vars.change=="worldmaptop"&&textbox.menu("World map",e+"<div>"+d("Could not generate world map links.")+" <a href=\"javascript: worldMap.fetch('"+
a+"','"+b+"');\">"+d("Retry")+"</a></div>","t100 ie")},dataType:"json"})}else alertmessage(d("# of players and # of tribes must be numbers"))}},choice:function(a,b,d){if(cancelcol()){d=d?translate2("Open a new tab/window to TW Stats\\' world map with the top {0} players and top {1} tribes highlighted.",d):translate("Open a new tab/window to TW Stats\\' world map with your current highlights.");textbox.menu(translate("World map"),[a,vars.borderright,vars.spacer,vars.borderleft,'<a class="spl" href="',
b,'" target="_blank" onmouseover="show(\'',d,'.\',1);" onmouseout="msu();" onclick="Close()">TW Stats</a>'].join(""),"t100 ie")}}};
function linkToConfiguration(){if(cancelcol()){var a=translate;vars.change="linktoconfiguration";textbox.menu(a("Link to configuration"),"<div>"+a("Generating a link to your configuration. Please wait...")+"</div>","t100 ie");jQuery.ajax({url:"more.php?type=link&ms="+(new Date).getTime(),data:"oldid="+encode(userid)+"&settings="+minsets()+"&defx="+data.xcord+"&defy="+data.ycord,success:function(b){vars.change=="linktoconfiguration"&&b&&textbox.link(a("Link to configuration"),a("Using this link you can access a copy of the current configuration, this is useful to share your configuration with other players or computers."),
"http://"+serversettings.prefix+data.server+"."+serversettings.domain+serversettings.folder+encode(b))},error:function(){vars.change=="linktoconfiguration"&&textbox.menu(a("Link to configuration"),"<div>"+a("Could not generate a link to your configuration.")+' <a href="javascript: linkToConfiguration();">'+a("Retry")+"</a></div>","t100 ie")},type:"post"})}}
function publicConfiguration(){if(cancelcol()){var a=translate;vars.change="publicconfiguration";textbox.menu(a("Public configuration"),"<div>"+a("Creating a new public configuration. Please wait...")+"</div>","t100 ie");jQuery.ajax({url:"more.php?type=public&ms="+(new Date).getTime(),success:function(b){vars.change=="publicconfiguration"&&b&&textbox.link(a("Public configuration"),a("This link can be used to access a blank public configuration. You can share and use this link to acccess and edit its configuration, this is useful when cookies are disabled or to use a single configuration accross several players or computers."),
"http://"+serversettings.prefix+data.server+"."+serversettings.domain+serversettings.folder+"public:"+encode(b))},error:function(){vars.change=="publicconfiguration"&&textbox.menu(a("Public configuration"),"<div>"+a("Could not create a new public configuration.")+' <a href="javascript: publicConfiguration();">'+a("Retry")+"</a></div>","t100 ie")}})}}
function minimapLink(){if(cancelcol()){var a=translate;vars.change="minimaplink";textbox.menu(a("Minimap link"),"<div>"+a("Generating a link to your minimap. Please wait...")+"</div>","t100 ie");var b="__";if(!/^activity|points|conquer|attack|defend|growth|tribe$/.test(data.mode)||data.filtert=="yes")b=data.lighttribes+"_"+data.lightplayers+"_"+data.lightvillages;var d=vars.mapcols;d=d[1]+"-"+d[2]+"-"+d[4]+"-"+d[5]+"-"+d[6]+"-"+d[7]+"-"+d[8]+"-"+d[9]+"-"+d[11]+"-"+d[12]+"-"+d[14]+"-"+d[15]+"-"+d[16];
jQuery.ajax({url:"more.php?type=minimap&ms="+(new Date).getTime(),data:"settings="+encode(data.xcord+"_"+data.ycord+"_"+data.mode+"_"+data.minimapx+"_"+data.minimapy+"_"+(data.filtert=="yes"?data.filter:"")+"_"+data.minsize+"_"+b+"_"+(data.lt!="1"?data.lines:"")+"_"+(data.ct!="1"?data.church:"")+"__"+(data.mode=="points"?data.spoints:"")+"_"+data.ctop+"_"+d),success:function(c){if(vars.change=="minimaplink"&&c){c="http://"+serversettings.prefix+data.server+"."+serversettings.domain+serversettings.folder+
"minimap/"+encode(c);textbox.link(a("Minimap link"),'<a href="'+c+'" target="_blank"><img src="'+c+'" alt="Minimap" /></a>',c,1)}},error:function(){vars.change=="minimaplink"&&textbox.menu(a("Minimap link"),"<div>"+a("Could not generate a link to your minimap.")+' <a href="javascript: minimapLink();">'+a("Retry")+"</a></div>","t100 ie")},type:"post"})}}
var hotkeyfunction={lastsave:[0,0],rightclick:function(){var a=toggleCheckbox("rightclick","rightclickcheck",0,"1");data.rightclick=a?"":"1";save();display.settingvars=["hotkeys"];display.refreshpanel("settings")},save:function(a,b,d,c){var e=translate;if(d&&!c){display.settingvars=["newtargethotkey"];display.refreshpanel("settings");hotkeyfunction.lastsave=[a,b];vars.hotkeycreate=[a,b]}else{d="";var f=false;if(!hotkeylist[a]||confirm(e("This hotkey already exists. Do you want to overwrite it?"))){if(c){a=
hotkeyfunction.lastsave[0];b=hotkeyfunction.lastsave[1];if(b=="1"||b=="i"||b=="v"||b=="w"||b=="x"||b=="c")if(vars.tooltipvars[0]){c=["C",vars.tooltipvars[0]];f=fetch.village[0](vars.villageid[vars.tooltipvars[0]])}else{alertmessage(e("Not a valid village."));return false}else if(b=="m")if(!vars.tooltipvars[0]||!vars.tooltipvars[1]){alertmessage(e("Not a valid main village."));return false}else{c=["C",vars.tooltipvars[0]];f=fetch.village[0](vars.villageid[vars.tooltipvars[0]])}else if(b=="p")if(vars.tooltipvars[1]){c=
["P",vars.tooltipvars[1]];f=fetch.player[0](vars.tooltipvars[1])}else{alertmessage("Not a valid player.");return false}else if(b=="t"||b=="u")if(vars.tooltipvars[2]){c=["T",vars.tooltipvars[2]];f=fetch.tribe[0](vars.tooltipvars[2])}else{alertmessage("Not a valid tribe.");return false}}else c=["",""];hotkeylist[a]=[b,c[0],c[1]];vars.hotkeycreate=false;hotkeyfunction.build();d=f?translate3("New hotkey assigned for {text}",f):e("New hotkey assigned")}display.settingvars=["hotkeys",0,0,0,0,0,d];display.panel("settings",
1)}},dropdown:function(a,b,d){var c=translate;if(d==2)return'<span class="selectdiv"><select id="newhotkeyaction"><optgroup label="'+c("Move map")+'"><option value="mu">'+c("Move map up")+'</option><option value="ml">'+c("Move map left")+'</option><option value="md">'+c("Move map down")+'</option><option value="mr">'+c("Move map right")+'</option></optgroup><optgroup label="'+c("Zoom")+'"><option value="zi">'+c("Zoom in")+'</option><option value="zo">'+c("Zoom out")+'</option></optgroup><optgroup label="'+
c("Other")+'"><option value="tt">'+c("Show/hide tooltips")+'</option><option value="tl">'+c("Display/hide lines")+'</option><option value="tc">'+c("Display/hide circles")+'</option><option value="cl">'+c("Close menu")+'</option><option value="fltr">'+c("Filter on/off")+'</option><option value="com">'+c("Center map on main village")+'</option><option value="cos">'+c("Center map on start")+'</option><option value="cod">'+c("Center map on destination")+"</option></optgroup></select></span>";else if(d==
3)return""+('<span class="selectdiv"><select id="newhotkeyaction"><option value="1">'+c("Menu")+'</option><option value="i">'+c("Tooltip info")+'</option><option value="v">'+c("Village page")+'</option><option value="m">'+c("Set main")+'</option><option value="p">'+c("Player page")+'</option><option value="t">'+c("Tribe page")+'</option><option value="u">'+c("Historical data")+'</option><option value="w">'+c("Set start")+'</option><option value="x">'+c("Set destination")+'</option><option value="c">'+
c("Center map")+"</option></select></span>");else{var e=data.menu.charAt(b);/^[1vhpjtkmacibnwxqu]{1}$/.test(e)||(e=a);return['<span class="selectdiv"><select ',d?'id="newhotkeyaction"':'onchange="changeclicksetting('+b+', this.value);"',d==4?' disabled="disabled"':"",'><option value="1"',e=="1"?' selected="selected"':"",">"+c("Menu")+'</option><option value="i"',e=="i"?' selected="selected"':"",">"+c("Tooltip info")+'</option><option value="v"',e=="v"?' selected="selected"':"",">"+c("Village page")+
'</option><option value="h"',e=="h"?' selected="selected"':"",">"+c("Highlight village")+'</option><option value="m"',e=="m"?' selected="selected"':"",">"+c("Set main")+'</option><option value="a"',e=="a"?' selected="selected"':"",">"+c("Add/delete marker")+'</option><option value="p"',e=="p"?' selected="selected"':"",">"+c("Player page")+'</option><option value="j"',e=="j"?' selected="selected"':"",">"+c("Highlight player")+'</option><option value="t"',e=="t"?' selected="selected"':"",">"+c("Tribe page")+
'</option><option value="u"',e=="u"?' selected="selected"':"",">"+c("Historical data")+'</option><option value="k"',e=="k"?' selected="selected"':"",">"+c("Highlight tribe")+'</option><option value="q"',e=="q"?' selected="selected"':"",">"+c("Graphs & links")+'</option><option value="b"',e=="b"?' selected="selected"':"",">"+c("BBcodes")+'</option><option value="n"',e=="n"?' selected="selected"':"",">"+c("Notes")+'</option><option value="w"',e=="w"?' selected="selected"':"",">"+c("Set start")+'</option><option value="x"',
e=="x"?' selected="selected"':"",">"+c("Set destination")+'</option><option value="c"',e=="c"?' selected="selected"':"",">"+c("Center map")+"</option></select></span>"].join("")}},build:function(){var a=[];for(var b in hotkeylist)a.push(b,hotkeylist[b][0],hotkeylist[b][1],hotkeylist[b][2]);data.hotkeys=a.join("-");save()}};function formsubmit(){var a=$("submitform");a.submit();a.onsubmit&&a.onsubmit();return false}
function changecoord(){var a=$("x").value;$("x").name="x-"+(new Date).getTime();var b=$("y").value;$("y").name="y-"+(new Date).getTime();(a=checkcoordinate(a,b,is_num2))&&mov(a[0],a[1])}
function moveDirection(a){switch(a){case "Left":mov(data.xcord-mapvars.width,data.ycord);break;case "Right":mov(data.xcord*1+mapvars.width*1,data.ycord);break;case "Up":mov(data.xcord,data.ycord-mapvars.height);break;case "Down":mov(data.xcord,data.ycord*1+mapvars.height*1);break;case "TopLeft":mov(data.xcord-mapvars.width,data.ycord-mapvars.height);break;case "TopRight":mov(data.xcord*1+mapvars.width*1,data.ycord-mapvars.height);break;case "BottomLeft":mov(data.xcord-mapvars.width,data.ycord*1+mapvars.height*
1);break;case "BottomRight":mov(data.xcord*1+mapvars.width*1,data.ycord*1+mapvars.height*1);break}}
var display={displayed:{messages:1},place:function(a){var b=0,d=1,c=display.displayed,e=0,f=0,g=[];for(var h in c)if($(h+"-panel")){d+=$(h+"-panel").offsetWidth-1;b=h;var j=0;if(b&&$(b)){var k=$(b);if(k.offsetParent){var m=k;do j+=m.offsetLeft;while(m=m.offsetParent)}}j+=+k.offsetWidth/2;e+=j;g.push([j,h]);f++}c=0;g.sort(function(n,q){return parseInt(n[0])-parseInt(q[0])});c=Math.max(Math.min(Math.floor(e/f-d/2),vars.width-d),0);e=g.length;for(h=0;h<e;h++){d=g[h][1];if($(d+"-panel")){if(a||d!=b)jQuery("#"+
d+"-panel").animate({left:c},300);else $S(d+"-panel").left=c+"px";c+=$(d+"-panel").offsetWidth-1}}},refreshpanel:function(a){if(a){if(display.displayed[a]&&a!="messages"){display[a]();display.place(1)}}else{a=display.displayed;for(var b in a)display[b]();display.place(1)}},panel:function(a,b,d){var c=$(a);if(display.displayed[a]){if(b)display[a]();else{jQuery("#"+a+"-panel").slideUp(300,function(){a!="messages"&&jQuery("#"+a+"-panel").remove();display.place(1)});c.className="";delete display.displayed[a]}display.settingvars=
[];vars.change=false}else if(!d){c.className="MenuA";display.displayed[a]=1;display[a]();display.place();$S(a+"-panel").display="none";jQuery("#"+a+"-panel").slideDown(300);display.settingvars=[]}},leftpanel:function(a,b,d,c,e){if(c)d=[b];else{d=['<table cellpadding="0" cellspacing="0" class="',a,' paneltab2"><tr><td class="qc center"><b><u>',d,"</u></b></tr>"];c=b.length;for(var f=0;f<c;f+=2)d.push('<tr><td class="',b[f],'">',b[f+1],"</td></tr>");d.push('<tr><td class="qc center bottomqc">',e?e:
'<a class="spl" href="javascript: display.panel(\''+a+"',0,1);\"><b>"+translate("Close")+"</b></a>","</td><tr></table>")}if($(a+"-panel"))$(a+"-panel").innerHTML=d.join("");else{b=document.createElement("div");b.setAttribute("id",a+"-panel");b.className="paneltab";b.innerHTML=d.join("");document.body.appendChild(b)}},messages:function(){if($("loadtext")){$("loadtext").innerHTML=translate("Tip")+": "+translate(vars.tiptext[Math.round(Math.random()*(vars.tiptext.length-1))])+'<br /><span id="loadstatus">'+
(vars.lastcontinent?vars.lastcontinent!=1?translate3("Currently loading {text} continents.",vars.lastcontinent):translate("Currently loading 1 continent."):"")+"</span>";$S("messages-panel").display="block"}},errorvars:"",error:function(){display.leftpanel("error",["qc",display.errorvars],translate("An error has occurred"),0,"<b><a href=\"javascript:;\" onclick=\"display.panel('error',0,1); $S('error').display='none';\">"+translate("Ignore")+"</a> - <a href=\"javascript:;\" onclick=\"display.panel('error',0,1); vars.hideerror=true; $S('error').display='none';\">"+
translate("Ignore all errors")+"</a></b>")},timers:function(){function a(h){return(""+h).length<2?"0"+h:h}var b=translate,d=['<table cellpadding="0" cellspacing="0" class="tb1">'],c="",e=timer.timers;for(var f in e){c=new Date;c.setTime(e[f][0]*1E3+vars.timezoneoffset);d.push('<tr><td class="lefta">',c.toLocaleString(),'</td><td class="righta" style="padding-left: 8px;"><a href="javascript: timer.preview(\'',f,"');\">",b("Preview"),"</a> - <a href=\"javascript: timer.del('",f,"');\">",b("Delete"),
"</a></td></tr>")}e=[];c=new Date;c.setTime((new Date).getTime()+serversettings.time*1E3+vars.timezoneoffset+serversettings.timeoffset*1E3);f=data.mainvillage.split("-");f=is_num(f[0])&&f[0]!="0"&&vars.villageid[f[0]]?vars.villageid[f[0]].split("-"):false;var g=c.getFullYear()+"-"+a(c.getMonth()+1)+"-"+a(c.getDate())+" "+a(c.getHours())+":"+a(c.getMinutes())+":"+a(c.getSeconds());if(d.length<=1)d=[b("No timers have been set."),"<br />",b("Create a new timer using the form above.")];else d.push("</table>");
e.push("qc",b("Current estimated Tribal Wars server time")+': <span id="servertime">'+c.toLocaleTimeString()+"</span>","qc",'<form action="javascript:;" onsubmit="timer.set();"><table class="ttt" style="text-align: center !important;" cellpadding="1" cellspacing="1"><tr><td colspan="2"><b><u>'+b("Create new timer")+'</u></b></td></tr><tr><td rowspan="5" valign="top" style="padding: 0px;"><div class="timerpdiv"><b>'+b("Date and time")+'</b><div class="lefta">'+fixText(b("Enter the date and time for the timer in Tribal Wars server time."))+
'<br /><input type="text" id="timertime" class="oi" style="width: 180px;" onkeyup="$(\'timerparsed\').innerHTML=new Date($(\'timertime\').value.replace(/-/g,\'/\')).toLocaleString();" onkeydown="return submitenter(this, event);" value="'+g+'" /><br />Parsed date: <span id="timerparsed">'+(new Date(g.replace(/-/g,"/"))).toLocaleString()+'</span></div></div><div style="padding: 1px;"><b>'+b("Description")+'</b><div class="lefta">'+b("You can use the following BBcodes")+":<br />"+b("Link")+": [url="+
b("link destination")+"]"+b("Link text")+"[/url]<br />"+b("Link to village")+": [village]X|Y[/village]<br />"+b("Link to player")+": [player]"+b("Player name")+"[/player]<br />"+b("Link to tribe")+": [tribe]"+b("Tribe tag")+'[/tribe]<br /><textarea id="timerdescription" style="width: 224px; height: 108px;"></textarea></div></div></td><td valign="top" class="h1"><b>'+b("Alert time")+'</b><div class="lefta">'+fixText(b("Enter the number of seconds you want to be warned before the timer expires."))+
'<br /><input id="timeralert" type="text" class="oi" onkeydown="return submitenter(this, event);" value="0" /></div></td></tr><tr><td valign="top" class="h1"><b>'+b("Alert sound")+'</b><div class="lefta">'+fixText(b("The alert sound will be repeated every 4 seconds when the timer finishes until you respond."))+'<br /><span class="selectdiv"><select id="timersoundid"><option selected="selected" value="0">'+b("MGS Ring")+'</option><option value="3">'+b("Ring")+'</option><option value="2">'+b("Notify")+
'</option><option value="4">'+b("Tada")+'</option><option value="1">'+b("Police siren")+'</option><option value="5">'+b("None")+'</option></select></span> <a href="javascript:;" onclick="if ($(\'timersoundid\').value!=5) {flash.map.playsound($(\'timersoundid\').value);};" class="playicon"></a></div></td></tr><tr><td valign="top" class="h1"><b>'+b("Description links main village")+'</b><div class="lefta">'+fixText(b("Enter the coordinate for the village that will be selected in the description BBcode links."))+
'<br />X: <input id="timermainx" type="text" class="oi" onkeydown="return submitenter(this, event);" value="'+(f?f[1]:"")+'" /> Y: <input id="timermainy" type="text" class="oi" onkeydown="return submitenter(this, event);" value="'+(f?f[2]:"")+'" /></div></td></tr><tr><td valign="top" class="h1"><b>'+b("Description links auto open")+'</b><div class="lefta"><input type="checkbox" id="timerlinks" class="cb" /> '+fixText(b("Automatically open description links in new windows when the timer expires."))+
'</div></td></tr><tr><td></td></tr><tr><td colspan="2"><input type="submit" class="fbut" value="'+b("Save")+'" /><input type="submit" class="fbut fbut2" value="'+b("Preview")+'" /></td></tr></table></form>',"qc",d.join(""));display.leftpanel("timers",e,b("Timers"));clearInterval(timer.sinterval);timer.sinterval=setInterval(function(){if($("servertime")){var h=new Date;h.setTime((new Date).getTime()+serversettings.time*1E3+vars.timezoneoffset+serversettings.timeoffset*1E3);$("servertime").innerHTML=
h.toLocaleTimeString()}else clearInterval(timer.sinterval)},1E3)},traveltimes:function(){function a(g){if(g){g=Math.round(g);var h=Math.floor(g/3600),j=Math.floor((g-h*3600)/60);g=Math.floor(g-h*3600-j*60);h=h+":";h=j<=9?h+"0"+j+":":h+j+":";if(g<=9)h=h+"0"+g;else h+=g;return h}else return"0:00:00"}var b=translate,d=data.xstart,c=data.xdest,e=data.ystart,f=data.ydest;d=is_num2(d)&&is_num2(e)&&is_num2(c)&&is_num2(f)?Math.sqrt(Math.pow(d-c,2)+Math.pow(e-f,2)):0;c=d/serversettings.speed;e=[];e.push("qc",
""+('<form action="javascript:;" onsubmit="manual($(\'xbs\').value, $(\'xbd\').value,1);">X: <input type="text" id="xbs" class="oi" onkeydown="return submitenter(this, event);" /> Y: <input type="text" id="xbd" class="oi" onkeydown="return submitenter(this, event);" /><br/><input type="submit" class="fbut fbutt" value="'+b("Start")+'" /><input type="submit" class="fbut fbut2 fbutt" value="'+b("Destination")+"\" onclick=\"manual($('xbs').value, $('xbd').value); return false;\" /></form>"),"qc",['<table cellpadding="0" cellspacing="0"><tr><td><span class="green spgr"></span></td><td class="tb1">',
is_num(data.xstart)&&is_num(data.ystart)?fetch.village[1]("C-"+data.xstart+"-"+data.ystart):b("No start set"),"</td></tr></table>"].join(""),"qc",['<table cellpadding="0" cellspacing="0"><tr><td><span class="red spre"></span></td><td class="tb1">',is_num(data.xdest)&&is_num(data.ydest)?fetch.village[1]("C-"+data.xdest+"-"+data.ydest):b("No destination set"),"</td></tr></table>"].join(""));f=['<table cellpadding="0" cellspacing="1" class="table"><tr><td colspan="3">'+b("Distance")+": ",d==1?b("1 village"):
translate3("{text} villages",Math.round(d*10)/10),'.</td></tr><tr><td class="ic"><img src="img/unit/spear.gif" alt="" /></td><td class="la">',b("Spear fighter"),'</td><td class="ra">',a(1080*c),'</td></tr><tr><td class="ic"><img src="img/unit/sword.gif" alt="" /></td><td class="la">',b("Swordsman"),'</td><td class="ra">',a(1320*c),'</td></tr><tr><td class="ic"><img src="img/unit/axe.gif" alt="" /></td><td class="la">',b("Axeman"),'</td><td class="ra">',a(1080*c),"</td></tr>"];serversettings.archer!=
"0"&&f.push('<tr><td class="ic"><img src="img/unit/archer.gif" alt="" /></td><td class="la">',b("Archer"),'</td><td class="ra">',a(1080*c),"</td></tr>");f.push('<tr><td class="ic"><img src="img/unit/scout.gif" alt="" /></td><td class="la">',b("Scout"),'</td><td class="ra">',a(540*c),'</td></tr><tr><td class="ic"><img src="img/unit/light.gif" alt="" /></td><td class="la">',b("Light cavalry"),'</td><td class="ra" id="lc">',a(600*c),"</td></tr>");serversettings.archer!="0"&&f.push('<tr><td class="ic"><img src="img/unit/marcher.gif" alt="" /></td><td class="la">',
b("Mounted archer"),'</td><td class="ra">',a(600*c),"</td></tr>");f.push('<tr><td class="ic"><img src="img/unit/heavy.gif" alt="" /></td><td class="la">',b("Heavy cavalry"),'</td><td class="ra">',a(660*c),'</td></tr><tr><td class="ic"><img src="img/unit/ram.gif" alt="" /></td><td class="la">',b("Ram"),'</td><td class="ra">',a(1800*c),'</td></tr><tr><td class="ic"><img src="img/unit/catapult.gif" alt="" /></td><td class="la">',b("Catapult"),'</td><td class="ra">',a(1800*c),"</td></tr>");serversettings.paladin!=
"0"&&f.push('<tr><td class="ic"><img src="img/unit/paladin.gif" alt="" /></td><td class="la">',b("Paladin"),'</td><td class="ra">',a(600*c),"</td></tr>");f.push('<tr><td class="ic"><img src="img/unit/noble.gif" alt="" /></td><td class="la">',b("Nobleman"),'</td><td class="ra">',a(2100*c),'</td></tr><tr><td class="ic"><img src="img/unit/booty.png" alt="" /></td><td class="la">',b("Merchant"),'</td><td class="ra">',a(360*(d/serversettings.gamespeed)),"</td></tr></table>");e.push("qc",f.join(""));display.leftpanel("traveltimes",
e,b("Travel Times"));$("xbs").focus()},highlights:function(){var a=translate;highlight.check();var b=["qc lefta",'<div><a class="spl" href="javascript: group.bbcode(0,1,0,2);">'+a("All highlights BBcode list")+'</a><a class="spl" href="javascript: group.bbcode(0,1,0,1);">'+a("Ungrouped highlights BBcode list")+'</a><a class="spl" href="javascript: group.openallvillagepages(1);">'+a("Open all highlights village pages")+'</a><a class="spl" href="javascript: group.openallvillagepages();">'+a("Open ungrouped highlights village pages")+
'</a><a class="spl" href="javascript: group.masshighlight();">'+a("Mass highlight")+"</a></div>","qc lefta",['<div class="point" onclick="highlight.toggle()"><input id="highlighttoggle" type="checkbox" class="cb" ',data.def==1?'checked="checked" ':"","/>"+fixText("      "+a("Use your favourite colour when adding new highlights instead of a random colour."),45)+'</div><a class="spl" href="javascript: highlight.edit(\'\', \'favourite\');"><span class="colimg" id="defaultcoldiv" style="background-color: #',
data.last,';"></span>&nbsp;'+a("Edit favourite colour")+"</a></div>"].join(""),"qc","<b>"+a("Villages")+"</b>",'qc" id="vil'],d=[];for(var c in vars.villages)group.villages[c]||d.push(highlight.addvillage(c,vars.villages[c],1));d.length?b.push(d.join("")):b.push(a("No villages highlighted."));b.push("qc","<b>"+a("Players")+"</b>",'qc" id="pla');d=[];for(c in vars.players)group.players[c]||d.push(highlight.addplayer(c,vars.players[c],1));d.length?b.push(d.join("")):b.push(a("No players highlighted."));
b.push("qc","<b>"+a("Tribes")+"</b>",'qc" id="tri');d=[];for(c in vars.tribes)group.tribes[c]||d.push(highlight.addtribe(c,vars.tribes[c],1));d.length?b.push(d.join("")):b.push(a("No tribes highlighted."));b.push("qc","<b><u>"+a("Groups")+'</u></b><br /><a href="javascript: group.change(0,0,1);">'+a("Default group")+"</a> - <a href=\"javascript: textbox.question('group.create','','','"+a("Create new group")+"','"+a("Group name")+": ','');\">"+a("Create new group")+"</a>",'qc lefta" id="gro');c=[];
for(var e in group.list)c.push(group.add(e));c.length?b.push(c.join("")):b.push('<div class="center">'+a("No groups created.")+"</div>");display.leftpanel("highlights",b,a("Highlights"))},helptab:"",help:function(){var a=translate;display.leftpanel("help",["qc",a("Click a section title to read its contents."),"qc lefta",display.helptab==""?'<div class="center"><b>'+a("Contact information")+"</b></div>"+translate2("You can contact Tribal Wars Map by sending an email to {0}. You can discuss Tribal Wars Map at the official Tribal Wars forums in the {1}Tribal Wars Map discussion topic</a>.",
['<a href="mailto:contact@tribalwarsmap.com">contact@tribalwarsmap.com</a>','<a href="'+serversettings.topic+'" target="_blank">'])+"<br />"+translate3("Report spelling errors, translation errors and glitches or send comments and suggestions to {text}.",'<a href="mailto:contact@tribalwarsmap.com">contact@tribalwarsmap.com</a>'):'<a class="spl center" href="javascript:;" onclick="display.helptab=\'\'; display.refreshpanel(\'help\');"><b>'+a("Contact information")+"</b></a>","qc lefta",display.helptab==
"start"?'<div class="center"><b>'+a("Getting started")+"</b></div>"+a("You can move the map by holding the left mouse button on the map and dragging your mouse in the direction you wish to move.  Scroll up or down to zoom in or out on the map. You can use the tabs in the top menu bar to get overviews of the features you are using and access more functions. Click any village on the map to display the village menu, which allows you to quickly access most of the tool's features. When you are not sure about a feature's purpose, the tooltips often give more information."):
'<a class="spl center" href="javascript:;" onclick="display.helptab=\'start\'; display.refreshpanel(\'help\');"><b>'+a("Getting started")+"</b></a>","qc lefta",display.helptab=="config"?'<div class="center"><b>'+a("Multiple configurations")+"</b></div>"+translate2("You can have unlimited configurations on a single server by changing the part in front of the server number, {0} is the same as {1} except that it uses a different configuration.",['<a href="http://example1.'+serversettings.domain+serversettings.folder+
'">http://example1.'+serversettings.domain+serversettings.folder+'</a><a href="http://'+serversettings.prefix+"1."+serversettings.domain+serversettings.folder+'">http://'+serversettings.prefix+"1."+serversettings.domain+serversettings.folder+"</a>"]):'<a class="spl center" href="javascript:;" onclick="display.helptab=\'config\'; display.refreshpanel(\'help\');"><b>'+a("Multiple configurations")+"</b></a>","qc lefta",display.helptab=="tooltip"?'<div class="center"><b>'+a("The village, player and tribe tooltip")+
"</b></div>"+a("When your mouse is over a village or name, a tooltip with detailed information is displayed. Below is an example of what such a tooltip can contain and information about its contents.")+'<table cellspacing="1" cellpadding="1" class="t100 ttt"><tr><td><div><b>'+a("Village name")+"</b> (X|Y) K"+a("Continent")+"<br/>"+a("Points")+": "+a("Points")+"<br/>"+a("Influence")+": 1 ("+a("info below")+")</div></td></tr><tr><td><div><b>"+a("Player name")+"</b>: "+a("Points")+": "+a("Points")+", "+
a("Villages")+": "+a("# of villages")+", "+a("Rank")+": "+a("Points rank")+"<br/>"+a("ODA")+": "+a("ODA")+", "+a("Rank")+": "+a("ODA rank")+", "+a("ODD")+": "+a("ODD")+", "+a("Rank")+": "+a("ODD rank")+"<br/>"+a("Last activity")+": 2, "+a("Points")+": 2, "+a("ODA")+": 2, "+a("ODD")+": 2</div></td></tr><tr><td><div><b>"+a("Tribe name")+"</b>: "+a("Points")+": "+a("Top 40 member points")+", "+a("Members")+": "+a("Members")+", "+a("Rank")+": "+a("Points rank")+"<br/>"+a("Total points")+": "+a("Total points")+
", "+a("Avg points")+": "+a("Average points/member")+"<br/>"+a("ODA")+": "+a("ODA")+", "+a("Rank")+": "+a("ODA rank")+", "+a("ODD")+": "+a("ODD")+", "+a("Rank")+": "+a("ODD rank")+"</div></td></tr></table>"+a("<b>1</b>, Influence: Displays an estimate of a tribe's presence around the village, calculated by the number of villages, village points and distance over a radius of 15 villages.")+"<br />"+a("<b>2</b>, Last activity: Last activity display the last time a player increased in points or ODA. Next it displays when a player last increased in points, ODA and ODD. It uses the format #d #h, for example 1d 5h would mean the last time the player increased in points/ODA was one day and five hours ago.")+
"<br />"+a("<b>ODA/ODD</b>, Opponents defeated as attacker/defender: ODA/ODD refers to the number of troops that have been defeated, either while attacking (ODA) or defending (ODD). Increases in ODA indicate a player has attacked recently, increases in ODD indicate a player has been attacked recently.")+"<br />"+translate3("<b>K</b>, Continent: The map is divided in 100 continents, numbered from 0 to 99 counting from the top-left of the map to the bottom-right. A continent spans 100x100 coordinates. Continents are usually abbreviated using the K notation, for example K1 means continent 1. For more info about continents refer too {text}.",
'<a href="'+vars.serverurl+'help2.php?article=map" target="_blank">'+vars.serverurl+"help2.php?article=map</a>"):'<a class="spl center" href="javascript:;" onclick="display.helptab=\'tooltip\'; display.refreshpanel(\'help\');"><b>'+a("The village, player and tribe tooltip")+"</b></a>"],a("Help"))},drawcol:"000000",lines:function(){var a=translate,b=translate3;b=["qc lefta",['<div onclick="draw.toggle()" class="point"><input type="checkbox" class="cb" id="drawtoggle"',data.lt!="1"?' checked="checked"':
"","/> "+a("Display lines")+" ("+a("Hotkey")+": CTRL+ALT+L)</div>"].join(""),"qc lefta","<div>"+fixText(a('Fill out the form below and click "Save" to draw a line between two coordinates.'),45)+"</div>","qc",["<form action=\"javascript:;\" onsubmit=\"var stroke='1'; if ($('linet2').checked) {stroke='2';} else if ($('linet3').checked) {stroke='3';} draw.add($('linex1').value,$('liney1').value,$('linex2').value,$('liney2').value,stroke,display.drawcol);\"><b>"+a("Start")+'</b><br />X1: <input type="text" id="linex1" class="oi" onkeydown="return submitenter(this, event);" /> Y1: <input type="text" id="liney1" class="oi" onkeydown="return submitenter(this, event);" /><br /><b>'+
a("Destination")+'</b><br />X2: <input type="text" id="linex2" class="oi" onkeydown="return submitenter(this, event);" /> Y2: <input type="text" id="liney2" class="oi" onkeydown="return submitenter(this, event);" /><br /><a href="javascript:;" onclick="$(\'linex1\').value=data.xstart; $(\'liney1\').value=data.ystart; $(\'linex2\').value=data.xdest; $(\'liney2\').value=data.ydest;">'+a("Use start and destination")+"</a><br /><b>"+a("Line type (map only)")+'</b><table cellpadding="0" cellspacing="0" class="la" style="margin: 0px auto;"><tr><td><div class="linew1"></div></td><td><input id="linet1" type="radio" name="linetype" class="rad" checked="checked" /> '+
b("{text} solid","1px")+'</td></tr><tr><td><div class="linew2"></div></td><td><input id="linet2" type="radio" name="linetype" class="rad" /> '+b("{text} solid","2px")+'</td></tr><tr><td><div class="linew3"></div></td><td><input id="linet3" type="radio" name="linetype" class="rad" /> '+b("{text} solid","3px")+"</td></tr></table><b>"+a("Line colour")+'</b><div><a href="javascript: highlight.edit(\'\', \'line\');"><span id="drawcol" class="colimg" style="background-color: #',display.drawcol,';"></span>&nbsp;'+
a("Edit colour")+'</a></div><input type="submit" value="'+a("Save")+'" class="fbut" /></form>'].join(""),'qc" id="linelist'];for(var d=[],c=draw.list,e=c.length,f=0;f<e;f++)d.push(draw.listadd(c[f]));d.length?b.push(d.join("")):b.push(fixText(a("No lines are being displayed. Create a new line using the form above.",45)));display.leftpanel("lines",b,a("Lines"))},churchcol:"252589",circles:function(){for(var a=translate,b=["qc lefta",['<div onclick="draw.churchtoggle()" class="point"><input type="checkbox" class="cb" id="churchtoggle"',
data.ct!="1"?' checked="checked"':"","/> ",a("Display circles")," (",a("Hotkey"),': CTRL+ALT+C)</div><div style="margin-top: 1px;"><span class="selectdiv"><select onchange="draw.churchopacity(this.value);"><option value="0"',data.ctop=="0"?' selected="selected"':"",'>0%</option><option value="1"',data.ctop=="1"?' selected="selected"':"",'>10%</option><option value=""',!is_num(data.ctop)?' selected="selected"':"",'>20%</option><option value="3"',data.ctop=="3"?' selected="selected"':"",'>30%</option><option value="4"',
data.ctop=="4"?' selected="selected"':"",'>40%</option><option value="5"',data.ctop=="5"?' selected="selected"':"",'>50%</option><option value="6"',data.ctop=="6"?' selected="selected"':"",'>60%</option><option value="7"',data.ctop=="7"?' selected="selected"':"",'>70%</option><option value="8"',data.ctop=="8"?' selected="selected"':"",">80%</option></select></span> ",a("Circle background visibility"),"</div>"].join(""),"qc lefta","<div>"+fixText(a('To display a circle (ellipse) on the map, fill out the form below and click "Save". Several circles of the same colour will automatically combine to form one circle. The center coordinate of a circle will be indicated by a cross icon.'),
45)+"</div>","qc",["<form action=\"javascript:;\" onsubmit=\"var churchtype=5; var radius=$('churchr').value; if ($('church1').checked) {churchtype=1; radius=6;} else if ($('church2').checked) {churchtype=2; radius=4;} else if ($('church3').checked) {churchtype=3; radius=6;} else if ($('church4').checked) {churchtype=4; radius=8;}draw.churchadd($('churchx').value,$('churchy').value,churchtype,display.churchcol,radius);\"><b>"+a("Circle coordinates")+'</b><br />X: <input type="text" id="churchx" class="oi" onkeydown="return submitenter(this, event);" /> Y: <input type="text" id="churchy" class="oi" onkeydown="return submitenter(this, event);" /><br /><a href="javascript:;" onclick="$(\'churchx\').value=data.xstart; $(\'churchy\').value=data.ystart;">'+
a("Use start")+"</a> - <a href=\"javascript:;\" onclick=\"$('churchx').value=data.xdest; $('churchy').value=data.ydest;\">"+a("Use destination")+"</a><br /><b>"+a("Circle radius")+'</b><br /><table cellpadding="0" cellspacing="0" class="la" style="margin: 0px auto;"><tr><td><input id="church1" type="radio" name="churchtype" class="rad" checked="checked" /></td><td>'+a("First church")+'</td></tr><tr><td><input id="church2" type="radio" name="churchtype" class="rad" /></td><td>'+a("Church level 1")+
'</td></tr><tr><td><input id="church3" type="radio" name="churchtype" class="rad" /></td><td>'+a("Church level 2")+'</td></tr><tr><td><input id="church4" type="radio" name="churchtype" class="rad" /></td><td>'+a("Church level 3")+'</td></tr><tr><td valign="top"><input id="church5" type="radio" name="churchtype" class="rad" /></td><td>'+a("Custom")+': <input id="churchr" type="text" class="oi" maxlength="3" onkeydown="return submitenter(this, event);" /></td></tr></table><b>'+a("Circle colour")+'</b><div><a href="javascript: highlight.edit(\'\', \'circle\');"><span id="churchcol" class="colimg" style="background-color: #',
display.churchcol,';"></span>&nbsp;'+a("Edit colour")+"</a> - <a href=\"javascript:;\" onclick=\"display.churchcol='252589'; $S('churchcol').backgroundColor='#252589';\">"+a("Default")+'</a></div><input type="submit" value="'+a("Save")+'" class="fbut" /></form>'].join(""),'qc" id="churchlist'],d=[],c=draw.churchlist,e=c.length,f=0;f<e;f++)d.push(draw.churchlistadd(c[f]));d.length?b.push(d.join("")):b.push(fixText(a("No circles are being displayed. Create a new circle using the form above."),45));
display.leftpanel("circles",b,a("Circles"))},notevillageadd:function(a,b,d){var c=translate;if(note[a]||d==2){var e=['<table cellpadding="1" cellspacing="1" class="ttt"><tr><td>',fetch.village[1](a),"</td></tr>"];if(note[a]){var f=note[a];for(var g in f)if(d!=1||b[g])e.push('<tr class="point nds" onclick="notes(\'',a,"','",g,"');\" onmouseover=\"show('"+c("View/edit this note.")+'\',3);" onmouseout="msu();"><td><div class="notedesc">',f[g][0]!=""?f[g][0]:c("No description."),"</div></td></tr>")}d==
2&&!external&&e.push('<tr><td><a class="spl" href="javascript: notes(\'',a,"',0);\">",translate3("Add a note for {text}",fetch.village[0](a)),"</a></td></tr>");e.push("</table>");return e.join("")}},noteplayeradd:function(a,b,d){var c=translate;if(note[a]||d==2){var e=a.split("-")[1],f=['<table cellpadding="1" cellspacing="1" class="ttt"><tr><td>',fetch.player[1](e),"</td></tr>"];if(note[a]){var g=note[a];for(var h in g)if(d!=1||b[h])f.push('<tr class="point nds" onclick="notes(\'',a,"','",h,"');\" onmouseover=\"show('"+
c("View/edit this note.")+'\',3);" onmouseout="msu();"><td><div class="notedesc">',g[h][0]!=""?g[h][0]:c("No description."),"</div></td></tr>")}d==2&&!external&&f.push('<tr><td><a class="spl" href="javascript: notes(\'',a,"',0);\">",translate3("Add a note for {text}",fetch.player[0](e)),"</a></td></tr>");f.push("</table>");return f.join("")}},notetribeadd:function(a,b,d){var c=translate;if(note[a]||d==2){var e=a.split("-")[1],f=['<table cellpadding="1" cellspacing="1" class="ttt"><tr><td colspan="2">',
fetch.tribe[1](e),"</td></tr>"];if(note[a]){var g=note[a];for(var h in g)if(d!=1||b[h])f.push('<tr class="point nds" onclick="notes(\'',a,"','",h,"');\" onmouseover=\"show('"+c("View/edit this note.")+'\',3);" onmouseout="msu();"><td><div class="notedesc">',g[h][0]!=""?g[h][0]:c("No description."),"</div></td></tr>")}d==2&&!external&&f.push('<tr><td><a class="spl" href="javascript: notes(\'',a,"',0);\">",translate3("Add a note for {text}",fetch.tribe[0](e)),"</a></td></tr>");f.push("</table>");return f.join("")}},
notes:function(){var a=translate,b=["qc","<b>"+a("Village notes")+"</b>","qc"],d=[];for(i in note){var c=i.split("-");c[0]=="C"&&d.push(display.notevillageadd(i))}d.length||d.push(a("No village notes."));b.push(d.join(""),"qc","<b>"+a("Player notes")+"</b>","qc");d=[];for(i in note){c=i.split("-");c[0]=="P"&&d.push(display.noteplayeradd(i))}d.length||d.push(a("No player notes."));b.push(d.join(""),"qc","<b>"+a("Tribe notes")+"</b>","qc");d=[];for(i in note){c=i.split("-");c[0]=="T"&&d.push(display.notetribeadd(i))}d.length||
d.push(a("No tribe notes."));b.push(d.join(""));display.leftpanel("notes",b,a("Notes"))},markers:function(){var a=translate,b=["qc lefta",'<a href="javascript: marker.openvillagepages();" class="spl">'+a("Open all markers village pages.")+"</a>","qc"],d=['<div id="markerlist">'];for(i in marker.list)d.push(marker.markersadd(i));d.length==1&&d.push(a("No markers."));d.push("</div>");b.push(d.join(""));display.leftpanel("markers",b,a("Markers"))},lastsearch:0,search:function(){var a=translate;display.leftpanel("search",
["qc",['<form action="javascript:;" onsubmit="namesearch.search();"><input type="text" id="searchbox" class="oi wd norightrad" value="" onkeypress="if (namesearch.timeout) {clearTimeout(namesearch.timeout);}; namesearch.timeout=setTimeout(function() {namesearch.search();},250);" /><span class="selectdiv norightrad noleftrad"><select id="searchselect" class="norightrad noleftrad" onchange="display.lastsearch=this.value; namesearch.search();"><option value="village"',display.lastsearch=="village"?' selected="selected"':
"",">"+a("Coordinate")+'</option><option value="player"',display.lastsearch!="village"&&display.lastsearch!="tribe"?' selected="selected"':"",">"+a("Players")+'</option><option value="tribe"',display.lastsearch=="tribe"?' selected="selected"':"",">"+a("Tribes")+'</option></select></span><input type="submit" class="fbut noleftrad" value="'+a("Search")+'" /></form>'].join(""),"qc qcnm la",'<div class="maxh" id="searchresults"><div class="ws">'+a("Enter your search query in the input above. Search results will be served while you type.")+
"</div></div>"],a("Search"));$("searchbox").focus()},more:function(){var a=translate;display.leftpanel("more",["qc",["<b>"+a("Features")+"</b><br />",serversettings.twstatsdomain!=""?'<a class="spl" href="javascript: worldMap.options();" onmouseover="show(\''+a("Open a menu to generate world maps using your current highlighting.")+'\',3);" onmouseout="msu();">'+a("World map")+"</a>":"",'<a class="spl" href="javascript: minimapLink();" onmouseover="show(\''+a("Generate a link to your minimap which you can share and embed.")+
'\',3);" onmouseout="msu();">'+a("Minimap link")+'</a><a class="spl" href="javascript: linkToConfiguration();" onmouseover="show(\''+a("Generate a link you can use to share your configuration with other players or computers.")+'\',3);" onmouseout="msu();">'+a("Link to configuration")+'</a><a class="spl" href="javascript: publicConfiguration();" onmouseover="show(\''+a("Generate a link to a new blank public configuration. Anyone can edit this configuration using this link.")+'\',3);" onmouseout="msu();">'+
a("Public configuration")+"</a>"].join(""),"qc",["<b>"+a("Other")+'</b><br /><a class="spl" href="http://www.',serversettings.domain,serversettings.folder,'" onmouseover="show(\''+a("Tribal Wars Map\\'s homepage with various links and information about Tribal Wars Map.")+'\',3);" onmouseout="msu();" onclick="Close()">'+a("Home")+'</a><a class="spl" href="changelog.html" target="_blank" onmouseover="show(\''+a("Details about additions and changes made to the tool.")+'\',3);" onmouseout="msu();" onclick="Close()">'+
a("Changelog")+'</a><a class="spl" href="http://www.',serversettings.domain,serversettings.folder,'traveltimes" target="_blank" onmouseover="show(\''+a("Calculate Travel Times and Distance using a standalone client.")+'\',3);" onmouseout="msu();" onclick="Close()">'+a("Travel Times")+'</a><a class="spl" href="',serversettings.folder,'history" target="_blank" onmouseover="show(\''+a("Historical data, comparisons and performance ratings for a tribe\\'s members.")+'\',3);" onmouseout="msu();">'+a("Historical data")+
"</a>"].join("")],a("More"))},mode:function(a){var b=translate,d=data.mode;if($("mode-panel")){jQuery("#mode-panel").slideUp(300,function(){jQuery("#mode-panel").remove()});$("mode").className=""}else if(!a){b=['<table cellpadding="0" cellspacing="0" class="paneltab2" style="width: ',$("hmode").offsetWidth,'px;"><tr><td class="qc center">',d!="activity"&&d!="points"&&d!="conquer"&&d!="attack"&&d!="defend"&&d!="growth"&&d!="tribe"?"<b>"+b("Normal")+"</b><br >":'<a class="spl" href="javascript: mode(\'\',0,1);" onmouseover="info.normal();" onmouseout="msu();">'+
b("Normal")+"</a>",d=="activity"?"<b>"+b("Activity")+"</b>":'<a class="spl" href="javascript: mode(\'activity\',0,1);" onmouseover="info.activity();" onmouseout="msu();">'+b("Activity")+"</a>",d=="points"?"<b>"+b("Points")+"</b>":'<a class="spl" href="javascript: mode(\'points\',0,1);" onmouseover="info.points();" onmouseout="msu();">'+b("Points")+"</a>",d=="conquer"?"<b>"+b("Conquer")+"</b>":'<a class="spl" href="javascript: mode(\'conquer\',0,1);" onmouseover="info.conquer();" onmouseout="msu();">'+
b("Conquer")+"</a>",d=="attack"?"<b>"+b("Attack")+"</b>":'<a class="spl" href="javascript: mode(\'attack\',0,1);" onmouseover="info.attack();" onmouseout="msu();">'+b("Attack")+"</a>",d=="defend"?"<b>"+b("Defend")+"</b>":'<a class="spl" href="javascript: mode(\'defend\',0,1);" onmouseover="info.defend();" onmouseout="msu();">'+b("Defend")+"</a>",d=="growth"?"<b>"+b("Growth")+"</b>":'<a class="spl" href="javascript: mode(\'growth\',0,1);" onmouseover="info.growth();" onmouseout="msu();">'+b("Growth")+
"</a>",d=="tribe"?"<b>"+b("Tribeless")+"</b>":'<a class="spl" href="javascript: mode(\'tribe\',0,1);" onmouseover="info.tribe();" onmouseout="msu();">'+b("Tribeless")+"</a>",'</td></tr><tr><td class="qc bottomqc"><a class="spl" href="javascript: display.mode(1);"><b>'+b("Close")+"</b></a></td><tr></table>"];a=document.createElement("div");a.setAttribute("id","mode-panel");a.className="paneltab";a.innerHTML=b.join("");document.body.appendChild(a);b=0;d=$("mode");if(d.offsetParent){var c=d;do b+=c.offsetLeft;
while(c=c.offsetParent)}a.style.left=b+d.offsetWidth/2-a.offsetWidth/2+"px";a.style.display="none";jQuery("#mode-panel").slideDown(300);$("mode").className="MenuA"}},filter:function(){var a=translate,b="";b=data.filter?data.filter.split("-"):["","","","","","","","","",""];display.leftpanel("filter",["qc la h1","<div>"+fixText(a("Hide villages on the map and minimap using the critteria below. Leave a value empty to ignore it. Click save to apply changes."),75)+"</div>","qc",['<form action="javascript:;" onsubmit="filter.save();"><table cellpadding="1" cellspacing="1" class="ttt sets"><tr><td colspan="2"><div class="point" onclick="filter.toggle();"><input type="checkbox" id="filterset" class="cb"',
data.filtert=="yes"?' checked="checked"':"","/> "+a("Enable filter")+'</div></td></tr></table><table cellpadding="1" cellspacing="1" class="ttt sets"><tr><td colspan="2"><div class="center"><b>'+a("Filter settings")+'</b></div></td></tr><tr><td class="d16"><div>'+a("Minimum village points")+":</div><div>"+a("Maximum village points")+':</div></td><td class="i55"><input type="text" class="oi" id="filterminpoints" value="'+b[0]+'" onkeypress="return submitenter(this, event);" /><br /><input type="text" class="oi fbutt" id="filtermaxpoints" value="'+
b[1]+'" onkeypress="return submitenter(this, event);" /></td></tr><tr><td class="d16"><div>'+a("Minimum abandoned village points")+":</div><div>"+a("Maximum abandoned village points")+':</div></td><td class="i55"><input type="text" class="oi" id="filterminab" value="'+b[3]+'" onkeypress="return submitenter(this, event);" /><br /><input type="text" class="oi fbutt" id="filtermaxab" value="'+b[4]+'" onkeypress="return submitenter(this, event);" /></td></tr><tr><td class="d16"><div>'+a("Minimum # of hours since last activity")+
":</div><div>"+a("Maximum # of hours since last activity")+':</div></td><td class="i55"><input type="text" class="oi" id="filterminac" value="'+(b[7]?b[7]:"")+'" onkeypress="return submitenter(this, event);" /><br /><input type="text" class="oi fbutt" id="filtermaxac" value="'+(b[8]?b[8]:"")+'" onkeypress="return submitenter(this, event);" /></td></tr><tr><td class="d16"><div>'+a("Maximum # of hours since conquered")+':</div></td><td class="i55"><input type="text" class="oi" id="filtermaxcon" value="'+
(b[9]?b[9]:"")+'" onkeypress="return submitenter(this, event);" /></td></tr><tr><td class="d16"><div>'+a("Abandoned status")+':</div></td><td class="i55"><div><span class="selectdiv"><select id="filterab"><option value=""',b[2]!="1"&&b[2]!="2"?' selected="selected"':"",">"+a("Ignore")+'</option><option value="1"',b[2]=="1"?' selected="selected"':"",">"+a("Abandoned")+'</option><option value="2"',b[2]=="2"?' selected="selected"':"",">"+a("Not abandoned")+'</option></select></span></div></td></tr><tr><td class="d16"><div>'+
a("Tribe status")+':</div></td><td class="i55"><div><span class="selectdiv"><select id="filtertr"><option value=""',b[5]!="1"&&b[5]!="2"?' selected="selected"':"",">"+a("Ignore")+'</option><option value="1"',b[5]=="1"?' selected="selected"':"",">"+a("Tribe (in a tribe)")+'</option><option value="2"',b[5]=="2"?' selected="selected"':"",">"+a("Tribeless (not in a tribe)")+'</option></select></span></div></td></tr><tr><td class="d16"><div>'+a("Highlight status")+':</div></td><td><div><span class="selectdiv"><select id="filterhighlight"><option value=""',
b[6]!="1"&&b[2]!="6"?' selected="selected"':"",">"+a("Ignore")+'</option><option value="1"',b[6]=="1"?' selected="selected"':"",">"+a("Only display highlighted")+'</option><option value="2"',b[6]=="2"?' selected="selected"':"",">"+a("Always display highlighted")+'</option></select></span></div></td></tr><tr><td colspan="2"><div class="center"><input type="submit" class="fbut" value="'+a("Save")+'" /></div></td></tr></table></form>'].join("")],a("Filter"))},settingvars:[],settings:function(){var a=
translate;msu();vars.change=false;var b=display.settingvars,d=b[0],c=b[1],e=b[2],f=b[3],g=b[4],h=b[5];b=b[6];b=['<table cellpadding="0" cellspacing="0" class="t100 ie paneltab2"><tr><td class="qc center topqc" colspan="5"><b><u>'+a("Settings")+'</u></b></td></tr><tr class="setqc"><td class="qc ',!/^minimap|points|tooltips|hotkeys|newhotkey|colours$/.test(d)?' sel"><div><b>'+a("General")+"</b></div>":'"><a class="spl" href="javascript: display.settingvars=[]; display.refreshpanel(\'settings\');" onmouseover="show(\''+
a("Change general settings.")+'\',3);" onmouseout="msu();">'+a("General")+"</a>",'</td><td class="qc irr',d=="minimap"?' sel"><div><b>'+a("Minimap")+"</b></div>":'"><a class="spl" href="javascript: display.settingvars=[\'minimap\']; display.refreshpanel(\'settings\');" onmouseover="show(\''+a("Configure the minimap by changing it\\'s size, icon size and more.")+'\',3);" onmouseout="msu();">'+a("Minimap")+"</a>",'</td><td class="qc',d=="hotkeys"?' sel"><div><b>'+a("Hotkeys")+"</b></div>":'"><a class="spl" href="javascript: display.settingvars=[\'hotkeys\']; display.refreshpanel(\'settings\');" onmouseover="show(\''+
a("Create hotkeys to quickly access specific actions and reduce the number of clicks required to navigate.")+'\',3);" onmouseout="msu();">'+a("Hotkeys")+"</a>",'</td><td class="qc irr',d=="colours"?' sel"><div><b>'+a("Colours")+"</b></div>":'"><a class="spl" href="javascript: display.settingvars=[\'colours\']; display.refreshpanel(\'settings\');" onmouseover="show(\''+a("Configure how the map and minimap are highlighted and coloured.")+'\',3);" onmouseout="msu();">'+a("Colours")+"</a>",'</td><td class="qc',
d=="tooltips"?' sel"><div class="lastt"><b>'+a("Tooltips")+"</b></div>":'"><a class="spl lastt" href="javascript: display.settingvars=[\'tooltips\']; display.refreshpanel(\'settings\');" onmouseover="show(\''+a("Choose which data is displayed in the tooltip.")+'\',3);" onmouseout="msu();">'+a("Tooltips")+"</a>",'</td></tr><tr><td class="qc la" colspan="5"><div>'+a("Settings are applied and saved automatically."),b?'<br /><span class="green">'+b+"</span>":"","</div>",'</td></tr><tr><td class="qc" colspan="5" valign="top"><form action="javascript:;" onsubmit="',
d=="colours"?"changepointsmode()":d=="minimap"?"changeminimapsize()":d=="newhotkey"?"hotkeyfunction.save($('hotkeyn').value,$('newhotkeyaction').value,$('hotkeya').checked)":"return false;",';"><table cellpadding="1" cellspacing="1" class="ttt sets"><tr>'];switch(d){case "minimap":b.push('<td style="width: 50%;"><div class="point" onclick="toggleMinimap();" onmouseover="show(\''+a("Toggle the minimap.")+'\',3);" onmouseout="msu();"><input id="toggleminimap" type="checkbox" class="cb" ',data.minimap!=
"no"?' checked="checked"':"","/> "+a("Show minimap")+"</div></td><td><div onmouseover=\"show('"+a("Change the minimap\\'s visibility/transparency/opacity while your mouse is not over it.")+'\',3);" onmouseout="msu();"><span class="selectdiv"><select onchange="changeminimapopacity(this.value);"><option value="0"',data.mo=="0"?' selected="selected"':"",'>0%</option><option value="1"',data.mo=="1"?' selected="selected"':"",'>10%</option><option value="2"',data.mo=="2"?' selected="selected"':"",'>20%</option><option value="3"',
data.mo=="3"?' selected="selected"':"",'>30%</option><option value="4"',data.mo=="4"?' selected="selected"':"",'>40%</option><option value="5"',data.mo=="5"?' selected="selected"':"",'>50%</option><option value="6"',data.mo=="6"?' selected="selected"':"",'>60%</option><option value="7"',data.mo=="7"?' selected="selected"':"",'>70%</option><option value="8"',data.mo=="8"?' selected="selected"':"",'>80%</option><option value="9"',data.mo=="9"?' selected="selected"':"",'>90%</option><option value=""',
!is_num(data.mo)?' selected="selected"':"",">100%</option></select></span> "+a("Mouseout visibility")+"</div></td></tr><tr><td><div onmouseover=\"show('"+a("Change the minimap\\'s position.")+'\',3);" onmouseout="msu();"><span class="selectdiv"><select onchange="changeminimapposition(this.value);"><option value=""',/^tl||bl||tr||br||dl$/.test(data.mpos)?"":' selected="selected"',">"+a("Bottom-right")+'</option><option value="dl"',data.mpos=="dl"?' selected="selected"':"",">"+a("Bottom-left")+'</option><option value="tr"',
data.mpos=="tr"?' selected="selected"':"",">"+a("Top-right")+'</option><option value="tl"',data.mpos=="tl"?' selected="selected"':"",">"+a("Top-left")+'</option><option value="bl"',data.mpos=="bl"?' selected="selected"':"",">"+a("Outside Bottom-left")+'</option><option value="br"',data.mpos=="br"?' selected="selected"':"",">"+a("Outside Top-right")+"</option></select></span> "+a("Position")+"</div></td><td><div onmouseover=\"show('"+a("Change the minimap\\'s icon size.")+'\',3);" onmouseout="msu();"><span class="selectdiv"><select onchange="changeminimapiconsize(this.value);"><option value="3"',
data.minsize=="3"?' selected="selected"':"",'>3</option><option value=""',data.minsize!="3"&&data.minsize!="5"?' selected="selected"':"",">4 ("+a("default")+')</option><option value="5"',data.minsize=="5"?' selected="selected"':"",">5 ("+a("TW")+")</option></select></span> "+a("Icon size")+'</div></td></tr></table><table cellpadding="1" cellspacing="1" class="ttt sets"><tr><td colspan="2"><div class="center"><b>'+a("Change minimap size")+'</b></div></td></tr><tr><td colspan="2"><div class="la">'+
a("Change the number of horizontal and vertical villages displayed by the minimap up to a maximum of 40.000 villages at a time. Click save to apply.")+'</div></td></tr><tr><td class="d16"><div>'+a("Number of horizontal villages")+":</div><div>"+a("Number of vertical villages")+':</div></td><td><div><input type="text" id="minimapwidth" class="oi" value="',data.minimapx,'" maxlength="4" onkeypress="return submitenter(this, event);" /></div><div><input type="text" id="minimapheight" class="oi fbutt" value="',
data.minimapy,'" maxlength="4" onkeypress="return submitenter(this, event);" /></div></td></tr><tr><td colspan="2"><div class="center"><input type="submit" class="fbut" value="'+a("Save")+'" /></div></td>');break;case "colours":d=gradientHighlight;e=hex2rgb(vars.mapcols[8]);c=hex2rgb(vars.mapcols[9]);var j=hex2rgb(vars.mapcols[10]);d.turnp=50;d.turnp2=0;d.am1=50;d.rb=c[0]*1;d.radd=(e[0]-c[0])/50;d.gb=c[1]*1;d.gadd=(e[1]-c[1])/50;d.bb=c[2]*1;d.badd=(e[2]-c[2])/50;d.am2=50;d.rb2=c[0]*1;d.radd2=(j[0]-
c[0])/50;d.gb2=c[1]*1;d.gadd2=(j[1]-c[1])/50;d.bb2=c[2]*1;d.badd2=(j[2]-c[2])/50;e=function(k,m){return['<a class="spl" href="javascript: highlight.edit(\'',k,"', 'colour', '",m,'\');"><span class="colimg" style="background-color: #',vars.mapcols[k],'; margin: 0px 2px 0px 0px;"></span>',m,"</a>"].join("")};b.push('<td colspan="2">',a("Edit the colours below or select a scheme"),': <a href="javascript: changecolours(1);">',a("Default"),'</a>, <a href="javascript: changecolours(2);">',a("Gray"),'</a></td></tr><tr><td colspan="2" class="center"><b>',
a("Minimap style"),'</b></td></tr><tr><td style="width: 50%;">',e(4,a("Minimap continent line")),"</td><td>",e(5,a("Minimap sector line")),"</td></tr><tr><td>",e(6,a("Map/Minimap background")),"</td><td>",e(7,a("Minimap area rectangle")),'</td></tr><tr><td colspan="2" class="center"><b>',a("Normal mode"),"</b></td></tr><tr><td>",e(0,a("Map village")),"</td><td>",e(1,a("Minimap village")),"</td></tr><tr><td>",e(3,a("Player highlight")),"</td><td>",e(2,a("Minimap abandoned village")),'</td></tr><tr><td colspan="2" class="center"><b>',
a("Highlight modes"),"</b></td></tr><tr><td>",e(10,a("Map village")),"</td><td>",e(11,a("Minimap village")),"</td></tr><tr><td>",e(13,a("Player highlight")),"</td><td>",e(12,a("Minimap abandoned village")),'</td></tr><tr><td colspan="2" class="center"><b>',a("Tribeless mode"),'</b></td></tr><tr><td colspan="2">',e(16,a("Tribeless village highlight")),'</tr><tr><td colspan="2" class="center"><b>',a("Activity, Conquer, Growth, Attack and Defend mode"),"</b></td></tr><tr><td>",e(8,a("Highlight maximum")),
"</td><td>",e(9,a("Highlight medium")),'</td></tr><tr><td colspan="2" class="center"><table class="preview" cellpadding="0" cellspacing="0" align="center"><tr><td colspan="2" class="nob">',a("Maximum to Medium"),'</td><td colspan="2" class="nob">',a("Medium to Normal"),'</td></tr><tr><td class="btd" rowspan="2"><div style="width: 30px; background-color: #',vars.mapcols[8],';"></div></td><td rowspan="2" class="btd">');for(j=100;j>50;j--)b.push('<div style="background-color: ',d.func(j),';"></div>');
b.push('</td><td class="btd tdb tdl">');for(j=50;j>=0;j--)b.push('<div style="height: 5px; background-color: ',d.func(j),';"></div>');b.push('</td><td class="tdb"><div style="width: 30px; height: 5px; background-color: #',vars.mapcols[10],';"></div></td></tr><tr><td class="btd ttd tdl">');j=hex2rgb(vars.mapcols[11]);d.rb2=c[0]*1;d.radd2=(j[0]-c[0])/50;d.gb2=c[1]*1;d.gadd2=(j[1]-c[1])/50;d.bb2=c[2]*1;d.badd2=(j[2]-c[2])/50;for(j=50;j>=0;j--)b.push('<div style="height: 5px; background-color: ',d.func(j),
';"></div>');b.push('</td><td class="ttd"><div style="width: 30px; height: 5px; background-color: #',vars.mapcols[11],';"></div></td></tr></table></td></tr><tr><td colspan="2" class="center"><b>',a("Points mode"),"</b></td></tr><tr><td>",e(14,"Minimum points"),"</td><td>",e(15,"Maximum points"),'</td></tr><tr><td colspan="2" class="center">',info.pointsgraph(100));e=["",""];if(data.spoints){e=data.spoints.split("-");if(!is_num(e[0])||!is_num(e[1])||parseInt(e[0])>parseInt(e[1]))e=["",""]}b.push('</td></tr><tr><td class="d16"><div>',
a("Minimum and lower points"),":</div><div>",a("Maximum and higher points"),':</div></td><td class="i55"><input type="text" class="oi" id="pointswhite" value="'+e[0]+'" onkeypress="return submitenter(this, event);" /><br /><input type="text" class="oi fbutt" id="pointsred" onkeypress="return submitenter(this, event);" value="'+e[1]+'" /></td></tr><tr><td colspan="2">',translate2("Leave minimum and maximum point values empty to use the auto values, {0} and {1}. Click save to apply changes.",[number(serversettings.pointsmin),
number(serversettings.pointsmax)]),'</td></tr><tr><td colspan="2"><div class="center"><input type="submit" class="fbut" value="',a("Save"),'" /></div></td></td>');break;case "hotkeys":d=4;if(data.rightclick=="1")d=0;b.push('<td colspan="3" class="center"><b>',a("Left click/Right click hotkeys"),'</b></td></tr><tr><td colspan="3" class="lefta">',a("Configure left and right click actions when clicking a village, player or tribe name and when clicking villages on the map and minimap."),'</td></tr><tr><td class="center tb1"><b>'+
a("Hotkey")+'</b></td><td class="center"><b>'+a("Left click")+'</b></td><td class="center"><div class="point" onclick="hotkeyfunction.rightclick();" onmouseover="show(\''+a("Enable/disable Right click hotkeys/actions configurable below.")+'\',3);" onmouseout="msu();"><b>'+a("Right click")+'</b> <input class="cb" id="rightclickcheck" type="checkbox"',data.rightclick=="1"?' checked="checked"':"","/></div></td></tr><tr><td>"+a("Single click")+"</td><td>"+a("Menu")+"</td><td>",hotkeyfunction.dropdown("0",
5,d),"</td></tr><tr><td>"+a("Double click")+"</td><td>"+a("Center map")+"</td><td>None</td></tr><tr><td>"+a("CTRL")+"</td><td>",hotkeyfunction.dropdown("v",2),"</td><td>",hotkeyfunction.dropdown("h",8,d),"</td></tr><tr><td>"+a("ALT")+"</td><td>",hotkeyfunction.dropdown("p",3),"</td><td>",hotkeyfunction.dropdown("j",9,d),"</td></tr><tr><td>"+a("SHIFT")+"</td><td>",hotkeyfunction.dropdown("t",4),"</td><td>",hotkeyfunction.dropdown("k",10,d),"</td></tr><tr><td>"+a("CTRL")+"+"+a("ALT")+"</td><td>",hotkeyfunction.dropdown("c",
0),"</td><td>",hotkeyfunction.dropdown("q",6,d),"</td></tr><tr><td>"+a("CTRL")+"+"+a("SHIFT")+"</td><td>",hotkeyfunction.dropdown("m",1),"</td><td>",hotkeyfunction.dropdown("a",7,d),'</td></tr></table><table cellpadding="1" cellspacing="1" class="ttt sets"><tr><td colspan="3" class="center"><b>'+a("Custom hotkeys")+'</b></td></tr><tr><td colspan="3" class="lefta">'+a("Configure hotkeys for nearly every action, you can configure hotkeys to perform actions on the village, player or tribe your mouse is over or bind specific actions for a village, player or tribe to a hotkey. For example: CTRL+ALT+1: Set [village] as main village.")+
"</td></tr><tr>");e=function(k){var m='<span class="red">'+a("No description")+"</span>";switch(k[0]){case "mu":m=a("Move map up");break;case "ml":m=a("Move map left");break;case "md":m=a("Move map down");break;case "mr":m=a("Move map right");break;case "zi":m=a("Zoom in");break;case "zo":m=a("Zoom out");break;case "tt":m=a("Show/hide tooltips");break;case "tl":m=a("Display/hide lines");break;case "tc":m=a("Display/hide circles");break;case "cl":m=a("Close menu");break;case "fltr":m=a("Filter on/off");
break;case "com":m=a("Center map on main village");break;case "cos":m=a("Center map on start");break;case "cod":m=a("Center map on destination");break;case "i":m=a("Tooltip info");break;case "v":m=a("Village page");break;case "h":m=a("Highlight village");break;case "m":m=a("Set main");break;case "a":m=a("Add/delete marker");break;case "p":m=a("Player page");break;case "j":m=a("Highlight player");break;case "t":m=a("Tribe page");break;case "u":m=a("Historical data");break;case "k":m=a("Highlight tribe");
break;case "q":m=a("Graphs & links");break;case "b":m=a("BBcodes");break;case "n":m=a("Notes");break;case "w":m=a("Set start");break;case "x":m=a("Set destination");break;case "c":m=a("Center map");break;case "1":m=a("Menu");break}if(k[1]=="T")m+=": "+fetch.tribe[0](k[2]);else if(k[1]=="P")m+=": "+fetch.player[0](k[2]);else if(k[1])m+=vars.villageid[k[2]]?": "+fetch.village[0](vars.villageid[k[2]]):": Village ["+k[2]+"]";return m};g=f="";d=0;h=hotkeylist;c={"CTRL+ALT+SHIFT":[],"CTRL+ALT":[],"CTRL+SHIFT":[],
"ALT+SHIFT":[],CTRL:[],ALT:[],SHIFT:[],NONE:[]};for(j in h){f=j.split(".");d=f.length-1;g="";if(d){g=f[0];if(d>1)g+="+"+f[1];if(d>2)g+="+"+f[2]}if(c[g==""?"NONE":g])c[g==""?"NONE":g].push((g==""?"":g+"+")+String.fromCharCode(f[d]).toUpperCase()+'</div></td><td class="tb1">'+e(h[j])+'</td><td><a href="javascript:;" onclick="delete hotkeylist[\''+j+"']; hotkeyfunction.build(); display.settingvars=['hotkeys']; display.refreshpanel('settings');\">"+a("Delete")+"</a>")}f=0;for(j in c){d=c[j].length;for(e=
0;e<d;e++){f++;b.push("<tr><td><div>",c[j][e],"</td></tr>")}}f||b.push('<tr><td colspan="3">'+a("No custom hotkeys configured.")+"</td></tr>");b.push('</td></tr><tr><td colspan="3" class="lefta"><a class="spl" href="javascript: display.settingvars=[\'newhotkey\']; display.refreshpanel(\'settings\');">'+a("Create new hotkey/update hotkey")+'</a></td></tr></table><table cellpadding="1" cellspacing="1" class="ttt sets"><tr><td colspan="2" class="center"><b>'+a("Default hotkeys")+'</b></td></tr></td></tr><tr><td colspan="2" class="lefta">'+
a("These hotkeys have been preconfigured for your convenience. You can overwrite these with custom hotkeys.")+"</td></tr><tr><td><div>"+a("CTRL+Up Arrow")+"</div></td><td>"+a("Move map up")+"</td></tr><tr><td><div>"+a("CTRL+Left Arrow")+"</div></td><td>"+a("Move map left")+"</td></tr><tr><td><div>"+a("CTRL+Down Arrow")+"</div></td><td>"+a("Move map down")+"</td></tr><tr><td><div>"+a("CTRL+Right Arrow")+"</div></td><td>"+a("Move map right")+"</td></tr><tr><td><div>"+a("CTRL+ALT+L")+"</div></td><td>"+
a("Display/hide lines")+"</td></tr><tr><td><div>"+a("CTRL+ALT+C")+"</div></td><td>"+a("Display/hide circles")+"</td></tr><tr><td><div>"+a("Escape/Esc")+"</div></td><td>"+a("Close menu")+"</td>");break;case "newhotkey":vars.change="key";if(c)vars.lastclick=true;b.push("<td class=\"center\"><b>Create new hotkey <a href=\"javascript: display.settingvars=['newhotkey']; display.refreshpanel('settings');\">(restart)</a></b></td></tr><tr><td>");c?b.push("<b>",a("New hotkey"),"</b>: ",f?a("CTRL")+"+":"",
g?a("ALT")+"+":"",h?a("SHIFT")+"+":"",e.toUpperCase(),"</td></yt><tr><td><b>"+a("Details")+"</b>: ",a("Character"),": ",e.toUpperCase()," (ASCII: ",c,"), ",a("Modifiers"),":",f?" "+a("CTRL")+(g||h?",":""):"",g?" "+a("ALT")+(h?",":""):"",h?" "+a("SHIFT"):"",f||g||h?"":" "+a("None"),"</td></tr><tr><td><b>",a("Choose action type"),'</b>:<br /><input type="radio" class="rad" checked="checked" name="newhotkeyactiontype" onchange="if (this.checked) {$(\'actiondropdown\').innerHTML=hotkeyfunction.dropdown(0,0,1);}"> ',
a("Perform an action on the village, player or tribe your mouse is over"),'<br /><input type="radio" class="rad" name="newhotkeyactiontype" onchange="if (this.checked) {$(\'actiondropdown\').innerHTML=hotkeyfunction.dropdown(0,0,3);}" id="hotkeya"> ',a("Perform an action on one specific village, player or tribe"),'<br /><input type="radio" class="rad" name="newhotkeyactiontype" onchange="if (this.checked) {$(\'actiondropdown\').innerHTML=hotkeyfunction.dropdown(0,0,2);}"> ',a("Choose a preset action"),
"</td></tr><tr><td><b>",a("Choose action"),'</b>:<div id="actiondropdown">',hotkeyfunction.dropdown(0,0,1),'</div></td></tr><tr><td class="center"><input id="hotkeyn" type="hidden" value="',f?"CTRL.":"",g?"ALT.":"",h?"SHIFT.":"",c,'" /><input type="submit" class="fbut" value="',a("Save"),'" /></td>'):b.push(a("Press a key combination on your keyboard that you want to configure a hotkey for. Valid modifiers (combination keys) are CTRL, ALT and SHIFT. For example: CTRL+SHIFT+T. If a hotkey already exists, you will be asked if you want to update it."),
"</td>");break;case "newtargethotkey":b.push("<td>",a("Select the village, player or tribe the action will be performed on when the hotkey is pressed. To do so click any village, player or tribe name, village on the map or village on the minimap. You can also use the search to find the correct village, player or tribe. You can close this window while you search for the correct village, player or tribe."),"</td>");break;case "tooltips":j=data.tooltips;d=j.charAt(2);c=j.charAt(6);b.push('<td style="width: 50%;"><div class="point" onclick="changetooltipsetting(0, 0, \'toggletooltips\'); hide();" onmouseover="show(\'',
a("Toggle the tooltips."),'\',3);" onmouseout="msu();"><input id="toggletooltips" type="checkbox" class="cb" ',j.charAt(0)!="1"?' checked="checked"':"","/> ",a("Show tooltips"),'</div></td><td><div class="point" onclick="changetooltipsetting(3, 0, \'toggletmorale\');" onmouseover="show(\'',a("Toggle morale tooltip data when a main village is set and the server uses morale."),'\',3);" onmouseout="msu();"><input id="toggletmorale" type="checkbox" class="cb" ',j.charAt(3)!="1"?' checked="checked"':"",
"/> ",a("Show morale"),'</div></td></tr><tr><td><div class="point" onclick="changetooltipsetting(4, 0, \'toggleact\');" onmouseover="show(\'',a("Toggle last activity, points increase, ODA increase and ODD increase time data."),'\',3);" onmouseout="msu();"><input id="toggleact" type="checkbox" class="cb" ',j.charAt(4)!="1"?' checked="checked"':"","/> ",a("Show last activity"),'</div></td><td><div class="point" onclick="changetooltipsetting(5, 0, \'toggletpo\');" onmouseover="show(\'',a("Toggle total tribe points and average tribe points data."),
'\',3);" onmouseout="msu();"><input id="toggletpo" type="checkbox" class="cb" ',j.charAt(5)!="1"?' checked="checked"':"","/> ",a("Show total and avg tribe points"),'</div></td></tr><tr><td><div class="point" onclick="changetooltipsetting(1, 0, \'togglecto\');" onmouseover="show(\'',a("Toggle circle tooltip data when a village is in a circle\\'s radius."),'\',3);" onmouseout="msu();"><input id="togglecto" type="checkbox" class="cb" ',j.charAt(1)!="1"?' checked="checked"':"","/> ",a("Show circles"),
'</div></td><td><div class="point" onclick="changetooltipsetting(8, 0, \'toggleinfluence\');" onmouseover="show(\'',a("Toggle influence tooltip information."),'\',3);" onmouseout="msu();"><input id="toggleinfluence" type="checkbox" class="cb" ',j.charAt(8)!="1"?' checked="checked"':"","/> ",a("Show influence"),'</div></td></tr><tr><td><div class="point" onclick="changetooltipsetting(9, 0, \'togglehdis\');" onmouseover="show(\'',a("Toggle village, player and tribe highlight and highlight group information."),
'\',3);" onmouseout="msu();"><input id="togglehdis" type="checkbox" class="cb" ',j.charAt(9)!="1"?' checked="checked"':"","/> ",a("Show highlights"),'</div></td><td><div class="point" onclick="changetooltipsetting(10, 0, \'toggletrt\');" onmouseover="show(\'',a("Toggle distance and travel times information."),'\',3);" onmouseout="msu();"><input id="toggletrt" type="checkbox" class="cb" ',j.charAt(10)!="1"?' checked="checked"':"","/> ",a("Show travel times"),"</div></td></tr><tr><td><div onmouseover=\"show('",
a("Choose how rank data is displayed."),'\',1);" onmouseout="msu();"><span class="selectdiv"><select onchange="changetooltipsetting(6, this.value);"><option value="0"',c!="1"&&c!="2"&&c!="3"?' selected="selected"':"",">",a("Players and tribes"),'</option><option value="2"',c=="2"?' selected="selected"':"",">",a("Players only"),'</option><option value="1"',c=="1"?' selected="selected"':"",">",a("Tribes only"),'</option><option value="3"',c=="3"?' selected="selected"':"",">",a("Never"),"</option></select></span> ",
a("Rank data"),"</div></td><td><div onmouseover=\"show('",a("Choose how opponents defeated data is displayed."),'\',1);" onmouseout="msu();"><span class="selectdiv"><select onchange="changetooltipsetting(2, this.value);"><option value="0"',d!="1"&&d!="2"&&d!="3"?' selected="selected"':"",">",a("Players and tribes"),'</option><option value="1"',d=="1"?' selected="selected"':"",">",a("Players only"),'</option><option value="2"',d=="2"?' selected="selected"':"",">",a("Tribes only"),'</option><option value="3"',
d=="3"?' selected="selected"':"",">",a("Never"),"</option></select></span> ",a("OD data"),'</div></td></tr><tr><td colspan="2"><div onmouseover="show(\'',a("Choose how tribe names are displayed."),'\',1);" onmouseout="msu();"><span class="selectdiv"><select onchange="changetooltipsetting(7, this.value);"><option value="0"',j.charAt(7)!="1"&&j.charAt(7)!="2"?' selected="selected"':"",">",a("Tag only"),'</option><option value="2"',j.charAt(7)=="2"?' selected="selected"':"",">",a("Name only"),'</option><option value="1"',
j.charAt(7)=="1"?' selected="selected"':"",">",a("Tag and Name"),"</option></select></span> ",a("Tribe tag/name"),"</div></td>");break;default:b.push('<td style="width: 50%;"><div class="point" onclick="toggleAnimations();" onmouseover="show(\'',a("Toggle menu animations. Disabling menu animations increases interface responsiveness."),'\',3);" onmouseout="msu();"><input id="toggleanimations" type="checkbox" class="cb" ',data.ani!="1"?' checked="checked"':"","/> ",a("Play menu animations"),'</div></td><td><div class="point" onclick="toggleMapAnimations();" onmouseover="show(\'',
a("Toggle map animations. Disabling map animations speeds up map movement"),'.\',3);" onmouseout="msu();"><input id="togglemapanimations" type="checkbox" class="cb" ',data.mapani!="1"?' checked="checked"':"","/> ",a("Play map animations"),'</div></td></tr><tr><td style="width: 50%;"><div class="point" onclick="toggleProps();" onmouseover="show(\'',a("Toggle scenery like forest, mountains and lakes."),'\',1);" onmouseout="msu();"><input id="toggleprops" type="checkbox" class="cb" ',data.props!="no"?
' checked="checked"':"","/> ",a("Show scenery"),'</div></td><td><div class="point" onclick="togglePlayerHighlight();" onmouseover="show(\'',a("Auto highlight all of a player\\'s villages on the map while your mouse is over one of their villages."),'\',3);" onmouseout="msu();"><input id="toggleplayerhighlight" type="checkbox" class="cb" ',data.playerhighlight!="1"?' checked="checked"':"","/> ",a("Auto player highlight"),'</div></td></tr><tr><td><div class="point" onclick="toggleWheel();" onmouseover="show(\'',
a("Use your mouse wheel to zoom in and out while your mouse is over the map by scrolling up and down."),'\',3);" onmouseout="msu();"><input id="togglewheel" type="checkbox" class="cb" ',data.wheel!="1"?' checked="checked"':"","/> ",a("Use mouse wheel to zoom in/out"),'</div></td><td><div class="point" onclick="toggleBorderBars();" onmouseover="show(\'',a("Toggle the bars shown at the border of the map when your mouse is over them, these are used to move the map in a direction."),'\',3);" onmouseout="msu();"><input id="togglebordera" type="checkbox" class="cb" ',
data.bordera!="1"?' checked="checked"':"","/> ",a("Use border movement bars"),'</div></td></tr><tr><td colspan="2"><span id="defcoord">',translate3("Default coordinate: {text}","<b>"+vars.defx+"|"+vars.defy+"</b>"),data.xcord==vars.defx&&data.ycord==vars.defy?"":'. <a href="javascript: setDefaultCoordinate('+data.xcord+","+data.ycord+');" onmouseover="show(\''+a("Set the coordinate the map will load by default when opened.")+'\',3);" onmouseout="msu();">'+translate3("Set {text} as default coordinate",
"<b>"+data.xcord+"|"+data.ycord+"</b>")+"</a>",'</span><a class="spl" href="javascript: display.mode();" onmouseover="show(\'',a("Choose how the map highlights villages."),'\',3);" onmouseout="msu();">',a("Change highlight mode"),'</a><a class="spl" href="javascript: changeWorld();" onmouseover="show(\'',a("Change the world/server displayed."),'\',3);" onmouseout="msu();">',a("Change world/server"),'</a></td></tr><tr><td colspan="2"><div class="ws" style="width: 370px;">'+translate2("If the tool is laggy or unresponsive {0}click here</a> to disable CPU intensive features. You can also use the old {1}no-Flash version</a>.",
['<a href="javascript: disableCPUIntensiveFeatures();">','<a href="noflash/">'])+"</div></td>")}b.push('</tr></table></form></td></tr><tr><td class="qc h1 bottomqc" colspan="5"><a class="spl" href="javascript:;" onclick="display.panel(\'settings\',0,1);"><b>'+a("Close")+"</b></a></td></tr></table>");display.leftpanel("settings",b.join(""),"",1)}},flash={settings:function(){var a=mapvars,b,d;switch(data.iconsize){case "3":d=b=3;a.miniview=1;a.leftpad=34;a.toppad=21;a.fontsize=9;a.num=10;break;case "4":d=
b=4;a.miniview=1;a.leftpad=34;a.toppad=21;a.fontsize=9;a.num=10;break;case "5":d=b=5;a.miniview=1;a.leftpad=34;a.toppad=21;a.fontsize=9;a.num=5;break;case "minimal":case "13":b=13;d=10;a.miniview=0;a.leftpad=34;a.toppad=21;a.fontsize=9;a.num=5;break;case "xsmall":case "small":case "27":b=27;d=19;a.miniview=0;a.leftpad=34;a.toppad=21;a.fontsize=9;a.num=1;break;default:b=53;d=38;a.miniview=0;a.leftpad=40;a.toppad=28;a.fontsize=12;a.num=1;break}a.iconwidth=b;a.iconheight=d;var c=mapvars.aelement;c.width=
a.iconwidth+1+"px";c.height=a.iconheight+1+"px";vars.proppos={"8":[7*b,3*d],"9":[7*b,2*d],"10":[6*b,2*d],"11":[6*b,3*d],"12":[6*b,7*d],"25":[0,0],"29":[b,0],"28":[2*b,0],"21":[3*b,0],"24":[4*b,0],"20":[5*b,0],"17":[6*b,0],"26":[7*b,0],"27":[0,d],"19":[b,d],"22":[2*b,d],"30":[3*b,d],"23":[4*b,d],"18":[5*b,d],"31":[6*b,d],"16":[7*b,d]}},flashsettings:function(a,b){var d=mapvars;!b&&flash.minimap.mapsettings&&flash.minimap.mapsettings(vars.minw,vars.minw,0,0,12,1,1,vars.mapcols[5],vars.mapcols[4]);if(!a&&
flash.map.mapsettings)flash.map.mapsettings(d.iconwidth,d.iconheight,d.leftpad,d.toppad,d.fontsize,d.num,d.miniview,d.miniview?vars.mapcols[5]:"214B18",d.miniview?vars.mapcols[4]:"000000")},iconset:[],iconsinit:function(){var a=data.mainvillage.split("-"),b="C-"+data.xstart+"-"+data.ystart,d="C-"+data.xdest+"-"+data.ydest,c=marker.list,e=[],f={};if(is_num(a[0])&&a[0]!="0"&&vars.villageid[a[0]]){a=vars.villageid[a[0]];vars.player=villagedata[a]&&playerdata[villagedata[a][1]]?playerdata[villagedata[a][1]][0]:
0;f[a]=true;var g=a.split("-");if(b==a)if(d==a)c[a]?e.push(0,40,g[1],g[2]):e.push(20,10,g[1],g[2]);else c[a]?e.push(20,30,g[1],g[2]):e.push(10,20,g[1],g[2]);else if(d==a)c[a]?e.push(20,40,g[1],g[2]):e.push(10,30,g[1],g[2]);else c[a]?e.push(10,40,g[1],g[2]):e.push(0,30,g[1],g[2])}if(!f[b]&&is_num2(data.xstart)&&is_num2(data.ystart)){f[b]=true;if(b==d)c[b]?e.push(20,20,data.xstart,data.ystart):e.push(20,0,data.xstart,data.ystart);else c[b]?e.push(10,0,data.xstart,data.ystart):e.push(0,0,data.xstart,
data.ystart)}if(!f[d]&&is_num2(data.xdest)&&is_num2(data.ydest)){f[d]=true;c[d]?e.push(10,10,data.xdest,data.ydest):e.push(0,10,data.xdest,data.ydest)}for(var h in c)if(!f[h]){a=h.split("-");e.push(0,20,a[1],a[2])}a=[];b=e.length;d=data.filtert=="yes"?false:true;c=filter.check;for(h=2;h<b;h+=4)if(villagedata["C-"+e[h]+"-"+e[h+1]]&&(d||c("C-"+e[h]+"-"+e[h+1])))a.push(e[h-2],e[h-1],e[h],e[h+1]);flash.iconset=a.join("_")},icons:function(a,b){var d=flash.iconset;!a&&!b&&flash.iconsinit();if(a||b||d!=
flash.iconset){!a&&flash.map.drawcentericons&&flash.map.drawcentericons(flash.iconset);!b&&flash.minimap.drawcentericons&&flash.minimap.drawcentericons(flash.iconset)}},drawrect:function(){data.minimap!="no"&&data.iconsize!="3"&&data.iconsize!="4"&&data.iconsize!="4"&&flash.minimap.drawrect&&flash.minimap.drawrect(vars.mapcols[7],Math.floor((Math.floor(data.minimapx/2)-Math.floor(mapvars.width/2))*vars.minw-1),Math.floor((Math.floor(data.minimapy/2)-Math.floor(mapvars.height/2))*vars.minw-1),mapvars.width*
vars.minw,mapvars.height*vars.minw)},refresh:function(a){flash.flashsettings(0,1);if(a)flash.icons(0,1);else{windowresize(0,1);markers.restore();markers.curtt=0;markers.churcharr="";sectors={};flash.map.clearmap&&flash.map.clearmap()}mov(data.xcord,data.ycord,1,1,0,1);a||loadsectors();draw.refresh();draw.startline(0,1)},refreshminimap:function(a){flash.flashsettings(1);if(!a){minimapsectors={};if(flash.minimap.clearmap&&flash.minimap.clearplayers){flash.minimap.clearmap();flash.minimap.clearplayers()}}flash.icons(1);
mov(data.xcord,data.ycord,1,1,1);a||loadsectors();draw.refresh(1);flash.drawrect();draw.startline(1)},smallrefresh:function(){sectors={};minimapsectors={};flash.icons();mov(data.xcord,data.ycord,1);loadsectors()},map:false,minimap:false,init:function(a){if(a)setTimeout(function(){vars.minimapinitiated=true;flash.minimap=$("minimapembed");flash.refreshminimap(1)},$("minimapembed").sector?10:1500);else{var b=translate;setTimeout(function(){status="Flash loaded, initiating";flash.map=$("mp");window.addEventListener&&
window.addEventListener("DOMMouseScroll",zoom,false);window.onmousewheel=document.onmousewheel=zoom;flash.refresh(1);status="Flash initiated, finalising...";if($("addhide"))$("addhide").innerHTML='<a class="spl" href="javascript: display.panel(\'messages\',0,1);"><b>'+b("Close")+"</b></a>";setTimeout(function(){if(data.minimap!="no"){embedMinimap(0,1);setTimeout(function(){if(!$("minimapembed")||typeof $("minimapembed").PercentLoaded=="undefined"||$("minimapembed").PercentLoaded()<5||!$("minimapembed").sector&&
$("minimapembed").PercentLoaded()==100)embedMinimap(1,1)},2E3)}if($("loadtext"))$("loadtext").innerHTML=b("Tip")+": "+b(vars.tiptext[Math.round(Math.random()*(vars.tiptext.length-1))])+"<br />"+translate3("Map loaded in {text} seconds.",Math.round(((new Date).getTime()-ts-100)/10)/100)+'&nbsp;<span id="loadstatus">'+(vars.lastcontinent?vars.lastcontinent!=1?translate3("Currently loading {text} continents.",vars.lastcontinent):b("Currently loading 1 continent."):"")+"</span>";if(!vars.continentloaded&&
vars.lastcontinent)alertmessage(b("No data has been loaded yet.")+"<br />"+(vars.lastcontinent?vars.lastcontinent!=1?translate3("Currently loading {text} continents.",vars.lastcontinent):b("Currently loading 1 continent."):"")+"<br />"+b("Please wait, this can take up to ten seconds."),0,0,"nocontinents")},100);setInterval(function(){flash.map.detectscale&&flash.map.detectscale(flash.map.offsetWidth)},750);status="Finished"},$("mp").sector?10:1500)}}};
function windowresize(a,b,d){var c=0,e=0;if(document.documentElement&&document.documentElement.clientWidth){c=document.documentElement.clientWidth;e=document.documentElement.clientHeight}else if(window.innerWidth){c=window.innerWidth<940?window.innerWidth-20:window.innerWidth;e=window.innerHeight}clearTimeout(windowresize.res);a=function(){if(b||c!=vars.realwidth||e!=vars.realheight){vars.realwidth=c;vars.realheight=e;if(c<900)$S("coord").fontSize="9px";else if(c<1100)$S("coord").fontSize="11px";
else $S("coord").fontSize="12px";if(!/^3|4|5$/.test(data.iconsize)){if(data.mpos=="bl")e-=data.minimapy*vars.minw+7;if(data.mpos=="br")c-=data.minimapx*vars.minw+7}vars.width=c;vars.height=e;mapvars.width=Math.ceil((c+1-mapvars.leftpad)/mapvars.iconwidth);mapvars.height=Math.ceil((e-mapvars.toppad+1-40)/mapvars.iconheight);$S("fixsize").width=c+"px";$S("fixsize").height=e-40+"px";if(!b||b==2){mov(data.xcord,data.ycord,1,1,0,b==2?0:1);loadsectors();flash.drawrect();var f=vars.men,g=f.offsetWidth,h=
f.offsetHeight;if(parseInt(f.style.left)+g>c)f.style.left=Math.max(c-g,0)+"px";if(parseInt(f.style.top)+h>e)f.style.top=Math.max(e-h,0)+"px"}calcpos();if(!d){clearTimeout(windowresize.res);windowresize.res=setTimeout(function(){windowresize(0,0,1)},100)}}};if(b)a();else windowresize.res=setTimeout(a,100)}
function zoom(a,b){var d=function(){var c="0",e="0",f=50,g=100;switch(data.iconsize){case "3":e="4";g=8;break;case "4":c="3";e="5";f=6;g=10;break;case "5":c="4";e="13";f=8;g=25;break;case "minimal":case "13":c="5";e="27";f=10;g=50;break;case "xsmall":case "small":case "27":c="13";e="";f=25;g=100;break;default:c="27"}if(b>0){if(e!="0"){$("zoom").innerHTML=g;data.iconsize=e;flash.settings();flash.refresh();flash.map.drawcentericons&&flash.map.drawcentericons(flash.iconset);save(1)}e=="13"&&data.minimap!=
"no"?setTimeout(function(){flash.flashsettings();flash.drawrect();mov(data.xcord,data.ycord,1,1,1);loadsectors()},100):flash.drawrect()}else if(b<0)if(c!="0"){$("zoom").innerHTML=f;data.iconsize=c;flash.settings();flash.refresh();flash.drawrect();flash.map.drawcentericons&&flash.map.drawcentericons(flash.iconset);save(1);if(c=="5"&&data.minimap!="no"){c=$S("minimap");c.top="-999px";c.left="-999px"}}};if(b)d();else if(mapvars.mapover&&data.wheel!="1"){b=0;if(!a)a=window.event;if(a.wheelDelta)b=a.wheelDelta/
120;else if(a.detail)b=-a.detail/3;clearTimeout(vars.lastz);vars.lastz=setTimeout(d,50)}}function submitenter(a,b){var d;if(window.event)d=window.event.keyCode;else if(b)d=b.which;else return true;if(d==13){d=a.form;d.submit();d.onsubmit&&d.onsubmit();return false}else return true}
function baseinit(){jQuery.ajaxSetup({dataFilter:function(d,c){return d!=""?c=="json"?JSON.parse(d):c=="parse"?namesearch.parseresults(JSON.parse(d)):d:0},dataType:"text",cache:true});var a=navigator.userAgent;if(a.indexOf("Opera")!=-1){vars.browser="Opera";vars.framerate=10}else if(a.indexOf("MSIE 8")!=-1){vars.browser="MSIE 8";vars.ie67=true}else if(a.indexOf("MSIE 7")!=-1){vars.browser="MSIE 7";vars.ie67=true;vars.framerate=10}else if(a.indexOf("MSIE 6")!=-1){vars.browser="MSIE 6";vars.ie67=true;
vars.framerate=10}else if(a.indexOf("Firefox 2")!=-1)vars.browser="Firefox 2";vars.serverurl="http://"+serversettings.prefix+data.server+"."+serversettings.twdomain+"/";vars.tip=document.createElement("div");vars.tip.setAttribute("id","qTip");vars.men=document.createElement("div");vars.men.setAttribute("id","men");vars.tip.innerHTML='<table cellpadding="0" cellspacing="0"><tr><td class="qtl"><div /></td><td class="qt"></td><td class="qtr"><div /></td></tr><tr><td class="ql"></td><td class="qc"><div></div></td><td class="qr"></td></tr><tr><td class="qbl"></td><td class="qb"></td><td class="qbr"></td></tr></table>';
vars.qtip=vars.tip.firstChild.firstChild.childNodes[1].childNodes[1].firstChild;document.body.appendChild(vars.tip);document.body.appendChild(vars.men);document.onmousemove=move;document.onclick=function(d){d=d||window.event;el=d.target||d.srcElement;if(el.tagName=="HTML")if(!vars.notechange||confirm("You have editted your note. Discard note changes?"))Close()};document.onmouseup=mu;status="ID to coordinate table";a=villagedata;for(var b in a)vars.villageid[a[b][0]]=b;setTimeout(function(){if($("adde")&&
$("adde").offsetHeight<5)$("adde").innerHTML+='<div class="center" style="white-space: normal;">'+translate4("If you are blocking advertisements, please add Tribal Wars Map to your adblocker's whitelist or consider [0]donating[1].",['<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=contact%40tribalwarsmap%2ecom&amp;item_name=Tribal%20Wars%20Map&amp;page_style=Tribal_Wars_Map&amp;no_shipping=1&amp;return=http%3a%2f%2fwww%2etribalwarsmap%2ecom%2fdonated%2ehtml&amp;cn=Anything%20you%20want%20to%20add%3f&amp;tax=0&amp;currency_code=USD&amp;lc=US&amp;bn=PP%2dDonationsBF&amp;charset=UTF%2d8" target="_blank">',
"</a>"])+"<br />"+translate("Tribal Wars Map relies on advertising income and donations to pay server maintenance.")+"</div>"},100)}
function initiate_map(a,b){status="Primary functions";if(!b){baseinit();if(serversettings.baseonly)return false}status="Check Flash version";var d=translate;if(!b&&!swfobject.hasFlashPlayerVersion("9.0.0")){alertmessage(d("Flash version 9+ is required to use the Flash based Tribal Wars Map version.")+'</span><br /><a href="noflash/">-'+d("Use Tribal Wars Map's no Flash version (version 2.2)")+'</a><br /><a href="http://get.adobe.com/flashplayer/">-'+d("Download the latest Flash version")+"</a>","$S('maincontent').display='block'; initiate_map(0,1);",
"lefta");$S("maincontent").display="none";return false}status="Basic variables";vars.defx=data.xcord;vars.defy=data.ycord;if(data.ani=="1")jQuery.fx.off=true;if(data.minsize=="3")vars.minw=3;else if(data.minsize=="5")vars.minw=5;status="Parse highlights";var c=vars.villageid;if(data.lightvillages)for(var e=vars.villages,f=vars.villages2,g=data.lightvillages.split("-"),h=g.length,j=0;j<h;j+=2){e[g[j]]=g[j+1];if(c[g[j]])f[c[g[j]]]=g[j+1]}if(data.lightplayers){c=vars.players;e=data.lightplayers.split("-");
f=e.length;for(j=0;j<f;j+=2)c[e[j]]=e[j+1]}if(data.lighttribes){c=vars.tribes;e=data.lighttribes.split("-");f=e.length;for(j=0;j<f;j+=2)c[e[j]]=e[j+1]}status="Parse groups";group.init();status="Initiate colours";if(data.colours){e=data.colours.split("-");l=e.length;for(j=0;j<l;j++){c=highlight.hexcheck(e[j],1);if(c!="")vars.mapcols[j]=c}}status="Initiate mainvillage";mainvillage.init();status="Initiate markers";marker.init();status="Bind keyboard shortcuts";if(document.addEventListener)document.addEventListener("keydown",
vars.keyfunc,false);else if(document.attachEvent)document.attachEvent("onkeydown",vars.keyfunc);else document.onkeydown=vars.keyfunc;status="Bind right click actions";document.oncontextmenu=function(m){if(data.rightclick=="1"&&vars.smallmen){if(!(vars.lastment>(new Date).getTime()-200||vars.lastmen==vars.hoverx+"_"+vars.hovery&&vars.lastment>(new Date).getTime()-500)){vars.lastment=(new Date).getTime();vars.lastmen=vars.hoverx+"_"+vars.hovery;showmen(vars.hoverx,vars.hovery,m,vars.smallmen==2?"tribe":
vars.minover,1);m.cancelBubble=true;m.returnValue=false;if(m.stopPropagation){m.stopPropagation();m.preventDefault()}}return false}};status="Initiate lines and circles";draw.init();status="Initiate hotkeys";if(data.hotkeys){e=data.hotkeys.split("-");l=e.length;for(j=0;j<l;j+=4)if(e[j]!="")hotkeylist[e[j]]=[e[j+1],e[j+2],e[j+3]]}status="Initiate icons";flash.iconsinit();status="Set SWF background";$S("minimapbg").backgroundColor="#"+vars.mapcols[6];$S("fixsize").backgroundColor="#"+vars.mapcols[6];
status="Minimap size";initminimap(1);status="A elements";var k=mapvars;k.aelement=$S("aelement");k.aminielement=$S("aminielement");status="Calculate map size";flash.settings();j=k.aminielement;j.width=vars.minw+1+"px";j.height=vars.minw+1+"px";windowresize(0,1);window.onresize=windowresize;status='Start "last updated" interval';setInterval(function(){if($("lsu")){var m=Math.max(Math.round(((new Date).getTime()/1E3+serversettings.time-serversettings.lastu)/60),1);$("lsu").innerHTML=m+" "+(m==1?d("minute"):
d("minutes"))}},6E4);status="Flash load text";if($("loadtext"))$("loadtext").innerHTML=d("Flash is loading")+': <span id="loadflashbar"><span id="loadflashinner"></span></span> <span id="loadflashper">0%</span><br />'+translate3("If the map does not load within 8 seconds, {text}reload/refresh</a> the map.",'<a href="javascript: window.location=window.location;">');status="Initiate timers";timer.init();status="Load sectors";loadsectors();setInterval(loadsectors,250);status="Embed SWF";setTimeout(function(){function m(){try{var q=
$("mp").PercentLoaded();if(q!=n){n=q;if($("loadflashper")&&$("loadflashbar")){$("loadflashper").innerHTML=q+"%";$S("loadflashinner").width=q+"px"}else q=100}}catch(r){}!flash.map&&q!=100&&setTimeout(m,50)}swfobject.embedSWF("http://s1.tribalwarsmap.net/flashm-1.6.swf","mp","100%","100%","9.0.0",false,false,{wmode:"transparent",scale:"noscale",salign:"tl",allowScriptAccess:"always",menu:"false",quality:"autohigh",flashvars:"setframerate="+vars.framerate+"&iw="+k.iconwidth+"&ih="+k.iconheight+"&mw="+
k.leftpad+"&mh="+k.toppad+"&sizet="+k.fontsize+"&bs="+k.num+"&icononly="+k.miniview+"&sline="+(k.miniview?vars.mapcols[5]:"214B18")+"&kline="+(k.miniview?vars.mapcols[4]:"000000")+"&ani="+(data.mapani=="1"?"1":"")});setTimeout(function(){if(!$("mp")||typeof $("mp").PercentLoaded=="undefined"||$("mp").PercentLoaded()<8||!$("mp").sector&&$("mp").PercentLoaded()==100){swfobject.removeSWF("mp");$("fixsize").innerHTML='<div id="mp"></div>';swfobject.embedSWF("http://s1.tribalwarsmap.net/flashm-1.6.swf",
"mp","100%","100%","9.0.0",false,false,{wmode:"transparent",scale:"noscale",salign:"tl",allowScriptAccess:"always",menu:"false",quality:"autohigh",flashvars:"setframerate="+vars.framerate+"&iw="+k.iconwidth+"&ih="+k.iconheight+"&mw="+k.leftpad+"&mh="+k.toppad+"&sizet="+k.fontsize+"&bs="+k.num+"&icononly="+k.miniview+"&sline="+(k.miniview?vars.mapcols[5]:"214B18")+"&kline="+(k.miniview?vars.mapcols[4]:"000000")+"&ani="+(data.mapani=="1"?"1":"")})}},8E3);var n=0;m()},50);status="Finished (flash not loaded yet)"}
var maxValue={H:360,S:100,V:100},HSV2={H:360,S:100,V:100},slideHSV={H:360,S:100,V:100},stop=1;
function HSVslide(a,b,d){function c(k,m,n){return Math.min(k,Math.max(0,Math.ceil(parseInt(n)/m*k)))}function e(k,m){if(k>=0&&k<=m)return k;else if(k>m)return m;else if(k<0)return"-"+j}function f(){if(!stop){var k=vars.yc-h.Y,m=vars.xc-h.X;if(a=="SVslide"){g.left=e(m-j,162)+"px";g.top=e(k-j,162)+"px";slideHSV.S=c(100,162,g.left);slideHSV.V=100-c(100,162,g.top);HSVupdate()}else if(a=="Hslide"){k=e(k-j,163);m={};g.top=k-5+"px";slideHSV.H=c(360,163,k);m.H=maxValue.H-c(maxValue.H,163,k);m.S=HSV2.S;m.V=
HSV2.V;HSVupdate(m);$S("SV").backgroundColor="#"+color.HSV_HEX({H:HSV2.H,S:100,V:100})}}}if(stop){stop="";var g=$S(a);b=$(b);b=typeof b=="object"?b:$(b);for(z={X:0,Y:0};b!=null;){z.X+=b.offsetLeft;z.Y+=b.offsetTop;b=b.offsetParent}var h=z,j=a=="Hslide"?2:4;h.X+=3;h.Y+=4;if(a=="SVslide")slideHSV.H=HSV2.H;document.onmousemove=function(k){move(k);f(k)};document.onmouseup=function(){stop=1;document.onmousemove=function(k){move(k)};document.onmouseup=mu};f(d)}}
function HSVupdate(a){a=color.HSV_HEX(HSV2=a?a:slideHSV);highlight.insert(a)}function placeCursor(a){if($("SV")){var b=Math.round(159-a.H/2.18);if(b!=159)$S("Hslide").top=b+"px";var d=$S("SVslide");b=Math.round(161-a.V*1.62);d.top=(b==-1?-4:b)+"px";b=Math.round(a.S*1.62-1);d.left=(b==-1?-4:b)+"px";$S("SV").backgroundColor="#"+color.HSV_HEX({H:a.H,S:100,V:100})}}
function loadSV(){if($("colourinput")&&highlight.hexcheck($("colourinput").value,1)){HSV2=color.RGB2HSV(color.hex2RGB(highlight.hexcheck($("colourinput").value,1)));placeCursor(HSV2)}else{HSV2={H:360,S:100,V:100};slideHSV={H:360,S:100,V:100}}for(var a="",b=165;b>=0;b--)a+='<div style="BACKGROUND: #'+color.HSV_HEX({H:Math.round(360/165*b),S:100,V:100})+';"><br /></div>';$("Hmodel").innerHTML=a}
function toHex(a){a=Math.min(Math.max(0,Math.round(a)),255);return"0123456789ABCDEF".charAt((a-a%16)/16)+"0123456789ABCDEF".charAt(a%16)}
var color={hex2RGB:function(a){return[color.decimalize(a.substring(0,2)),color.decimalize(a.substring(2,4)),color.decimalize(a.substring(4,6))]},decimalize:function(a){return"0123456789ABCDEF".indexOf(a.charAt(0).toUpperCase())*16+"0123456789ABCDEF".indexOf(a.charAt(1).toUpperCase())},RGB2HSV:function(a){var b=a[0]/255,d=a[1]/255;a=a[2]/255;var c=Math.min(b,d,a),e=Math.max(b,d,a),f=e-c;c={H:360,S:100,V:100};c.V=e;if(f==0){c.H=0;c.S=0}else{c.S=f/e;var g=((e-b)/6+f/2)/f,h=((e-d)/6+f/2)/f;f=((e-a)/6+
f/2)/f;if(b==e)c.H=f-h;else if(d==e)c.H=1/3+g-f;else if(a==e)c.H=2/3+h-g;if(c.H<0)c.H+=1;if(c.H>1)c.H-=1}c.H*=360;c.S*=100;c.V*=100;return c},RGB_HEX:function(a){var b=toHex;return b(a.R)+b(a.G)+b(a.B)},HSV_RGB:function(a,b){var d,c,e,f,g;if(b){g=a[1]/100;var h=a[2]/100,j=a[0]/360}else{g=a.S/100;h=a.V/100;j=a.H/360}if(g>0){if(j>=1)j=0;j=6*j;F=j-Math.floor(j);e=Math.round(255*h*(1-g));f=Math.round(255*h*(1-g*F));g=Math.round(255*h*(1-g*(1-F)));h=Math.round(255*h);switch(Math.floor(j)){case 0:d=h;c=
g;f=e;break;case 1:d=f;c=h;f=e;break;case 2:d=e;c=h;f=g;break;case 3:d=e;c=f;f=h;break;case 4:d=g;c=e;f=h;break;case 5:d=h;c=e;f=f;break}return{R:d?d:0,G:c?c:0,B:f?f:0,A:1}}else return{R:h=Math.round(h*255),G:h,B:h,A:1}},HSV_HEX:function(a,b){return color.RGB_HEX(color.HSV_RGB(a,b))}},hsv=[0,0,100];
function coreXY(){function a(g){var h=g[0]-84-3,j=168-g[1]-84+21;g=Math.sqrt(Math.pow(h,2)+Math.pow(j,2));h=Math.atan2(h,j)/(Math.PI*2);hsv=[h>0?h*360:h*360+360,g<42?g/42*100:100,g>=42?Math.max(0,1-(g-42)/42)*100:100];(function(k){k=k/2;var m=hsv[0]/360*Math.PI*2,n=(hsv[1]+(100-hsv[2]))/100*(k/2);$S("mCur").left=Math.round(Math.abs(Math.round(Math.sin(m)*n)+k+3))+"px";$S("mCur").top=Math.round(Math.abs(Math.round(Math.cos(m)*n)-k-21))+"px"})(168);highlight.insert(color.HSV_HEX(hsv,1))}function b(g){var h=
{x:g.offsetLeft,y:g.offsetTop};if(g.offsetParent){g=b(g.offsetParent);h.x+=g.x;h.y+=g.y}return h}var d=$S("mCur"),c=b($("mCur").parentNode);a([vars.xc+-(c.x-5),vars.yc+-(c.y-28)]);var e=parseInt(d.left,10)-vars.xc,f=parseInt(d.top,10)-vars.yc;document.onmousemove=function(g){move(g);a([vars.xc+e,vars.yc+f])};document.onmouseup=function(){document.onmousemove=function(g){move(g)};document.onmouseup=mu}}
(function(a){a.extend({base64Encode:function(b){var d="",c,e,f,g,h,j,k=0;b=b;b=b.replace(/\x0d\x0a/g,"\n");e="";for(f=0;f<b.length;f++){g=b.charCodeAt(f);if(g<128)e+=String.fromCharCode(g);else{if(g>127&&g<2048)e+=String.fromCharCode(g>>6|192);else{e+=String.fromCharCode(g>>12|224);e+=String.fromCharCode(g>>6&63|128)}e+=String.fromCharCode(g&63|128)}}for(b=e;k<b.length;){c=b.charCodeAt(k++);e=b.charCodeAt(k++);f=b.charCodeAt(k++);g=c>>2;c=(c&3)<<4|e>>4;h=(e&15)<<2|f>>6;j=f&63;if(isNaN(e))h=j=64;else if(isNaN(f))j=
64;d=d+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(g)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(h)+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(j)}return d},base64Decode:function(b){var d="",c,e,f,g,h,j,k=0;for(b=b.replace(/[^A-Za-z0-9\+\/\=]/g,"");k<b.length;){f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(k++));
g="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(k++));h="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(k++));j="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(b.charAt(k++));c=(g&15)<<4|h>>2;e=(h&3)<<6|j;d+=String.fromCharCode(f<<2|g>>4);if(h!=64)d+=String.fromCharCode(c);if(j!=64)d+=String.fromCharCode(e)}b=d;d="";for(e=c1=c2=c=0;c<b.length;){e=b.charCodeAt(c);if(e<128){d+=String.fromCharCode(e);
c++}else if(e>191&&e<224){c2=b.charCodeAt(c+1);d+=String.fromCharCode((e&31)<<6|c2&63);c+=2}else{c2=b.charCodeAt(c+1);c3=b.charCodeAt(c+2);d+=String.fromCharCode((e&15)<<12|(c2&63)<<6|c3&63);c+=3}}return d}})})(jQuery);jQuery(document).ready(initiate_map);status="Javascript loaded";