Sunday, February 6, 2011

Ikarta - World Map


// JavaScript Document
// ==UserScript==
// @name           Ikarta
// @author         Author Ikarta
// @namespace      Ikariam
// @description    Alliance map, Ikariam analyzer
// @include        http://s*.ikariam.*
// @version        0.02
// ==/UserScript==

var exec = false;

var w = window.wrappedJSObject || window;

w.addEventListener('DOMContentLoaded', addAllySearchInTop, true);
w.addEventListener('load', addAllySearchInTop, true);

var ikaZoom = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAQZSURBVHjanFRbaBxVGP5mzszs7CW72VzWpGlMG5uQdkkllSSKFaxYLYgUKRQUlNoWlApiwAs++NRn9UnypkLQCkWlUNFiNCHEhtCQ2GbbYEiyzXazNbubTXY3c9m5+s8m9kGjaH/45nbOfOf7/+8/hxscvAQvOFiM5/CUwUmneDlwVJB9NY5tOlqx9JtRUoYcs/yFWjGz+fwd6PpdcJyAnULgOA5w7aBj4/xmpGVgs2EPrHCtNwLZx6PG1XvkzHKPNn/zVVdZfY3+mcC/hFCpqETKny82dAzoew8gVi8gJDvgeEDXHID3QXogDv+uxm5zZPyik08ec2En4P4Doa6pTxp17W/qbXG0tzI01ZEyQUBRcaBSVqrmwgcHwc4YBKe3ZT2T/IArBc4wkW3uSGhAOl1p2sfqGxhitRx2+TlQwlj0BmWgPiTAcFzIIhDu3o3sr/ufn/5uJA6BTVbL9VdCR5SftqON8As2RF5AmD4GKFMwICQxBHxkF1lGr5Do3vxQk58e47pemWSM38EUQYyIfh7kMHLrNjidJlGqDpnSQmQeN78NEolwTZDKKjfbFQU8v4NCpaxaIcZLjutAM1zkOAfRMEOzf0uVRyJvCaZa0kKqDqVcLBuGCsv6e+vwm4W1BKcUYZEU20K1VfwiVzXRg5dfkFDjlYKQWUhjLV9Y0ExAIQHqNnRzC4JSyF8o30z0xdqfoD4xoVcAk/62Uc28qtAjDRGWVgu4Nj49Y7vijXNdlxFha9hQeVR0QCNs0iK8qWtfpid/mVlLLCFSJ0KienLbPfanSo90w7Dw7YUfkUwpyYH+sZVH6lfR4LPQKBmoEw1EeQMRzgDr2t+r6MWN6cLS7SO+mmhd4+56hEJ8Nb3AtsrldBZffXYZ83NJHOrvY23OqBis5A7qDq5rBhyTlBkEza5uPSq4T7q2cD11PDU/+H7X4YPPtXW3R2tryU2amU+tYmp0amIlufz98ReONfbUJk4+KOLDYBEo57GPMnjP8+qey96FkYUlhd1yy5unrOGxnslLY50cc8KmqRpk1AoviDfEILubm/s5vjd69aXOZ1+GnmyENTn6tpoB04B3sFV23PPdIwUTbDkkTSm6PaVVSrSuDX+wBi4voV5Io88ZuZ2ew08tvemTkUOvoJlWcybHB24lYW0rdVk8/mj18MpmqWdoTwSDHB1PNOLS/uBtSJJExjCEWB6HY3fM9XVcWUnMdMTawgeiD5+AzBXAb6QezxXgV22MCvjPsdWbTEQ5m8PZHz4Z4p45x07E+s+inUYcjL87kageUv8/eIZi9nec/vqjzy9mZocRPPIGAm0dcCMtrwu4zxBElDIrOPPNx0NW99HFF1Prj2FWbh2+b0IvJB/KKym8tfjp1dFZKWoEWvdc+UOAAQBdNLnPyw6NpQAAAABJRU5ErkJggg=='

function getDomain()
{
 return document.domain;
}

function ikariamGetServer()
{
 var domain = getDomain();
 return domain.split('.')[1];
}

function ikariamGetWorld()
{
 var domain = getDomain();
 return domain.substring(1, domain.indexOf('.'));
}

function addAllySearchInTop()
{
  if (exec)  
    return;

  exec = true;
  try
  {
    var world = ikariamGetWorld();
    var server = ikariamGetServer();

    var ally = document.getElementsByClassName("allytag");
  for(var i=0; i<ally.length; i++)
    {
      if (ally[i].tagName != "TD") 
        continue;

      var allyTag = ally[i].getElementsByClassName("allyLink")[0].text;

      if (allyTag == "")
        allyTag = "&i=1";
      else
        allyTag = "&a=" + allyTag;

      ally[i].innerHTML = ally[i].innerHTML + "&nbsp;&nbsp;<a target='_blank' href='http://ikarta.org/?s=" +
        server + "&w=" + world  + allyTag + "'><img style='vertical-align:middle;' src='" + ikaZoom + "'></a>";
    }
    
    ally = document.getElementsByClassName("ally");
  for(var i=0; i<ally.length; i++)
    {
      if (ally[i].tagName != "LI") 
        continue;

      var allyTag = ally[i].getElementsByTagName("a");
      
      if (allyTag.length > 0)
        allyTag = "&a=" + allyTag[0].text;
      else
        allyTag = "&i=1";

      linkText = "&nbsp;<a target='_blank' href='http://ikarta.org/?s=" + server +
        "&w=" + world  + allyTag + "'><img style='display:inline;vertical-align:middle' src='" + ikaZoom + "'></a>";

        ally[i].innerHTML = ally[i].innerHTML + linkText;
    }
    
    ally = document.getElementsByClassName("name");
    for(var i=0; i<ally.length; i++)
    {
      if (ally[i].tagName != "TD") 
        continue;

      var allyTag = ally[i].getElementsByClassName("allyLink")[0].text;

      if (allyTag == "")
        allyTag = "&i=1";
      else
      {
        allyTag = allyTag.substring(allyTag.indexOf('(')+1, allyTag.indexOf(')'));
        allyTag = "&a=" + allyTag;
      }

      ally[i].innerHTML = ally[i].innerHTML + "&nbsp;&nbsp;<a target='_blank' href='http://ikarta.org/?s=" +
        server + "&w=" + world  + allyTag + "'><img style='vertical-align:middle;' src='" + ikaZoom + "'></a>";
    }
  }
 catch(error)
 {
  }
}

0 comments:

Post a Comment