Empire Overview

Script for Ikariam V 0.5.x, Overview tables for Ress, buildings and mititary, desktop versions in the style of Ikariam Empire Board

Versión del día 15/05/2014. Echa un vistazo a la versión más reciente.

// ==UserScript==
// @name                 Empire Overview
// @author               germano
// @description          Script for Ikariam V 0.5.x, Overview tables for Ress, buildings and mititary, desktop versions in the style of Ikariam Empire Board
// @namespace            Test
// @grant                GM_getValue
// @grant                GM_setValue
// @grant                GM_addStyle
// @grant                GM_registerMenuCommand
// @grant                GM_deleteValue
// @grant                GM_xmlhttpRequest
// @grant                GM_openInTab
// @include              http://s*.ikariam.gameforge.*/index.php*
// @exclude              http://board.*.ikariam.gameforge.com*
// @exclude              http://*.ikariam.gameforge.*/board
//
// @require              http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js
// @require              http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js
// @require              http://www.dynamicdrive.com/dynamicindex11/domdrag/dom-drag.js
//
// @version              1.164
// 
// ==/UserScript==
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang='en-US' xml:lang='en-US' xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta content='text/html; charset=utf-8' http-equiv='Content-Type' />
<title>Source for &quot;Empire Overview&quot; - Userscripts.org</title>
<link href='/images/script_icon.png' rel='shortcut icon' type='image/x-icon' />
<link href="/stylesheets/compiled/screen.css?1397513844" media="screen, projection" rel="stylesheet" type="text/css" />
<link href="/stylesheets/compiled/print.css?1397513844" media="print" rel="stylesheet" type="text/css" />
<script src="/javascripts/all.js?1397513839" type="text/javascript"></script>
<link href="/stylesheets/sh_style.css?1397513839" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/sh_main.min.js?1397513839" type="text/javascript"></script>
<script src="/javascripts/sh_javascript.min.js?1397513839" type="text/javascript"></script>

<!--[if IE]>
<link href="/stylesheets/compiled/ie.css?1397513844" media="screen, projection" rel="stylesheet" type="text/css" />
<![endif]-->
</head>
<body class='scripts anon wide' id='scripts-review'>
<div id='root'>
<div id='top'>
<div class='container'>
<ul class='login_status'>
<li><a href="/signup" rel="nofollow">Signup</a></li>
<li><a href="/login?redirect=%2Fscripts%2Freview%2F138078" rel="nofollow">Login</a></li>
</ul>

</div>
</div>
<div id='header'>
<div class='container'>
<h1><a href="/">Userscripts.org</a></h1>
<ul id='mainmenu'>
<li class='active'><a href="/scripts">Scripts</a></li>
<li><a href="/tags">Tags</a></li>
<li><a href="/forums">Forums</a></li>
<li><a href="/users">People</a></li>
</ul>

</div>
</div>
<div id='section'>
<div class='container'>
<div id='heading'>
<a href="/users/466320" id="avatar" rel="nofollow" title="germano"><img alt="" class="photo" height="92" src="http://www.gravatar.com/avatar.php?gravatar_id=066c13a70db6ed043e19397749f16bc2&amp;r=PG&amp;s=92&amp;default=identicon" width="92" /></a>
<div id='details'>
<h2 class='title'><a href="/scripts/show/138078">Empire Overview</a></h2>
<span class='author'>By <a href="/users/466320" gravatar="http://www.gravatar.com/avatar.php?gravatar_id=066c13a70db6ed043e19397749f16bc2&amp;r=PG&amp;s=80&amp;default=identicon" rel="nofollow" user_id="466320">germano</a></span>
&mdash;
<span class='date'>
Last update
May 12, 2014
</span>
&mdash;
Installed
12,736 times.

</div>
</div>
<ul id='script-nav'>

<li class='menu'><a href="/scripts/show/138078">About</a></li>
<li class='menu current'>Source Code</li>
<li class='menu'><a href="/scripts/reviews/138078">Reviews <span>10</span></a></li>
<li class='menu'><a href="/scripts/discuss/138078">Discussions <span>230</span></a></li>
<li class='menu'><a href="/scripts/fans/138078">Fans <span>25</span></a></li>
<li class='menu'><a href="/scripts/issues/138078" rel="nofollow">Issues</a></li>
<li><a href="http://www.addtoany.com/share_save?linkname=Empire+Overview&amp;linkurl=http%3A%2F%2Fuserscripts.org%3A8080%2Fscripts%2Fshow%2F138078" class="a2a_dd" rel="nofollow">Share</a></li>
</ul>
</div>
</div>

<div class='container'>

<div id='content'>



<p class='notice'>
There are
<a href="/scripts/versions/138078">100 previous versions</a>
of this script.
</p>
<p class='notice'>the source is over 100KB, syntax highlighting in the browser is too slow</p>
<pre class='sh_javascript' id='source'>



/***********************************************************************************************************************
 * Includes
 ********************************************************************************************************************* */
;(function($){
var jQuery = $;

if(window.navigator.vendor.match(/Google/)) {
  var isChrome = true;
}
if(!isChrome) {
  this.$ = this.jQuery = jQuery.noConflict(true);
}

$.extend({
  exclusive     : function(arr) {
    return $.grep(arr, function(v, k) {
      return $.inArray(v, arr) === k;
    });
  },

  mergeValues   : function(a, b, c) {
    var length = arguments.length;
    if(length == 1 || typeof arguments[0] !== &quot;object&quot; || typeof arguments[1] !== &quot;object&quot;) {
      return arguments[0];
    }
    var args = jQuery.makeArray(arguments);
    var i = 1;
    var target = args[0];
    for(; i &lt; length; i++) {
      var copy = args[i];
      for(var name in copy) {
        if(!target.hasOwnProperty(name)) {
          target[name] = copy[name];
          continue;
        }
        if(typeof target[name] == &quot;object&quot; &amp;&amp; typeof copy[name] == &quot;object&quot;) {
          target[name] = jQuery.mergeValues(target[name], copy[name])
        } else if(copy.hasOwnProperty(name) &amp;&amp; copy[name] != undefined) {
          target[name] = copy[name]
        }
      }
    }
    return target
  },
  decodeUrlParam: function(string) {
    var str = string.split(&#39;?&#39;).pop().split(&#39;&amp;&#39;);
    var obj = {};
    for(var i = 0; i &lt; str.length; i++) {
      var param = str[i].split(&#39;=&#39;);
      if(param.length !== 2) {
        continue;
      }
      obj[param[0]] = decodeURIComponent(param[1].replace(/\+/g, &quot; &quot;))
    }
    return obj
  }
});

var events = (function() {
  var _events = {};
  var retEvents = function(id) {
    var callbacks, topic = id &amp;&amp; _events[ id ];
    if(!topic) {
      callbacks = $.Callbacks(&quot;&quot;);
      topic = {
        pub  : callbacks.fire,
        sub  : callbacks.add,
        unsub: callbacks.remove
      };
      if(id) {
        _events[ id ] = topic;
      }
    }
    return topic;
  };

  retEvents.scheduleAction = function(callback, time) {
    return clearTimeout.bind(undefined, setTimeout(callback, time || 0));
  };

  retEvents.scheduleActionAtTime = function(callback, time) {
    return retEvents.scheduleAction(callback, (time - $.now() &gt; 0 ? time - $.now() : 0))
  };

  retEvents.scheduleActionAtInterval = function(callback, time) {
    return clearInterval.bind(undefined, setInterval(callback, time));
  };
  return retEvents
})();

/***********************************************************************************************************************
 * Globals
 **********************************************************************************************************************/
var debug = false;
var log = false;
var timing = false;
if(!unsafeWindow) unsafeWindow = window;

/***********************************************************************************************************************
 * Inject button into page before the page renders the YUI menu or it will not be animated (less work)
 **********************************************************************************************************************/
$(&#39;.menu_slots &gt; .expandable:last&#39;).after(&#39;&lt;li class=&quot;expandable slot99 empire_Menu&quot; onclick=&quot;&quot;&gt;&lt;div class=&quot;empire_Menu image&quot; style=&quot;background-image: url(skin/minimized/weltinfo.png); background-position: 0px 0px; background-size:33px auto&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;name&quot;&gt;&lt;span class=&quot;namebox&quot;&gt;Empire Overview&lt;/span&gt;&lt;/div&gt;&lt;/li&gt;&#39;);

/***********************************************************************************************************************
 * Utility Functions
 **********************************************************************************************************************/
var Utils = {
  wrapInClosure     : function(obj) {
    return (function(x) {
      return function() {
        return x
      }
    })(obj)
  },
  existsIn          : function(input, test) {
    try {
      var ret = input.indexOf(test) !== -1
    } catch(e) {
      return false
    }
    return ret;
  },
  estimateTravelTime: function(city1, city2) {
    if(!city1 || !city2) return 0;
    if(city1[0] == city2[0] &amp;&amp; city1[1] == city2[1]) {
      var time = 1200 / 60 * 0.5;
    } else {
      time = 1200 / 60 * (Math.sqrt(Math.pow((city2[0] - city1[0]), 2) + Math.pow((city2[1] - city1[1]), 2)));
    }
    return Math.floor(time * 60 * 1000);
  },
  addStyleSheet     : function(style) {
    var getHead = document.getElementsByTagName(&quot;HEAD&quot;)[0];
    var cssNode = window.document.createElement(&#39;style&#39;);
    var elementStyle = getHead.appendChild(cssNode);
    elementStyle.innerHTML = style;
    return elementStyle;
  },
  escapeRegExp      : function(str) {
    return str.replace(/[\[\]\/\{\}\(\)\-\?\$\*\+\.\\\^\|]/g, &quot;\\$&amp;&quot;);
  },
  format            : function(inputString, replacements) {
    var str = &#39;&#39; + inputString;
    var keys = Object.keys(replacements);
    var i = keys.length;
    while(i--) {
      str = str.replace(new RegExp(this.escapeRegExp(&#39;{&#39; + keys[i] + &#39;}&#39;), &#39;g&#39;), replacements[keys[i]])
    }
    return str
  },
  cacheFunction     : function(toExecute, expiry) {
    expiry = expiry || 1000;
    var cachedTime = $.now;
    var cachedResult = undefined;
    return function() {
      if(cachedTime &lt; $.now() - expiry || cachedResult === undefined) {
        cachedResult = toExecute();
        cachedTime = $.now()
      }
      return cachedResult
    }
  },
  getClone  : function($node){
    if ($node.hasClass(&#39;ui-sortable-helper&#39;) || $node.parent().find(&#39;.ui-sortable-helper&#39;).length){
    return $node;}
    return $($node.get(0).cloneNode(true))
  },
  setClone : function($node, $clone){
    if ($node.hasClass(&#39;ui-sortable-helper&#39;) || $node.parent().find(&#39;.ui-sortable-helper&#39;).length){
      return $node;
    }
    $node.get(0).parentNode.replaceChild($clone.get(0), $node.get(0));
    return $node
  },
  replaceNode       : function(node, html) {
    var t = node.cloneNode(false);
    t.innerHTML = html;
    node.parentNode.replaceChild(t, node);
    return t
  },
	 FormatTimeLengthToStr : function(timeString, precision, spacer) {
	 	var lang = database.settings.languageChange.value;
		timeString = timeString || 0;
		precision = precision || 2;
		spacer = spacer || &quot; &quot;;
		if(!isFinite(timeString)) {
			return  &#39; \u221E &#39;;
		}
		if(timeString &lt; 0) timeString *= -1;
		var factors = [];
		var locStr = [];
	    var server = ikariam.Nationality();
		factors.day = 86400;
		factors.hour = 3600;
		factors.minute = 60;
		factors.second = 1;
		locStr.day = Constant.LanguageData[lang].day;
		locStr.hour = database.getGlobalData.getLocalisedString(&#39;h&#39;);
		locStr.minute = database.getGlobalData.getLocalisedString(&#39;m&#39;);
		locStr.second = database.getGlobalData.getLocalisedString(&#39;s&#39;);
	      if (server == &#39;ir&#39; || server == &#39;ae&#39;) {
	  		locStr.hour = database.getGlobalData.getLocalisedString(&#39;س&#39;);
			locStr.minute = database.getGlobalData.getLocalisedString(&#39;د&#39;);
			locStr.second = database.getGlobalData.getLocalisedString(&#39;ث&#39;);
			}
		timeString = Math.ceil(timeString / 1000);
		var retString = &quot;&quot;;
		for(var fact in factors) {
			var timeInSecs = Math.floor(timeString / factors[fact]);
			if(isNaN(timeInSecs)) {
				return retString;
			}
			if(precision &gt; 0 &amp;&amp; (timeInSecs &gt; 0 || retString != &quot;&quot;)) {
				timeString = timeString - timeInSecs * factors[fact];
				if(retString != &quot;&quot;) {
					retString += spacer;
				}
				retString += timeInSecs + locStr[fact];
				precision--;
			}
		}
		return retString;
	}, 
	FormatFullTimeToDateString:	function (timeString, precise) {
	    var lang = database.settings.languageChange.value;
		precise = precise || true;
		timeString = timeString || 0;
		var sInDay = 86400000;
		var day = &#39;&#39;;
		var compDate = new Date(timeString);
		if(precise) {
			switch(Math.floor(compDate.getTime() / sInDay) - Math.floor($.now() / sInDay)) {
				case 0  :
					day = Constant.LanguageData[lang].today; 
					break;
				case 1  :
					day = Constant.LanguageData[lang].tomorrow;
					break;
				case -1 :
					day = Constant.LanguageData[lang].yesterday;
					break;
				default :
					day = (!isChrome ? compDate.toLocaleFormat(&#39;%a %d %b&#39;) : compDate.toString().split(&#39; &#39;).splice(0, 3).join(&#39; &#39;)) //Dienstag
			}
		}
		if(day != &#39;&#39;) {
			day += &#39;, &#39;
		}
		return day + compDate.toLocaleTimeString();
	},
	FormatRemainingTime : function(time, brackets) {
			brackets = brackets || false;
			var arrInTime = Utils.FormatTimeLengthToStr(time, 3, &#39; &#39;);
			return (arrInTime == &#39;&#39;) ? &#39;&#39; : (brackets ? &#39;(&#39; : &#39;&#39;) + arrInTime + (brackets ? &#39;)&#39; : &#39;&#39;);
		},
	FormatNumToStr : function(inputNum, outputSign, precision) {
	    var lang = database.settings.languageChange.value;
		precision = precision ? &quot;10e&quot; + (precision - 1) : 1;
		var ret, val, sign, i, j;
		var tho = Constant.LanguageData[lang].thousandSeperator;
		var dec = Constant.LanguageData[lang].decimalPoint;
		if(!isFinite(inputNum)) {
			return &#39;\u221E&#39;
		}
		sign = inputNum &gt; 0 ? 1 : inputNum === 0 ? 0 : -1;
		if(sign) {
			val = (( Math.floor(Math.abs(inputNum * precision)) / precision ) + &#39;&#39;).split(&#39;.&#39;);
			ret = val[1] != undefined ? [dec, val[1]] : [];
			val = val[0].split(&#39;&#39;);
			i = val.length;
			j = 1;
			while(i--) {
				ret.unshift(val.pop());
				if(i &amp;&amp; j % 3 == 0) {
					ret.unshift(tho)
				}
				j++
			}
			if(outputSign) {
				ret.unshift(sign == 1 ? &#39;+&#39; : &#39;-&#39;);
			}
			return ret.join(&#39;&#39;);
		}
		else return inputNum;
	}
};

/***********************************************************************************************************************
 * CLASSES
 **********************************************************************************************************************/
function Movement(id, originCityId, targetCityId, arrivalTime, mission, loadingTime, resources, military, ships) {
  if(typeof id === &quot;object&quot;) {
    this._id = id._id || null;
    this._originCityId = id._originCityId || null;
    this._targetCityId = id._targetCityId || null;
    this._arrivalTime = id._arrivalTime || null;
    this._mission = id._mission || null;
    this._loadingTime = id._loadingTime || null;
    this._resources = id._resources || {wood: 0, wine: 0, marble: 0, glass: 0, sulfur: 0, gold: 0};
    this._military = id._military || new MilitaryUnits();
    this._ships = id._ships || null;
    this._updatedCity = id._updatedCity || false;
    this._complete = id._complete || false;
    this._updateTimer = id._updateTimer || null;

  } else {
    this._id = id || null;
    this._originCityId = originCityId || null;
    this._targetCityId = targetCityId || null;
    this._arrivalTime = arrivalTime || null;
    this._mission = mission || null;
    this._loadingTime = loadingTime || null;
    this._resources = resources || {wood: 0, wine: 0, marble: 0, glass: 0, sulfur: 0, gold: 0};
    this._military = military || new MilitaryUnits();
    this._ships = ships || null;
    this._updatedCity = false;
    this._complete = false;
    this._updateTimer = null;
  }
}
Movement.prototype = {
  startUpdateTimer       : function() {
    this.clearUpdateTimer();
    if(this.isCompleted) {
      this.updateTransportComplete()
    } else {
      this._updateTimer = events.scheduleActionAtTime(this.updateTransportComplete.bind(this), this._arrivalTime + 1000)
    }
  },
  clearUpdateTimer       : function() {
    var ret = !this._updateTimer || this._updateTimer();
    this._updateTimer = null;
    return ret
  },
  get getId() {
    return this._id
  },
  get getOriginCityId() {
    return this._originCityId
  },
  get getTargetCityId() {
    return this._targetCityId
  },
  get getArrivalTime() {
    return this._arrivalTime
  },
  get getMission() {
    return this._mission
  },
  get getLoadingTime() {
    return this._loadingTime - $.now()
  },
  get getResources() {
    return this._resources
  },
  getResource            : function(resourceName) {
    return this._resources[resourceName]
  },
  get getMilitary() {
    return this._military
  },
  get getShips() {
    return this._ships
  },
  get isCompleted() {
    return this._arrivalTime &lt; $.now()
  },
  get isLoading() {
    return this._loadingTime &gt; $.now()
  },
  get getRemainingTime() {
    return this._arrivalTime - $.now()
  },
  updateTransportComplete: function() {
    if(this.isCompleted &amp;&amp; !this._updatedCity) {
      var city = database.getCityFromId(this._targetCityId);
      var changes = [];
      if(city) {
        for(var resource in Constant.Resources) {
          if(this.getResource(Constant.Resources[resource])) {
            changes.push(Constant.Resources[resource])
          }
          city.getResource(Constant.Resources[resource]).increment(this.getResource(Constant.Resources[resource]));
        }		
        this._updatedCity = true;
        city = database.getCityFromId(this.originCityId);
        if(city) {
          city.updateActionPoints(city.getAvailableActions + 1)
        }
        if(changes.length) {
          events(Constant.Events.MOVEMENTS_UPDATED).pub([this.getTargetCityId]);
          events(Constant.Events.RESOURCES_UPDATED).pub(this.getTargetCityId, changes);
        }
        events.scheduleAction(function() {
          database.getGlobalData.removeFleetMovement(this._id)
        }.bind(this));
        return true
      }

    } else if(this._updatedCity) {
      events.scheduleAction(function() {
        database.getGlobalData.removeFleetMovement(this._id)
      }.bind(this))
    }
    return false;
  }
};

function Resource(city, name) {
  this._current = 0;
  this._production = 0;
  this._consumption = 0;
  this._currentChangedDate = $.now();
  this.city = Utils.wrapInClosure(city);
  this._name = name;
  return this
}

Resource.prototype = {
  get name() {
    return this._name
  },
  update   : function(current, production, consumption) {
    var changed = (current % this._current &gt; 10) || (production != this._production) || (consumption != this._consumption);
    this._current = current;
    this._production = production;
    this._consumption = consumption;
    this._currentChangedDate = $.now();
    return changed;
  },
  project  : function() {
    var limit = Math.floor($.now() / 1000);
    var start = Math.floor(this._currentChangedDate / 1000);
    while(limit &gt; start) {
      this._current += this._production;
      if(Math.floor(start / 3600) != Math.floor((start + 1) / 3600))
        if(this._current &gt; this._consumption) {
          this._current -= this._consumption
        } else {
          this.city().projectPopData(start * 1000);
          this._consumption = 0;
        }

      start++
    }
    this._currentChangedDate = limit * 1000;
    this.city().projectPopData(limit * 1000)

  },
  increment: function(amount) {
    if(amount !== 0) {
      this._current += amount;
      return true;
    }
    return false;
  },
  get getEmptyTime() {
    var net = this.getProduction * 3600 - this.getConsumption;
    return (net &lt; 0) ? this.getCurrent / net * -1 : Infinity; 
  },
  get getFullTime() {
    var net = this.getProduction * 3600 - this.getConsumption;
    return (net &gt; 0) ? (this.city().maxResourceCapacities.capacity - this.getCurrent) / net : 0;
  },
  get getCurrent() {
    return Math.floor(this._current);

  },
  get getProduction() {
    return this._production || 0
  }, 
  get getConsumption() {
    return this._consumption || 0
  } 
};

function Military(city) {
  this.city = Utils.wrapInClosure(city);
  this._units = new MilitaryUnits();
  this._advisorLastUpdate = 0;
  this.armyTraining = [];
  this._trainingTimer = null;
}
Military.prototype = {
  init                 : function() {
    this._trainingTimer = null;
    this._startTrainingTimer()
  },
	_getTrainingTotals: function (){
		var ret = {};
		$.each(this.armyTraining, function(index, training) {
			$.each(Constant.UnitData, function(unitId, info) {
        ret[unitId] = ret[unitId]?ret[unitId]+(training.units[unitId]||0):training.units[unitId]||0
			})
		});
		return ret
	},
  get getTrainingTotals() { 
	  if(!this._trainingTotals) {
		  this._trainingTotals = Utils.cacheFunction(this._getTrainingTotals.bind(this), 1000)
	  }
	  return this._trainingTotals()
  },
	_getIncomingTotals :function (){
		var ret = {};
		$.each(this.city().getIncomingMilitary, function(index, element) {
			for(var unitName in Constant.UnitData) {
        ret[unitName] = ret[unitName] ? ret[unitName] + (element.getMilitary.totals[unitName]||0) : element.getMilitary.totals[unitName]||0
			}
		});
		return ret
	},
  get getIncomingTotals() { 
	  if(!this._incomingTotals) {
		  this._incomingTotals = Utils.cacheFunction(this._getIncomingTotals.bind(this), 1000)
	  }
	  return this._incomingTotals()
  },
  getTrainingForUnit   : function(unit) {
    var ret = [];
    $.each(this.armyTraining, function(index, training) {
      $.each(training.units, function(unitId, count) {
        if(unitId === unit) {
          ret.push({count: count, time: training.completionTime})
        }
      })
    });
    return ret
  },
  setTraining          : function(trainingQueue) {
    if(!trainingQueue.length) return false;
    this._stopTrainingTimer();
    var type = trainingQueue[0].type;
    var changes = this._clearTrainingForType(type);
    $.each(trainingQueue, function(index, training) {
      this.armyTraining.push(training);
      $.each(training.units, function(unitId, count) {
        changes.push(unitId)
      })
    }.bind(this));
    this.armyTraining.sort(function(a, b) {
      return a.completionTime - b.completionTime
    });
    this._startTrainingTimer();
    return $.exclusive(changes)
  },
  _clearTrainingForType: function(type) {
    var oldTraining = this.armyTraining.filter(function(item) {
      return item.type === type
    });
    this.armyTraining = this.armyTraining.filter(function(item) {
      return item.type !== type
    });
    var changes = [];
    $.each(oldTraining, function(index, training) {
      $.each(training.units, function(unitId, count) {
        changes.push(unitId)
      })
    });
    return changes
  },
  _completeTraining    : function() {
    if(this.armyTraining.length) {
      if(this.armyTraining[0].completionTime &lt; $.now() + 5000) {
        var changes = [];
        var training = this.armyTraining.shift();
        $.each(training.units, function(id, count) {
          this.getUnits.addUnit(id, count);
          changes.push(id)
        }.bind(this));
        if(changes.length)events(Constant.Events.MILITARY_UPDATED).pub(this.city().getId, changes)
      }
    }
    this._startTrainingTimer()
  },
  _startTrainingTimer  : function() {
    this._stopTrainingTimer();
    if(this.armyTraining.length) {
      this._trainingTimer = events.scheduleActionAtTime(this._completeTraining.bind(this), this.armyTraining[0].completionTime)
    }
  },
  _stopTrainingTimer   : function() {
    if(this._trainingTimer) {
      this._trainingTimer()
    }
    this._trainingTimer = null
  },
  updateUnits          : function(counts) {
    var changes = [];
    $.each(counts, function(unitId, count) {
      if(this._units.setUnit(unitId, count)) {
        changes.push(unitId)
      }
    }.bind(this));
    return changes;
  },
  get getUnits() {
    return this._units
  }
};
function MilitaryUnits(obj) {
  this._units = obj !== undefined ? obj._units: {};
}
MilitaryUnits.prototype = {
  getUnit   : function(unitId) {
    return this._units[unitId] || 0
  },
  setUnit   : function(unitId, count) {
    var changed = this._units[unitId] != count;
    this._units[unitId] = count;
    return changed
  },
  get totals() {
    return this._units
  },
  addUnit   : function(unitId, count) {
    return this.setUnit(unitId, this.getUnit(unitId) + count)
  },
  removeUnit: function(unitId, count) {
    count = Math.max(0, this.getUnit[unitId] - count);
    return this.setUnit(unitId, count)
  }
};
function Building(city, pos) {
  this._position = pos;
  this._level = 0;
  this._name = null;
  this.city = Utils.wrapInClosure(city);
  this._updateTimer = null
}
Building.prototype = {
  startUpgradeTimer               : function() {
    if(this._updateTimer) {
      this._updateTimer();
      delete this._updateTimer
    }
    if(this._completionTime) {
      if(this._completionTime - $.now() &lt; 5000) {
        this.completeUpgrade()
      } else {
        this._updateTimer = events.scheduleActionAtTime(this.completeUpgrade.bind(this), this._completionTime - 4000)
      }
    }
    var statusPoll = function(a, b){
      return events.scheduleActionAtInterval(function(){
        if(a != this.isUpgradable || b != this.isUpgrading){
          var changes = {position: this._position, name: this.getName, upgraded: this.isUpgrading != b}
          events(Constant.Events.BUILDINGS_UPDATED).pub([changes]);
          a = this.isUpgradable;
          b = this.isUpgrading;
        }
      }.bind(this),3000)
    }(this.isUpgradable,this.isUpgrading)
  },
  update                          : function(data) {
    var changes;
    var name = data.building.split(&#39; &#39;)[0];
    var level = parseInt(data.level) || 0;
    database.getGlobalData.addLocalisedString(name, data.name); 
    var completion = (&#39;undefined&#39; !== typeof data[&#39;completed&#39;]) ? parseInt(data[&#39;completed&#39;]) : 0;
    var changed = (name !== this._name || level !== this._level || !!completion != this.isUpgrading);
    if(changed) {
      changes = {position: this._position, name: this.getName, upgraded: this.isUpgrading != !completion};
    }
    if(completion) {
      this._completionTime = completion * 1000;
      this.startUpgradeTimer()
    } else if(this._completionTime) {
      delete this._completionTime
    }
    this._name = name;
    this._level = level;
    if(changed) {
      return changes;
    }
    return false;
  },
  get getUrlParams() {
    return {
      view    : this.getName,
      cityId  : this.city().getId,
      position: this.getPosition
    };
  },
  get getUpgradeCost() {
    var carpenter, architect, vineyard, fireworker, optician;
    var level = this._level + this.isUpgrading;
    if(this.isEmpty) {
      return {
        wood  : Infinity,
        glass : 0,
        marble: 0,
        sulfur: 0,
        wine  : 0,
        time  : 0
      }
    }
    var time = Constant.BuildingData[this._name].time;
    var bon = 1;
    var bonTime = 1 + Constant.GovernmentData[database.getGlobalData.getGovernmentType].buildingTime;
    bon -= database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.PULLEY) ? .02 : 0;
    bon -= database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.GEOMETRY) ? .04 : 0;
    bon -= database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.SPIRIT_LEVEL) ? .08 : 0;
    return{
      wood  : Math.floor((Constant.BuildingData[this._name].wood[level] || 0) * (bon - (carpenter = this.city().getBuildingFromName(Constant.Buildings.CARPENTER), carpenter ? carpenter.getLevel / 100 : 0))),
      wine  : Math.floor((Constant.BuildingData[this._name].wine[level] || 0) * (bon - (vineyard = this.city().getBuildingFromName(Constant.Buildings.VINEYARD), vineyard ? vineyard.getLevel / 100 : 0))),
      marble: Math.floor((Constant.BuildingData[this._name].marble[level] || 0) * (bon - (architect = this.city().getBuildingFromName(Constant.Buildings.ARCHITECT), architect ? architect.getLevel / 100 : 0))),
      glass : Math.floor((Constant.BuildingData[this._name].glass[level] || 0) * (bon - (optician = this.city().getBuildingFromName(Constant.Buildings.OPTICIAN), optician ? optician.getLevel / 100 : 0))),
      sulfur: Math.floor((Constant.BuildingData[this._name].sulfur[level] || 0) * (bon - (fireworker = this.city().getBuildingFromName(Constant.Buildings.FIREWORK_TEST_AREA), fireworker ? fireworker.getLevel / 100 : 0))),
      time  : Math.round(time.a / time.b * Math.pow(time.c, level + 1) - time.d) * 1000 * bonTime
    }
  },
  get getName() {
    return this._name
  },
  get getType() {
    return Constant.BuildingData[this.getName].type
  },
  get getLevel() {
    return this._level
  },
  get isEmpty() {
    return this._name == &#39;buildingGround&#39; || this._name == null
  },
  get isUpgrading() {
    return (this._completionTime &gt; $.now())
  },
  subtractUpgradeResourcesFromCity: function() {
    var cost = this.getUpgradeCost;
    $.each(Constant.Resources, function(key, resourceName) {
      this.city().getResource(resourceName).increment(cost[resourceName] * -1)
    }.bind(this));
    this._completionTime = $.now() + cost.time;
  },
  get isUpgradable() {
    if(this.isEmpty || this.isMaxLevel) {
      return false
    }
    var cost = this.getUpgradeCost;
    var upgradable = true;
    $.each(Constant.Resources, function(key, value) {
      upgradable = upgradable &amp;&amp; (!cost[value] || cost[value] &lt;= this.city().getResource(value).getCurrent);
    }.bind(this));
    return upgradable;
  },
  get getCompletionTime() {
    return this._completionTime
  },
  get getCompletionDate() {
  },
  get isMaxLevel() {
    return Constant.BuildingData[this.getName].maxLevel === (this.getLevel)
  },
  get getPosition() {
    return this._position
  },
  completeUpgrade                 : function() {
    this._level++;
    delete this._completionTime;
    delete this._updateTimer; 
    events(Constant.Events.BUILDINGS_UPDATED).pub(this.city().getId, [
      {position: this._position, name: this.getName, upgraded: true}
    ])
  }
};
function CityResearch(city) {
  this._researchersLastUpdate = 0;
  this._researchers = 0;
  this._researchCostLastUpdate = 0;
  this._researchCost = 0;
  this.city = Utils.wrapInClosure(city);
}

CityResearch.prototype = {
  updateResearchers: function(researchers) { 
    var changed = this._researchers !== researchers;
    this._researchers = researchers;
    this._researchersLastUpdate = $.now();
    this._researchCost = this.getResearchCost;
    return changed;
  },
  updateCost       : function(cost) { 
    var changed = this._researchCost !== cost;
    this._researchCost = cost;
    this._researchCostLastUpdate = $.now();
    this._researchers = this.getResearchers;
    return changed;
  },
  get getResearchers() {
    if(this._researchersLastUpdate &lt; this._researchCostLastUpdate) {
      return Math.floor(this._researchCost / this._researchCostModifier);
    } else {
      return this._researchers
    }
  },
  get getResearch() {
    return this.researchData.total
  },
  get researchData(){
    if (!this._researchData){
      this._researchData = Utils.cacheFunction(this.researchDataCached.bind(this),1000)
    }
    return this._researchData()
  },
  researchDataCached :function(){
    var resBon = 0 + Constant.GovernmentData[database.getGlobalData.getGovernmentType].researchBonus
                   + (database.getGlobalData.getResearchTopicLevel(Constant.Research.Science.PAPER) * 0.02)
                   + (database.getGlobalData.getResearchTopicLevel(Constant.Research.Science.INK) * 0.04)
                   + (database.getGlobalData.getResearchTopicLevel(Constant.Research.Science.MECHANICAL_PEN) * 0.08)
                   + (database.getGlobalData.getResearchTopicLevel(Constant.Research.Science.SCIENTIFIC_FUTURE) * 0.02);
    var premBon = database.getGlobalData.hasPremiumFeature(Constant.Premium.RESEARCH_POINTS_BONUS_EXTREME_LENGTH) ? (0 + Constant.PremiumData[Constant.Premium.RESEARCH_POINTS_BONUS_EXTREME_LENGTH].bonus) : database.getGlobalData.hasPremiumFeature(Constant.Premium.RESEARCH_POINTS_BONUS) ? (0 + Constant.PremiumData[Constant.Premium.RESEARCH_POINTS_BONUS].bonus) : 0;
    var goods = Constant.GovernmentData[database.getGlobalData.getGovernmentType].researchPerCulturalGood * this.city()._culturalGoods;
    var researchers = this.getResearchers;
    var corruptionSpend = researchers * this.city().getCorruption;
    var nonCorruptedResearchers = researchers * (1 - this.city().getCorruption);
    var premiumResBonus = nonCorruptedResearchers * premBon;
    var researchBonus = nonCorruptedResearchers * resBon;
    var premiumGoodsBonus = goods * premBon;
    var serverTyp = $(&#39;li.logout a[href=&quot;?view=normalServerStatus&quot;]&#39;).text() ? 1 : 3;
    return {
      scientists: researchers,	  
      researchBonus: researchBonus,
      premiumScientistBonus: premiumResBonus,
      premiumResearchBonus: (researchBonus* premBon),
      culturalGoods: goods,
      premiumCulturalGoodsBonus: premiumGoodsBonus,
      corruption: corruptionSpend,
      total: (nonCorruptedResearchers + researchBonus + premiumResBonus + goods + premiumGoodsBonus + (researchBonus* premBon))* serverTyp
    }
  },
  get _researchCostModifier() {
    return 6 + Constant.GovernmentData[database.getGlobalData.getGovernmentType].researcherCost - (database.getGlobalData.getResearchTopicLevel(Constant.Research.Science.LETTER_CHUTE) * 3)
  },
  get getResearchCost() {
    return this.getResearchers * this._researchCostModifier;
  }
};

function Changes(city, type, changes) {
  this.city = city || null;
  this.type = type || null;
  this.changes = changes || [];
}
function Population(city) {
  this._population = 0;
  this._citizens = 0;
  this._resourceWorkers = 0;
  this._tradeWorkers = 0;
  this._priests = 0;
  this._culturalGoods = 0;

  this._popChanged = $.now();
  this._citizensChanged = $.now();
  this._culturalGoodsChanged = $.now();
  this._priestsChanged = $.now();
  this.city = Utils.wrapInClosure(city)
}
Population.prototype = {
  updatePopulationData: function(population, citizens, priests, culturalGoods) {
    var changes = [];
    if(population &amp;&amp; population != this._population) {
      changes.push({population: true});
      this.population = population;
    }
    if(citizens &amp;&amp; citizens != this._priests) {
      changes.push({citizens: true});
      this.citizens = citizens;
    }
    if(priests &amp;&amp; priests != this._priests) {
      changes.push({priests: true});
      this.priests = priests;
    }
  },
  updateWorkerData    : function(resourceName, workers) {
  },
  updatePriests       : function(newCount) {
  },
  updateCulturalGoods : function(newCount) {
  },
  get population() {
    return this._population
  },
  set population(newVal) {
    this._population = newVal;
    this._popChanged = $.now()
  },
  get citizens() {
    return this._citizens
  },
  set citizens(newVal) {
    this._citizens = newVal;
    this._citizensChanged = $.now()
  },
  get priests() {
    return this._priests
  },
  set priests(newVal) {
    this._priests = newVal;
    this._priestsChanged = $.now()
  }
};

function City(id) {
  this._id = id || 0;
  this._name = &#39;&#39;;
  this._resources = {
    gold  : new Resource(this, Constant.Resources.GOLD),
    wood  : new Resource(this, Constant.Resources.WOOD),
    wine  : new Resource(this, Constant.Resources.WINE),
    marble: new Resource(this, Constant.Resources.MARBLE),
    glass : new Resource(this, Constant.Resources.GLASS),
    sulfur: new Resource(this, Constant.Resources.SULFUR)
  };
  this._capacities = {
    capacity : 0,
    safe     : 0,
    buildings: {
      dump     : {storage: 0, safe: 0},
      warehouse: {storage: 0, safe: 0},
      townHall : {storage: 2500, safe: 100}
    },
    invalid  : true
  };
  this._tradeGoodID = 0;
  this.knownTime = $.now();
  this._lastPopUpdate = $.now();
  this._buildings = new Array(18);
  var i = this._buildings.length;
  while(i--) {
    this._buildings[i] = new Building(this, i)
  }
  this._research = new CityResearch(this);
  this.actionPoints = 0;
  this._actionPoints = 0;  
  this.maxSci = 0;
  this._coordinates = {x: 0, y: 0};
  this._islandID = null;

  this.population = new Population(this);
  this._population = 0;
  this._citizens = 0;  
  this._resourceWorkers = 0;
  this._tradeWorkers = 0;
  this._priests = 0;
  this._culturalGoods = 0;
  this._military = new Military(this);

  this.fleetMovements = {};
  this.militaryMovements = {};
  this.unitBuildList = [];

  this.goldIncome = 0;
  this.goldExpend = 0;

  this._pop = {currentPop: 0, maxPop: 0, satisfaction: {city: 196, museum: {cultural: 0, level: 0}, government: 0, tavern: {wineConsumption: 0, level: 0}, research: 0, priest: 0, total: 0}, happiness: 0, growth: 0};
  events(&#39;updateCityData&#39;).sub(this.updateCityDataFromAjax.bind(this));
  events(&#39;updateBuildingData&#39;).sub(this.updateBuildingsDataFromAjax.bind(this));
}

City.prototype = {
  init                       : function() {
    $.each(this._buildings, function(idx, building) {
      building.startUpgradeTimer()
    });
    this.military.init();
    $.each(this._resources, function(resourceName, resource) {
      resource.project()
    });
    events.scheduleActionAtInterval(function() {
      $.each(this._resources, function(resourceName, resource) {
        resource.project()
      }.bind(this))
    }.bind(this), 1000);
  },
  projectResource            : function(seconds) {
  },
  updateBuildingsDataFromAjax: function(id, position) {
    var changes = [];
    if(id == this.getId &amp;&amp; ikariam.viewIsCity) {
      if(position) {
        $.each(position, function(i, item) {
          var change = this.getBuildingFromPosition(i).update(item);
          if(change) changes.push(change);
        }.bind(this));
        if(changes.length) {
          this._capacities.invalid = true;
          events(Constant.Events.BUILDINGS_UPDATED).pub(id, changes)
        }
      }
    }
  },
  updateCityDataFromAjax     : function(id, cityData) {
    var resourcesChanged = false;
    var changes = {};
    if(id == this.getId) {
      try {
        var baseWineConsumption = 0, wineConsumption = 0;
        if($.inArray(cityData.wineSpendings, Constant.BuildingData[Constant.Buildings.TAVERN].wineUse) &gt; -1) {
          baseWineConsumption = cityData.wineSpendings;
          wineConsumption = (this.getBuildingFromName(Constant.Buildings.VINEYARD)) ? baseWineConsumption * ((100 - this.getBuildingFromName(Constant.Buildings.VINEYARD).getLevel) / 100) : baseWineConsumption;
        } else {
          wineConsumption = cityData.wineSpendings
        }
        this.updateTradeGoodID(parseInt(cityData.producedTradegood));
        resourcesChanged = this.updateResource(Constant.Resources.WOOD, cityData.currentResources[Constant.ResourceIDs.WOOD], cityData.resourceProduction, 0) || resourcesChanged;
        resourcesChanged = this.updateResource(Constant.Resources.WINE, cityData.currentResources[Constant.ResourceIDs.WINE], this.getTradeGoodID == Constant.ResourceIDs.WINE ? cityData.tradegoodProduction : 0, wineConsumption) || resourcesChanged;
        resourcesChanged = this.updateResource(Constant.Resources.MARBLE, cityData.currentResources[Constant.ResourceIDs.MARBLE], this.getTradeGoodID == Constant.ResourceIDs.MARBLE ? cityData.tradegoodProduction : 0, 0) || resourcesChanged;
        resourcesChanged = this.updateResource(Constant.Resources.GLASS, cityData.currentResources[Constant.ResourceIDs.GLASS], this.getTradeGoodID == Constant.ResourceIDs.GLASS ? cityData.tradegoodProduction : 0, 0) || resourcesChanged;
        resourcesChanged = this.updateResource(Constant.Resources.SULFUR, cityData.currentResources[Constant.ResourceIDs.SULFUR], this.getTradeGoodID == Constant.ResourceIDs.SULFUR ? cityData.tradegoodProduction : 0, 0) || resourcesChanged;
        this.knownTime = $.now();
	
		var $actionPointElem = $(&#39;#js_GlobalMenu_maxActionPoints&#39;);
	      if(cityData.maxActionPoints) {
          changes[&#39;actionPoints&#39;] = this.updateActionPoints(cityData.maxActionPoints || 0)
        } else {
          changes[&#39;actionPoints&#39;] = this.updateActionPoints(parseInt($actionPointElem.text()) || 0);
        }
        changes[&#39;coordinates&#39;] = this.updateCoordinates(parseInt(cityData.islandXCoord), parseInt(cityData.islandYCoord));
        if(ikariam.viewIsCity) {
          changes[&#39;name&#39;] = this.updateName(cityData.name);
          changes[&#39;population&#39;] = this.updatePopulation(cityData.currentResources[&#39;population&#39;]);
          changes[&#39;islandId&#39;] = this.updateIslandID(parseInt(cityData.islandId));
          changes[&#39;coordinates&#39;] = this.updateCoordinates(parseInt(cityData.islandXCoord), parseInt(cityData.islandYCoord));	  
        }
        if(ikariam.viewIsIsland) {
          changes[&#39;islandId&#39;] = this.updateIslandID(parseInt(cityData.id));
          changes[&#39;coordinates&#39;] = this.updateCoordinates(parseInt(cityData.xCoord), parseInt(cityData.yCoord));		  
        }
        changes[&#39;citizens&#39;] = this.updateCitizens(cityData.currentResources[&#39;citizens&#39;]);
        database.getGlobalData.addLocalisedString(&#39;cities&#39;, $(&#39;#js_GlobalMenu_cities&#39;).find(&#39;&gt; span&#39;).text());
        database.getGlobalData.addLocalisedString(&#39;ActionPoints&#39;, $actionPointElem.attr(&#39;title&#39;));
        if(cityData[&#39;gold&#39;]) {
          database.getGlobalData.finance.currentGold = parseFloat(cityData[&#39;gold&#39;])
        }
      } catch(e) {
        empire.error(&#39;fetchCurrentCityData&#39;, e)
      } finally {
        cityData = null
      }
      events(Constant.Events.CITY_UPDATED).pub(this.getId, changes);
      if(resourcesChanged) {
        events(Constant.Events.RESOURCES_UPDATED).pub(this.getId, resourcesChanged)
      }
    }
  },
  get getCorruption() {
    if (typeof this._corruption != &quot;function&quot;) {
      this._corruption = Utils.cacheFunction(function () {
      var h = 0;
      if (this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE) &amp;&amp; (this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE).getLevel / database.getCityCount != 1)) {
      h = Constant.GovernmentData[database.getGlobalData.getGovernmentType].governors;
      }	  
      return Math.max(0, 1 - ((this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE) ? this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE).getLevel : this.getBuildingFromName(Constant.Buildings.PALACE) ? this.getBuildingFromName(Constant.Buildings.PALACE).getLevel : 0) + 1) / database.getCityCount + Constant.GovernmentData[database.getGlobalData.getGovernmentType].corruption + h);
      }.bind(this), 1000);
    }
    return this._corruption();
  },
  get isCurrentCity() {
    return this.getId == ikariam.CurrentCityId
  },
  getResource                : function(name) {
    return this._resources[name]
  },
  updateResource             : function(resourceName, current, production, consumption) {
    return this.getResource(resourceName).update(current, production, consumption)
  },
  get getIncome() {
    var priestsGold = 0;
	priestsGold = Math.floor(this._priests * Constant.GovernmentData[database.getGlobalData.getGovernmentType].goldBonusPerPriest);
    return this._citizens * 3 + priestsGold
  },
  updateIncome               : function(value) {
  /*  if(Math.abs(this._citizens - value / 3) &gt; 2) {
      return this.updateCitizens((value / 3))
    }*/
    return false
  },
  get getExpenses() {
    return -1 * this._research.getResearchCost
  },
  updateExpenses             : function(value) {
    return this._research.updateCost(Math.abs(value))
  },
  get getBuildings() {
    return this._buildings
  },
  getBuildingsFromName       : function(name) {
    var ret = [];
    var i = this._buildings.length;
    while(i--) {
      if(this._buildings[i].getName == name) ret.push(this._buildings[i])
    }
    return ret
  },
  getBuildingFromName        : function(name) {
    var i = this._buildings.length;
    while(i--) {
      if(this._buildings[i].getName == name)
        return this._buildings[i];
    }
    return null
  },
  getBuildingFromPosition    : function(position) {
    return this._buildings[position]
  },
  get getTradeGood() {
    for(var resourceName in Constant.ResourceIDs) {
      if(this._tradeGoodID == Constant.ResourceIDs[resourceName]) {
        return Constant.Resources[resourceName]
      }
    }
    return null;
  },
  get getTradeGoodID() {
    return this._tradeGoodID
  },
  updateTradeGoodID          : function(value) {
    var changed = this._tradeGoodID != value;
    if(changed) {
      this._tradeGoodID = value;
    }
    return changed
  },
  updatePriests              : function(priests) { 
    var changed = this._priests != priests;
    this._priests = priests;
    return changed;
  },
  get getName() {
    return this._name
  },
  updateName                 : function(value) {
    var changed = this._name != value;
    if(changed) {
      this._name = value;
    }
    return changed
  },
  get getId() {
    return this._id
  },
  get research() {
    return this._research
  },
  updateResearchers          : function(value) {
    return this._research.updateResearchers(value)
  },
  updateResearchCost         : function(value) {
    return this._research.updateCost(value)
  },
  get garrisonland() {
    var i = 0, r = 0, t = 0;
    if(this.getBuildingFromName(Constant.Buildings.TOWN_HALL)) {
      i = this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel;
    }
	if(this.getBuildingFromName(Constant.Buildings.WALL)) {
      r = this.getBuildingFromName(Constant.Buildings.WALL).getLevel;
    }
	t = (i + r - 1)*50 + 300;
	return t
  },
  get garrisonsea() {
    var t = 0, n = 0, s = 0;
    if(this.getBuildingFromName(Constant.Buildings.TRADING_PORT)) {
      t = this.getBuildingFromName(Constant.Buildings.TRADING_PORT).getLevel;
    }
	if(this.getBuildingFromName(Constant.Buildings.SHIPYARD)) {
      s = this.getBuildingFromName(Constant.Buildings.SHIPYARD).getLevel;
    }
	n = t &gt; t ? t : t &gt; s ? t : s;
	return n * 25 + 125;
  },
    get plundergold() {
    var i = 0;
    if(this.getBuildingFromName(Constant.Buildings.PALACE)) {
      i = Math.floor(this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel) * 950;
    } else
    if(database.getCityCount == 1)	
      i = Math.floor(this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel) * 950;	
    return i
  },
  get maxculturalgood() {
    var i = 0;
    if(this.getBuildingFromName(Constant.Buildings.MUSEUM)) {
      i = this.getBuildingFromName(Constant.Buildings.MUSEUM).getLevel;
    }
	return i
  },
  get maxtavernlevel() {
    var i = 0;
    if(this.getBuildingFromName(Constant.Buildings.TAVERN)) {
      i = this.getBuildingFromName(Constant.Buildings.TAVERN).getLevel;
    }
	return  i
  },
  get tavernlevel() {
    if(this.getBuildingFromName(Constant.Buildings.TAVERN)) {
      var consumption = Math.floor(this.getResource(Constant.Resources.WINE).getConsumption * (100 / ( 100 - (this.getBuildingFromName(Constant.Buildings.VINEYARD) ? this.getBuildingFromName(Constant.Buildings.VINEYARD).getLevel : 0))));
      for(var i = 0; i &lt; Constant.BuildingData[Constant.Buildings.TAVERN].wineUse.length; i++) {
        if(Math.abs(Constant.BuildingData[Constant.Buildings.TAVERN].wineUse[i] - consumption) &lt;= 1) {
          break
        }
      }
    }
	return i &gt; 0 ? i: &#39;&#39;
  },
  get CorruptionCity() {
    var i = Math.max(0, 1 - ((this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE) ? this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE).getLevel: this.getBuildingFromName(Constant.Buildings.PALACE) ? this.getBuildingFromName(Constant.Buildings.PALACE).getLevel: 0) + 1) / database.getCityCount + Constant.GovernmentData[database.getGlobalData.getGovernmentType].corruption);
    var h = 0;
    if (this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE) &amp;&amp; (this.getBuildingFromName(Constant.Buildings.GOVERNORS_RESIDENCE).getLevel / database.getCityCount != 1)) {
    h = Constant.GovernmentData[database.getGlobalData.getGovernmentType].governors;
    }	
	return Math.floor(i * 100) + (h * 100)
  },		
  get maxAP() {
    var i = 0;
    if(this.getBuildingFromName(Constant.Buildings.TOWN_HALL)) { 
	    if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 1) i = 3
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 4) i = 4
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 8) i = 5
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 12) i = 6
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 16) i = 7
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 20) i = 8
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 24) i = 9	
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 28) i = 10
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 32) i = 11
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel &gt;= 36) i = 12
        if (this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel == 40) i = 13
    }
    return i
  },  
  get maxSci() {
    var i = 0;
    if (this.getBuildingFromName(Constant.Buildings.ACADEMY) ? this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel : &#39;&#39;) { 
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 0) i = 0
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 1) i = 8
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 2) i = 12
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 3) i = 16
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 4) i = 22
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 5) i = 28
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 6) i = 35
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 7) i = 43
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 8) i = 51
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 9) i = 60
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 10) i = 69
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 11) i = 79
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 12) i = 89
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 13) i = 100
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 14) i = 111
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 15) i = 122
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 16) i = 134
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 17) i = 146
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 18) i = 159
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 19) i = 172
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 20) i = 185
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 21) i = 198
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 22) i = 212
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 23) i = 227
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 24) i = 241
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 25) i = 256
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 26) i = 271
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 27) i = 287
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 28) i = 302
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 29) i = 318
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 30) i = 335
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 31) i = 351
        if (this.getBuildingFromName(Constant.Buildings.ACADEMY).getLevel == 32) i = 368
    }
    return ((this.getBuildingsFromName(Constant.Buildings.ACADEMY)) ? i : &#39;&#39;);
    },
  get iSci () {
	var i = &#39;&#39;;
    if(this.getBuildingFromName(Constant.Buildings.ACADEMY)) {
      i = 0;
    }
	return  i
	},
  get storageCapacity() {
    return null
  },
  get getAvailableActions() {
    return this._actionPoints
  },
  updateActionPoints         : function(value) {
    var changed = this._actionPoints != value;
    this._actionPoints = value;
    return changed
  },
  get getCoordinates() {
    return (this._coordinates ? [this._coordinates.x, this._coordinates.y] : null)
  },
  updateCoordinates          : function(x, y) {
    this._coordinates = {x: x, y: y};
    return false;
  },
  get getIslandID() {
    return this._islandID
  },
  updateIslandID             : function(id) {
    this._islandID = id;
    return false;
  },
  get getCulturalGoods() {
    return this._culturalGoods
  },
  updateCulturalGoods        : function(value) {
    var changed = this._culturalGoods !== value;
    if (changed) {
      this._culturalGoods = value;
    }
    return changed
  },
  get getIncomingResources() {
    return database.getGlobalData.getResourceMovementsToCity(this.getId)
  },
  get getIncomingMilitary() {
    return database.getGlobalData.getMilitaryMovementsToCity(this.getId)
  },
  get _getMaxPopulation() {
    var mPop = 0;
    if(this.getBuildingFromName(Constant.Buildings.TOWN_HALL)) {
      mPop = Math.floor((10 * Math.pow(this.getBuildingFromName(Constant.Buildings.TOWN_HALL).getLevel, 1.5))) * 2 + 40;
    }
    if(database.getGlobalData.getResearchTopicLevel(Constant.Research.Science.WELL_CONSTRUCTION) &amp;&amp; this.getBuildingFromName(Constant.Buildings.PALACE) || database.getCityCount == 1) {
      mPop += 50;
    }
    if(database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.UTOPIA) &amp;&amp; this.getBuildingFromName(Constant.Buildings.PALACE)) {
      mPop += 200
    }
    if(database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.HOLIDAY)) {
      mPop += 50;
    }
    mPop += database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.ECONOMIC_FUTURE) * 20;
    return mPop;
  },
  get military() {
    return this._military
  },
  get getAvailableBuildings() {
    var i = 16 + database.getGlobalData.getResearchTopicLevel(Constant.Research.Economy.BUREACRACY) + database.getGlobalData.getResearchTopicLevel(Constant.Research.Seafaring.PIRACY);
    $.each(this.getBuildings, function(idx, building) {
      i -= !building.isEmpty
    });
    return i
  },
  get maxResourceCapacities() {
    if(!this._capacities.invalid) {
      return this._capacities
    }
  	var lang = database.settings.languageChange.value;
    var ret = {};
    ret[Constant.Buildings.DUMP] = {storage: 0, safe: 0, lang: Constant.LanguageData[lang].dump_};
    ret[Constant.Buildings.WAREHOUSE] = {storage: 0, safe: 0, lang: Constant.LanguageData[lang].warehouse_};
    ret[Constant.Buildings.TOWN_HALL] = {storage: 2500, safe: 100, lang: Constant.LanguageData[lang].townhall_};
    $.each(this.getBuildingsFromName(Constant.Buildings.WAREHOUSE), function(i, building) {
      ret[Constant.Buildings.WAREHOUSE].storage += building.getLevel * 8000;
      ret[Constant.Buildings.WAREHOUSE].safe += building.getLevel * 480;
    });
    $.each(this.getBuildingsFromName(Constant.Buildings.DUMP), function(i, building) {
      ret[Constant.Buildings.DUMP].storage += building.getLevel * 32000
    });
    var capacity = 0;
    var safe = 0;
    for(var key in ret) {
      capacity += ret[key].storage;
      safe += ret[key].safe;
    }
    this._capacities = {
      capacity : capacity * (1 + (database.getGlobalData.hasPremiumFeature(Constant.Premium.STORAGECAPACITY_BONUS) * Constant.PremiumData[Constant.Premium.STORAGECAPACITY_BONUS].bonus)),
      safe     : safe * (1 + (database.getGlobalData.hasPremiumFeature(Constant.Premium.SAFECAPACITY_BONUS) * Constant.PremiumData[Constant.Premium.SAFECAPACITY_BONUS].bonus)),
      buildings: ret
    };
    return this._capacities;
  },
  get _getSatisfactionData() {
    var r = {
      city      : 196,
      museum    : {
        cultural: 0,
        level   : 0
      },
      government: 0,   
      tavern    : {
        wineConsumption: 0,
        level          : 0
      },
      research  : 0,
      priest    : 0,
      total     : 0
    };
    if(this.getBuildingFromName(Constant.Buildings.MUSEUM)) {
      r.museum.cultural = this.getCulturalGoods * 50;
      r.museum.level = this.getBuildingFromName(Constant.Buildings.MUSEUM).getLevel * 20;
    }
    r.government = Constant.GovernmentData[database.getGlobalData.getGovernmentType].happiness
                 + (Constant.GovernmentData[database.getGlobalData.getGovernmentType].happinessWithoutTemple * (this.getBuildingFromName(Constant.Buildings.TEMPLE) == undefined));
    if(this.getBuildingFromName(Constant.Buildings.TAVERN)) {
      r.tavern.level = this.getBuildingFromName(Constant.Buildings.TAVERN).getLevel * 12;
      var consumption = Math.floor(this.getResource(Constant.Resources.WINE).getConsumption * (100 / ( 100 - (this.getBuildingFromName(Constant.Buildings.VINEYARD) ? this.getBuildingFromName(Constant.Buildings.VINEYARD).getLevel : 0))));
      for(var i = 0; i &lt; Constant.BuildingData[Constant.Buildings.TAVERN].wineUse.length; i++) {
        if(Math.abs(Constant.BuildingData[Constant.Buildings.TAVERN].wineUse[i] - consumption) &lt;= 1) {
          r.tavern.wineConsumption = 60 * i ;
          break
        }
      }
    }
    r.research = (database.getGlobalData.getResearchTopicLevel(2080) * 25) + (database.getGlobalData.getResearchTopicLevel(2999) * 10) + (this.getBuildingFromName(Constant.Buildings.PALACE) ? 50 * database.getGlobalData.getResearchTopicLevel(3010) : 0) + (this.getBuildingFromName(Constant.Buildings.PALACE) ? 200 * database.getGlobalData.getResearchTopicLevel(2120) : 0) + (database.getCityCount == 1 ? 50 * database.getGlobalData.getResearchTopicLevel(3010) : 0) - (this.getBuildingFromName(Constant.Buildings.PALACE) &amp;&amp; database.getCityCount == 1 ? 50 * database.getGlobalData.getResearchTopicLevel(3010) : 0);
    r.priest = this._priests * 500 / this._getMaxPopulation * Constant.GovernmentData[database.getGlobalData.getGovernmentType].happinessBonusWithTempleConversion;
    r.priest = (r.priest &lt;= 150 ? r.priest : 150);
    r.city = 196;
    var total = 0;
    for(var n in r) {
      if(typeof r[n] === &#39;object&#39;) {
        for(var o in r[n]) {
          total += r[n][o];
        }
      } else {
        total += r[n];
      }
    }
    r.total = total;
    r.corruption = Math.round(this._population + this._pop.happiness -total);
    return r
  },
  updatePopulation           : function(population) {
    var changed = this._population != population;
    this._population = population;
    this._lastPopUpdate = $.now();
    return changed;
  },
  updateCitizens             : function(citizens) {
    var changed = this._citizens != citizens;
    this._citizens = citizens;
    this._lastPopUpdate = $.now();
    return changed;
  },
  projectPopData             : function(untilTime) {
    var plus = this._getSatisfactionData;
    var maxPopulation = this._getMaxPopulation;
    var happiness = (1 - this.getCorruption) * plus.total - this._population;
    var hours = ((untilTime - this._lastPopUpdate) / 3600000);
    var pop = this._population + happiness * (1 - Math.pow(Math.E, -(hours / 50)));
    pop = (pop &gt; maxPopulation) ? this._population &gt; maxPopulation ? this._population : maxPopulation : pop;
    happiness = (1 - this.getCorruption) * plus.total - pop;	
    this._citizens = this._citizens + pop - this._population;
    this._population = pop;
    this._lastPopUpdate = untilTime;
    var old = $.extend({}, this._pop);
    this._pop = {currentPop: pop, maxPop: maxPopulation, satisfaction: plus, happiness: happiness, growth: happiness * 0.02};
    if(Math.floor(old.currentPop) != Math.floor(this._pop.currentPop) || Math.floor(old.maxPop) != Math.floor(this._pop.maxPop) || Math.floor(old.happiness) != Math.floor(this._pop.happiness)) {
      events(Constant.Events.CITY_UPDATED).pub(this.getId, {population: true});
    }
  },
  get populationData() {
    return this._pop;
  },
  processUnitBuildList       : function() {
    var newList = [];
    for(var i = 0; i &lt; this.unitBuildList.length; i++) {
      var list = this.unitBuildList[i];
      if(list.completionTime &lt;= $.now()) {
        for(var uID in list.units) {
          var j = this.army.length;
        }
        while(j) {
          j--;
          if(uID == this.army[j].id) {
            this.army[uID] += list.units[uID]
          }
        }
      } else {
        newList.push(list);
      }
    }
    this.unitBuildList = newList;
  },
  clearUnitBuildList         : function(type) {
    if(type) {
      var newList = [];
      for(var i = 0; i &lt; this.unitBuildList.length; i++) {
        if(this.unitBuildList[i].type != type) {
          newList.push(this.unitBuildList[i]);
        }
      }
    }
    this.unitBuildList = newList;
  },
  getUnitBuildsByUnit        : function() {
    var ret = {};
    for(var i = 0; i &lt; this.unitBuildList.length; i++) {
      for(var uID in this.unitBuildList[i].units) {
        ret[uID] = ret[uID] || [];
        ret[uID].push({
          count         : this.unitBuildList[i].units[uID],
          completionTime: this.unitBuildList[i].completionTime})
      }
    }
    return ret;
  },
  getUnitTransportsByUnit    : function() {
    var ret = {};
    var data = database.getGlobalData.militaryMovements[this.getId];
    if(data) {
      for(var row in data) {
        for(var uID in data[row].troops) {
          ret[uID] = ret[uID] || [];
          ret[uID].push({
            count      : data[row].troops[uID],
            arrivalTime: data[row].arrivalTime,
            origin     : data[row].originCityId})
        }
      }
    }
    return ret;
  },
  get isCapital() {
    return this.getBuildingFromName(Constant.Buildings.PALACE) !== null
  },
  get isColony() {
    return this.getBuildingFromName(Constant.Buildings.PALACE) === null
  },
  get isUpgrading() {
    var res = false;
    $.each(this.getBuildings, function (idx, building) {
      res = res || building.isUpgrading;
    });
    return res
  }
};
function GlobalData() {
    this._version = {
        lastUpdateCheck : 0,
        latestVersion   : null,
        installedVersion: 0
    };
    this._research = {
        topics    : {},
        lastUpdate: 0
    };
    this.governmentType = &#39;ikakratie&#39;;
    this.fleetMovements = [];
    this.militaryMovements = [];
    this.finance = {
        armyCost     : 0,
        armySupply   : 0,
        fleetCost    : 0,
        fleetSupply  : 0,
        currentGold  : 0,
        sigmaExpenses: function() {
            return this.armyCost + this.armySupply + this.fleetCost + this.fleetSupply
        },
        sigmaIncome  : 0,
        lastUpdated  : 0
    };
    this.localStrings = {};
		this.premium = {}
}

    GlobalData.prototype = {
        init                       : function() {
		var lang = database.settings.languageChange.value;
          $.each(Constant.LanguageData[lang], this.addLocalisedString.bind(this)); 	  
            $.each(this.fleetMovements, function(key, movement) {
                this.fleetMovements[key] = new Movement(movement);
                this.fleetMovements[key]._updateTimer = null;
                this.fleetMovements[key].startUpdateTimer();
            }.bind(this));
        },
	      hasPremiumFeature: function(feature){
			      return this.premium[feature]?this.premium[feature].endTime &gt; $.now() || this.premium[feature].continuous:false
	      },
	      setPremiumFeature:function(feature, endTime, continuous){
          var ret =  !this.hasPremiumFeature(feature) &amp;&amp; endTime &gt; $.now();
		      this.premium[feature] = {endTime:endTime, continuous:continuous};
          return ret
	      },
	      getPremiumTimeRemaining :function(feature){
		      return this.premium[feature]?this.premium[feature].endTime &gt; $.now():0;
	      },
		    getPremiumTimeContinuous :function(feature){
			    return this.premium[feature]?this.premium[feature].continuous:false
		    },
        removeFleetMovement        : function(id) {
            var index = -1;
            $.each(this.fleetMovements, function(i, movement) {
                if(movement.getId == id) {
                    this.fleetMovements.splice(i, 1);
                    return false;
                }
            }.bind(this))
        },
        addFleetMovement           : function(transport) {
            try {
                this.fleetMovements.push(transport);
                transport.startUpdateTimer();
                this.fleetMovements.sort(function(a, b) {
                    return a.getArrivalTime - b.getArrivalTime
                });
                var changes = [];

                $.each(transport.getResources, function(resourceName, value) {
                    changes.push(resourceName)
                });
                return changes
            } catch(e) {
                empire.error(&#39;addFleetMovement&#39;, e);
            }
        },
        getMovementById            : function(id) {
            for(var i in this.fleetMovements) {
                if(this.fleetMovements[i].getId == id) {
                    return this.fleetMovements[i]
                }
            }
            return false;
        },
        clearFleetMovements        : function() {
            var changes = [];
            $.each(this.fleetMovements, function(index, item) {
                changes.push(item.getTargetCityId);
                item.clearUpdateTimer();
            });
            this.fleetMovements.length = 0;
            return $.exclusive(changes)
        },
        getResourceMovementsToCity : function(cityID) {
            return this.fleetMovements.filter(function(el) {
                if(el.getTargetCityId == cityID) {
                    return (el.getMission == &#39;trade&#39; || el.getMission == &#39;transport&#39; || el.getMission == &#39;plunder&#39;)
                }
            });
        },
        getMilitaryMovementsToCity: function(cityID) {
            return this.fleetMovements.filter(function(el) {
                if(el.getOriginCityId == cityID) {
                    return (el.getMission != &#39;trade&#39; &amp;&amp; el.getMission != &#39;transport&#39; &amp;&amp; el.getMission == &#39;plunder&#39; &amp;&amp; el.getMission == &#39;deploy&#39;) 
					}
            });
        },
        getResearchTopicLevel      : function(research) {
            return this._research.topics[research] || 0;
        },
        updateResearchTopic        : function(topic, level) {
            var changed = this.getResearchTopicLevel(topic) != level;
            this._research.topics[topic] = level;
            return changed;
        },
        get getGovernmentType() {
            return this.governmentType
        },
        getLocalisedString         : function(string) {
            var lString;
            lString = this.localStrings[string.replace(/([A-Z])/g, &quot;_$1&quot;).toLowerCase()];
            if(lString == undefined)
                lString = this.localStrings[string.toLowerCase().split(&#39; &#39;).join(&#39;_&#39;)];
            return (lString == undefined) ? string : lString;
        },
        addLocalisedString         : function(string, value) {
            if(this.getLocalisedString(string) == string)
                this.localStrings[string.toLowerCase().split(&#39; &#39;).join(&#39;_&#39;)] = value;
        },		
        isOldVersion               : function() {
            return this._version.latestVersion &lt; this._version.installedVersion;
        }
    };
  function Setting(name) {
    this._name = name;
    this._value = null
  }
  Setting.prototype = {
    get name() {
      return database.getGlobalData.getLocalisedString(this._name);
    },
    get type() {
      return Constant.SettingData[this._name].type
    }, 
    get description() {
      return database.getGlobalData.getLocalisedString(this._name + &#39;_description&#39;);
    },
    get value() {
      return (this._value!=null?this._value:Constant.SettingData[this._name].default)
    },
    get categories() {
      return Constant.SettingData[this._name].categories
    },
    get choices() {
      return Constant.SettingData[this._name].choices || false
    },
    get selection() {
      return Constant.SettingData[this._name].selection || false
    },
    set value(value) {
      if (this.type === &#39;boolean&#39;) {
        this._value = !!value;
      }
      else if (this.type === &#39;number&#39;) {
        if (!isNaN(value)) {
          this._value = value
        }
      }
      else if (this.type === &#39;buildings&#39;) {
        if (!isNaN(value)) {
          this._value = value
        }
      }
	  else if (this.type === &#39;language&#39;) {		 
        this._value = value;
      }	  
      else if (this.type === &#39;array&#39; || this.type === &#39;orderedList&#39;) {
        if (Object.prototype.toString.call(value) === &#39;[object Array]&#39;) {
          this._value = value
        }
      }
    }, 
    toJSON:function () {
      return {value:this._value}
    }};
/***********************************************************************************************************************
 * empire
 **********************************************************************************************************************/
var empire = {
  version        : 1.164,
  scriptId       : 138078,
  scriptName     : &#39;Empire Overview&#39;,
  logger         : null,
  loaded         : false,
  log            : function(val) {
    if(debug) console.log(&#39;empire: &#39;, $.makeArray(arguments));
    if(log) {
      if(this.logger) {
        this.logger.val(val + &#39;\n&#39; + this.logger.val());
        return true
      } else {
        render.$tabs.append($(document.createElement(&quot;div&quot;)).attr(&#39;id&#39;, &#39;empire_Log&#39;));
        $(&#39;#empire_Log&#39;).html(&#39;&lt;div&gt;&lt;textarea id=&quot;empire_Logbox&quot; rows=&quot;20&quot; cols=&quot;120&quot;&gt;&lt;/textarea&gt;&lt;/div&gt;&#39;);
        $(&#39;&lt;li&gt;&lt;a href=&quot;#empire_Log&quot;&gt;&lt;img class=&quot;ui-icon ui-icon-info&quot;/&gt;&lt;/a&gt;&lt;/li&gt;&#39;).appendTo(&quot;#empire_Tabs .ui-tabs-nav&quot;);
        render.$tabs.tabs(&#39;refresh&#39;);
        this.logger = $(&#39;#empire_Logbox&#39;);
        return this.log(val)
      }
    }
  },
  error          : function(func, e) {
    this.log(&#39;****** Error raised in &#39; + func + &#39; ******&#39;);
    this.log(e.name + &#39; : &#39; + e.message);
    this.log(e.stack);
    this.log(&#39;****** End ******&#39;);
    if(debug) {
      console.error(&#39;****** Error raised in &#39; + func + &#39; ******&#39;);
      console.error(e.name + &#39; : &#39; + e.message);
      console.error(e.stack);
      console.error(&#39;****** End ******&#39;)
    }
  },
  time : function(func, name){
    timing &amp;&amp; console.time(name);
    var ret = func();
    timing &amp;&amp; console.timeEnd(name);
    return ret
  },
  Init           : function() {
    ikariam.Init();
    render.Init();
    database.Init(ikariam.Host());
    this.CheckForUpdates(false);
    GM_registerMenuCommand(this.scriptName + &#39; - Manual Update&#39;, function() {
      empire.CheckForUpdates(true);
    });

  },

  CheckForUpdates: function(forced) {
    var lang = database.settings.languageChange.value;
    if((forced) || ((database.getGlobalData.LastUpdateCheck + 86400000 &lt;= $.now()) &amp;&amp; database.settings.autoUpdates.value)) 
    {
      try {
        GM_xmlhttpRequest({
          method : &#39;GET&#39;,
          url    : &#39;http://userscripts.org:8080/scripts/source/&#39; + empire.scriptId + &#39;.meta.js?&#39; + $.now(),
          headers: {&#39;Cache-Control&#39;: &#39;no-cache&#39;},
          onload : function(resp) {
            var remote_version, rt;
            rt = resp.responseText;
            database.getGlobalData.LastUpdateCheck = $.now();
            remote_version = parseFloat(/@version\s*(.*?)\s*$/m.exec(rt)[1]);
            if(empire.version != -1) {
              if(remote_version &gt; empire.version) {
                if(confirm(Constant.LanguageData[lang].alert_update + empire.scriptName + &#39;&quot;. \n&#39; + Constant.LanguageData[lang].alert_update1)) {
                  GM_openInTab(&#39;http://userscripts.org:8080/scripts/show/&#39; + empire.scriptId);
                }
              } else if(forced)
                render.toast(Constant.LanguageData[lang].alert_noUpdate + empire.scriptName + &#39;&quot;.&#39;);
            }
            database.getGlobalData.latestVersion = remote_version;
          }
        });
      } catch(err) {
        if(forced)
          render.toast(Constant.LanguageData[lang].alert_error +&#39;\n&#39; + err);
      }
    }
  },
  HardReset      : function() {
    var lang = database.settings.languageChange.value;
    database = {};
    empire.deleteVar(&quot;settings&quot;);
    empire.deleteVar(&quot;Options&quot;); 
    empire.deleteVar(&quot;options&quot;);
    empire.deleteVar(&quot;cities&quot;);
    empire.deleteVar(&quot;LocalStrings&quot;);
    empire.deleteVar(&quot;globalData&quot;);
    render.toast(Constant.LanguageData[lang].alert_toast);
    setTimeout(function() {
      document.location = document.getElementById(&#39;js_cityLink&#39;).children[0].href
    }, 3500);
  },
	setVar : function(varname, varvalue) {
		GM_setValue(ikariam.Host() + varname, varvalue);
	},
	deleteVar : function(varname) {
		GM_deleteValue(ikariam.Host() + varname);
	},
	getVar : function(varname, vardefault) {
		var ret = GM_getValue(ikariam.Host() + varname);
		if(ret == undefined) {
			return vardefault;
		}
		return ret;
	}
};
/***********************************************************************************************************************
 * database
 **********************************************************************************************************************/
 var database = {
  _globalData           : new GlobalData(),
  cities                : {},
  settings              : {
    version             : empire.version,
    window              : {
      left     : 110,
      top      : 200,
      activeTab: 0,
      visible  : true
    },
    addOptions            : function(objVals) {
      return $.mergeValues(this, objVals);
    }
  },
  Init                  : function(host) {
    $.each(Constant.Settings, function(key, value){
      this.settings[value] = new Setting(value);
    }.bind(database))
    var prefix = host;
    prefix = prefix.replace(&#39;.ikariam.gameforge.&#39;, &#39;-&#39;);
    prefix = prefix.replace(&#39;.&#39;, &#39;-&#39;);
    this.Prefix = prefix;
    this.Load();
    events(Constant.Events.LOCAL_STRINGS_AVAILABLE).sub(ikariam.getLocalizationStrings.bind(this));
    $(window).on(&quot;beforeunload&quot;, function() {
      setTimeout(function() {
        database.Save();
      }, 0);
    });
  },
  addCity               : function(id, a) {
    if(a) {
      return $.mergeValues(new City(id), a);
    } else return new City(id);
  },
  get getBuildingCounts() {
    var buildingCounts = {};
    $.each(this.cities, function(cityId, city) {
      $.each(Constant.Buildings, function(key, value) {
        if(database.settings.alternativeBuildingList.value &amp;&amp; (value == &#39;&#39;)) {
       }
        if(database.settings.compressedBuildingList.value &amp;&amp; (value == Constant.Buildings.WINERY || value == Constant.Buildings.STONEMASON || value == Constant.Buildings.GLASSBLOWER || value == Constant.Buildings.ALCHEMISTS_TOWER)) {
          buildingCounts[&#39;productionBuilding&#39;] = Math.max(buildingCounts[&#39;productionBuilding&#39;] || 0, city.getBuildingsFromName(value).length)
        } else if(database.settings.compressedBuildingList.value &amp;&amp; (value == Constant.Buildings.GOVERNORS_RESIDENCE || value == Constant.Buildings.PALACE)) {
          buildingCounts[&#39;colonyBuilding&#39;] = Math.max(buildingCounts[&#39;colonyBuilding&#39;] || 0, city.getBuildingsFromName(value).length)
        } else {
          buildingCounts[value] = Math.max(buildingCounts[value] || 0, city.getBuildingsFromName(value).length)
        }
      })
    });
    return buildingCounts
  },
  startMonitoringChanges: function() {
    events(Constant.Events.BUILDINGS_UPDATED).sub(this.Save.bind(this));
    events(Constant.Events.GLOBAL_UPDATED).sub(this.Save.bind(this));
    events(Constant.Events.MOVEMENTS_UPDATED).sub(this.Save.bind(this));
    events(Constant.Events.RESOURCES_UPDATED).sub(this.Save.bind(this));
    events(Constant.Events.MILITARY_UPDATED).sub(this.Save.bind(this));
    events(Constant.Events.PREMIUM_UPDATED).sub(this.Save.bind(this));
  },
  Load                  : function() {
    var settings = this.UnSerialize(empire.getVar(&quot;settings&quot;, &quot;&quot;));
    if(typeof settings === &#39;object&#39;) {
      if(!this.isDatabaseOutdated(settings.version)) {

        $.mergeValues(this.settings, settings);

        var globalData = this.UnSerialize(empire.getVar(&quot;globalData&quot;, &quot;&quot;));
        if (globalData.governmentType == &#39;&#39;) globalData.governmentType = &#39;ikakratie&#39;;
        if(typeof globalData == &#39;object&#39;) {
          $.mergeValues(this._globalData, globalData);

        }
        var cities = this.UnSerialize(empire.getVar(&quot;cities&quot;, &quot;&quot;));
        if(typeof cities == &#39;object&#39;) {
          for(var cityID in cities) {
            (this.cities[cityID] = this.addCity(cities[cityID]._id, cities[cityID])).init()
          }
        }
      }
      this._globalData.init();
    }
      events(Constant.Events.DATABASE_LOADED).pub();
  },
  Serialize             : function(data) {
    if(data)
      try {
        var ret = JSON.stringify(data)
      } catch(e) {
        empire.log(&#39;error saving&#39;)
      }
    return ret || undefined;
  },
  UnSerialize           : function(data) {
    if(data)
      try {
        var ret = JSON.parse(data)
      } catch(e) {
        empire.log(&#39;error loading&#39;)
      }
    return ret || undefined;
  },
  Save                  : function() {
    events.scheduleAction(function() {
      empire.setVar(&quot;cities&quot;, database.Serialize(database.cities));
      empire.setVar(&quot;settings&quot;, database.Serialize(database.settings));
      empire.setVar(&quot;globalData&quot;, database.Serialize(database._globalData));
    })

  },
  get getGlobalData() {
    return this._globalData
  },
  isDatabaseOutdated    : function(version) {
    return 1.160 &gt; (version || 0);
  },
  getCityFromId         : function(id) {
    return this.cities[id] || null
  },
  get getArmyTotals() {
    if(!this._armyTotals) {
      this._armyTotals = Utils.cacheFunction(this._getArmyTotals.bind(database), 1000)
    }
    return this._armyTotals()
  },
  _getArmyTotals: function() {
    var totals = {};
    $.each(Constant.UnitData, function(unitId, info) {
      totals[unitId] = {training: 0, total: 0, incoming: 0, plunder: 0};
    });
    $.each(this.cities, function(cityId, city) {
      var train = city.military.getTrainingTotals;
      var incoming = city.military.getIncomingTotals;
      var total = city.military.getUnits.totals;
      $.each(Constant.UnitData, function(unitId, info) {
        totals[unitId].training += train[unitId] || 0;
        totals[unitId].total += total[unitId] || 0;
        totals[unitId].incoming += incoming[unitId] || 0;
       // totals[unitId].plunder += plunder[unitId] || 0;		
      });
    });
    return totals
  },
  get getCityCount (){
    return Object.keys(this.cities).length
  },
  _getArmyTrainingTotals :function(){
  }
};
/***********************************************************************************************************************
 * render view
 **********************************************************************************************************************/

var render = {
  mainContentBox                : null,
  $tabs                         : null,
  cityRows                      : {
    building: {},
    resource: {},
    army    : {}
  },
  _cssResLoaded                 : false,
  toolTip                       : {
    elem : null,
    timer: null,
    hide : function() {
      render.toolTip.elem.parent().hide()
    },
    show : function() {
      render.toolTip.elem.parent().show()
    },

    mouseOver : function(event) {
      if(render.toolTip.timer) {
        render.toolTip.timer()
      }
      var f = function(shiftKey) {
        return function() {
          var elem;
          elem = $(event.target).attr(&#39;data-tooltip&#39;) ? event.target : $(event.target).parents(&#39;[data-tooltip]&#39;);

          render.toolTip.elem.html(render.toolTip.dynamicTip($(event.target).parents(&#39;tr&#39;).attr(&#39;id&#39;) ? $(event.target).parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop() : 0, elem));
          return render.toolTip.elem.html()
        }
      }(event.originalEvent.shiftKey);
      if(f(event.originalEvent.shiftKey)) {
        render.toolTip.show();
        render.toolTip.timer = events.scheduleActionAtInterval(f, 1000);
      }
    },
    mouseMove : function(event) {
      if(render.toolTip.timer &amp;&amp; render.toolTip.elem) {
        var l = parseInt(render.mainContentBox.css(&#39;left&#39;).split(&#39;px&#39;)[0]);
        var t = parseInt(render.mainContentBox.css(&#39;top&#39;).split(&#39;px&#39;)[0]);
        var x = event.pageX - 15 - l;
        var y = event.pageY + 20 - t;

        if(render.mainContentBox.height() - render.toolTip.elem.height() &lt; y) {
          y = event.pageY - render.toolTip.elem.height() - 15 - t
        }
        if(render.mainContentBox.width() - render.toolTip.elem.width() &lt; x) {
          x = event.pageX - render.toolTip.elem.width() + 15 - l
        }
        render.toolTip.elem.parent().css({
          left: (x) + &#39;px&#39;,
          top : (y) + &#39;px&#39;
        });
      }
    },
    mouseOut  : function(event) {
      if(render.toolTip.timer) {
        render.toolTip.timer();
        render.toolTip.timer = null
      }
      render.toolTip.hide()
    },
    init      : function() {
      render.toolTip.elem = render.mainContentBox.append($(&#39;&lt;div id=&quot;empireTip&quot; style=&quot;z-index: 999999999;&quot;&gt;&lt;div class=&quot;content&quot;&gt;&lt;/div&gt;&lt;/div&gt;&#39;)).find(&#39;div.content&#39;);
      render.mainContentBox.on(&#39;mouseover&#39;, &#39;[data-tooltip]&#39;, render.toolTip.mouseOver).on(&#39;mousemove&#39;, &#39;[data-tooltip]&#39;, render.toolTip.mouseMove).on(&#39;mouseout&#39;, &#39;[data-tooltip]&#39;, render.toolTip.mouseOut);
    },
		
    dynamicTip: function(id, elem) {
  	  var lang = database.settings.languageChange.value;	
      var $elem = $(elem);
      if($elem.attr(&#39;data-tooltip&#39;) === &quot;dynamic&quot;) {
        var tiptype = $elem.attr(&#39;class&#39;).split(&quot; &quot;)
      } else {
        return $elem.attr(&#39;data-tooltip&#39;) || &#39;&#39;;
      }
      var city = database.getCityFromId(id);
      var resourceName;
      if(city) {
        resourceName = $elem.is(&#39;td&#39;) ? $elem.attr(&#39;class&#39;).split(&#39; &#39;).pop() : $elem.parent(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop()
      }
      var total;
      switch(tiptype.shift()) {
        case &quot;incoming&quot;:
          return getIncomingTip();
          break;
        case &quot;current&quot;:
          return &#39;&#39;;
          break;
        case &quot;progressbar&quot;:
          if(resourceName !== Constant.Resources.GOLD) 		
          return getProgressTip();		  
          break;
        case &quot;total&quot;:
          switch($elem.attr(&#39;id&#39;).split(&#39;_&#39;).pop()) {
            case &quot;sigma&quot;:
              return getResourceTotalTip();
              break;
            case &quot;goldincome&quot;:
              return getGoldIncomeTip();
              break;
            case &quot;research&quot;:
              var researchDat;
              $.each(database.cities, function(cityId, city) {
                if (researchDat){
                  $.each(city.research.researchData,function(key, value){
                    researchDat[key] += value;
                  })
                }
                else researchDat = $.extend({}, city.research.researchData);
              });
              return getResearchTip(researchDat);
              break;
            case &quot;army&quot;:
              return &quot;soon&quot;;
              break;
            case &quot;wineincome&quot;:
              total = 0;
              var consumption = 0;
              resourceName = $elem.attr(&#39;id&#39;).split(&#39;_&#39;).pop().split(&#39;income&#39;).shift();
              $.each(database.cities, function(cityId, c) {
                total += c.getResource(resourceName).getProduction;
                consumption += c.getResource(resourceName).getConsumption;
              });
              return getProductionConsumptionSubSumTip(total * 3600, consumption, true);
              break;
            default :
              total = 0;
              resourceName = $elem.attr(&#39;id&#39;).split(&#39;_&#39;).pop().split(&#39;income&#39;).shift();
              $.each(database.cities, function(cityId, c) {
                total += c.getResource(resourceName).getProduction
              });
              return getProductionTip(total * 3600);
              break;
          }
        case &quot;pop&quot;:
          return getPopulationTip();
          break;
        case &quot;happy&quot;:   
          return getGrowthTip();
          break;
        case &quot;garrisonlimit&quot;:
          return getActionPointsTip(); 
          break;
        case &quot;prodconssubsum consumption Red&quot;:   
          return getFinanceTip();
          break;		  
        case &quot;scientists&quot;:
          return getResearchTip();
          break;
		case &quot;prodconssubsum&quot;:
		  return resourceName === Constant.Resources.GOLD ? getFinanceTip() : getProductionConsumptionSubSumTip(city.getResource(resourceName).getProduction * 3600, city.getResource(resourceName).getConsumption);
		  break;
        case &quot;building&quot;:
          var bName = tiptype.shift(); 
          var index = parseInt(bName.slice(-1)); 
          bName = bName.slice(0, -1);
          return getBuildingTooltip(city.getBuildingsFromName(bName)[index]);
        case &quot;army&quot;:
          switch(tiptype.shift()) {
            case &quot;unit&quot;:
              return &#39;&#39;;
              break;
            case &quot;movement&quot;:
              return getArmyMovementTip(tiptype.pop());			  
              break;
            case &quot;incoming&quot;:
              return getIncomeMovementTip(tiptype.pop());			  
              break;
         /*   case &quot;plunder&quot;:
              return getPlunderMovementTip(tiptype.pop());			  
              break	*/		  
          }
          break;
        default :
          return &quot;&quot;;
          break;
      }
      function getGoldIncomeTip() {
        var researchCost = 0;
        var income = 0;
        var sigmaIncome = 0;		
        $.each(database.cities, function(cityID, city) {  
          researchCost += Math.floor(city.getExpenses);
          income += Math.floor(city.getIncome);		  	  
        });
        var expense = database.getGlobalData.finance.armyCost + database.getGlobalData.finance.armySupply + database.getGlobalData.finance.fleetCost + database.getGlobalData.finance.fleetSupply - researchCost;
        sigmaIncome	= income - expense;			
        return &#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_upkeep.png&quot; style=&quot;height: 14px;&quot;&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;1 &#39;+ Constant.LanguageData[lang].hour +&#39;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;1 &#39;+ Constant.LanguageData[lang].day +&#39;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt; 1 &#39; + Constant.LanguageData[lang].week +&#39;&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n    &lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;&lt;b&gt;-&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td&gt; &#39; + Utils.FormatNumToStr(database.getGlobalData.finance.armyCost, false, 0) + &#39; &lt;/td&gt;\n        &lt;td&gt; &#39; + Utils.FormatNumToStr(database.getGlobalData.finance.armyCost * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt; &#39; + Utils.FormatNumToStr(database.getGlobalData.finance.armyCost * 24 * 7, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].army_cost +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;&lt;b&gt;-&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td class=&quot;nolf&quot;&gt; &#39; + Utils.FormatNumToStr(database.getGlobalData.finance.fleetCost, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.fleetCost * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.fleetCost * 24 * 7, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].fleet_cost +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;&lt;b&gt;-&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td class=&quot;nolf&quot;&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.armySupply, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.armySupply * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.armySupply * 24 * 7, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].army_supply +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;&lt;b&gt;-&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td class=&quot;nolf&quot;&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.fleetSupply, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.fleetSupply * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(database.getGlobalData.finance.fleetSupply * 24 * 7, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].fleet_supply +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;&lt;b&gt;-&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td class=&quot;nolf&quot;&gt;&#39; + Utils.FormatNumToStr(researchCost, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(researchCost * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(researchCost * 24 * 7, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].research_cost +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr style=&quot;border-top:1px solid #FFE4B5&quot;&gt;\n        &lt;td&gt;&lt;b&gt;+&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td class=&quot;nolf&quot;&gt;&#39; + Utils.FormatNumToStr(income, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(income * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(income * 7 * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].income +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;&lt;b&gt;-&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n        &lt;td class=&quot;nolf&quot;&gt;&#39; + Utils.FormatNumToStr(expense, false, 0) + &#39;&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&#39; + Utils.FormatNumToStr(expense * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr(expense * 24 * 7, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].expenses +&#39;&lt;/i&gt;&lt;/td&gt;&lt;/tbody&gt;&lt;tfoot&gt;\n    &lt;/tr&gt;\n    &lt;tr  class=&quot;total&quot;&gt;\n        &lt;td&gt;&lt;b&gt;Σ &#39; + ((sigmaIncome &gt; 0) ? &#39;+&amp;nbsp;&#39; : &#39;-&amp;nbsp;&#39;) + &#39;&lt;/b&gt;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr((sigmaIncome), false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr((sigmaIncome) * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&#39; + Utils.FormatNumToStr((sigmaIncome) * 7 * 24, false, 0) + &#39;&lt;/td&gt;\n        &lt;td&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].balances +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;/tfoot&gt;\n&lt;/table&gt;&#39;
      }
      function getArmyMovementTip(unit) { 
        var total = 0;
        var table = &#39;&lt;table&gt;\n    &lt;thead&gt;\n        &lt;th colspan=&quot;3&quot;&gt;&lt;div align=&quot;center&quot;&gt;&lt;img src=&quot;{0}&quot; style=&quot;height: 18px; float: left&quot;&gt;&lt;/td&gt;\n        &lt;b&gt;&#39;+ Constant.LanguageData[lang].training +&#39;&lt;/b&gt;&lt;/div&gt;&lt;/th&gt;\n        \n    &lt;/thead&gt;\n    &lt;tbody&gt;\n{1}\n    &lt;/tbody&gt;&lt;tfoot&gt;&lt;tr class=&quot;small&quot;&gt;\n        &lt;td&gt;&lt;b&gt;Σ +&lt;/b&gt;&lt;/td&gt;\n        &lt;td&gt;{2}&lt;/td&gt;\n        &lt;td class=&quot;left&quot;&gt;&lt;i&gt;« &#39;+ Constant.LanguageData[lang].total_ +&#39;&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;/tfoot&gt;\n&lt;/table&gt;&#39;;
        var rows = &#39;&#39;;
        $.each(city.military.getTrainingForUnit(unit), function(index, data) {
          rows += Utils.format(&#39;&lt;tr class=&quot;data&quot;&gt;\n    &lt;td&gt;&lt;b&gt;+&lt;/b&gt;&lt;/td&gt;\n    &lt;td &gt;{0}&lt;/td&gt;\n    &lt;td &gt;&lt;i&gt;« {1}&lt;/i&gt;&lt;/td&gt;\n&lt;/tr&gt;&#39;, [data.count, Utils.FormatTimeLengthToStr(data.time - $.now(), 3)]);
          total += data.count;
        });

        if(rows === &#39;&#39;) {
          return &#39;&#39;
        } else {
          return Utils.format(table, [getImage(unit), rows, total])
        }
      }  
      function getPopulationTip() {
        var populationData = city.populationData;
        var popDiff = populationData.maxPop-populationData.currentPop;
        var populationTip = &#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th colspan=&quot;2&quot;&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_population.png&quot; style=&quot;height: 15px; float: left&quot;&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;/div&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n &#39; +
		                    &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{1}&lt;/td&gt;\n        &lt;td&gt;« {6}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
			             	&#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{2}&lt;/td&gt;\n        &lt;td&gt;« {0}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
			            	&#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{3}&lt;/td&gt;\n        &lt;td&gt;« {8}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
				            &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{4}&lt;/td&gt;\n        &lt;td&gt;« {7}&lt;/td&gt;\n    &lt;/tr&gt;&lt;/tbody&gt;\n&#39; +
				            &#39;&lt;tr class=&quot;data&quot;&gt;&lt;tfoot&gt;\n        &lt;td&gt;{5}&lt;/td&gt;\n        &lt;td&gt;« {9}&lt;/td&gt;\n    &lt;/tr&gt;\n&lt;/tfoot&gt;&lt;/table&gt;&#39;;
        return Utils.format(populationTip, [Constant.LanguageData[lang].citizens, Utils.FormatNumToStr(populationData.maxPop, false, 0), Utils.FormatNumToStr(populationData.currentPop, false, 0), Utils.FormatNumToStr(city._citizens, false, 0), ((popDiff == 0) ? Constant.LanguageData[lang].full : Utils.FormatNumToStr(popDiff, false, 2)), ((popDiff == 0) ? Constant.LanguageData[lang].full : Utils.FormatTimeLengthToStr((popDiff)/populationData.growth * 3600000, 2)), Constant.LanguageData[lang].housing_space, Constant.LanguageData[lang].free_housing_space, Constant.LanguageData[lang].free_Citizens, Constant.LanguageData[lang].time_to_full]);
      } 
	  function getGrowthTip() {
		var lang = database.settings.languageChange.value;
	  	var populationData = city.populationData;
        var popDiff = populationData.maxPop-populationData.currentPop;  
		var Icon = populationData.happiness &gt;= 0 ? &#39;skin/icons/growth_positive.png&#39; : &#39;skin/icons/growth_negative.png&#39;;			   
	    var Tip = &#39;&#39;;
           if(popDiff &gt; 0) {
           Tip = &#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;&#39;+ Icon +&#39;&quot; style=&quot;height: 14px;&quot;&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;1 &#39;+ Constant.LanguageData[lang].hour +&#39;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;1 &#39;+ Constant.LanguageData[lang].day +&#39;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt; 1 &#39; + Constant.LanguageData[lang].week +&#39;&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n &lt;tr&gt;&lt;td&gt;&lt;b&gt;&#39; + ((populationData.growth &gt; 0)? &#39;+&#39; : &#39;-&#39;) + &#39;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&#39; + ((popDiff == 0)? &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39; : Utils.FormatNumToStr(populationData.growth, false, 2)) + &#39;&lt;/td&gt;&lt;td&gt;&#39; + ((popDiff == 0)?  &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39; : (populationData.growth*24 &gt; popDiff)? Utils.FormatNumToStr(popDiff, false, 2) : Utils.FormatNumToStr(populationData.growth*24, false, 2)) + &#39;&lt;/td&gt;&lt;td&gt;&lt;i&gt;&#39; + ((popDiff == 0)?  &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39; : (populationData.growth*24*7 &gt; popDiff)? Utils.FormatNumToStr(popDiff, false, 2) : Utils.FormatNumToStr(populationData.growth*24*7, false, 2)) + &#39;&lt;/i&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#39;
          }	
		var corruption = &#39;&lt;td&gt;&#39;+ city.CorruptionCity +&#39;&#39;;
	       if(city.CorruptionCity &gt; 0) {	
		   corruption = &#39;&lt;td class=&quot;red&quot;&gt;&#39;+ city.CorruptionCity +&#39;&#39;;
		  }
	    var sat = &#39;&#39;;
        var img = &#39;&#39;;
           if(populationData.growth &lt; -1) {
           img = &#39;outraged&#39;;
	       sat = Constant.LanguageData[lang].angry;
           } else if(populationData.growth &lt; 0) {
           img = &#39;sad&#39;;
           sat = Constant.LanguageData[lang].unhappy;
           } else if(populationData.growth &lt; 1) {
           img = &#39;neutral&#39;;
           sat = Constant.LanguageData[lang].neutral;
           } else if(populationData.growth &lt; 6) {
           img = &#39;happy&#39;;
           sat = Constant.LanguageData[lang].happy ;
           } else {
           img = &#39;ecstatic&#39;;
           sat = Constant.LanguageData[lang].euphoric;
           } 
        var growthTip =&#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th colspan=&quot;2&quot;&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/smilies/&#39; + img + &#39;_x25.png&quot; style=&quot;height: 18px; float: left&quot;&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;/div&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n &#39; +
		                    &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{1}&lt;/td&gt;\n        &lt;td&gt;« {2}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
			             	&#39;&lt;tr class=&quot;data&quot;&gt;\n            {3}&lt;/td&gt;\n        &lt;td&gt;« {4}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
			            	&#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{5}&lt;/td&gt;\n        &lt;td&gt;« {6}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
				            &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{7}&lt;/td&gt;\n        &lt;td&gt;« {8}&lt;/td&gt;\n    &lt;/tr&gt;&lt;/tbody&gt;\n  &lt;/table&gt; {9}&#39;;
        return Utils.format(growthTip, [Constant.LanguageData[lang].satisfaction, Utils.FormatNumToStr(populationData.happiness, true, 0), sat, corruption + &#39;%&#39;, Constant.LanguageData[lang].corruption, Math.floor(city._culturalGoods) + &#39;/&#39; + Math.floor(city.maxculturalgood), Constant.LanguageData[lang].cultural, Math.floor(city.tavernlevel) + &#39;/&#39; + Math.floor(city.maxtavernlevel), Constant.LanguageData[lang].level_tavern, Tip]);	 
      }
      function getActionPointsTip() {
        var garrisonTip = &#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th colspan=&quot;3&quot;&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;b&gt;{0}&lt;/b&gt;&lt;/div&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n &#39; +
		                    &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{1}&lt;/td&gt;\n        &lt;td&gt;{2}&lt;/td&gt;\n        &lt;td&gt;« {3}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
			             	&#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{4}&lt;/td&gt;\n        &lt;td&gt;{5}&lt;/td&gt;\n        &lt;td&gt;« {6}&lt;/td&gt;\n    &lt;/tr&gt;\n&lt;/tfoot&gt;&lt;/table&gt;&#39;;
        return Utils.format(garrisonTip, [Constant.LanguageData[lang].garrision, &#39;&lt;img src=&quot;skin/advisors/military/bang_soldier.png&quot; style=&quot;height: 15px;&quot;&gt;&#39;, city.garrisonland, Constant.LanguageData[lang].Inland, &#39;&lt;img src=&quot;skin/advisors/military/bang_ship.png&quot; style=&quot;height: 15px;&quot;&gt;&#39;, city.garrisonsea, Constant.LanguageData[lang].Sea]);
	  }
      function getFinanceTip() {
        var totCity = Math.floor(city.getIncome + city.getExpenses);
	    var Tip = &#39;&#39;;
           if(city.getExpenses &lt; 0) {
           Tip = &#39;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39; + Utils.FormatNumToStr(city.getExpenses, true, 0) + &#39;&lt;/td&gt;&lt;td&gt;&#39; + Utils.FormatNumToStr(city.getExpenses*24, true, 0) + &#39;&lt;/td&gt;&lt;td&gt;&lt;i&gt;&#39; + Utils.FormatNumToStr(city.getExpenses*24*7, true, 0) + &#39;&lt;/i&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tfoot&gt;&lt;tr&gt;&lt;td&gt;\u03A3&lt;b&gt; &#39; + ((totCity &gt; 0) ? &#39;+&amp;nbsp;&#39; : &#39;-&amp;nbsp;&#39;) + &#39;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&#39; + Utils.FormatNumToStr(totCity,false,0) + &#39;&lt;/td&gt;&lt;td&gt;&#39; + Utils.FormatNumToStr(totCity*24,false,0) + &#39;&lt;/td&gt;&lt;td&gt;&lt;i&gt;&#39; + Utils.FormatNumToStr(totCity*7*24,false,0) + &#39;&lt;/i&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;&#39;
          }		
        var financeTip = &#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_upkeep.png&quot; style=&quot;height: 14px;&quot;&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{1}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{2}&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n &#39; +
		                    &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;&lt;/td&gt;\n        &lt;td&gt;{3}&lt;/td&gt;\n        &lt;td&gt;{4}&lt;/td&gt;\n        &lt;td&gt;&lt;i&gt;{5}&lt;/i&gt;&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;\n    &lt;/tbody&gt;&lt;/tr&gt;\n{6}&lt;/table&gt;&#39;;
        return Utils.format(financeTip, [ &#39;1 &#39; + Constant.LanguageData[lang].hour, &#39;1 &#39; + Constant.LanguageData[lang].day, &#39;1 &#39; + Constant.LanguageData[lang].week, Utils.FormatNumToStr(city.getIncome, true, 0), Utils.FormatNumToStr(city.getIncome*24, false, 0), Utils.FormatNumToStr(city.getIncome*24*7, false, 0), Tip]);
	  }	 
      function getResearchTip(researchData) {
        researchData = researchData || city.research.researchData
		var tooltip = (researchData.scientists &gt; 0)? &#39;&lt;table&gt;\n    &lt;thead&gt;\n  &lt;th colspan=&quot;5&quot;&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/buildings/y50/y50_academy.png&quot; style=&quot;height: 20px; float: left&quot;&gt;&lt;b&gt;{0}&lt;/b&gt;&lt;/div&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n &#39; +
		                    &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{1}&lt;/td&gt;\n        &lt;td colspan=&quot;4&quot;&gt;« {2}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
				            &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{3}&lt;/td&gt;\n        &lt;td colspan=&quot;4&quot;&gt;« {4}&lt;/td&gt;\n    &lt;/tr&gt;\n&#39; +
							&#39;&lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_research_time.png&quot; style=&quot;height: 14px;&quot;&gt;  &lt;td&gt;&lt;b&gt;{5}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{6}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{7}&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n  &#39; +
							&#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{11}&lt;/td&gt;\n        &lt;td&gt;{8}&lt;/td&gt;\n        &lt;td&gt;{9}&lt;/td&gt;\n    &lt;td&gt;&lt;i&gt;{10}&lt;/i&gt;&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\n&lt;/table&gt;&#39; :&#39;&#39;;
        return Utils.format(tooltip, [Constant.LanguageData[lang].academy_, Utils.FormatNumToStr(researchData.scientists, false, 0), Constant.LanguageData[lang].scientists, Utils.FormatNumToStr(city.maxSci, false, 0), Constant.LanguageData[lang].scientists_max, &#39;1 &#39; + Constant.LanguageData[lang].hour,&#39;1 &#39; + Constant.LanguageData[lang].day, &#39;1 &#39; + Constant.LanguageData[lang].week, Utils.FormatNumToStr(researchData.total, true, 0), Utils.FormatNumToStr(researchData.total*24, false,0), Utils.FormatNumToStr((researchData.total*24)*7, false,0), database.getGlobalData.hasPremiumFeature(Constant.Premium.RESEARCH_POINTS_BONUS)? &#39;&lt;img src=&quot;skin/premium/b_premium_research.jpg&quot; style=&quot;width:18px;&quot;&gt;&#39; : &#39;&#39;]);
	  }
      function getIncomingTip() {
        var cRes = city.getResource(resourceName).getCurrent;
		    if (resourceName === Constant.Resources.GOLD)
		    cRes = database.getGlobalData.finance.currentGold;
        var rMov = database.getGlobalData.getResourceMovementsToCity(city.getId);
        var table = &#39;&lt;table&gt;\n    &lt;thead&gt;{0}&lt;/thead&gt;\n    &lt;tbody&gt;{1}&lt;/tbody&gt;\n    &lt;tfoot&gt;{2}&lt;/tfoot&gt;\n&lt;/table&gt;&#39;;
        var row = &#39;&lt;tr class=&quot;data&quot; style=&quot;border-top:1px solid #FFE4B5&quot;&gt;\n    &lt;td&gt;&lt;div class=&quot;icon2 {0}Image&quot;&gt;&lt;/div&gt;&lt;/td&gt;\n    &lt;td&gt;{1}&lt;/td&gt;\n    &lt;td&gt;&lt;i&gt;« {2}&lt;/i&gt;&lt;/td&gt;\n    \n&lt;/tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;{3}&lt;/td&gt;\n&lt;td class=&quot;small data&quot;&gt;« ({4})&lt;/td&gt;\n&lt;/tr&gt;&#39;;
        var header = &#39;&lt;tr&gt;\n    &lt;th &gt;&lt;div class=&quot;icon2 merchantImage&quot;&gt;&lt;/div&gt;&lt;/th&gt;\n    &lt;th colspan=&quot;3&quot;&gt;&#39;+ Constant.LanguageData[lang].transport +&#39;&lt;/th&gt;\n&lt;/tr&gt;&#39;;
        var subtotal = &#39;&lt;tr class=&quot;total&quot; style=&quot;border-top:1px solid #FFE4B5&quot;&gt;\n    &lt;td&gt;=&lt;/td&gt;\n    &lt;td&gt;{0}&lt;/td&gt;\n    &lt;td colspan=2&gt;&lt;i&gt;{1}&lt;/i&gt;&lt;/td&gt;\n&lt;/tr&gt;&#39;;
        var footer = &#39;&lt;tr class=&quot;total&quot;&gt;\n    &lt;td&gt;Σ&lt;/td&gt;\n    &lt;td&gt;{0}&lt;/td&gt;&lt;td&gt;&lt;/td&gt;\n&lt;/tr&gt;&#39;;
        if(rMov.length) {
          var trades = &#39;&#39;;  
          var transp = &#39;&#39;; 		  
		  var plunder = &#39;&#39;;	
          var movTotal = 0;
          for(var movID in rMov) {
            if(rMov[movID].getResources[resourceName]) {
              var origin = database.getCityFromId(rMov[movID].getOriginCityId);	  
              var tMov = Utils.format(row, [rMov[movID].getMission, Utils.FormatNumToStr(rMov[movID].getResources[resourceName], false, 0), origin ? origin.getName : rMov[movID].getOriginCityId, Utils.FormatRemainingTime(rMov[movID].getArrivalTime - $.now()), rMov[movID].isLoading ? Constant.LanguageData[lang].loading +&#39;: &#39; + Utils.FormatRemainingTime(rMov[movID].getLoadingTime, false)  : rMov[movID].getArrivalTime &gt; $.now() ? Constant.LanguageData[lang].en_route : Constant.LanguageData[lang].arrived]);
              if(rMov[movID].getMission == &quot;trade&quot;)
                trades += tMov; else if(rMov[movID].getMission == &#39;transport&#39;)
                transp += tMov; else if(rMov[movID].getMission == &#39;plunder&#39;)
                plunder += tMov;			
              movTotal += rMov[movID].getResources[resourceName]
            }			
          }
          if(trades === &#39;&#39; &amp;&amp; transp === &#39;&#39; &amp;&amp; plunder === &#39;&#39;) {
            return &#39;&#39;
          }
          var body = trades + transp + plunder + Utils.format(subtotal, [
            Utils.FormatNumToStr(movTotal, false, 0), &#39;« &#39;+ Constant.LanguageData[lang].total_ +&#39;&#39;
          ]);
          var foot = Utils.format(footer, [
            Utils.FormatNumToStr((movTotal + cRes), false, 0)
          ]);
          var head = Utils.format(header, []);
          return Utils.format(table, [head, body, foot]);
        }
        return &#39;&#39;
      }
      function getBuildingTooltip(building) {
		if(building.isMaxLevel) return &#39;&#39;+ Constant.LanguageData[lang].max_Level +&#39;&#39;;
        var uConst = (building.isUpgrading);
        var resourceCost = building.getUpgradeCost;
        var serverTyp = $(&#39;li.logout a[href=&quot;?view=normalServerStatus&quot;]&#39;).text() ? 1 : 3;
        var elem = &#39;&#39;;
        var time = 0;		
		var needlevel = 0;
		var costlevel = 0;
        needlevel = building.getLevel + 2;
		costlevel = building.getLevel + 1;
        for(var key in resourceCost) {
          if(key == &#39;time&#39;) {
            time = &#39;&lt;tr class=&quot;total&quot;&gt;&lt;td&gt;&lt;img src=&quot;skin/resources/icon_time.png&quot; style=&quot;height: 11px; float: left;&quot;&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; &gt;&lt;i&gt;(&#39; + Utils.FormatTimeLengthToStr(resourceCost[key]/serverTyp, 3, &#39; &#39;) + &#39;)&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&#39;;
            continue;
          }
          if(resourceCost[key]) {
            elem += &#39;&lt;tr class=&quot;data&quot;&gt;&lt;td&gt;&lt;div class=&quot;icon &#39; + key + &#39;Image&quot;&gt;&lt;/div&gt;&lt;/td&gt;&lt;td&gt;&#39; + Utils.FormatNumToStr(resourceCost[key], false, 0) + &#39;&lt;/td&gt;&#39;;
            elem += (building.city().getResource(key).getCurrent &lt; resourceCost[key] ? &#39;&lt;td class=&quot;red left&quot;&gt;(&#39; + Utils.FormatNumToStr(building.city().getResource(key).getCurrent - resourceCost[key], true, 0) + &#39;)&lt;/td&gt;&lt;/tr&gt;&#39; : &#39;&lt;td&gt;&lt;img src=&quot;skin/interface/check_mark_17px.png&quot; style=&quot;height:11px; float:left;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;&#39;)
          }
        }
        elem = (elem !== &#39;&#39;) ? &#39;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan=&quot;3&quot; align=&quot;center&quot;&gt;&lt;b&gt;&#39; + (uConst ? Constant.LanguageData[lang].next_Level + &#39; &#39; + needlevel : Constant.LanguageData[lang].next_Level + &#39; &#39; + costlevel) + &#39;&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&#39; + elem + &#39;&lt;/tbody&gt;&lt;tfoot&gt;&#39; + time + &#39;&lt;/tfoot&gt;&lt;/table&gt;&#39; : &#39;&#39;;
        if(uConst) {
           elem = &#39;&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th colspan=&quot;3&quot; align=&quot;center&quot;&gt;&lt;b&gt;&#39;+ Constant.LanguageData[lang].constructing +&#39;&lt;/b&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&#39; + &#39;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&#39; + Utils.FormatFullTimeToDateString(building.getCompletionTime, true) + &#39;&lt;/td&gt;&lt;/tr&gt;&#39; + &#39;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;skin/resources/icon_time.png&quot; style=&quot;height: 11px; float: left;&quot;&gt;&lt;/td&gt;&lt;td&gt;&lt;i&gt;(&#39; + Utils.FormatTimeLengthToStr(building.getCompletionTime - $.now(), 3, &#39; &#39;) + &#39;)&lt;/i&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&#39; + elem
        }
        return elem  
      }
      function getResourceTotalTip() {
        var totals = {};	
        $.each(database.cities, function(cityId, city) {
          $.each(Constant.Resources, function(key, resourceName) {
            var res = city.getResource(resourceName);
			if(!totals[resourceName]) {
              totals[resourceName] = {}
            }			
            totals[resourceName].total = totals[resourceName].total ? totals[resourceName].total + res.getCurrent : res.getCurrent;
            totals[resourceName].income = totals[resourceName].income ? totals[resourceName].income + res.getProduction * 3600 - res.getConsumption : res.getProduction * 3600 - res.getConsumption;
			if (resourceName === Constant.Resources.GOLD) {
			var res = 0, researchCost = 0, expense = 0, inGold = 0;
			res += Math.floor(city.getIncome + city.getExpenses);
			researchCost += Math.floor(city.getExpenses);
			expense = (database.getGlobalData.finance.armyCost + database.getGlobalData.finance.armySupply + database.getGlobalData.finance.fleetCost + database.getGlobalData.finance.fleetSupply) / database.getCityCount;
			inGold = database.getGlobalData.finance.currentGold / database.getCityCount;
            totals[resourceName].total = totals[resourceName].total ? totals[resourceName].total + inGold : inGold;
            totals[resourceName].income = totals[resourceName].income ? totals[resourceName].income + res - expense : res - expense;
			}
          })
        });
        var r = &#39;&#39;;
        var finalSums = {income: 0, total: 0, day: 0, week: 0};
        $.each(totals, function(resourceName, data) {		
          var day = data.total + data.income * 24;
          var week = data.total + data.income * 168;
          r += Utils.format(&#39;&lt;tr class=&quot;data&quot;&gt;\n    &lt;td&gt;&lt;div class=&quot;icon {0}Image&quot;&gt;&lt;/div&gt;&lt;/td&gt;\n    &lt;td&gt;{1}&lt;/td&gt;\n    &lt;td&gt;{2}&lt;/td&gt;\n    &lt;td&gt;{3}&lt;/td&gt;\n    &lt;td&gt;&lt;i&gt;{4}&lt;/i&gt;&lt;/td&gt;\n&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&#39;, [resourceName, Utils.FormatNumToStr(data.income, true, 0), Utils.FormatNumToStr(data.total, true, 0) , Utils.FormatNumToStr(day, true, 0) , Utils.FormatNumToStr(week, true, 0)]);
          finalSums.income += data.income;
          finalSums.total += data.total;
          finalSums.day += day;
          finalSums.week += week
        });
        if(r === &#39;&#39;) {
          return &#39;&#39;
        } else {
          return Utils.format(&#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;td&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;b&gt;1 {5}&lt;/b&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;b&gt;{6}&lt;/b&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;b&gt;+24 {7}&lt;/b&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;b&gt; +1 {8}&lt;/b&gt;&lt;/td&gt;\n  &lt;td&gt;&lt;/td&gt;  &lt;/thead&gt;\n    &lt;tbody&gt;\n    {0}\n    &lt;tfoot&gt;\n    &lt;td&gt;&lt;b&gt;\u03A3&amp;nbsp;&lt;/b&gt;&lt;/td&gt;\n    &lt;td&gt;{1}&lt;/td&gt;\n    &lt;td&gt;{2}&lt;/td&gt;\n    &lt;td&gt;{3}&lt;/td&gt;\n    &lt;td&gt;&lt;i&gt;{4}&lt;/i&gt;&lt;/td&gt;\n  &lt;td&gt;&lt;/td&gt;  &lt;/tfoot&gt;\n    &lt;/tbody&gt;\n&lt;/td&gt;&lt;/table&gt;&#39;, [r, Utils.FormatNumToStr(finalSums.income, true, 0) , Utils.FormatNumToStr(finalSums.total, true, 0) , Utils.FormatNumToStr(finalSums.day, true, 0) , Utils.FormatNumToStr(finalSums.week, true, 0), Constant.LanguageData[lang].hour, Constant.LanguageData[lang].total_, Constant.LanguageData[lang].hour, Constant.LanguageData[lang].week])
        }
      }
      function getProgressTip() {
        if (resourceName == &#39;population&#39; || resourceName ==&#39;ui-corner-all&#39;){return &#39;&#39;};
        var storage = city.maxResourceCapacities;
        var current = city.getResource(resourceName).getCurrent;
        var fulltime = (city.getResource(resourceName).getFullTime || 0 - city.getResource(resourceName).getEmptyTime) * 3600000;		
		var gold = &#39;&#39;;
        var serverTyp = $(&#39;li.logout a[href=&quot;?view=normalServerStatus&quot;]&#39;).text() ? 1 : 3;
        if(city.plundergold &gt; 0 &amp;&amp; serverTyp != 1) {	
		gold = &#39;&lt;td&gt;&lt;img src=&quot;skin/resources/icon_gold.png&quot; style=&quot;height: 12px;&quot;&gt;&lt;/td&gt;&lt;td&gt;&#39;+ Utils.FormatNumToStr(city.plundergold) +&#39;&lt;/td&gt;&lt;td&gt;\u221E&lt;/td&gt;&lt;td&gt; « &#39;+ Constant.LanguageData[lang].plundergold +&#39;&#39;;
		}
        var progTip = &#39;&lt;table&gt;\n &lt;thead&gt;\n &lt;tr&gt;\n &lt;th&gt;&lt;img src=&quot;skin/premium/safecapacity_small.png&quot; style=&quot;height: 16px;&quot;&gt;&lt;/th&gt;\n &lt;th&gt;&lt;b&gt;{12}&lt;/b&gt;&lt;/th&gt;\n &lt;th colspan=&quot;2&quot;&gt;&lt;b&gt;{13}&lt;/b&gt;&lt;/th&gt;\n        \n    &lt;/tr&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;{0}{11}&lt;tr class=&quot;total&quot; style=&quot;border-top:1px solid #daa520&quot;&gt;\n        &lt;td&gt;{9}&lt;/td&gt;\n        &lt;td&gt;{1}&lt;/td&gt;\n        &lt;td&gt;{2}&lt;/td&gt;\n        &lt;td&gt;&lt;i&gt;« {14}&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr class=&quot;total&quot;&gt;\n        &lt;td&gt;{10}&lt;/td&gt;\n        &lt;td&gt;{3}&lt;/td&gt;\n        &lt;td&gt;{4}&lt;/td&gt;\n        &lt;td&gt;&lt;i&gt;« {15}&lt;/i&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;tr&gt;\n        &lt;td&gt;&lt;/td&gt;\n        &lt;td&gt;{5}&lt;/td&gt;\n        &lt;td&gt;{6}&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;/tbody&gt;\n    &lt;tfoot&gt;\n    &lt;tr&gt;\n        &lt;td&gt;&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;\n        &lt;td&gt;{7}&lt;/td&gt;\n        &lt;td&gt;« {8}&lt;/td&gt;\n    &lt;/tr&gt;\n    &lt;/tfoot&gt;\n&lt;/table&gt;&#39;;
        var progTr = &#39;&lt;tr class=&quot;data&quot;&gt;\n &lt;td style=&quot;width:20px; background: url(\&#39;{0}\&#39;); background-size: auto 23px; background-position: -1px -1px; \n background-repeat: no-repeat;&quot;&gt;\n &lt;/td&gt;\n &lt;td&gt;{1}&lt;/td&gt;\n &lt;td&gt;{2}&lt;/td&gt;\n &lt;td&gt;« {3}&lt;/td&gt;\n&lt;/tr&gt;&#39;;
        var rows = &#39;&#39;;
        $.each(storage.buildings, function(buildingName, data) {			
        rows += Utils.format(progTr, [Constant.BuildingData[buildingName].icon, Utils.FormatNumToStr(data.safe, false, 0), Utils.FormatNumToStr(data.storage, false, 0), data.lang])		  
        });
        return Utils.format(progTip, [rows, Utils.FormatNumToStr(storage.safe, false, 0), Utils.FormatNumToStr(storage.capacity, false, 0), Utils.FormatNumToStr(Math.min(storage.safe, current), false, 0), Utils.FormatNumToStr(Math.min(storage.capacity, current), false, 0), Utils.FormatNumToStr(Math.min(1, current / storage.safe) * 100, false, 2) + &#39;%&#39;, Utils.FormatNumToStr(Math.min(1, current / storage.capacity) * 100, false, 2) + &#39;%&#39;, Utils.FormatTimeLengthToStr(fulltime), fulltime &lt; 0 ? Constant.LanguageData[lang].time_to_empty : Constant.LanguageData[lang].time_to_full, database.getGlobalData.hasPremiumFeature(Constant.Premium.STORAGECAPACITY_BONUS)? &#39;&lt;img src=&quot;skin/premium/b_premium_storagecapacity.jpg&quot; style=&quot;width:18px;&quot;&gt;&#39; : &#39;&#39;, database.getGlobalData.hasPremiumFeature(Constant.Premium.SAFECAPACITY_BONUS)? &#39;&lt;img src=&quot;skin/premium/b_premium_safecapacity.jpg&quot; style=&quot;width:18px;&quot;&gt;&#39; : &#39;&#39;, gold, Constant.LanguageData[lang].safe, Constant.LanguageData[lang].capacity, Constant.LanguageData[lang].maximum, Constant.LanguageData[lang].used])
      }
      function getConsumptionTooltip(consumption, force) {
        if((consumption === 0 &amp;&amp; !force) || resourceName !== Constant.Resources.WINE) {
          return &#39;&#39;
        } else return Utils.format(&#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_{0}.png&quot; style=&quot;height: 14px;&quot;&gt;  &lt;td&gt;&lt;b&gt;{1}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{2}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{3}&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n  &#39; +
		                           &#39;&lt;tr class=&quot;data&quot;&gt;\n            &lt;td&gt;&lt;/td&gt;\n            &lt;td&gt;{4}&lt;/td&gt;\n            &lt;td&gt;{5}&lt;/td&gt;\n            &lt;td&gt;&lt;i&gt;{6}&lt;/i&gt;&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\n    &lt;/tbody&gt;\n&lt;/table&gt;&#39;,
		 [Constant.Resources.WINE, &#39;1 &#39; + Constant.LanguageData[lang].hour, &#39;1 &#39; + Constant.LanguageData[lang].day, &#39;1 &#39; + Constant.LanguageData[lang].week, Utils.FormatNumToStr(-consumption, true, 0), Utils.FormatNumToStr(-consumption * 24, true, 0), Utils.FormatNumToStr(-consumption * 24 * 7, true, 0)])
      }
      function getProductionTip(income, force) {
	    var resName = resourceName;
	    if (resourceName == &#39;glass&#39;)
	      resName = &#39;crystal&#39;;
		var resBonus = resourceName;
	    if (resourceName == &#39;wood&#39;)
	      resBonus = database.getGlobalData.hasPremiumFeature(Constant.Premium.WOOD_BONUS);
	    if (resourceName == &#39;wine&#39;)
	      resBonus = database.getGlobalData.hasPremiumFeature(Constant.Premium.WINE_BONUS);
	    if (resourceName == &#39;marble&#39;)
	      resBonus = database.getGlobalData.hasPremiumFeature(Constant.Premium.MARBLE_BONUS);
	    if (resourceName == &#39;sulfur&#39;)
	      resBonus = database.getGlobalData.hasPremiumFeature(Constant.Premium.SULFUR_BONUS);
	    if (resourceName == &#39;glass&#39;)
	      resBonus = database.getGlobalData.hasPremiumFeature(Constant.Premium.CRYSTAL_BONUS);
        if(income === 0 &amp;&amp; !force) {
          return &#39;&#39;
        } else return Utils.format(&#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_{0}.png&quot; style=&quot;height: 14px;&quot;&gt;  &lt;td&gt;&lt;b&gt;{1}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{2}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{3}&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n  &#39; +
                       			   &#39;&lt;tr class=&quot;data&quot;&gt;\n        &lt;td&gt;{7}&lt;/td&gt;\n        &lt;td&gt;{4}&lt;/td&gt;\n        &lt;td&gt;{5}&lt;/td&gt;\n        &lt;td&gt;&lt;i&gt;{6}&lt;/i&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\n    &lt;/tbody&gt;\n&lt;/table&gt;&#39;,
		 [resourceName, &#39;1 &#39; + Constant.LanguageData[lang].hour,&#39;1 &#39; + Constant.LanguageData[lang].day, &#39;1 &#39; + Constant.LanguageData[lang].week,  Utils.FormatNumToStr(income, true, 0), Utils.FormatNumToStr(income * 24, false, 0), Utils.FormatNumToStr(income * 24 * 7, false, 0), resBonus ? &#39;&lt;img src=&quot;skin/premium/b_premium_&#39;+resName+&#39;.jpg&quot; style=&quot;width:18px;&quot;&gt;&#39; : &#39;&#39;])
      }
	  function getProductionConsumptionSubSumTip(income, consumption, force) {
	    if(income === 0 &amp;&amp; consumption === 0 &amp;&amp; !force) {
		  return &#39;&#39;
		} else if (resourceName !== Constant.Resources.WINE) {
		  return getProductionTip(income, force)
		} else if (income === 0) {
		  return getConsumptionTooltip(consumption, force)
        } else return Utils.format(&#39;&lt;table&gt;\n    &lt;thead&gt;\n    &lt;th&gt;&lt;div align=&quot;center&quot;&gt;\n &lt;img src=&quot;skin/resources/icon_{0}.png&quot; style=&quot;height: 14px;&quot;&gt;  &lt;td&gt;&lt;b&gt;{1}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{2}&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;{3}&lt;/b&gt;&lt;/div&gt;&lt;td&gt;&lt;/td&gt;&lt;/th&gt;\n    &lt;/thead&gt;\n    &lt;tbody&gt;\n  &#39; +
                       		       &#39;&lt;tr class=&quot;data&quot;&gt;\n            &lt;td&gt;{14}&lt;/td&gt;\n        &lt;td&gt;{4}&lt;/td&gt;\n            &lt;td&gt;{5}&lt;/td&gt;\n            &lt;td&gt;&lt;i&gt;{6}&lt;/i&gt;&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\n    &#39; +
								   &#39;&lt;tr class=&quot;data&quot;&gt;\n            &lt;td&gt;&lt;/td&gt;\n            &lt;td&gt;{7}&lt;/td&gt;\n            &lt;td&gt;{8}&lt;/td&gt;\n            &lt;td&gt;&lt;i&gt;{9}&lt;/i&gt;&lt;/td&gt;\n        &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\n    &lt;/tbody&gt;&lt;tfoot&gt; &#39; +
								   &#39;&lt;tr class=&quot;total&quot;&gt;\n           &lt;td&gt;{10}&lt;/td&gt;\n        &lt;td&gt;{11}&lt;/td&gt;\n           &lt;td&gt;{12}&lt;/td&gt;\n           &lt;td&gt;&lt;i&gt;{13}&lt;/i&gt;&lt;/td&gt;\n       &lt;td&gt;&lt;/td&gt;&lt;/tr&gt;\n    &lt;/tfoot&gt;\n&lt;/table&gt;&#39;,
		 [resourceName, &#39;1 &#39; + Constant.LanguageData[lang].hour,&#39;1 &#39; + Constant.LanguageData[lang].day, &#39;1 &#39; + Constant.LanguageData[lang].week, Utils.FormatNumToStr(income, true, 0), Utils.FormatNumToStr(income * 24, false, 0), Utils.FormatNumToStr(income * 24 * 7, false, 0), Utils.FormatNumToStr(-consumption, true, 0), Utils.FormatNumToStr(-consumption * 24, true, 0), Utils.FormatNumToStr(-consumption * 24 * 7, true, 0), (income &gt; consumption?&#39;\u03A3 +&amp;nbsp;&#39;:&#39;\u03A3 -&amp;nbsp;&#39;), Utils.FormatNumToStr((income - consumption), false, 0), Utils.FormatNumToStr((income - consumption) * 24, false, 0), Utils.FormatNumToStr((income - consumption) * 24 * 7, false, 0),database.getGlobalData.hasPremiumFeature(Constant.Premium.WINE_BONUS)? &#39;&lt;img src=&quot;skin/premium/b_premium_wine.jpg&quot; style=&quot;width:18px;&quot;&gt;&#39; : &#39;&#39;])
	  }
      function getImage(unitID) { 
        return (Constant.UnitData[unitID].type == &#39;fleet&#39;) ? &#39;skin/characters/fleet/60x60/&#39; + unitID + &#39;_faceright.png&#39; : &#39;skin/characters/military/x60_y60/y60_&#39; + unitID + &#39;_faceright.png&#39;
      }
    }
  },  
  cssResLoaded                  : function() {
    var ret = this._cssResLoaded;
    this._cssResLoaded = true;
    return ret;
  },
  Init                          : function() {
	  this.SidePanelButton();
    events(Constant.Events.DATABASE_LOADED).sub(function(){
      this.LoadCSS();
      this.DrawContentBox();
    }.bind(render));
    events(Constant.Events.MODEL_AVAILABLE).sub(function(){
      this.DrawTables();
      this.setCommonData();
      this.RestoreDisplayOptions();
      this.startMonitoringChanges();
      this.cityChange(ikariam.CurrentCityId);
    }.bind(render));
  },
  startMonitoringChanges                  : function() {
	  events(Constant.Events.TAB_CHANGED).sub(function (tab) {
		  this.stopResourceCounters();
		  switch (tab) {
			  case 0:
				  this.startResourceCounters();
				  break;
			  case 1:
				  this.updateCitiesBuildingData();
				  break;
			  case 2:
				  this.updateCitiesArmyData();
				  break;
			  case 3:
				  this.redrawSettings();
				  break;
		  }
	  }.bind(render));
	  events(Constant.Events.TAB_CHANGED).pub(database.settings.window.activeTab);
      events(&#39;cityChanged&#39;).sub(this.cityChange.bind(render));
      events(Constant.Events.BUILDINGS_UPDATED).sub(this.updateChangesForCityBuilding.bind(render));
      events(Constant.Events.GLOBAL_UPDATED).sub(this.updateGlobalData.bind(render));
      events(Constant.Events.MOVEMENTS_UPDATED).sub(this.updateMovementsForCity.bind(render));
      events(Constant.Events.RESOURCES_UPDATED).sub(this.updateResourcesForCity.bind(render));
      events(Constant.Events.CITY_UPDATED).sub(this.updateCityDataForCity.bind(render));
      events(Constant.Events.MILITARY_UPDATED).sub(this.updateChangesForCityMilitary.bind(render));
      events(Constant.Events.PREMIUM_UPDATED).sub(this.updateGlobalData.bind(render));
  },
  cityChange                    : function(cid) {
    var city = database.getCityFromId(cid);
    $(&#39;#empireBoard tr.current,#empireBoard tr.selected&#39;).removeClass(&#39;selected current&#39;);
    if(city) {
      this.getAllRowsForCity(city).addClass(&#39;selected&#39;).addClass((isChrome) ? &#39;current&#39; : &#39;selected&#39;)
    }
  },
   getWorldmapTable : function(){
  },  
  getHelpTable : function(){
  	var lang = database.settings.languageChange.value; 
    var elems = &#39;&lt;div id=&quot;HelpTab&quot;&gt;&lt;div&gt;&#39;;
    var features = &#39;&lt;div class=&quot;options&quot;&gt;&lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].Re_Order_Towns +&#39;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].On_any_tab +&#39;&#39;
					 + &#39;&lt;hr&gt;&#39;					 
                     + &#39;&lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].Reset_Position +&#39;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].Right_click +&#39;&#39;
					 + &#39;&lt;hr&gt;&#39;					 
                     + &#39;&lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].Hotkeys +&#39;&lt;/span&gt;&#39;					 
                     + &#39;&#39;+ Constant.LanguageData[lang].Navigate +&#39;&lt;br&gt;&#39;
                     + &#39;&#39;+ Constant.LanguageData[lang].Navigate_to_City +&#39;&lt;br&gt;&#39;
                     + &#39;&#39;+ Constant.LanguageData[lang].Navigate_to +&#39;&lt;br&gt;&#39;
                     + &#39;&#39;+ Constant.LanguageData[lang].Navigate_to_World +&#39;&lt;br&gt;&#39;					 
                     + &#39;&#39;+ Constant.LanguageData[lang].Spacebar +&#39;&#39;
					 + &#39;&lt;hr&gt;&#39;
                     + &#39;&lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].Initialize_Board +&#39;&lt;/span&gt;&#39;
					 + &#39; 1. &lt;span id=&quot;helpTownhall&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_your_Town_Hall +&#39;&lt;br&gt;&#39;
					 + &#39; 2. &lt;span id=&quot;helpMuseum&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_Museum +&#39;&lt;br&gt;&#39;
					 + &#39; 3. &lt;span id=&quot;helpResearch&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_Research_Advisor +&#39;&lt;br&gt;&#39;
					 + &#39; 4. &lt;span id=&quot;helpPalace&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_your_Palace +&#39;&lt;br&gt;&#39;
					 + &#39; 5. &lt;span id=&quot;helpFinance&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_your_Finance +&#39;&lt;br&gt;&#39;
					 + &#39; 6. &lt;span id=&quot;helpShop&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_the_Ambrosia +&#39;&lt;br&gt;&#39;
					 + &#39; 7. &lt;span id=&quot;helpMilitary&quot; class=&quot;clickable&quot;&gt;&lt;b&gt;&gt; &#39;+ Constant.LanguageData[lang].click_ +&#39; &lt;&lt;/b&gt;&lt;/span&gt; &#39;+ Constant.LanguageData[lang].on_the_Troops +&#39;&#39;					 
                     + &#39;&lt;/div&gt;&#39;;
    elems += features + &#39;&lt;div style=&quot;clear:left&quot;&gt;&lt;/div&gt;&#39;;
    elems += &#39;&lt;/div&gt;&lt;/div&gt;&#39;
    return elems
  },
  getSettingsTable : function(){
  	var lang = database.settings.languageChange.value;
	var wineOut = &#39;&#39;;
	var server = ikariam.Nationality();
	if (server == &#39;de&#39;) {
	wineOut = &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_wineOut&quot; &#39; + (database.settings.wineOut.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].wineOut_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].wineOut +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;;
	}
    var elems = &#39;&lt;div id=&quot;SettingsTab&quot;&gt;&lt;div&gt;&#39;;
    var inits = &#39;&lt;div class=&quot;options&quot; style=&quot;clear:right&quot;&gt;&lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].building_category +&#39;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_alternativeBuildingList&quot; &#39; + (database.settings.alternativeBuildingList.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].alternativeBuildingList_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].alternativeBuildingList +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_compressedBuildingList&quot; &#39; + (database.settings.compressedBuildingList.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].compressedBuildingList_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].compressedBuildingList +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
	        		 + &#39; &lt;hr&gt;&#39; 
					 + &#39; &lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].resource_category +&#39;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_hourlyRess&quot; &#39; + (database.settings.hourlyRess.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].hourlyRes_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].hourlyRes +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &#39;+ wineOut +&#39;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_dailyBonus&quot; &#39; + (database.settings.dailyBonus.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].dailyBonus_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].dailyBonus +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;select id=&quot;empire_wineWarningTime&quot;&gt;&lt;option value=&quot;0&quot;&#39; + (database.settings.wineWarningTime.value == 0 ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].off +&#39;&lt;/option&gt;&lt;option value=&quot;12&quot;&#39; + (database.settings.wineWarningTime.value == 12 ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; 12&#39;+ Constant.LanguageData[lang].hour +&#39;&lt;/option&gt;&lt;option value=&quot;24&quot;&#39; + (database.settings.wineWarningTime.value== 24 ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; 24&#39;+ Constant.LanguageData[lang].hour +&#39;&lt;/option&gt;&lt;option value=&quot;36&quot;&#39; + (database.settings.wineWarningTime.value== 36 ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; 36&#39;+ Constant.LanguageData[lang].hour +&#39;&lt;/option&gt;&lt;option value=&quot;48&quot;&#39; + (database.settings.wineWarningTime.value== 48 ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; 48&#39;+ Constant.LanguageData[lang].hour +&#39;&lt;/option&gt;&lt;/select&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].wineWarningTime_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].wineWarningTime +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
					 + &#39; &lt;hr&gt;&#39;
                     + &#39; &lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].language_category +&#39;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;select id=&quot;empire_languageChange&quot;&gt;&lt;option value=&quot;en&quot;&#39; + (database.settings.languageChange.value == &#39;en&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].en +&#39;&lt;/option&gt;&lt;option value=&quot;de&quot;&#39; + (database.settings.languageChange.value == &#39;de&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].de +&#39;&lt;/option&gt;&lt;option value=&quot;it&quot;&#39; + (database.settings.languageChange.value == &#39;it&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].it +&#39;&lt;/option&gt;&lt;option value=&quot;el&quot;&#39; + (database.settings.languageChange.value == &#39;el&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].el +&#39;&lt;/option&gt;&lt;option value=&quot;es&quot;&#39; + (database.settings.languageChange.value == &#39;es&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].es +&#39;&lt;/option&gt;&lt;option value=&quot;fr&quot;&#39; + (database.settings.languageChange.value == &#39;fr&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].fr +&#39;&lt;/option&gt;&lt;option value=&quot;pt&quot;&#39; + (database.settings.languageChange.value == &#39;pt&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].pt +&#39;&lt;/option&gt;&lt;option value=&quot;nl&quot;&#39; + (database.settings.languageChange.value == &#39;nl&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].nl +&#39;&lt;/option&gt;&lt;option value=&quot;ro&quot;&#39; + (database.settings.languageChange.value == &#39;ro&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].ro +&#39;&lt;/option&gt;&lt;option value=&quot;ru&quot;&#39; + (database.settings.languageChange.value == &#39;ru&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].ru +&#39;&lt;/option&gt;&lt;option value=&quot;cz&quot;&#39; + (database.settings.languageChange.value == &#39;cz&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].cz +&#39;&lt;/option&gt;&lt;option value=&quot;pl&quot;&#39; + (database.settings.languageChange.value == &#39;pl&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].pl +&#39;&lt;/option&gt;&lt;option value=&quot;tr&quot;&#39; + (database.settings.languageChange.value == &#39;tr&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].tr +&#39;&lt;/option&gt;&lt;option value=&quot;ar&quot;&#39; + (database.settings.languageChange.value == &#39;ar&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].ar +&#39;&lt;/option&gt;&lt;option value=&quot;ir&quot;&#39; + (database.settings.languageChange.value == &#39;ir&#39; ? &#39;selected=selected&#39; : &#39;&#39; ) + &#39;&gt; &#39;+ Constant.LanguageData[lang].ir +&#39;&lt;/option&gt;&lt;/select&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].languageChange_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].languageChange +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;	  
                     + &#39;&lt;/div&gt;&#39;; 
    var features = &#39;&lt;div class=&quot;options&quot;&gt;&#39;
                     + &#39; &lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].visibility_category +&#39;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_hideOnWorldView&quot; &#39; + (database.settings.hideOnWorldView.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].hideOnWorldView_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].hideOnWorldView +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_hideOnIslandView&quot; &#39; + (database.settings.hideOnIslandView.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].hideOnIslandView_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].hideOnIslandView +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_hideOnCityView&quot; &#39; + (database.settings.hideOnCityView.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].hideOnCityView_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].hideOnCityView +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;					 
					 + &#39; &lt;hr&gt;&#39;
					 + &#39; &lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].army_category +&#39;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_fullArmyTable&quot; &#39; + (database.settings.fullArmyTable.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].fullArmyTable_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].fullArmyTable +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_playerInfo&quot; &#39; + (database.settings.playerInfo.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].playerInfo_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].playerInfo +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_onIkaLogs&quot; &#39; + (database.settings.onIkaLogs.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].onIkaLogs_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].onIkaLogs +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
					 + &#39; &lt;hr&gt;&#39;
					 + &#39; &lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].global_category +&#39;&lt;/span&gt;&#39;					 
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_autoUpdates&quot; &#39; + (database.settings.autoUpdates.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].autoUpdates_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].autoUpdates +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39;&lt;/div&gt;&#39;;
    var display = &#39;&lt;div class=&quot;options&quot;&gt;&#39;
                     + &#39; &lt;span class=&quot;categories&quot;&gt;&#39;+ Constant.LanguageData[lang].display_category +&#39;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_onTop&quot; &#39; + (database.settings.onTop.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].onTop_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].onTop +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_windowTennis&quot; &#39; + (database.settings.windowTennis.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].windowTennis_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].windowTennis +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_smallFont&quot; &#39; + (database.settings.smallFont.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].smallFont_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].smallFont +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_newsTicker&quot; &#39; + (database.settings.newsTicker.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].newsticker_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].newsticker +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_event&quot; &#39; + (database.settings.event.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].event_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].event +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_logInPopup&quot; &#39; + (database.settings.logInPopup.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].logInPopup_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].logInPopup +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_birdSwarm&quot; &#39; + (database.settings.birdSwarm.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].birdswarm_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].birdswarm +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_controlCenter&quot; &#39; + (database.settings.controlCenter.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].control_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].control +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_withoutFable&quot; &#39; + (database.settings.withoutFable.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].unnecessaryTexts_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].unnecessaryTexts +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
                     + &#39; &lt;span&gt;&lt;input type=&quot;checkbox&quot; id=&quot;empire_ambrosiaPay&quot; &#39; + (database.settings.ambrosiaPay.value ? &#39;checked=&quot;checked&quot;&#39; : &#39;&#39;) + &#39;/&gt;&lt;nobr data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].ambrosiaPay_description +&#39;&quot;&gt; &#39;+ Constant.LanguageData[lang].ambrosiaPay +&#39;&lt;/nobr&gt;&lt;/span&gt;&#39;
					 + &#39;&lt;/div&gt;&#39;;
    elems += features + inits + display + &#39;&lt;div style=&quot;clear:left&quot;&gt;&lt;/div&gt;&#39;;
    elems += &#39;&lt;/div&gt;&lt;/div&gt;&#39;
    elems += &#39;&lt;div style=&quot;clear:left&quot;&gt;&lt;hr&gt;&lt;p&gt;&amp;nbsp; &#39;+ Constant.LanguageData[lang].current_Version +&#39; &lt;b&gt;&amp;nbsp;&#39;+ empire.version +&#39;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp; &#39;+ Constant.LanguageData[lang].ikariam_Version +&#39; &lt;b style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=version\&#39;)&quot;&gt;&amp;nbsp;&#39;+ ikariam.GameVersion() +&#39;&lt;/b&gt;&lt;/p&gt;&lt;/div&gt;&lt;br&gt;&#39;
    elems += &#39;&lt;div class=&quot;buttons&quot;&gt;&#39; + &#39;&lt;button data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].reset +&#39;&quot; id=&quot;empire_Reset_Button&quot;&gt;Reset&lt;/button&gt;&#39; + &#39;&lt;button data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].goto_website +&#39;&quot; id=&quot;empire_Website_Button&quot;&gt;&#39;+ Constant.LanguageData[lang].website +&#39;&lt;/button&gt;&#39; + &#39;&lt;button data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].Check_for_updates +&#39;&quot; id=&quot;empire_Update_Button&quot;&gt;&#39;+ Constant.LanguageData[lang].check +&#39;&lt;/button&gt;&#39; + &#39;&lt;button data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].Report_bug +&#39;&quot; id=&quot;empire_Bug_Button&quot;&gt;&#39;+ Constant.LanguageData[lang].report +&#39;&lt;/button&gt;&#39; + &#39;&lt;button data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].save_settings +&#39;&quot; id=&quot;empire_Save_Button&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=city&amp;oldBackgroundView\&#39;)&quot;&gt;&#39;+ Constant.LanguageData[lang].save +&#39;&lt;/button&gt;&#39;
    return elems
  },
  DrawHelp : function(){
    	var lang = database.settings.languageChange.value;
    $(&#39;#HelpTab&#39;).html(this.getHelpTable(
	    )).on(&quot;click&quot;, &quot;#helpTownhall&quot;,function() {
        ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, ikariam.getCurrentCity.getBuildingFromName(Constant.Buildings.TOWN_HALL).getUrlParams)
        }).on(&quot;click&quot;, &quot;#helpMilitary&quot;,function() {
        ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, {view:&#39;cityMilitary&#39;, activeTab:&#39;tabUnits&#39;})
        }).on(&quot;click&quot;, &quot;#helpMuseum&quot;,function() {
        ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, {view:&#39;culturalPossessions_assign&#39;,activeTab:&#39;tab_culturalPossessions_assign&#39;})
        }).on(&quot;click&quot;, &quot;#helpResearch&quot;,function() {
        ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, {view:&#39;researchAdvisor&#39;})
        }).on(&quot;click&quot;, &quot;#helpPalace&quot;,function() {
            var capital = ikariam.getCapital;
            if (capital){
            ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, capital.getBuildingFromName(Constant.Buildings.PALACE).getUrlParams)			
            }
            else alert(Constant.LanguageData[lang].alert_palace)
        }).on(&quot;click&quot;, &quot;#helpFinance&quot;,function() {
        ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, {view:&#39;finances&#39;})
        }).on(&quot;click&quot;, &quot;#helpShop&quot;,function() {
        ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, {view:&#39;premium&#39;})		
        });
  },  
  DrawSettings                  : function() {
    	var lang = database.settings.languageChange.value;
	  	$(&#39;#SettingsTab&#39;).html(this.getSettingsTable(
	    )).on(&quot;change&quot;, &quot;#empire_onTop&quot;, function() {
        database.settings.onTop.value = this.checked;
        render.mainContentBox.css(&#39;z-index&#39;, this.checked ? 65112 : 61);
        }).on(&quot;change&quot;, &quot;#empire_windowTennis&quot;, function() {
        database.settings.windowTennis.value = this.checked;
            if (!this.checked){
            render.mainContentBox.css(&#39;z-index&#39;, database.settings.onTop.value ? 65112 : 61);
            }
            else {
            render.mainContentBox.trigger(&#39;mouseenter&#39;)
            }
        }).on(&quot;change&quot;, &quot;#empire_fullArmyTable&quot;, function() {
        database.settings.fullArmyTable.value = this.checked;
        render.updateCitiesArmyData()
        }).on(&quot;change&quot;, &quot;#empire_playerInfo&quot;, function() {
        database.settings.playerInfo.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_onIkaLogs&quot;, function() {
        database.settings.onIkaLogs.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_controlCenter&quot;, function() {
        database.settings.controlCenter.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_withoutFable&quot;, function() {
        database.settings.withoutFable.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_ambrosiaPay&quot;, function() {
        database.settings.ambrosiaPay.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_hideOnWorldView&quot;, function() {
        database.settings.hideOnWorldView.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_hideOnIslandView&quot;, function() {
        database.settings.hideOnIslandView.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_hideOnCityView&quot;, function() {
        database.settings.hideOnCityView.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_autoUpdates&quot;, function() {
        database.settings.autoUpdates.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_smallFont&quot;, function() {
        database.settings.smallFont.value = this.checked;
            if(this.checked) {GM_addStyle(&quot;#empireBoard {font-size:8pt}&quot;)}
			else {GM_addStyle(&quot;#empireBoard {font-size:inherit}&quot;)}
        }).on(&quot;change&quot;, &quot;#empire_newsTicker&quot;, function() {
        database.settings.newsTicker.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_event&quot;, function() {
        database.settings.event.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_birdSwarm&quot;, function() {
        database.settings.birdSwarm.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_hourlyRess&quot;, function() {
        database.settings.hourlyRess.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_wineOut&quot;, function() {
        database.settings.wineOut.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_dailyBonus&quot;, function() {
        database.settings.dailyBonus.value = this.checked;
        }).on(&quot;change&quot;, &quot;#empire_logInPopup&quot;, function() {
        database.settings.logInPopup.value = this.checked;
            if(this.checked)
            alert(Constant.LanguageData[lang].alert_daily)
        }).on(&quot;change&quot;, &quot;#empire_alternativeBuildingList&quot;, function() {
        database.settings.alternativeBuildingList.value = this.checked;
        render.cityRows.building = {};
		if (database.settings.alternativeBuildingList.value == this.checked &amp;&amp; database.settings.compressedBuildingList.value == 1){
            alert(Constant.LanguageData[lang].alert)
            replace(database.settings.compressedBuildingList.value == this.checked)
                }		
    $(&#39;table.buildings&#39;).html(render.getBuildingTable());
        render.updateCitiesBuildingData();				
    $.each(database.cities, function(cityId, city) {
        render.setCityName(city);
        render.setActionPoints(city);			
    $.each(database.settings[Constant.Settings.CITY_ORDER].value, function (idx, val) {
        $(&#39;#&#39; + &#39;building&#39; + &#39;_&#39; + val).appendTo($(&#39;#&#39; + &#39;building&#39; + &#39;_&#39; + val).parent())
            })
          })
        }).on(&quot;change&quot;, &quot;#empire_compressedBuildingList&quot;, function() {
      database.settings.compressedBuildingList.value = this.checked;
		if (database.settings.compressedBuildingList.value == this.checked &amp;&amp; database.settings.alternativeBuildingList.value == 1){
            alert(Constant.LanguageData[lang].alert)
            replace(database.settings.alternativeBuildingList.value == this.checked)
                }
      render.cityRows.building = {};
      $(&#39;table.buildings&#39;).html(render.getBuildingTable());
      render.updateCitiesBuildingData();
      $.each(database.cities, function(cityId, city) {
        render.setCityName(city);
        render.setActionPoints(city);
        $.each(database.settings[Constant.Settings.CITY_ORDER].value, function (idx, val) {
          $(&#39;#&#39; + &#39;building&#39; + &#39;_&#39; + val).appendTo($(&#39;#&#39; + &#39;building&#39; + &#39;_&#39; + val).parent())
        })
      })
    }).on(&#39;change&#39;,&quot;#empire_wineWarningTime&quot;, function() {
        database.settings.wineWarningTime.value = this.value;
        }).on(&#39;change&#39;,&quot;#empire_languageChange&quot;, function() { 
        database.settings.languageChange.value = this.value;
        }).on(&quot;click&quot;, &quot;#empire_Website_Button&quot;, function() {
        GM_openInTab(&#39;http://userscripts.org:8080/scripts/show/&#39; + empire.scriptId);
        }).on(&quot;click&quot;, &quot;#empire_Reset_Button&quot;,function() {
        empire.HardReset();
        }).on(&quot;click&quot;,&quot;#empire_Update_Button&quot;, function() {
        empire.CheckForUpdates.call(empire, true);
        }).on(&quot;click&quot;,&quot;#empire_Bug_Button&quot;, function() {
        GM_openInTab(&#39;http://userscripts.org:8080/scripts/discuss/138078&#39;);
        }).on(&quot;change&quot;, &quot;input[type=&#39;checkbox&#39;]&quot;, function(){
                  this.blur()
       });
	$(document).ready(function() {  //todo
        if ($(&#39;#empire_dailyBonus&#39;).attr(&#39;checked&#39;) &amp;&amp; $(&#39;#dailyActivityBonus form&#39;)) {
			$(&#39;#dailyActivityBonus form&#39;).submit();
		}
		if ($(&#39;#empire_logInPopup&#39;).attr(&#39;checked&#39;)) {
			GM_addStyle(&#39;#multiPopup {display: none;}&#39;);
		}
		if ($(&#39;#empire_dailyBonus&#39;).attr(&#39;checked&#39;) &amp;&amp; $(&#39;#empire_logInPopup&#39;).attr(&#39;checked&#39;)) {
			GM_addStyle(&#39;#multiPopup {display: none;}&#39;);
		}
	});
    $(&quot;#empire_Reset_Button&quot;).button({icons: {primary: &quot;ui-icon-alert&quot;}, text: true});
    $(&quot;#empire_Website_Button&quot;).button({icons: {primary: &quot;ui-icon-home&quot;}, text: true});
    $(&quot;#empire_Update_Button&quot;).button({icons: {primary: &quot;ui-icon-info&quot;}, text: true});
    $(&quot;#empire_Bug_Button&quot;).button({icons: {primary: &quot;ui-icon-notice&quot;}, text: true});
    $(&quot;#empire_Save_Button&quot;).button({icons: {primary: &quot;ui-icon-check&quot;}, text: true});	
    $(&quot;#empire_Allianz&quot;).button({text: true});
    $(&quot;#empire_Allianz_einlesen&quot;).button({text: true});
  },
  toast                         : function(sMessage) {
    $(&#39;&lt;div&gt;&#39;).addClass(&quot;ui-tooltip-content ui-widget-content&quot;).text(sMessage).appendTo($(document.createElement(&quot;div&quot;)).addClass(&quot;ui-helper-reset ui-tooltip ui-tooltip-pos-bc ui-widget&quot;).css({position: &#39;relative&#39;, display: &#39;inline-block&#39;, left: &#39;auto&#39;, top: &#39;auto&#39;}).show().appendTo($(document.createElement(&quot;div&quot;)).addClass(&quot;toast&quot;).appendTo(document.body).delay(100).fadeIn(&quot;slow&quot;, function() {
      $(this).delay(2000).fadeOut(&quot;slow&quot;, function() {
        $(this).remove();
      });
    })));
  },
  RestoreDisplayOptions         : function() {
    render.mainContentBox.css(&#39;left&#39;, database.settings.window.left);
    render.mainContentBox.css(&#39;top&#39;, database.settings.window.top);
    this.$tabs.tabs(&#39;select&#39;, database.settings.window.activeTab);
    if(!(ikariam.viewIsWorld &amp;&amp; database.settings.hideOnWorldView.value || ikariam.viewIsIsland &amp;&amp; database.settings.hideOnIslandView.value || ikariam.viewIsCity &amp;&amp; database.settings.hideOnCityView.value) &amp;&amp; database.settings.window[&#39;visible&#39;])
      this.mainContentBox.fadeToggle(&#39;slow&#39;);
  },
  SaveDisplayOptions            : function() {
    if(database.settings)
      try {
        database.settings.addOptions({window: {
          left     : render.mainContentBox.css(&#39;left&#39;),
          top      : render.mainContentBox.css(&#39;top&#39;),
          visible  : (ikariam.viewIsWorld &amp;&amp; database.settings.hideOnWorldView.value || ikariam.viewIsIsland &amp;&amp; database.settings.hideOnIslandView.value || ikariam.viewIsCity &amp;&amp; database.settings.hideOnCityView.value) ? database.settings.window.visible : (render.mainContentBox.css(&#39;display&#39;) != &#39;none&#39;),
          activeTab: render.$tabs.tabs(&#39;option&#39;, &#39;active&#39;)}
        })
      } catch(e) {
        empire.error(&#39;SaveDisplayOptions&#39;, e)
      }
  },
  SidePanelButton               : function() {
    $(&#39;#js_viewCityMenu&#39;).find(&#39;li.empire_Menu&#39;)
	    .on(&quot;click&quot;, function(event) {render.ToggleMainBox();})
	    .on(&quot;contextmenu&quot;, function(event) {
	      event.preventDefault();
	      database.settings.window.left = 110;
	      database.settings.window.top = 200;
		    render.mainContentBox.css(&#39;left&#39;, database.settings.window.left);
		    render.mainContentBox.css(&#39;top&#39;, database.settings.window.top);
    });
    $(document).on(&#39;keydown&#39;, function(event) {
      var index = -1;
      var type = event.target.nodeName.toLowerCase();
      if(type === &#39;input&#39; || type === &#39;textarea&#39; || type === &#39;select&#39;)
        return true;
      if(event.which === 32) {
        event.stopImmediatePropagation();
        render.ToggleMainBox();
        return false
      }
      if(event.originalEvent.shiftKey) {

        index = [49, 50, 51, 52, 53].indexOf(event.which);
        if(index !== -1) {
          render.$tabs.tabs(&#39;option&#39;, &#39;active&#39;, index);
          return false
        } else {
          switch(event.which){
            case 81:
              $(&#39;#js_worldMapLink&#39;).find(&#39;a&#39;).click();
              break;
            case 87:
              $(&#39;#js_islandLink&#39;).find(&#39;a&#39;).click();
              break;
            case 69:
              $(&#39;#js_cityLink&#39;).find(&#39;a&#39;).click();
              break;
          }
        }
      } else {
        var keycodes = &#39;&#39;;
        var codeTyp = ikariam.Nationality();
          switch(codeTyp){
            case &#39;en&#39;:
			case &#39;gr&#39;:
			case &#39;ro&#39;:
			case &#39;ru&#39;: 
			case &#39;pl&#39;:
			case &#39;ir&#39;:
			case &#39;ae&#39;:
			case &#39;au&#39;:
			case &#39;br&#39;:
			case &#39;hk&#39;:
			case &#39;hu&#39;: // code 0,0 ü ó 
			case &#39;il&#39;:
			case &#39;lt&#39;:
			case &#39;nl&#39;:
			case &#39;tw&#39;:
			case &#39;us&#39;:
		      keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 173, 61]; //EN - =
              break;
            case &#39;de&#39;:
		      keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 63, 192]; //DE ß ´
              break;
            case &#39;it&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 222, 160]; //IT + \ 
              break;
            case &#39;es&#39;:
			case &#39;rs&#39;:
			case &#39;si&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 222, 171]; //ES, RS, SI &#39; +
              break;
            case &#39;ar&#39;:
			case &#39;cl&#39;:
			case &#39;co&#39;:
			case &#39;mx&#39;:
			case &#39;pe&#39;:
            case &#39;pt&#39;:
			case &#39;ve&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 222, 0]; //AR, CL, CO, MX, VE, PE &#39; ¿  PT &#39; «
              break;
            case &#39;fr&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 169, 61]; //FR ) =
              break;
            case &#39;cz&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 61, 169]; //CZ = )
              break;
            case &#39;bg&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 173, 190]; //BG - . 
              break;
            case &#39;dk&#39;:
			case &#39;fi&#39;:
			case &#39;ee&#39;:
			case &#39;se&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 171, 192]; //DK, FI, EE, SE + ´
              break;
            case &#39;no&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 171, 222]; //NO + \ 
              break;
            case &#39;tr&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 170, 173]; //TR * - 
              break;
            case &#39;sk&#39;:
			  keycodes = [49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 61, 0]; //SK = ´
              break;
          }
        index = keycodes.indexOf(event.which);
        if(index !== -1) {
          if(index &lt; database.settings.cityOrder.value.length) {
            $(&#39;#resource_&#39; + database.settings.cityOrder.value[index] +&#39; .city_name .clickable&#39;).trigger(&#39;click&#39;);
            return false
          }
        } else {
          switch(event.which){
            case 81:
              $(&#39;#js_GlobalMenu_cities&#39;).click();
              break;
            case 87:
              $(&#39;#js_GlobalMenu_military&#39;).click();
              break;
            case 69:
              $(&#39;#js_GlobalMenu_research&#39;).click();
              break;
            case 82:
              $(&#39;#js_GlobalMenu_diplomacy&#39;).click();
              break;
          }
        }
      }
    })
  },
  ToggleMainBox                 : function() {
    database.settings.window.visible = (this.mainContentBox.css(&#39;display&#39;) == &#39;none&#39;);
    this.mainContentBox.fadeToggle(&quot;slow&quot;);
  },
  DrawTables                    : function() {
    if($(this.mainContentBox)) {
      $(&#39;#ArmyTab&#39;).html(this.getArmyTable());
      $(&#39;#ResTab&#39;).html(this.getResourceTable());
      $(&#39;#BuildTab&#39;).html(this.getBuildingTable());
	  $(&#39;#WorldmapTab&#39;).html(this.getWorldmapTable());	  
      this.DrawSettings();
      this.DrawHelp();	  
      this.toolTip.init();
      $(&#39;#ResTab, #BuildTab, #ArmyTab&#39;).each(function () {
        $(this).sortable({
                           helper:function (e, ui) {
                             ui.children(&#39;td&#39;).each(function () {
                               $(this).width(Math.round($(this).width()));
                               $(this).hasClass(&#39;building&#39;) &amp;&amp; $(this).css(&#39;border&#39;, &#39;1px solid transparent&#39;);
                             });
                             ui.parents(&#39;div[role=tabpanel]&#39;).each(function () {
                               $(this).width(Math.round($(this).width()));
                             });
                             return ui;
                           },
                           handle:&#39;.city_name .icon&#39;,
                           cursor:&quot;move&quot;,
                           axis:&#39;y&#39;,
                           items:&#39;tbody tr&#39;,
                           container:&#39;tbody&#39;,
                           revert:200,
                           stop:function (event, ui) {
                             ui.item.parents(&quot;div[role=tabpanel]&quot;).css(&quot;width&quot;, &quot;&quot;);
                             ui.item.children(&quot;td&quot;).css(&quot;width&quot;, &quot;&quot;).css(&quot;border&quot;, &quot;&quot;);
                             database.settings[Constant.Settings.CITY_ORDER].value = ui.item.parents(&#39;.ui-sortable&#39;).sortable(&#39;toArray&#39;).map(function (item) {
                               return parseInt(item.split(&#39;_&#39;).pop())
                             });
                             $.each([&#39;building&#39;,&#39;resource&#39;,&#39;army&#39;], function (idx, type) {
                                 if ($(this).parents(&#39;.ui-sortable&#39;).attr(&#39;id&#39;) !== type) {
                                   $.each(database.settings[Constant.Settings.CITY_ORDER].value, function (idx, val) {
                                     $(&#39;#&#39; + type + &#39;_&#39; + val).appendTo($(&#39;#&#39; + type + &#39;_&#39; + val).parent())
                                   })
                                 }
                               });
                           }
                         })
      });
      $.each([&#39;building&#39;,&#39;resource&#39;,&#39;army&#39;], function (idx, type) {
          $.each(database.settings[Constant.Settings.CITY_ORDER].value, function (idx, val) {
            $(&#39;#&#39; + type + &#39;_&#39; + val).appendTo($(&#39;#&#39; + type + &#39;_&#39; + val).parent())
          })
        });
    }
    this.AttachClickHandlers(); 
  },
  getResourceTable              : function() {
  	var lang = database.settings.languageChange.value;
    var header = &#39;&lt;colgroup span=&quot;3&quot;/&gt;\n   &lt;colgroup span=&quot;3&quot;/&gt;\n    &lt;colgroup span=&quot;2&quot;/&gt;\n    &lt;colgroup span=&quot;2&quot;/&gt;\n    &lt;colgroup span=&quot;2&quot;/&gt;\n    &lt;colgroup span=&quot;2&quot;/&gt;\n    &lt;colgroup span=&quot;2&quot;/&gt;\n   &lt;colgroup span=&quot;2&quot;/&gt;\n    &lt;colgroup span=&quot;2&quot;/&gt;\n&lt;thead&gt;\n&lt;tr class=&quot;header_row&quot;&gt;\n    &lt;th class=&quot;city_name&quot; data-tooltip=&quot;{10}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=18\&#39;)&quot;&gt;{0}&lt;/th&gt;\n    &lt;th class=&quot;action_points icon actionpointImage&quot; data-tooltip=&quot;{1}&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;empireactions&quot;&gt;\n       &lt;div class=&quot;trading&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].transport +&#39;&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=militaryAdvisor\&#39;)&quot;&gt;&lt;/div&gt;\n&lt;div class=&quot;agora&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].agora +&#39;&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=diplomacyIslandBoard&amp;amp=&amp;islandId\&#39;)&quot;&gt;&lt;/div&gt; &lt;div class=&quot;member&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].member +&#39;&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=diplomacyAllyMemberlist\&#39;)&quot;&gt;&lt;/div&gt;\n  &lt;/th&gt;\n    &lt;th class=&quot;citizen_header icon populationImage&quot; data-tooltip=&quot;{2}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=3\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    \n    &lt;th class=&quot;growth_header icon growthImage&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].satisfaction +&#39;&quot;   style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=3\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;research_header icon researchImage&quot; data-tooltip=&quot;{3}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=researchAdvisor\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;gold_header icon goldImage&quot; colspan=&quot;2&quot; data-tooltip=&quot;{4}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=finances\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;wood_header icon woodImage&quot; colspan=&quot;2&quot; data-tooltip=&quot;{5}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=5\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;wine_header icon wineImage&quot; colspan=&quot;2&quot; data-tooltip=&quot;{6}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=6\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;marble_header icon marbleImage&quot; colspan=&quot;2&quot; data-tooltip=&quot;{7}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=6\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;glass_header icon glassImage&quot; colspan=&quot;2&quot; data-tooltip=&quot;{8}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=6\&#39;);return false;&quot;&gt;&lt;/th&gt;\n    &lt;th class=&quot;sulfur_header icon sulfurImage&quot; colspan=&quot;2&quot; data-tooltip=&quot;{9}&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=ikipedia&amp;helpId=6\&#39;);return false;&quot;&gt;&lt;/th&gt;\n  \n&lt;/tr&gt;\n&lt;/thead&gt;&#39;;
    var table = &#39;&lt;table class=&quot;resources&quot;&gt;\n    {0}\n   &lt;tbody&gt;{1}&lt;/tbody&gt;\n    &lt;tfoot&gt;{2}&lt;/tfoot&gt;\n&lt;/table&gt;&#39;;
	var resourceRow = &#39;&lt;tr id=&quot;resource_{0}&quot;&gt;\n    &lt;td class=&quot;city_name&quot;&gt;\n        &lt;span&gt;&lt;/span&gt;\n        &lt;span class=&quot;clickable&quot;&gt;&lt;/span&gt;\n        &lt;sub&gt;&lt;/sub&gt;\n        &lt;span class=&quot;Red&quot; data-tooltip=&quot;{6}&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;{5}&lt;/b&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;\n         &lt;/td&gt;\n    &lt;td class=&quot;action_points&quot;&gt;&lt;span class=&quot;ap&quot;&gt;&lt;/span&gt;&amp;nbsp;&lt;br&gt;&lt;span class=&quot;garrisonlimit&quot;  data-tooltip=&quot;dynamic&quot;&gt;&lt;img height=&quot;18&quot; hspace=&quot;3&quot;&gt;&lt;/span&gt;&lt;/td&gt;\n    &lt;td class=&quot;empireactions&quot;&gt;\n        &lt;div class=&quot;worldmap&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_world +&#39;&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;        &lt;div class=&quot;city&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_town_hall +&#39; {2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n    &lt;div class=&quot;island&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_island +&#39;&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n  &lt;br&gt; &lt;div class=&quot;islandwood&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_saw_mill +&#39;&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n    &lt;div class=&quot;islandgood&quot;  style=&quot;background: url(skin/resources/icon_{3}.png) no-repeat center center; background-size: 18px auto; cursor: pointer;&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_mine +&#39;&quot;&gt;&lt;/div&gt;\n &lt;div class=&quot;transport&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].transporting +&#39; {2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n        &lt;/td&gt;\n    &lt;td class=&quot;population&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class= &quot;pop&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/span&gt;\n        &lt;span&gt;&lt;/span&gt;\n        &lt;div class=&quot;progressbarPop ui-progressbar ui-widget ui-widget-content ui-corner-all&quot; data-tooltip=&quot;dynamic&quot;&gt;\n            &lt;div class=&quot;ui-progressbar-value ui-widget-header ui-corner-left&quot; style=&quot;width: 95%&quot;&gt;&lt;/div&gt;\n        &lt;/div&gt;\n    &lt;/td&gt;\n    \n    &lt;td class=&quot;population_happiness&quot;&gt;   &lt;span class=&quot;happy&quot;  data-tooltip=&quot;dynamic&quot;&gt;&lt;img align=right height=&quot;18&quot; hspace=&quot;8&quot; vspace=&quot;2&quot;&gt;&lt;/span&gt;&lt;br&gt;&lt;span class=&quot;growth clickbar&quot;&gt;&lt;/span&gt;\n &lt;/td&gt;\n    &lt;td class=&quot;research&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;scientists&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/span&gt;\n        &lt;span&gt;&lt;/span&gt;\n    {4}   \n   &lt;/div&gt;\n    &lt;/td&gt;\n    {1}\n    &lt;/tr&gt;\n&#39;; 
    var resourceCell = &#39;&lt;td class=&quot;resource {0}&quot;&gt;\n    &lt;span class=&quot;icon safeImage&quot;&gt;&lt;/span&gt;\n    &lt;span class=&quot;current&quot;&gt;&lt;/span&gt;\n   &lt;span class=&quot;incoming&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/span&gt;\n    &lt;div class=&quot;progressbar ui-progressbar ui-widget ui-widget-content ui-corner-all&quot; data-tooltip=&quot;dynamic&quot;&gt;\n    &lt;div class=&quot;ui-progressbar-value ui-widget-header ui-corner-left&quot; style=&quot;width: 95%&quot;&gt;&lt;/div&gt;\n    &lt;/div&gt;\n  &lt;/td&gt;\n&lt;td class=&quot;resource {0}&quot;&gt;\n    &lt;span class=&quot;prodconssubsum production Green&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/span&gt;\n    &lt;span class=&quot;prodconssubsum consumption Red&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/span&gt;\n    &lt;span class=&quot;emptytime Red&quot;&gt;&lt;/span&gt;\n&lt;/td&gt;&#39;; 
    var footer = &#39;&lt;tr&gt;\n    &lt;td colspan=&quot;2&quot;&gt;&lt;/td&gt;\n   &lt;td id=&quot;t_sigma&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;Σ&lt;/td&gt;\n    &lt;td id=&quot;t_population&quot; class=&quot;total&quot;&gt;&lt;/td&gt;&lt;td id=&quot;t_growth&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_research&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/td&gt;\n        &lt;td id=&quot;t_currentgold&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_goldincome&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;Green&quot;&gt;&lt;/span&gt;\n      &lt;span class=&quot;Red&quot;&gt;&lt;/span&gt;\n         &lt;td id=&quot;t_currentwood&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_woodincome&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;Green&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;Red&quot;&gt;&lt;/span&gt;\n    &lt;/td&gt;\n    &lt;td id=&quot;t_currentwine&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_wineincome&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;Green&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;Red&quot;&gt;&lt;/span&gt;\n    &lt;/td&gt;\n    &lt;td id=&quot;t_currentmarble&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_marbleincome&quot; class=&quot;total&quot;data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;Green&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;Red&quot;&gt;&lt;/span&gt;\n    &lt;/td&gt;\n    &lt;td id=&quot;t_currentglass&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_glassincome&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;Green&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;Red&quot;&gt;&lt;/span&gt;\n    &lt;/td&gt;\n    &lt;td id=&quot;t_currentsulfur&quot; class=&quot;total&quot;&gt;&lt;/td&gt;\n    &lt;td id=&quot;t_sulfurincome&quot; class=&quot;total&quot; data-tooltip=&quot;dynamic&quot;&gt;\n        &lt;span class=&quot;Green&quot;&gt;&lt;/span&gt;\n        &lt;span class=&quot;Red&quot;&gt;&lt;/span&gt;\n    &lt;/td&gt;\n&lt;/tr&gt;&#39;;

    return Utils.format(table, [getHead(), getBody(), getFooter()]);  

    function getHead() {
      return Utils.format(header, [Constant.LanguageData[lang].towns, Constant.LanguageData[lang].actionP, Constant.LanguageData[lang].population, Constant.LanguageData[lang].researchP, Constant.LanguageData[lang].finances_, Constant.LanguageData[lang].wood_, Constant.LanguageData[lang].wine_, Constant.LanguageData[lang].marble_, Constant.LanguageData[lang].crystal_, Constant.LanguageData[lang].sulphur_, database.getGlobalData.getLocalisedString(&#39;Current form&#39;)])
    }
	
    function getBody() {
      var rows = &#39;&#39;;
      $.each(database.cities, function(cityId, city) {
        var resourceCells = &#39;&#39;;
	    var info = city.isUpgrading == true ? &#39;!&#39; : &#39;&#39;;
        var progSci = &#39;&#39;;
            if(this.getBuildingFromName(Constant.Buildings.ACADEMY)) {
            progSci = &#39;&lt;div class=&quot;progressbarSci ui-progressbar ui-widget ui-widget-content ui-corner-all&quot; data-tooltip=&quot;dynamic&quot;&gt;\n &lt;div class=&quot;ui-progressbar-value ui-widget-header ui-corner-left&quot; style=&quot;width: 95%&quot;&gt;&lt;/span&gt;&lt;/div&gt;&#39;;
           } 			   
        $.each(Constant.Resources, function(key, resourceName) {
          resourceCells += Utils.format(resourceCell, [resourceName])
        });		
        rows += Utils.format(resourceRow, [city.getId, resourceCells, city._name, city.getTradeGood, progSci, info, info ? Constant.LanguageData[lang].constructing : &#39;&#39;])
      });
      return rows; 
    } 
    function getFooter() {
      return footer;
    }
  },
  getArmyTable                  : function() {
  	var lang = database.settings.languageChange.value;  
    var table = &#39;&lt;table class=&quot;army&quot;&gt;\n    {0}\n    &lt;tbody&gt;{1}&lt;/tbody&gt;\n    &lt;tfoot&gt;{2}&lt;/tfoot&gt;\n&lt;/table&gt;&#39;;
    var headerRow = &#39;&lt;thead&gt;&lt;tr class=&quot;header_row&quot;&gt;\n    &lt;th class=&quot;city_name&quot;&gt;{0}&lt;/th&gt;\n    &lt;th data-tooltip=&quot;{1}&quot; class=&quot;icon actionpointImage action_points&quot; &gt;\n &lt;th class=&quot;empireactions&quot; colspan=&quot;2&quot;&gt;\n       &lt;div class=&quot;spio&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].espionage +&#39;&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n&lt;div class=&quot;combat&quot;data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].combat +&#39;&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n  &lt;/th&gt;&lt;th class=&quot;expenses_header icon expensesImage&quot;data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].expenses +&#39;&quot;&gt;&lt;/th&gt;\n\n    {2}\n&lt;/tr&gt;&lt;/thead&gt;&#39;;
    var headerCell = &#39;&lt;th data-tooltip=&quot;{0}&quot; style=&quot;background:url(\&#39;{1}\&#39;)  no-repeat center center; background-size: auto 24px; cursor: pointer;&quot; colspan=&quot;2&quot; class=&quot;army unit icon {2}&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=unitdescription&amp;{5}Id={3}&amp;helpId={4}\&#39;); return false;&quot;&gt;&amp;nbsp;&lt;/th&gt;\n\n&#39;;
    var bodyRow = &#39;&lt;tr id=&quot;army_{0}&quot;&gt;\n    &lt;td class=&quot;city_name&quot;&gt;&lt;img&gt;&lt;span class=&quot;clickable&quot;&gt;&lt;/span&gt;&lt;sub&gt;&lt;/sub&gt;&lt;/td&gt;\n    &lt;td class=&quot;action_points&quot;&gt;&lt;span class=&quot;ap&quot;&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;span class=&quot;garrisonlimit&quot;  data-tooltip=&quot;dynamic&quot;&gt;&lt;img height=&quot;18&quot; hspace=&quot;5&quot;&gt;&lt;/span&gt;&lt;/td&gt;\n    &lt;td class=&quot;empireactions&quot;&gt;\n     &lt;div class=&quot;deploymentarmy&quot;data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].transporting_units +&#39;&amp;nbsp;{2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n  &lt;br&gt;  &lt;div class=&quot;deploymentfleet&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].transporting_fleets +&#39;&amp;nbsp;{2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n&lt;/td&gt; \n &lt;td class=&quot;empireactions&quot;&gt;{3} &lt;br&gt; {4}  \n    &lt;/td&gt;\n &lt;td class=&quot;expenses&quot;&gt; {5} &lt;/td&gt;\n   {1}\n&lt;/tr&gt;&#39;;
    var bodyCell = &#39;&lt;/td&gt;&lt;td style=&quot;&quot; class=&quot;army unit {0}&quot;&gt;\n    &lt;span&gt;{1}&lt;/span&gt;\n&lt;/td&gt;\n&lt;td style=&quot;&quot; class=&quot;army movement {0}&quot; data-tooltip=&quot;dynamic&quot;&gt;\n    &lt;span class=&quot;More Green {0}&quot;&gt;{2}&lt;/span&gt;\n  &lt;br&gt;  &lt;span class=&quot;More Blue {0}&quot;&gt;{3}&lt;/span&gt;\n&lt;/td&gt;&#39;;
	var costCell = &#39;&#39;;
    var footerRow = &#39;&lt;tr class=&quot;totals_row&quot;&gt;\n    &lt;td class=&quot;city_name&quot;&gt;&lt;/td&gt;\n    &lt;td&gt;&lt;/td&gt;\n   &lt;td class=&quot;sigma&quot; colspan=&quot;2&quot;&gt;Σ&lt;/td&gt;&lt;td&gt;&amp;nbsp;{1}&amp;nbsp;&lt;/td&gt;\n    {0}\n&lt;/tr&gt;&#39;; 
    var footerCell = &#39;&lt;td class=&quot;army total {0} unit&quot;&gt;\n    &lt;span&gt;&lt;/span&gt;\n&lt;/td&gt;\n&lt;td style=&quot;&quot; class=&quot;army total {0} movement&quot;&gt;\n    &lt;span class=&quot;More Green&quot;&gt;&lt;/span&gt;\n    &lt;span class=&quot;More Blue&quot;&gt;&lt;/span&gt;\n&lt;/td&gt;&#39;;

    return Utils.format(table, [getHead(), getBody(), getFooter()]);

    function getHead() {
      var headerCells = &#39;&#39;;
      var cols = &#39;&lt;colgroup span=4/&gt;&lt;colgroup&gt;&lt;/colgroup&gt;&#39;;
      for(var category in Constant.unitOrder) {
        cols += &#39;&lt;colgroup&gt;&#39;;
        $.each(Constant.unitOrder[category], function(index, value) {
		   var helpId = 9;
	       var unit = &#39;unit&#39;;
	       if (Constant.UnitData[value].id &lt; 300){
	       helpId = 10;
	       unit = &#39;ship&#39;;
	       }
          headerCells += Utils.format(headerCell, [database.getGlobalData.getLocalisedString(value), getImage(value), value, Constant.UnitData[value].id, helpId, unit]);
          cols += &#39;&lt;col&gt;&lt;col&gt;&#39;
        });
        cols += &#39;&lt;/colgroup&gt;&#39; 
      }
      return cols + Utils.format(headerRow, [Constant.LanguageData[lang].towns, Constant.LanguageData[lang].actionP, headerCells])
    }

    function getBody() {
      var body = &#39;&#39;;
      $.each(database.cities, function(cityId, city) {
        var rowCells = &#39;&#39;;
        var divbarracks = &#39;&#39;;
            if(this.getBuildingFromName(Constant.Buildings.BARRACKS)) {
            divbarracks = &#39;&lt;div class=&quot;barracks&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_barracks +&#39;&amp;nbsp;{2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;&#39;;
           }
        var divshipyard = &#39;&amp;nbsp;&#39;;
            if(this.getBuildingFromName(Constant.Buildings.SHIPYARD)) {
            divshipyard = &#39;&lt;div class=&quot;shipyard&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].to_shipyard +&#39;&amp;nbsp;{2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;&#39;;
           }
		var cost = 0;
        for(var category in Constant.unitOrder) {
          $.each(Constant.unitOrder[category], function(index, value) {
            var builds = city.getUnitBuildsByUnit(value);
            rowCells += Utils.format(bodyCell, [value, city.military.getUnits.getUnit(value) || &#39;&#39;, builds[value] ? builds[value] : &#39;&#39;, &#39;&#39;])
          })
        }
        body += Utils.format(bodyRow, [city.getId, rowCells, city._name, divbarracks, divshipyard, cost])
      });
      return body
    }

    function getFooter() {
      var footerCells = &#39;&#39;;
      var expense = Utils.FormatNumToStr(database.getGlobalData.finance.armyCost + database.getGlobalData.finance.fleetCost);	  
      for(var category in Constant.unitOrder) {
        $.each(Constant.unitOrder[category], function(index, value) {
          footerCells += Utils.format(footerCell, [value])
        })
      }
      return Utils.format(footerRow, [footerCells, expense])
    }

    function getImage(unitID) {
      return (Constant.UnitData[unitID].type == &#39;fleet&#39;) ? &#39;skin/characters/fleet/60x60/&#39; + unitID + &#39;_faceright.png&#39; : &#39;skin/characters/military/x60_y60/y60_&#39; + unitID + &#39;_faceright.png&#39;
    }
  },
  getBuildingTable              : function() {
  	var lang = database.settings.languageChange.value;  
    var table = &#39;&lt;table class=&quot;buildings&quot;&gt;\n{0}\n    &lt;tbody&gt;{1}&lt;/tbody&gt;\n&lt;/table&gt;&#39;;
    var headerCell = &#39;&lt;th data-tooltip=&quot;{0}&quot; style=&quot;background-color: transparent; background-image: url(\&#39;{1}\&#39;); \n background-repeat: no-repeat; background-attachment: scroll; background-position: center center; background-clip: \n border-box; background-origin: padding-box; background-size: 50px auto; cursor: pointer;&quot; colspan=&quot;{2}&quot; class=&quot;icon&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=buildingDetail&amp;helpId=1&amp;buildingId={3}\&#39;);return false;&quot;&gt;&amp;nbsp;&lt;/th&gt;&#39;;
    var headerRow = &#39;&lt;thead&gt;&lt;tr class=&quot;header_row&quot;&gt;\n    &lt;th class=&quot;city_name&quot;&gt;{0}&lt;/th&gt;\n    &lt;th data-tooltip=&quot;{1}&quot; class=&quot;action_points icon actionpointImage&quot;&gt;&lt;/th&gt;\n  &lt;th class=&quot;empireactions&quot;&gt;\n  &lt;div class=&quot;contracts&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].contracts +&#39;&quot; style=&quot;cursor:pointer;&quot; onclick=&quot;ajaxHandlerCall(\&#39;?view=diplomacyTreaty\&#39;)&quot;&gt;&lt;/div&gt;&lt;/th&gt;\n    {2}\n&lt;/tr&gt;&lt;/thead&gt;&#39;;
    var buildingCell = &#39;&lt;td class=&quot;building {0}&quot; data-tooltip=&quot;dynamic&quot;&gt;&lt;/td&gt;&#39;;
    var buildingRow = &#39;&lt;tr id=&quot;building_{0}&quot;&gt;\n    &lt;td class=&quot;city_name&quot;&gt;&lt;img&gt;&lt;span class=&quot;clickable&quot;&gt;&lt;/span&gt;&lt;sub&gt;&lt;/sub&gt;&lt;/td&gt;\n    &lt;td class=&quot;action_points&quot;&gt;&lt;span class=&quot;ap&quot;&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;br&gt;&lt;span class=&quot;garrisonlimit&quot;  data-tooltip=&quot;dynamic&quot;&gt;&lt;img height=&quot;18&quot; hspace=&quot;5&quot;&gt;&lt;/span&gt;&lt;/td&gt;\n    &lt;td class=&quot;empireactions&quot;&gt;\n  &lt;div class=&quot;deploymentfleet&quot;&gt;&lt;/div&gt; &lt;br&gt;  &lt;div class=&quot;transport&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].transporting +&#39; {2}&quot; style=&quot;cursor:pointer;&quot;&gt;&lt;/div&gt;\n   &lt;/td&gt;\n    {1}\n&lt;/tr&gt;&#39;;
    var counts = database.getBuildingCounts;
    var buildingOrder = (database.settings.alternativeBuildingList.value ? Constant.altBuildingOrder : database.settings.compressedBuildingList.value ? Constant.compBuildingOrder : Constant.buildingOrder);

    return Utils.format(table, [getHead(), getBody()]);

    function getHead() {
      var headerCells = &#39;&#39;;
      var colgroup = &#39;&lt;colgroup span=&quot;3&quot;&gt;&lt;/colgroup&gt;&#39;;
      for(var category in buildingOrder) {
        var cols = &#39;&#39;;
        $.each(buildingOrder[category], function(index, value) {
          if(value == &#39;colonyBuilding&#39;) {
            if(!database.settings.compressedBuildingList.value || !counts[value]) {
              return true;
            }
            cols += &#39;&lt;col span=&quot;&#39; + counts[value] + &#39;&quot;&gt;&#39;;
            headerCells += Utils.format(headerCell, [database.getGlobalData.getLocalisedString(Constant.Buildings.PALACE) + &#39;/&#39; + database.getGlobalData.getLocalisedString(Constant.Buildings.GOVERNORS_RESIDENCE), Constant.BuildingData[Constant.Buildings.PALACE].icon, counts[value], &quot;?view=buildingDetail&amp;helpId=1&amp;buildingId=&quot; + Constant.BuildingData.palace.buildingId])
          } else if(value == &#39;productionBuilding&#39;) {
            if(!database.settings.compressedBuildingList.value || !counts[value]) {
              return true;
            }
            cols += &#39;&lt;col span=&quot;&#39; + counts[value] + &#39;&quot;&gt;&#39;;
			var test = &#39;&#39;; //todo
			if (&#39;#empireBoard #BuildTab table tbody tr td.building.winegrower0&#39;){ 
			test = 21;}
			if (&#39;#empireBoard #BuildTab table tbody tr td.building.stonemason0&#39;){
			test = 19;}
            headerCells += Utils.format(headerCell, [database.getGlobalData.getLocalisedString(Constant.Buildings.STONEMASON) + &#39;/&#39; + database.getGlobalData.getLocalisedString(Constant.Buildings.WINERY) + &#39;/&#39; + database.getGlobalData.getLocalisedString(Constant.Buildings.ALCHEMISTS_TOWER) + &#39;/&#39; + database.getGlobalData.getLocalisedString(Constant.Buildings.GLASSBLOWER), &#39;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAUCAMAAACknt2MAAABelBMVEUAAADp49mgkICxmnzVuIxMcwtciQ90pSC/tKR7aFWOfGmIdmPKr4lomxChyk/YxKjTyrzl2slrVkKBblu5ooXp0a3NwrOqm4uNeWRTMzMnGRZFQBvb0sS0p5j18OiTgW3cvpSeXF07JSSJUlLFeHY2NhZzrRKZh3XmyJwPCgl7jzSHyBXlx53EuateSje0amp0YE2Fc2FzSEeFqzfoyJftylO7l1312oXv0GzWyqzN0MH15b311WO3iy2jchyLXiuZrqtyt9uJx+bP2M789+/sz3nv2p7+5IOXZRWHVA/jxou7vquTyuS7x72MqKmEw+J/wOFdk6ylsaXsz6Xz1njKnzTBlkF6SAvhvE2TsraVzeiNyeZ8ttJ7v+EzXnXJ1M2tfiKts6S63ex2utyUw9hFhqV6ss2W0O7fvmDUrUJnnrOk0+tjq8602uzO6fbCyr7Eu6BqrM1tstS74fKbzeXS6/dvud7OrG1PlLeMwNfW7viu2e2i0ObK4OYudx14AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAFfSURBVCgVBcFLTlNhGADQ8/29t/e/reVhChWkUDFRE0hM1IlxYiIzhy5EN+ASTNyBO3DoIpw7VBNAiga0QFKsPK7nBBARV4AiIq4ukUBWVd0bQI0OJJjPC3VcV0AVTdOGhKVot//0TEFR9pebWQ8J1d9qNjxZjhGKYV3XI7N7JLDfU+dh48HmekrKcjYab0m2Y7GeP9tb2ztCL5meT8J45UJre5KOrlZv/hr0TyeXk3p6sdBqfc96439p399GXdx2Pbxv47zTreeiGcxKAABF8aiA/tZjAZ5EfAYA0ALDFKsrB4Cn63sgwbOyVeYu4HnOL0BgJyJOFkR88jIiIiI+ouDVecfhMCIa5iLix1oEJDtnnShmZ2mcT8k5VXdzzpB20kn/8HJkcfVnw4c8V09znr5GSpsbX5qlruOvA7zZbbdXqvJWhfR799tgduzhnVY9z/vtnN9VdfvgLQAAAPgPmQZaHvndsJEAAAAASUVORK5CYII=&#39;, counts[value], test, &quot;?view=buildingDetail&amp;helpId=1&amp;buildingId=21&quot;]).replace(&#39;50px auto&#39;,&#39;38px 28px&#39;)
 		    } else if(counts[value]) {
            cols += &#39;&lt;col span=&quot;&#39; + counts[value] + &#39;&quot;&gt;&#39;;
            headerCells += Utils.format(headerCell, [database.getGlobalData.getLocalisedString(value), Constant.BuildingData[value].icon, counts[value], &quot;?view=buildingDetail&amp;helpId=1&amp;buildingId=&quot; + Constant.BuildingData[value].buildingId])
          }
        });
         if(cols != &#39;&#39;) {
          colgroup += &#39;&lt;colgroup&gt;&#39; + cols + &#39;&lt;/colgroup&gt;&#39;
        }
      }
      return colgroup + Utils.format(headerRow, [Constant.LanguageData[lang].towns, Constant.LanguageData[lang].actionP, headerCells])
    }
	
    function getBody() {
      var body = &#39;&#39;;
      $.each(database.cities, function(cityId, city) {
        var rowCells = &#39;&#39;;
        for(var category in buildingOrder) {
          $.each(buildingOrder[category], function(index, value) {
            if((value == &#39;productionBuilding&#39; || value == &#39;colonyBuilding&#39; ) &amp;&amp; !database.settings.compressedBuildingList.value) return false;
            var i = 0;
            while(i &lt; counts[value]) {
              var cssClass = &#39;&#39;;
              if(value == &#39;colonyBuilding&#39;) {
                cssClass = city.isCapital ? Constant.Buildings.PALACE : Constant.Buildings.GOVERNORS_RESIDENCE
              } else if(value == &#39;productionBuilding&#39;) {
                switch(city.getTradeGoodID) {
                  case 1:
                    cssClass = Constant.Buildings.WINERY;
                    break;
                  case 2:
                    cssClass = Constant.Buildings.STONEMASON;
                    break;
                  case 3:
                    cssClass = Constant.Buildings.GLASSBLOWER;
                    break;
                  case 4:
                    cssClass = Constant.Buildings.ALCHEMISTS_TOWER;
                    break;
                }
              } else {
                cssClass = value
              }
              cssClass += +i;
              rowCells += Utils.format(buildingCell, [cssClass]);
              i++
            }
          })
        }
        body += Utils.format(buildingRow, [city.getId, rowCells, city._name])
      });
      return body
    }
  },
  AddIslandCSS                  : function() {
    if(!(/.*view=island.*/.test(window.document.location))) 
      if(!this.cssResLoaded()) Utils.addStyleSheet(&#39;@import &quot;http://&#39; + ikariam.Host() + &#39;/skin/compiled-&#39; + ikariam.Nationality() + &#39;-island.css&quot;;&#39;);	  
  },
  updateCityArmyCell :function(cityId, type, $node){
    var $row;
    var celllevel = !$node;
    try {
      if(celllevel) {
        $row = this.getArmyRow(cityId);
        $node = Utils.getClone($row);
      }
      var city = database.getCityFromId(cityId);
      var data1 = city.military.getUnits.getUnit(type) || 0;
      var data2 = city.military.getIncomingTotals[type] || 0;
      var data3 = city.military.getTrainingTotals[type] || 0;  
      var cells = $node.find(&#39;td.&#39; + type);
      cells.get(0).textContent = Utils.FormatNumToStr(data1, false, 0) || &#39;&#39;;
      cells = cells.eq(1).children(&#39;span&#39;);
      cells.get(0).textContent = Utils.FormatNumToStr(data2, true, 0) || &#39;&#39;;
      cells.get(1).textContent = Utils.FormatNumToStr(data3, true, 0) || &#39;&#39;;	  
      delete this.cityRows.army[cityId];
      if (celllevel){
        Utils.setClone($row, $node);
        this.setArmyTotals(undefined, type);
      }
    } catch(e) {
      empire.error(&#39;updateCityArmyCell&#39;, e);
    } finally {

    }
  },
  updateCityArmyRow: function(cityId, $node) {
    var $row;
    var rowLevel = !$node;
    if(rowLevel) {
      $row = this.getArmyRow(cityId);
      $node = Utils.getClone($row);
    }
    for(var armyId in Constant.UnitData) {
      this.updateCityArmyCell(cityId, armyId, $node)
    }
    if(rowLevel) {
      Utils.setClone($row, $node);
      this.setArmyTotals();
      delete this.cityRows.army[cityId];
    }
  },
  updateCitiesArmyData :function(){
    var $node = $(&#39;#ArmyTab&#39;).find(&#39;table.army&#39;);
    var $clone = Utils.getClone($node);
    for (var cityId in database.cities){
      empire.time(this.updateCityArmyRow.bind(this, cityId, $clone.find(&#39;#army_&#39; + cityId)), &#39;updateArmyRow&#39;);
    }
    this.setArmyTotals($clone);
    Utils.setClone($node, $clone);
    this.cityRows.army = {};
  },
  updateChangesForCityMilitary         : function(cityId, changes) {
    if (changes &amp;&amp; changes.length &lt; 5){
      $.each(changes, function(index, unit) {
        this.updateCityArmyCell(cityId,unit)
      }.bind(render));
      this.setArmyTotals();
    } else {
      this.updateCityArmyRow(cityId)
    }
  },
  updateGlobalData              : function(changes) {
    this.setAllResourceData();
    return true;
  },
  updateMovementsForCity        : function(changedCityIds) {
    if(changedCityIds.length)
      $.each(changedCityIds, function(index, id) {
        var city = database.getCityFromId(id);
        if(city) {
          this.setMovementDataForCity(city)
        }
      }.bind(render))
  },
  updateResourcesForCity        : function(cityId, changes) {
    var city = database.getCityFromId(cityId);
    if(city) {
      events.scheduleAction(this.updateResourceCounters.bind(render, true), 0);
    }
  },
  updateCityDataForCity         : function(cityId, changes) {
    var city = database.getCityFromId(cityId);
    if(city) {
      var research = 0, population = 0, finance = 0;
      for(var key in changes) {
        switch(key) {
          case &#39;research&#39;:		  
            research += changes[key];
            break;
          case &#39;priests&#39;:
            if(Constant.Government.THEOCRACY === database.getGovernmentType){
              population += changes[key];
              finance += changes[key];			  
            }			
            break;
          case &#39;culturalGoods&#39;:
            research += changes[key];
            population += changes[key];
            break;
          case &#39;citizens&#39;:	  
          case &#39;population&#39;:		  
            population += changes[key];
            finance += changes[key];
            break;
          case &#39;name&#39;:
            this.setCityName(city);
            break;
          case &#39;islandId&#39;:
            break;
          case &#39;coordinates&#39;:
            break;
          case &#39;finance&#39;:
            finance += changes[key]			
        }
      }
      if(!!population) {
        this.setPopulationData(city)
      }
      if(!!research) {
        this.setResearchData(city)
      }
      if(!!finance) {
        this.setFinanceData(city)
      }
    }
  },
  setArmyTotals                 : function($node, unitId) {
    var data = database.getArmyTotals;
    if(!$node) {
      $node = $(&#39;#ArmyTab&#39;);
    }
    if(unitId) {
      $node.find(&#39;td.total.&#39; + unitId).eq(0).text(Utils.FormatNumToStr(data[unitId].total,false,0) ||&#39;&#39; )
      .next().children(&#39;span&#39;).eq(0).text(Utils.FormatNumToStr(data[unitId].incoming,true,0) ||&#39;&#39; )
      .next().text(Utils.FormatNumToStr(data[unitId].training,true,0) || &#39;&#39; );
      if(data[unitId].training || data[unitId].incoming || data[unitId].total || database.settings.fullArmyTable.value) {
        $node.find(&#39;td.&#39; + unitId+&#39; ,th.&#39; + unitId).show()
      } else {
        $node.find(&#39;td.&#39; + unitId+&#39; ,th.&#39; + unitId).hide();
      }
    } else {
      $.each(Constant.UnitData, function(unit, info) {
        $node.find(&#39;td.total.&#39; + unit).eq(0).text(Utils.FormatNumToStr(data[unit].total,false,0) ||&#39;&#39; )
        .next().children(&#39;span&#39;).eq(0).text(Utils.FormatNumToStr(data[unit].incoming,true,0) ||&#39;&#39; )
        .next().text(Utils.FormatNumToStr(data[unit].training,true,0) || &#39;&#39; );
        if(data[unit].training || data[unit].incoming || data[unit].total || database.settings.fullArmyTable.value) {
          $node.find(&#39;td.&#39; + unit+&#39; ,th.&#39; + unit).show();
        } else {
          $node.find(&#39;td.&#39; + unit+&#39; ,th.&#39; + unit).hide();
        }
      });
    }
  },
  updateChangesForCityBuilding     : function(cityID, changes) {
    try {
      var city = database.getCityFromId(cityID);
      if(city) {
        if(changes.length) {
          $.each(changes, function(key, data) {
            var building = city.getBuildingFromPosition(data.position);
            if(building.getName === data.name) {
              this.updateCityBuildingPosition(city, data.position)
            } else {
              this.updateCityBuildingRow(city);
              return false
            }
          }.bind(render))
        }
      }
    } catch(e) {
      empire.error(&#39;updateChangesForCityBuilding&#39;, e);
    } finally {
    }
  },
  updateCityBuildingPosition: function(city, position, $node) {
    var building = city.getBuildingFromPosition(position);
    var idx = 0;
    var cellOnly = ($node == undefined);
    $.each(city.getBuildingsFromName(building.getName), function (index, b) {
      if (b.getPosition == building.getPosition) {
        idx = index;
        return false;
      }
    });
    var cell;
    if (cellOnly) {
      $node = render.getBuildingsRow(city);
      cell = $node.find(&#39;td.building.&#39; + building.getName + idx)
    }
    else{
      cell = $node.find(&#39;td.building.&#39; + building.getName + idx)
    }
    if (!building.isEmpty) {
      if (cell.length) {
        cell.html(&#39;&lt;span&gt;&#39; + building.getLevel + &#39;&lt;/span&gt;&#39;).find(&#39;span&#39;)
          .removeClass(&#39;upgrading upgradable upgradableSoon maxLevel&#39;)
          .addClass(&#39;clickable&#39;)
          .addClass((building.isMaxLevel ? &#39;maxLevel&#39; : &#39;&#39;) + ( building.isUpgrading ? &#39; upgrading&#39; : &#39;&#39;) + (building.isUpgradable ? (city.isUpgrading ? &#39; upgradableSoon&#39; : &#39; upgradable&#39;) : &#39;&#39;));
      }
      else{
        return false
      }
    }
    return true
  },
  updateCityBuildingRow        : function(city, $node) {
    try {
      var $row;
      var cellLevel = !$node;
      if(cellLevel) {
        $row = this.getBuildingsRow(city);
        $node = Utils.getClone($row);
      }
      var success = true;
      $.each(city.getBuildings, function(position, building) {
        success = this.updateCityBuildingPosition(city, position, $node);
        return success
      }.bind(render));

      if (cellLevel){
        render.cityRows.building[city.getId] = undefined;
        $node.find(&#39;table.buildings&#39;).html(render.getBuildingTable);

        if (!success){
          render.updateCitiesBuildingData();
          $.each(database.cities, function (cityId, city) {
            render.setCityName(city);
            render.setActionPoints(city);			
          });
          return success;
        }
        Utils.setClone($row, $node);
      }
      return success
    } catch(e) {
      empire.error(&#39;updateCityBuildingRow&#39;, e);
    } finally {
    }
  },
  updateCitiesBuildingData            : function($redraw) {
    try {
      var success = true;
      var i = 0;
      var $node = $(&#39;#BuildTab&#39;).find(&#39;table.buildings&#39;);
      var $clone = $redraw || Utils.getClone($node);
        $.each(database.cities, function(cityId, city){
          success = empire.time(this.updateCityBuildingRow.bind(this, city, $clone.find(&#39;#building_&#39; + city.getId)), &#39;updateBuildingRow&#39;);
          return success
        }.bind(render));
        if (!success){
          $clone.html(render.getBuildingTable);
          if (!$redraw){
            render.updateCitiesBuildingData($clone);
          }
        }
      if (!$redraw){
        this.cityRows.building = {};
        Utils.setClone($node, $clone);
      }
      else {
        $.each(database.cities, function (cityId, city) {
          render.setCityName(city);
          render.setActionPoints(city);		  
        })
      }
    } catch(e) {
      empire.error(&#39;updateCitiesBuildingData&#39;, e)
    } finally {
    }
  },
  redrawSettings:function () {
    $(&#39;#SettingsTab&#39;).html(render.getSettingsTable());
    $(&quot;#empire_Reset_Button&quot;).button({icons: {primary: &quot;ui-icon-alert&quot;}, text: true});
	$(&quot;#empire_Website_Button&quot;).button({icons: {primary: &quot;ui-icon-home&quot;}, text: true});
	$(&quot;#empire_Update_Button&quot;).button({icons: {primary: &quot;ui-icon-info&quot;}, text: true});
    $(&quot;#empire_Bug_Button&quot;).button({icons: {primary: &quot;ui-icon-notice&quot;}, text: true});
    $(&quot;#empire_Save_Button&quot;).button({icons: {primary: &quot;ui-icon-check&quot;}, text: true});
	},	
  DrawContentBox                : function() {
  	var lang = database.settings.languageChange.value; 
    var that = this;
    if(!this.mainContentBox) { //&lt;li&gt;&lt;a href=&quot;#WorldmapTab&quot; data-tooltip=&quot;Not yet implemented&quot;&gt;Worldmap&lt;/a&gt;&lt;/li&gt;
      $(&quot;#container&quot;).after(&#39;&lt;div id=&quot;empireBoard&quot; class=&quot;ui-widget&quot; style=&quot;display:none;z-index:&#39; + (database.settings.onTop.value ? 65112 : 61) + &#39;;position: absolute; left:70px;top:180px;&quot;&gt;\
                                    &lt;div id=&quot;empire_Tabs&quot;&gt;\
                                        &lt;ul&gt;\
                                            &lt;li&gt;&lt;a href=&quot;#ResTab&quot;&gt;&#39;+ Constant.LanguageData[lang].economy +&#39;&lt;/a&gt;&lt;/li&gt;\
                                            &lt;li&gt;&lt;a href=&quot;#BuildTab&quot;&gt;&#39;+ Constant.LanguageData[lang].buildings +&#39;&lt;/a&gt;&lt;/li&gt;\
                                            &lt;li&gt;&lt;a href=&quot;#ArmyTab&quot;&gt;&#39;+ Constant.LanguageData[lang].military +&#39;&lt;/a&gt;&lt;/li&gt;\
                                            &lt;li&gt;&lt;a href=&quot;#SettingsTab&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].options +&#39;&quot;&gt;&lt;span class=&quot;ui-icon ui-icon-gear&quot;/&gt;&lt;/a&gt;&lt;/li&gt;\
											&lt;li&gt;&lt;a href=&quot;#HelpTab&quot; data-tooltip=&quot;&#39;+ Constant.LanguageData[lang].help +&#39;&quot;&gt;&lt;span class=&quot;ui-icon ui-icon-help&quot;/&gt;&lt;/a&gt;&lt;/li&gt;\
                                        &lt;/ul&gt;\
                                        &lt;div id=&quot;ResTab&quot;&gt;&lt;/div&gt;\
                                        &lt;div id=&quot;BuildTab&quot;&gt;&lt;/div&gt;\
                                        &lt;div id=&quot;ArmyTab&quot;&gt;&lt;/div&gt;\
										&lt;div id=&quot;WorldmapTab&quot;&gt;&lt;/div&gt;\
                                        &lt;div id=&quot;SettingsTab&quot;&gt;&lt;/div&gt;\
                                        &lt;div id=&quot;HelpTab&quot;&gt;&lt;/div&gt;\
                                    &lt;/div&gt;\
                                &lt;/div&gt;&#39;);
      this.mainContentBox = $(&quot;#empireBoard&quot;);
      this.$tabs = $(&quot;#empire_Tabs&quot;).tabs({collapsible: true, show: null, selected: -1 });
      this.mainContentBox.draggable({
        handle: &#39;#empire_Tabs &gt; ul&#39;,
        cancel: &#39;div.ui-tabs-panel&#39;,
        stop  : function() {
          render.SaveDisplayOptions();
        }
      });
	    this.$tabs.find(&#39;ul li a&#39;).on(&#39;click&#39;, function() {
		    events(Constant.Events.TAB_CHANGED).pub(render.$tabs.tabs(&#39;option&#39;, &#39;active&#39;));
		    render.SaveDisplayOptions();
	      
      });
      render.mainContentBox.on(&#39;mouseenter&#39;,function() {
        if(database.settings.windowTennis.value) {
          render.mainContentBox.css(&#39;z-index&#39;, &quot;65112&quot;)
        }
      }).on(&#39;mouseleave&#39;, function() {
        if(database.settings.windowTennis.value) {
          render.mainContentBox.css(&#39;z-index&#39;, &quot;2&quot;)
        }
      })
    }
  },
  AttachClickHandlers           : function() {
    $(&#39;body&#39;).on(&#39;click&#39;, &#39;#js_buildingUpgradeButton&#39;, function(e) {

      var href = this.getAttribute(&#39;href&#39;);
      if(href !== &#39;#&#39;) {
        var params = $.decodeUrlParam(href);
        if(params[&#39;function&#39;] === &quot;upgradeBuilding&quot;) {
          var upgradeSuccessCheck = (function upgradeSuccess() {
            var p = params;
            return function(response) {
              var len = response.length;
              var feedback = 0;
              while(len--) {
                if(response[len][0] == &#39;provideFeedback&#39;) {
                  feedback = response[len][1][0].type;
                  break;
                }
              }
              if(feedback == 10) { //success
                render.updateChangesForCityBuilding(p[&#39;cityId&#39;] || ikariam.getCurrentCity, [])
              }
              events(&#39;ajaxResponse&#39;).unsub(upgradeSuccessCheck);
            }
          })();
        }
        events(&#39;ajaxResponse&#39;).sub(upgradeSuccessCheck)
      }
    });
    render.mainContentBox.on(&#39;click&#39;, &#39;td.city_name span.clickable&#39;,function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var classes = target.parents(&#39;td&#39;).attr(&#39;class&#39;);
      var params = {cityId: city.getId};
      if(!city.isCurrentCity) {
        $(&quot;#js_cityIdOnChange&quot;).val(city.getId);
        if(unsafeWindow.ikariam.templateView) {
          if(unsafeWindow.ikariam.templateView.id === &#39;tradegood&#39; || unsafeWindow.ikariam.templateView.id === &#39;resource&#39;) {
            params.templateView = unsafeWindow.ikariam.templateView.id;
            if(ikariam.viewIsCity) {
              params.islandId = city.getIslandID;
              params.view = unsafeWindow.ikariam.templateView.id;
              params.type = unsafeWindow.ikariam.templateView.id == &#39;resource&#39; ? &#39;resource&#39; : city.getTradeGoodID;
            } else {
              params.currentIslandId = ikariam.getCurrentCity.getIslandID
            }
          }
        }
        ikariam.loadUrl(true, ikariam.mainView, params)
      }
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.transport&#39;,function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;td&#39;).parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
        if(!city.isCurrentCity &amp;&amp; ikariam.getCurrentCity) {
          ikariam.loadUrl(true, ikariam.mainView, {view: &#39;transport&#39;, destinationCityId: city.getId, templateView: Constant.Buildings.TRADING_PORT})
        }
        return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div[class*=deployment]&#39;, function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var type = target.attr(&#39;class&#39;).split(&#39; &#39;).pop().split(&#39;deployment&#39;).pop();
        if(ikariam.currentCityId === city.getId) {
          return false
        }
        var params = {
          cityId           : ikariam.CurrentCityId,
          view             : &#39;deployment&#39;,
          deploymentType   : type,
          destinationCityId: city.getId
        };
        ikariam.loadUrl(true, null, params)
      });
	$(&#39;#empire_Tabs&#39;).on(&#39;click&#39;, &#39;td.empireactions div.worldmap&#39;, function(event) {
      var target = $(event.target);
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();	  
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var params = {
          cityId           : city.getId,
	      view             : &#39;worldmap_iso&#39;
      };
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.island&#39;, function(event) {
      var target = $(event.target);
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();	  
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var params = {
          cityId           : city.getId,
	      view             : &#39;island&#39;
      };
      ikariam.loadUrl(true, null, params);
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.city&#39;,function(event) {
	  var target = $(event.target);	  
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
      var building = city.getBuildingFromName(Constant.Buildings.TOWN_HALL);
      var params = building.getUrlParams;	  
      if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    }).on(&#39;click&#39;, &#39;td.population_happiness&#39;, function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
      var building = city.getBuildingFromName(Constant.Buildings.TAVERN);
      var params = building.getUrlParams;	  
      if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    }).on(&#39;click&#39;, &#39;td.research span&#39;,function(event) {
	  var target = $(event.target);	  
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
	  var building = city.getBuildingFromName(Constant.Buildings.ACADEMY);
      var params = building.getUrlParams;
      if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.barracks&#39;,function(event) {
	  var target = $(event.target);	  
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
	  var building = city.getBuildingFromName(Constant.Buildings.BARRACKS);
      var params = building.getUrlParams;
      if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.shipyard&#39;,function(event) {
	  var target = $(event.target);	  
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
	  var building = city.getBuildingFromName(Constant.Buildings.SHIPYARD);
      var params = building.getUrlParams;
      if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    }).on(&#39;click&#39;, &#39;th.empireactions div.spio&#39;,function() {
         ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, ikariam.getCurrentCity.getBuildingFromName(Constant.Buildings.HIDEOUT).getUrlParams) //tabReports
    }).on(&#39;click&#39;, &#39;th.empireactions div.combat&#39;,function() {
         ikariam.loadUrl(ikariam.viewIsCity, &quot;city&quot;, {view:&#39;militaryAdvisor&#39;, activeTab:&#39;combatReports&#39;} )
    }).on(&#39;click&#39;, &#39;span.production&#39;,function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var resource = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
      var params = {
        cityId: city.getId
      };
      if(ikariam.CurrentCityId == city.getId || !ikariam.viewIsIsland) {
        params.type = resource == Constant.Resources.WOOD ? &#39;resource&#39; : city.getTradeGoodID;
        params.view = resource == Constant.Resources.WOOD ? &#39;resource&#39; : &#39;tradegood&#39;;
        params.islandId = city.getIslandID;
      } else if(ikariam.viewIsIsland) {
        params.templateView = resource == Constant.Resources.WOOD ? &#39;resource&#39; : &#39;tradegood&#39;;
        if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      }
      if(ikariam.viewIsIsland) {
        params.currentIslandId = ikariam.getCurrentCity.getIslandID;
      }
      ikariam.loadUrl(true, ikariam.mainView, params);
      render.AddIslandCSS();
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.islandgood&#39;, function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var resource = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
      var params = {
        cityId: city.getId
      };
      if(ikariam.CurrentCityId == city.getId || !ikariam.viewIsIsland) {
        params.type = resource == Constant.Resources.WOOD ? &#39;resource&#39; : city.getTradeGoodID;
        params.view = resource == Constant.Resources.WOOD ? &#39;resource&#39; : &#39;tradegood&#39;;
        params.islandId = city.getIslandID;
      } else if(ikariam.viewIsIsland) {
        params.templateView = resource == Constant.Resources.WOOD ? &#39;resource&#39; : &#39;tradegood&#39;;
        if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      }
      if(ikariam.viewIsIsland) {
        params.currentIslandId = ikariam.getCurrentCity.getIslandID;
      }
      ikariam.loadUrl(true, ikariam.mainView, params);
      render.AddIslandCSS();
      return false;
    }).on(&#39;click&#39;, &#39;td.empireactions div.islandwood&#39;, function(event) { 
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var resource = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
      var params = {
        cityId: city.getId
      };
      if(ikariam.CurrentCityId == city.getId || !ikariam.viewIsIsland) {
        params.type = resource == Constant.Resources.WOOD ? city.getTradeGoodID : &#39;resource&#39;;
        params.view = resource == Constant.Resources.WOOD ? &#39;tradegood&#39; : &#39;resource&#39;;
        params.islandId = city.getIslandID;
      } else if(ikariam.viewIsIsland) {
        params.templateView = resource == Constant.Resources.WOOD ? &#39;resource&#39; : &#39;tradegood&#39;;
        if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      }
      if(ikariam.viewIsIsland) {
        params.currentIslandId = ikariam.getCurrentCity.getIslandID;
      }
      ikariam.loadUrl(true, ikariam.mainView, params);
      render.AddIslandCSS();
      return false;
    });
	$(&#39;#empire_Tabs&#39;).on(&#39;click&#39;, &#39;td.building span.clickable&#39;, function(event) {
      var target = $(event.target);
      var city = database.getCityFromId(target.parents(&#39;tr&#39;).attr(&#39;id&#39;).split(&#39;_&#39;).pop());
      var className = target.parents(&#39;td&#39;).attr(&#39;class&#39;).split(&#39; &#39;).pop();
      var building = city.getBuildingsFromName(className.slice(0, -1))[className.charAt(className.length - 1)];
      var params = building.getUrlParams;
      if(unsafeWindow.ikariam.templateView)unsafeWindow.ikariam.templateView.id = null;
      ikariam.loadUrl(true, &#39;city&#39;, params);
      return false;
    });
  },

  startResourceCounters                  : function() {
    this.stopResourceCounters();
    this.resUpd = events.scheduleActionAtInterval(render.updateResourceCounters.bind(render), 5000);
    this.updateResourceCounters(true);
  },
  stopResourceCounters                  : function() {
    if(this.resUpd) {
      this.resUpd();
      this.resUpd = null;
    }
  },
  getResourceRow                : function(city) {
    return this._getRow(city, &quot;resource&quot;)
  },
  getBuildingsRow               : function(city) {
    return this._getRow(city, &quot;building&quot;)
  },
  getArmyRow                    : function(city) {
    return this._getRow(city, &quot;army&quot;)
  },
  _getRow                       :function(city, type){
    city = typeof city == &#39;object&#39;? city : database.getCityFromId(city);
    if(!this.cityRows[type][city.getId])
      this.cityRows[type][city.getId] = $(&quot;#&quot; + type + &quot;_&quot; + city.getId);
    return this.cityRows[type][city.getId]
  },
  getAllRowsForCity             : function(city) {
    return this.getResourceRow(city).add(this.getBuildingsRow(city)).add(this.getArmyRow(city))
  },  
  setCityName                   : function(city, rows) {
    if(!rows) {
      rows = this.getAllRowsForCity(city); 
    }
  	var lang = database.settings.languageChange.value;	
    rows.find(&#39;td.city_name&#39;).each(function(index, elem) {
      elem.children[0].outerHTML = &#39;&lt;span class=&quot;icon &#39; + city.getTradeGood + &#39;Image&quot;&gt;&lt;/span&gt;&#39;;
      elem.children[1].textContent = city.getName;
      elem.children[2].textContent = &#39; &#39; + (city.getAvailableBuildings || &#39;&#39;) + &#39; &#39;;
      elem.children[2].setAttribute(&#39;data-tooltip&#39;, Constant.LanguageData[lang].free_ground);  
    });
  },  
  setActionPoints               : function(city, rows) {
    if(!rows) {
      rows = this.getAllRowsForCity(city); 
    }
    rows.find(&#39;span.ap&#39;).text(city.getAvailableActions + &#39;/&#39; + city.maxAP);	
	rows.find(&#39;span.garrisonlimit img&#39;).attr(&#39;src&#39;, &#39;skin/advisors/military/bang_soldier.png&#39;);
  },  
  setFinanceData                : function(city, row) {
    if(!row) {
      row = this.getResourceRow(city)
    }
  },
  setPopulationData             : function(city, row) {
    if(!row) {
      row = this.getResourceRow(city)
    }
  	var lang = database.settings.languageChange.value;
	var populationData = city.populationData;
    var popSpace = Math.floor(populationData.currentPop-populationData.maxPop);
    var popDiff = populationData.maxPop-populationData.currentPop;
    row.find(&#39;td.population span&#39;).get(0).textContent = Utils.FormatNumToStr(populationData.currentPop, false, 0) + &#39;/&#39; + Utils.FormatNumToStr(populationData.maxPop, false, 0);
    row.find(&#39;td.population span&#39;).get(1).textContent = (popSpace!== 0 ? Utils.FormatNumToStr(popSpace, true, 0):&#39;&#39;);
    var fillperc = 100 / populationData.maxPop * populationData.currentPop ;
    row.find(&#39;td.population div.progressbarPop&#39;).find(&#39;div.ui-progressbar-value&#39;).width(fillperc + &quot;%&quot;).removeClass(&quot;normal, warning, full&quot;).addClass((populationData.currentPop / populationData.maxPop == 1) ? &quot;full&quot; : (city._citizens &lt; 300) ? &quot;warning&quot; : &quot;normal&quot;); 
	var img = &#39;&#39;;
     if(populationData.growth &lt; -1) {
      img = &#39;outraged&#39;;
     } else if(populationData.growth &lt; 0) {
      img = &#39;sad&#39;;
     } else if(populationData.growth &lt; 1) {
      img = &#39;neutral&#39;;
     } else if(populationData.growth &lt; 6) {
      img = &#39;happy&#39;;
     } else {
      img = &#39;ecstatic&#39;;
     }
    row.find(&#39;td.population_happiness span img&#39;).attr(&#39;src&#39;, &#39;skin/smilies/&#39; + img + &#39;_x25.png&#39;);
	row.find(&#39;span.growth&#39;).text(popDiff != 0 ? Utils.FormatNumToStr(populationData.growth, true, 2) : &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39;);	
	row.find(&#39;span.growth&#39;).removeClass(&#39;Red Green&#39;).addClass(populationData.happiness &gt; 60 &amp;&amp; popDiff == 0 ? &#39;Red&#39; : populationData.happiness &gt; 0 &amp;&amp; populationData.happiness &lt;= 60 &amp;&amp; popDiff &gt; 0 ? &#39;Green&#39; : &#39;&#39;);
  },  
  setResearchData  : function(city, row) {  
    if(!row) {
      row = this.getResourceRow(city)
    }
	var researchData = researchData || city.research.researchData;
	row.find(&#39;td.research span&#39;).addClass(&#39;clickbar&#39;).get(0).textContent = Utils.FormatNumToStr(city.research.getResearch) &gt; 0 ? Utils.FormatNumToStr(city.research.getResearch, true, 0) : city.iSci;
    var fillperc = (100 * researchData.scientists) / city.maxSci;
    row.find(&#39;td.research div.progressbarSci&#39;).find(&#39;div.ui-progressbar-value&#39;).width(fillperc + &quot;%&quot;).removeClass(&#39;normal, full&#39;).addClass(researchData.scientists == 0 ? &#39;&#39; : city.maxSci - researchData.scientists &gt; 0 ? &#39;normal&#39; : &#39;full&#39; );
  },
  setMovementDataForCity        : function(city, row) {
    if(!row) {
      row = this.getResourceRow(city)
    }
    var totalIncoming = {wood: 0, wine: 0, marble: 0, glass: 0, sulfur: 0, gold: 0};
    $.each(city.getIncomingResources, function(index, element) {
      for(var resourceName in Constant.Resources) {
        totalIncoming[Constant.Resources[resourceName]] += element.getResource(Constant.Resources[resourceName]);	
      }		
    });
    row.find(&#39;td.resource.wood&#39;).find(&#39;span.incoming&#39;).get(0).textContent = Utils.FormatNumToStr(totalIncoming[Constant.Resources.WOOD]) || &#39;&#39;;
    row.find(&#39;td.resource.wine&#39;).find(&#39;span.incoming&#39;).get(0).textContent = Utils.FormatNumToStr(totalIncoming[Constant.Resources.WINE]) || &#39;&#39;;
    row.find(&#39;td.resource.marble&#39;).find(&#39;span.incoming&#39;).get(0).textContent = Utils.FormatNumToStr(totalIncoming[Constant.Resources.MARBLE]) || &#39;&#39;;
    row.find(&#39;td.resource.glass&#39;).find(&#39;span.incoming&#39;).get(0).textContent = Utils.FormatNumToStr(totalIncoming[Constant.Resources.GLASS]) || &#39;&#39;;
    row.find(&#39;td.resource.sulfur&#39;).find(&#39;span.incoming&#39;).get(0).textContent = Utils.FormatNumToStr(totalIncoming[Constant.Resources.SULFUR]) || &#39;&#39;;
    row.find(&#39;td.resource.gold&#39;).find(&#39;span.incoming&#39;).get(0).textContent = Utils.FormatNumToStr(totalIncoming[Constant.Resources.GOLD]) || &#39;&#39;;
  }, 
  setAllResourceData            : function() {
    this.startResourceCounters()
  },
  setCommonData :function(){
		$.each(database.cities, function(cityId, city) {		
		this.setCityName(city);		
		this.setActionPoints(city);		
		}.bind(render))
  }, 
  updateResourceCounters        : function(force) {
    try {
      if((this.$tabs.tabs(&#39;option&#39;, &#39;active&#39;) == 0 ) || force) {
        var tot = {wood: 0, wine: 0, marble: 0, glass: 0, sulfur: 0};
        var inc = {wood: 0, wine: 0, marble: 0, glass: 0, sulfur: 0};
        var conWine = 0;
        var income = 0;
        var researchCost = 0;
        var researchTot = 0;
        var populationTot = 0;
        var populationMaxTot = 0;
        var	growthTot = 0;
		var	citygrowth = 0;		
		var popDiffTot = 0; 		  
      $.each(database.cities, function(cityId, city) {
        var $row = Utils.getClone(this.getResourceRow(city));
        if(force) {
            this.setFinanceData(city, $row);
            this.setPopulationData(city, $row);		
            this.setResearchData(city, $row);
            this.setActionPoints(city, $row);			
            this.setMovementDataForCity(city, $row)
          }		  
          income += Math.floor(city.getIncome)
          researchTot += city.research.getResearch;
          researchCost += Math.floor(city.getExpenses); 	
          populationTot += city._population;
		  populationMaxTot += city.populationData.maxPop;
		  citygrowth = Math.floor(city.populationData.maxPop-city._population &gt; 0) ? city.populationData.growth : 0;
		  growthTot += citygrowth;
		  popDiffTot = Math.floor(populationMaxTot-populationTot);
        var storage = city.maxResourceCapacities;
         $.each(Constant.Resources, function(key, resourceName) {
		   	var lang = database.settings.languageChange.value;
            var currentResource = city.getResource(resourceName);
            var production = currentResource.getProduction * 3600;
            var current = currentResource.getCurrent;
            var consumption = resourceName == Constant.Resources.WINE ? currentResource.getConsumption : 0;
            inc[resourceName] += production;
            tot[resourceName] += current;
            conWine += consumption;
            var rescells = $row.find(&#39;td.resource.&#39; + resourceName);
            rescells.find(&#39;span.current&#39;).addClass(resourceName == Constant.Resources.WOOD || city.getTradeGood == resourceName).get(0).textContent = (current ? Utils.FormatNumToStr(current, false, 0) : &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39;);
            if(resourceName !== Constant.Resources.GOLD)
            rescells.find(&#39;span.production&#39;).addClass(&#39;clickable&#39;).get(0).textContent = (production ? Utils.FormatNumToStr(production, true, 0) : &#39;&#39;);
            if(resourceName === Constant.Resources.WINE) {
              rescells.find(&#39;span.consumption&#39;).get(0).textContent = (consumption ? Utils.FormatNumToStr(0 - consumption, true, 0) : &#39;&#39;);
	            var time = currentResource.getEmptyTime;
	            time = time &gt; 1? Math.floor(time) + (60 - new Date().getMinutes())/60 : 0;
	            time *= 3600000;
                rescells.find(&#39;span.emptytime&#39;).removeClass(&#39;Red Green&#39;).addClass(time &gt; database.settings.wineWarningTime.value * 3600000 ? &#39;Green&#39; : &#39;Red&#39;).get(0).textContent = database.settings.wineWarningTime.value &gt; 0 ? (Utils.FormatTimeLengthToStr(time, 2)) : &#39;&#39;;
            }
            if(resourceName === Constant.Resources.GOLD) {
              rescells.find(&#39;span.current&#39;).get(0).textContent = city.getIncome + city.getExpenses &gt;= 0 ? Utils.FormatNumToStr(city.getIncome + city.getExpenses) : Utils.FormatNumToStr((city.getIncome + city.getExpenses), true);
              rescells.find(&#39;span.production&#39;).get(0).textContent = Utils.FormatNumToStr(city.getIncome, true, 0);			
              rescells.find(&#39;span.consumption&#39;).get(0).textContent = city.getExpenses != 0 ? Utils.FormatNumToStr(city.getExpenses, true, 0) : &#39;&#39; ;	
            }			
            var fillperc = (current / storage.capacity) * 100;
            rescells.find(&#39;div.progressbar&#39;).find(&#39;div.ui-progressbar-value&#39;).width(fillperc + &quot;%&quot;).removeClass(&quot;normal warning almostfull full&quot;).addClass(fillperc &gt; 90 ? fillperc &gt; 96 ? &quot;full&quot; : &quot;almostfull&quot; : fillperc &gt; 70 ? &quot;warning&quot; : &quot;normal&quot;);
            var diffGold = Math.floor(city.getIncome + city.getExpenses);
            var fillpercG = 100 / (city.populationData.maxPop * 3) * diffGold;
            if(resourceName === Constant.Resources.GOLD) {				
            rescells.find(&#39;div.progressbar&#39;).find(&#39;div.ui-progressbar-value&#39;).width(fillpercG + &quot;%&quot;).removeClass(&quot;normal almostfull full fullGold&quot;).addClass(fillpercG &gt; 50 ? fillpercG &gt; 90 ? &quot;fullGold&quot; : &quot;normal&quot; : fillpercG &gt; 25 ? &quot;almostfull&quot; : &quot;full&quot;);
            }
			if(storage.safe &gt; current) {
              rescells.find(&#39;span.safeImage&#39;).show()
            } else {
              rescells.find(&#39;span.safeImage&#39;).hide()
            }
            if(resourceName === Constant.Resources.GOLD) {
              rescells.find(&#39;span.safeImage&#39;).hide()
            }
          }.bind(render));
        Utils.setClone(this.getResourceRow(city),$row);
          this.cityRows.resource[city.getId] = null
        }.bind(render));
		var lang = database.settings.languageChange.value;
        var expense = database.getGlobalData.finance.armyCost + database.getGlobalData.finance.armySupply + database.getGlobalData.finance.fleetCost + database.getGlobalData.finance.fleetSupply - researchCost;
        var sigmaIncome = income - expense;	
		var currentGold = 0;
		    currentGold = Utils.FormatNumToStr(database.getGlobalData.finance.currentGold);
		  if (database.getGlobalData.finance.currentGold &gt; 10000)
		    currentGold = Utils.FormatNumToStr(database.getGlobalData.finance.currentGold/1000) +&#39;k&#39;;	
        $(&quot;#t_currentgold&quot;).get(0).textContent = currentGold;
        $(&quot;#t_currentwood&quot;).get(0).textContent = Utils.FormatNumToStr(Math.round(tot[Constant.Resources.WOOD]), false);
        $(&quot;#t_currentwine&quot;).get(0).textContent = Utils.FormatNumToStr(Math.round(tot[Constant.Resources.WINE]), false);
        $(&quot;#t_currentmarble&quot;).get(0).textContent = Utils.FormatNumToStr(Math.round(tot[Constant.Resources.MARBLE]), false);
        $(&quot;#t_currentglass&quot;).get(0).textContent = Utils.FormatNumToStr(Math.round(tot[Constant.Resources.GLASS]), false);
        $(&quot;#t_currentsulfur&quot;).get(0).textContent = Utils.FormatNumToStr(Math.round(tot[Constant.Resources.SULFUR]), false);
        $(&quot;#t_goldincome&quot;).children(&#39;span&#39;).eq(0).text(Utils.FormatNumToStr(sigmaIncome, true, 0)).siblings(&#39;span&#39;).eq(0).text(sigmaIncome &gt; 0 ? &#39;\u221E&#39; : Utils.FormatTimeLengthToStr((database.getGlobalData.finance.currentGold / sigmaIncome) * 60 * 60 * 1000, true, 0));		
        $(&quot;#t_woodincome&quot;).find(&#39;span&#39;).get(0).textContent = Utils.FormatNumToStr(Math.round(inc[Constant.Resources.WOOD]), true);
        $(&quot;#t_wineincome&quot;).children(&#39;span&#39;).eq(0).text(Utils.FormatNumToStr(Math.round(inc[Constant.Resources.WINE]), true)).siblings(&#39;span&#39;).eq(0).text( &#39;-&#39; + Utils.FormatNumToStr(Math.round(conWine), false));
        $(&quot;#t_marbleincome&quot;).find(&#39;span&#39;).get(0).textContent = Utils.FormatNumToStr(Math.round(inc[Constant.Resources.MARBLE]), true);
        $(&quot;#t_glassincome&quot;).find(&#39;span&#39;).get(0).textContent = Utils.FormatNumToStr(Math.round(inc[Constant.Resources.GLASS]), true);
        $(&quot;#t_sulfurincome&quot;).find(&#39;span&#39;).get(0).textContent = Utils.FormatNumToStr(Math.round(inc[Constant.Resources.SULFUR]), true);
        $(&quot;#t_population&quot;).get(0).textContent = Utils.FormatNumToStr(Math.round(populationTot), false) + &#39;(&#39; + Utils.FormatNumToStr(Math.round(populationMaxTot), false) + &#39;)&#39;;
        $(&quot;#t_growth&quot;).get(0).textContent = popDiffTot &gt; 0 ? Utils.FormatNumToStr(growthTot, true, 2) : &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39;;	
        $(&quot;#t_research&quot;).get(0).textContent = researchTot ? Utils.FormatNumToStr(researchTot, true, 0) : &#39;0&#39;+Constant.LanguageData[lang].decimalPoint+&#39;00&#39;;
        tot = inc = null;
        }
      } catch(e) {
        empire.error(&#39;UpdateResourceCounters&#39;, e)
      }
     }
    };

	function getCityNameFromID(originCity, city) {
	var ret = &#39;&#39;;
	try {
		ret = database.cities[parseInt(originCity)].getName
	} catch(e) {
		ret = originCity;
	}
	return ret;
	}
	render.LoadCSS = function() { 
    //Main Css
	GM_addStyle(&#39;/* Global board styles */\n #js_GlobalMenu_wood, #js_GlobalMenu_wine, #js_GlobalMenu_marble, #js_GlobalMenu_crystal, #js_GlobalMenu_sulfur {font-size:95%; position:absolute; top:0px; right:5px}\n span.resourceProduction {font-size:85%;position:absolute;right:5px; padding-top: 13px}\n #empireBoard .clickable {\n    color: #542c0f;\n    font-weight: 600; }\n#empireBoard .clickable:hover, #empireBoard .clickbar:hover {\n    cursor: pointer;\n    text-decoration: underline; }\n#empireBoard .Bold, #empireBoard .Red, #empireBoard .Blue, #empireBoard .Green {\n    font-weight: normal; }\n#empireBoard .Green {\n    color: green !important; }\n#empireBoard .Red {\n    color: red !important; }\n#empireBoard .Blue {\n    color: blue !important; }\n#empireBoard .icon {\n    background-clip: border-box;\n    background-repeat: no-repeat;\n    background-position: center;\n    background-color: transparent;\n    background-size: auto 20px; }\n#empireBoard .safeImage {\n    background-image: url(&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAJCAYAAAD+WDajAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAEFJREFUeNpi/P//PwMIhOrzQhhAsPriZ0YQzYQugcxnQhaE6YABxhA9HhRdyICJAQ/AayzxOtFdzYRuFLIVAAEGANwqFwuukYKqAAAAAElFTkSuQmCC&quot;);\n    background-size: auto auto !important; }\n#empireBoard .transportImage {\n    background-image: url(skin/actions/transport.jpg); }\n#empireBoard .tradeImage {\n    background-image: url(skin/actions/trade.jpg); }\n#empireBoard .plunderImage {\n    background-image: url(skin/actions/plunder.jpg); }\n#empireBoard .merchantImage {\n    background-image: url(skin/minimized/merchantNavy.png);\n    background-position: 0 -5px; }\n#empireBoard .woodImage {\n    background-image: url(skin/resources/icon_wood.png);}\n#empireBoard .wineImage {\n    background-image: url(skin/resources/icon_wine.png); }\n#empireBoard .marbleImage {\n    background-image: url(skin/resources/icon_marble.png); }\n#empireBoard .sulfurImage {\n    background-image: url(skin/resources/icon_sulfur.png); }\n#empireBoard .goldImage {\n    background-image: url(skin/resources/icon_gold.png); }\n#empireBoard .glassImage {\n    background-image: url(skin/resources/icon_glass.png); }\n#empireBoard .sawMillImage {\n    background-image: url(skin/characters/y100_worker_wood_faceleft.png); }\n#empireBoard .mineImage {\n    background-image: url(skin/characters/y100_worker_tradegood_faceleft.png); }\n#empireBoard .researchImage {\n    background-image: url(skin/layout/bulb-on.png); }\n#empireBoard .populationImage {\n    background-image: url(skin/resources/icon_population.png); }\n#empireBoard .goldImage {\n    background-image: url(skin/resources/icon_gold.png); }\n#empireBoard .expensesImage {\n    background-image: url(skin/resources/icon_upkeep.png); }\n#empireBoard .happyImage {\n    background-image: url(skin/smilies/happy.png); }\n#empireBoard .actionpointImage {\n    background-image: url(skin/resources/icon_actionpoints.png); }\n#empireBoard .growthImage {\n    background-image: url(skin/icons/growth_positive.png); }\n#empireBoard .scientistImage {\n    background-image: url(skin/characters/40h/scientist_r.png); }\n#empireBoard .priestImage {\n    background-image: url(skin/characters/40h/templer_r.png); }\n#empireBoard .citizenImage {\n    background-image: url(skin/characters/40h/citizen_r.png); }\n#empireBoard .cityIcon {\n    background-image: url(skin/icons/city_30x30.png); }\n#empireBoard .governmentIcon {\n    background-image: url(skin/government/zepter_20.png); }\n#empireBoard .researchIcon {\n    background-image: url(skin/icons/researchbonus_30x30.png); }\n#empireBoard .tavernIcon {\n    background-image: url(skin/buildings/tavern_30x30.png); }\n#empireBoard .culturalIcon {\n    background-image: url(skin/interface/icon_message_write.png); }\n#empireBoard .museumIcon {\n    background-image: url(skin/buildings/museum_30x30.png); }\n#empireBoard .incomeIcon {\n    background-image: url(skin/icons/income_positive.png); }\n#empireBoard .crownIcon {\n    background-image: url(skin/layout/crown.png); }\n#empireBoard .corruptionIcon {\n    background-image: url(skin/icons/corruption_24x24.png); }\n#empireBoard #empireTip {\n    display: none;\n    position: absolute;\n    top: 0;\n    left: 0;\n    z-index: 99999999; }\n#empireBoard #empireTip .icon {\n    background-clip: border-box;\n    background-repeat: no-repeat;\n    background-position: 0;\n    background-color: transparent;\n    background-attachment: scroll;\n    background-size: 16px auto;\n    height: 17px;\n    min-width: 24px;\n    width: 24px; }\n#empireBoard #empireTip .icon2 {\n    background-clip: border-box;\n    background-repeat: no-repeat;\n    background-position: 0;\n    background-color: transparent;\n    background-attachment: scroll;\n    background-size: 24px auto;\n    height: 17px;\n    min-width: 24px;\n    width: 24px; }\n#empireBoard #empireTip .content {\n    background-color: #fae0ae;\n    border: 1px solid #e4b873;\n    position: relative;\n    overflow: hidden;\n    text-align: left;\n    word-wrap: break-word; }\n#empireBoard #empireTip .content table {\n    width: 100%; }\n#empireBoard #empireTip .content table tr.data {\n    background-color:  	#FFFAF0; }\n#empireBoard #empireTip .content table tr.total {\n     background: #E7C680 url(skin/input/button.png) repeat-x scroll 0 0; }\n#empireBoard #empireTip .content table td {\n    padding: 2px;\n    height: auto !important;\n    text-align: right; }\n#empireBoard #empireTip .content table th {\n    padding: 2px;\n    height: auto !important;\n    text-align: center;\n    font-weight: bold;  background: #F8E7B3 url(skin/input/button.png) repeat-x scroll 0 bottom;}\n#empireBoard #empireTip .content table tbody td {\n background-color: #FFFAF0;}\n#empireBoard #empireTip .content table tbody td:last-child {\n    text-align: left;\n    white-space: nowrap;\n    font-style: italic; }\n#empireBoard #empireTip .content table tfoot {\n  line-height: 12px !important;  border-top: 3px solid #fdf7dd; }\n#empireBoard #empireTip .content table tfoot td:last-child {\n    text-align: left;\n    white-space: nowrap;\n    font-style: italic; }\n#empireBoard #empireTip .content table thead {\n    background: #F8E7B3 url(skin/input/button.png) repeat-x scroll 0 bottom;}\n#empireBoard #empireTip .content table thead th.lf {\n    border-left: 2px solid #e4b873; }\n#empireBoard #empireTip .content table tbody td.lf {\n    border-left: 2px solid #e4b873; }\n#empireBoard #empireTip .content table th.nolf, #empireBoard #empireTip .content table td.nolf {\n    border-left: none; }\n#empireBoard #empireTip .content th.lfdash, #empireBoard #empireTip .content td.lfdash {\n    border-left: 1px dashed #e4b873; }\n#empireBoard #empireTip .content table tr.small td {\n    height: auto !important;\n    padding-top: 1px;\n    font-size: 10px !important;\n    line-height: 15px !important; }\n#empireBoard #empire_Tabs table {\n    width: 100% !important;\n    text-align: center;\n    border: 1px solid #ffffff; }\n#empireBoard #empire_Tabs table colgroup {\n    border-left: 1px solid #e4b873; }\n#empireBoard #empire_Tabs table colgroup:first-child {\n    border: none !important; }\n#empireBoard #empire_Tabs table colgroup col {\n    border-left: 1px dashed #e4b873; }\n#empireBoard #empire_Tabs table thead {\n    background: #f8e7b3 url(skin/input/button.png) repeat-x scroll 0 bottom; }\n#empireBoard #empire_Tabs table thead tr {\n    height: 30px; }\n#empireBoard #empire_Tabs table thead tr th {\n    text-align: center;\n    font-weight: bold;\n    \n    overflow: hidden;\n    white-space: nowrap; }\n#empireBoard #ArmyTab table thead tr th.empireactions {\n  min-width: 20px; width: 50px;}\n#empireBoard #empire_Tabs table thead tr th.icon {\n    min-width: 35px;\n    background-size: auto 20px; }\n#empireBoard #empire_Tabs table tbody tr {\n    border-top: 1px solid #e4b873;}\n#empireBoard #empire_Tabs table tbody tr:nth-child(even) {\n    background-color: #FDF1D4; }\n#empireBoard #empire_Tabs table tbody tr.selected {\n    background-color: #FAE3B8;\n    box-shadow: 0 0 1em #CB9B6A inset; }\n#empireBoard #empire_Tabs table tbody tr:hover {\n    background-color: #fff;\n    box-shadow: 0 0 1em #CB9B6A; }\n#empireBoard #empire_Tabs table tbody tr td.city_name {\n    width: 135px;\n    max-width: 135px;\n    padding-left: 3px;\n    text-align: left;\n    padding-right: 14px; }\n#empireBoard #empire_Tabs table tbody tr td.city_name span.icon {\n    background-repeat: no-repeat;\n    float: left;\n    width: 20px;\n    background-size: 15px auto;\n    margin: 0 2px 0 -1px;\n    height: 16px;\n    cursor: move; }\n   #empireBoard #empire_Tabs table tbody tr td.action_points {\n  text-align: right;}\n  #empireBoard #empire_Tabs table tbody tr td.population {\n  text-align: right;}\n#empireBoard #empire_Tabs  table tbody tr td.sawmill {\n    border-left: 1.5px solid #e4b873; }\n  #empireBoard #empire_Tabs table tbody tr td.sawmillprog {\n  text-align: right;}\n  #empireBoard #empire_Tabs table tbody tr td.mineprog {\n  text-align: right;}\n  #empireBoard #empire_Tabs table tbody tr td.empireactions div {\n    background-clip: border-box;\n    background: transparent repeat scroll 0 0;\n    background-size: 25px auto;\n    height: 17px;\n    min-width: 20px;\n    width: 25px; }\n#empireBoard #empire_Tabs table thead tr th.empireactions div {\n    background-clip: border-box;\n    background: transparent repeat scroll 0 0;\n    background-size: 25px auto;\n    height: 20px;\n    min-width: 24px;\n    width: 25px; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.transport {\n    background-image: url(&quot;skin/actions/transport.jpg&quot;); float: right;}\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.worldmap {\n    background-image: url(&quot;skin/layout/icon-world.png&quot;); background-size: 16px 16px; background-repeat: no-repeat; background-position: center center; float: left;}\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.island {\n    background-image: url(&quot;skin/layout/icon-island.png&quot;); background-size: 23px 18px; background-position: center center; float: right;}\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.islandwood {\n    background-image: url(&quot;skin/resources/icon_wood.png&quot;); background-size: 17px auto; background-repeat: no-repeat; background-position: center center; float: left;}\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.islandgood {\n   float: left;}\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.city {\n    background-image: url(&quot;skin/layout/icon-city2.png&quot;); background-size: auto 21px; background-repeat: no-repeat; background-position: center center; float: right;}\n#empireBoard #empire_Tabs table thead tr th.empireactions div.member {\n    background-image: url(&quot;skin/characters/y100_citizen_faceright.png&quot;); background-size: auto 20px; background-repeat: no-repeat; background-position: center center; float: right;}\n#empireBoard #empire_Tabs table thead tr th.empireactions div.agora {\n    background-image: url(&quot;skin/layout/icon-message.png&quot;); background-size: 20px auto; background-repeat: no-repeat; background-position: center center; float: right;}\n#empireBoard #empire_Tabs table thead tr th.empireactions div.trading {\n    background-image: url(&quot;skin/characters/fleet/40x40/ship_transport_r_40x40.png&quot;); background-size: 22px 19px; background-repeat: no-repeat; background-position: center center; float: left;}\n#empireBoard #empire_Tabs table thead tr th.empireactions div.spio {\n    background-image: url(&quot;skin/characters/military/120x100/spy_120x100.png&quot;); background-size: 25px auto; background-position: center center;\n    float: left; }\n#empireBoard #empire_Tabs table thead tr th.empireactions div.combat {\n    background-image: url(&quot;skin/layout/medallie32x32_gold.png&quot;); background-size: 19px auto; background-repeat: no-repeat;\n    float: right; }\n#empireBoard #empire_Tabs table thead tr th.empireactions div.contracts {\n    background-image: url(&quot;skin/museum/icon32_culturalgood.png&quot;); background-size: 22px auto; background-position: center center;  background-repeat: no-repeat;}\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.barracks {\n    background-image: url(&quot;skin/buildings/y50/y50_barracks.png&quot;); background-size: 30px auto; background-position: center center; float: right; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.shipyard {\n    background-image: url(&quot;skin/buildings/y50/y50_shipyard.png&quot;);\n  background-size: 28px auto;   float: right; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.deploymentarmy {\n    background-image: url(&quot;skin/actions/move_army.jpg&quot;);\n    float: left; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.deploymentfleet {\n    background-image: url(&quot;skin/actions/move_fleet.jpg&quot;);\n    float: right; }\n#empireBoard #empire_WorldmapTab table tbody tr td.worldmap div.worldmap{ width:829px; height:829px; background-image: url(&quot;skin/actions/move_fleet.jpg&quot;);\n    float: right; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.transport:hover {\n    background-position: 0 -17px; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.deploymentfleet:hover {\n    background-position: 0 -17px; }\n#empireBoard #empire_Tabs table tbody tr td.empireactions div.deploymentarmy:hover {\n    background-position: 0 -17px; }\n#empireBoard #empire_Tabs table tbody tr.selected .empireactions div.transport, #empireBoard #empire_Tabs table tbody tr.selected .empireactions div.deploymentarmy, #empireBoard #empire_Tabs table tbody tr.selected .empireactions div.deploymentfleet{\n    background-position: 0 17px; }\n#empireBoard #empire_Tabs table tbody tr.current .empireactions div.transport {\n    background-position: 0 px; }\n#empireBoard #empire_Tabs table tfoot {\n    background: #fae0ae;\n    background: #e7c680 url(skin/input/button.png) repeat-x scroll 0 0;\n    border-top: 2px solid #e4b873; }\n#empireBoard #empire_Tabs table tfoot tr td {\n    text-align: right;\n     font-weight: bold;}\n#empireBoard #empire_Tabs table tfoot tr #t_research.total {\n    text-align: center; }\n#empireBoard #empire_Tabs table tfoot tr #t_growth.total {\n    text-align: center; }\n#empireBoard #empire_Tabs table tfoot tr td.total span {\n    line-height: 1em;\n    height: 1em;\n    font-size: 0.8em;\n    display: block; }\n#empireBoard #empire_Tabs table tfoot tr td#t_sigma, #empireBoard #empire_Tabs table tfoot tr td.sigma {\n    font-weight: 800;\n    text-align: center; }\n#empireBoard #ResTab div.progressbar .normal {\n    background: #73443E; }\n#empireBoard #ResTab div.progressbar .warning {\n    background: #8F1D1A; }\n#empireBoard #ResTab div.progressbar .almostfull {\n    background: #B42521; }\n#empireBoard #ResTab div.progressbar .full {\n    background: #ff0000; }\n#empireBoard #ResTab div.progressbar .fullGold {\n    background: #185A39; }\n#empireBoard #ResTab div.progressbarPop .normal {\n    background: #73443E; }\n#empireBoard #ResTab div.progressbarPop .warning {\n    background: #CC3300; }\n#empireBoard #ResTab div.progressbarPop .full {\n    background: #185A39; }\n#empireBoard #ResTab div.progressbarSci .normal {\n    background: #73443E; }\n#empireBoard #ResTab div.progressbarSci .full {\n    background: #185A39; }\n#empireBoard #ResTab table tr td.gold_income, #empireBoard #ResTab table tr td.resource, #empireBoard #ResTab table tr td.army:nth-child(even) {\n    text-align: right; }\n#empireBoard #ResTab table tr td.gold_income span.incoming, #empireBoard #ResTab table tr td.resource span.incoming {\n  color: blue; }\n#empireBoard #ResTab table tr td.gold_unkeep span, #empireBoard #ResTab table tr td.resource span, #empireBoard #ResTab table tr td.army:nth-child(even) span {\n    line-height: 1em;\n    height: 1em;\n    font-size: 0.8em;\n    display: block; }\n#empireBoard #ResTab table tr td.gold_income span.icon, #empireBoard #ResTab table tr td.resource span.icon, #empireBoard #ResTab table tr td.army:nth-child(even) span.icon {\n    background-repeat: no-repeat;\n    float: left;\n    width: 20px;\n    height: 9px;\n    padding: 5px 4px 0 0; }\n#empireBoard #ResTab table tr td.gold_income span.current, #empireBoard #ResTab table tr td.resource span.current, #empireBoard #ResTab table tr td.army:nth-child(even) span.current {\n    font-size: 1em;\n    display: inline; }\n#empireBoard #ResTab table tr td.population {\n    text-align: right; }\n#empireBoard #ResTab table tr td.gold_income span:nth-child(2), #empireBoard #ResTab table tr td.population span:nth-child(2) {\n    line-height: 1em;\n    height: 1em;\n    font-size: 0.8em;\n    display: block; }\n#empireBoard #BuildTab table tbody tr td {\n    background-clip: border-box;\n    background-repeat: no-repeat;\n    background-position: center;\n    background-color: transparent;\n    background-size: auto 20px; }\n#empireBoard #BuildTab table tbody tr td span.maxLevel {\n    color: rgba(84, 44, 15, 0.3); }\n#empireBoard #BuildTab table tbody tr td span.upgradableSoon {\n    color: #4169e1;\n    font-style: italic; }\n#empireBoard #BuildTab table tbody tr td span.upgradableSoon:after {\n    content: &quot;+&quot;; }\n#empireBoard #BuildTab table tbody tr td span.upgradable {\n    color: green;\n    font-style: italic; }\n#empireBoard #BuildTab table tbody tr td span.upgradable:after {\n    content: &quot;+&quot;; }\n#empireBoard #BuildTab table tbody tr td span.upgrading {\n    background: url(&quot;/skin/icons/arrow_upgrade.png&quot;) no-repeat scroll 1px 3px transparent;\n    border-radius: 5px 5px 5px 5px;\n    box-shadow: 0 0 2px rgba(0, 0, 0, 0.8);\n    display: inline-block;\n    padding: 2px 5px 1px 20px;\n    margin: 2px; }\n#empireBoard #ArmyTab table colgroup col:nth-child(even) {\n    border-left: none; }\n#empireBoard #SettingsTab .options, #empireBoard #HelpTab .options {\n    float: left;\n    padding: 10px; }\n#empireBoard #SettingsTab .options span.categories, #empireBoard #HelpTab .options span.categories {\n    margin-left: -3px;\n    font-weight: 500; }\n#empireBoard #SettingsTab .options span.categories:not(:first-child), #empireBoard #HelpTab .options span.categories:not(:first-child) {\n    margin-top: 5px; }\n#empireBoard #SettingsTab .options span:not(.clickable), #empireBoard #HelpTab .options span:not(.clickable) {\n    display: block; }\n#empireBoard #SettingsTab .options span label, #empireBoard #HelpTab .options span label {\n    vertical-align: top;\n    padding-left: 5px; }\n#empireBoard #SettingsTab .buttons, #empireBoard #HelpTab .buttons {\n    clear: left;\n    padding: 3px; }\n#empireBoard #SettingsTab .buttons button, #empireBoard #HelpTab .buttons button {\n    margin-left: 3px; }\n\n.toast {\n    display: none;\n    position: fixed;\n    z-index: 99999;\n    width: 100%;\n    text-align: center;\n    bottom: 5em; }\n\n.toast .message {\n    display: inline-block;\n    color: #4C3000;\n    padding: 5px;\n    border-radius: 5px;\n    box-shadow: 3px 0px 15px 0 #542C0F;\n    -webkit-box-shadow: 3px 0px 15px 0 #542C0F;\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 11px;\n    background: #faf3d7;\n    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #faf3d7), color-stop(1, #e1b06d)); }\n\ndiv.prog:after {\n    -webkit-animation: move 2s linear infinite;\n    -moz-animation: move 2s linear infinite; }\n\n.prog {\n    display: block;\n    width: 100%;\n    height: 100%;\n    background: #fcf938 -moz-linear-gradient(center bottom, #fcf938 37%, #fcf938 69%);\n    position: relative;\n    overflow: hidden; }\n.prog:after {\n    content: &quot;&quot;;\n    position: absolute;\n    top: 0;\n    left: 0;\n    bottom: 0;\n    right: 0;\n    background: -moz-linear-gradient(-45deg, rgba(10, 10, 10, 0.6) 25%, transparent 25%, transparent 50%, rgba(10, 10, 10, 0.6) 50%, rgba(10, 10, 10, 0.6) 75%, transparent 75%, transparent);\n    z-index: 1;\n    -webkit-background-size: 50px 50px;\n    -moz-background-size: 50px 50px;\n    background-size: 50px 50px;\n    -webkit-animation: move 5s linear infinite;\n    -moz-animation: move 5s linear infinite;\n    overflow: hidden; }\n\n.animate &gt; .prog:after {\n    display: none; }\n\n@-webkit-keyframes move {\n    0% {\n        background-position: 0 0; }\n\n    100% {\n        background-position: 50px 50px; } }\n\n@-moz-keyframes move {\n    0% {\n        background-position: 0 0; }\n\n    100% {\n        background-position: 50px 50px; } }\n&#39;);
	   	if(database.settings.compressedBuildingList.value) GM_addStyle(&#39;#empireBoard #BuildTab table tbody tr td.building.forester0:not(:empty) {\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAAKN2lDQ1BzUkdCIElFQzYxOTY2LTIuMQAAeJydlndUU9kWh8+9N71QkhCKlNBraFICSA29SJEuKjEJEErAkAAiNkRUcERRkaYIMijggKNDkbEiioUBUbHrBBlE1HFwFBuWSWStGd+8ee/Nm98f935rn73P3Wfvfda6AJD8gwXCTFgJgAyhWBTh58WIjYtnYAcBDPAAA2wA4HCzs0IW+EYCmQJ82IxsmRP4F726DiD5+yrTP4zBAP+flLlZIjEAUJiM5/L42VwZF8k4PVecJbdPyZi2NE3OMErOIlmCMlaTc/IsW3z2mWUPOfMyhDwZy3PO4mXw5Nwn4405Er6MkWAZF+cI+LkyviZjg3RJhkDGb+SxGXxONgAoktwu5nNTZGwtY5IoMoIt43kA4EjJX/DSL1jMzxPLD8XOzFouEiSniBkmXFOGjZMTi+HPz03ni8XMMA43jSPiMdiZGVkc4XIAZs/8WRR5bRmyIjvYODk4MG0tbb4o1H9d/JuS93aWXoR/7hlEH/jD9ld+mQ0AsKZltdn6h21pFQBd6wFQu/2HzWAvAIqyvnUOfXEeunxeUsTiLGcrq9zcXEsBn2spL+jv+p8Of0NffM9Svt3v5WF485M4knQxQ143bmZ6pkTEyM7icPkM5p+H+B8H/nUeFhH8JL6IL5RFRMumTCBMlrVbyBOIBZlChkD4n5r4D8P+pNm5lona+BHQllgCpSEaQH4eACgqESAJe2Qr0O99C8ZHA/nNi9GZmJ37z4L+fVe4TP7IFiR/jmNHRDK4ElHO7Jr8WgI0IABFQAPqQBvoAxPABLbAEbgAD+ADAkEoiARxYDHgghSQAUQgFxSAtaAYlIKtYCeoBnWgETSDNnAYdIFj4DQ4By6By2AE3AFSMA6egCnwCsxAEISFyBAVUod0IEPIHLKFWJAb5AMFQxFQHJQIJUNCSAIVQOugUqgcqobqoWboW+godBq6AA1Dt6BRaBL6FXoHIzAJpsFasBFsBbNgTzgIjoQXwcnwMjgfLoK3wJVwA3wQ7oRPw5fgEVgKP4GnEYAQETqiizARFsJGQpF4JAkRIauQEqQCaUDakB6kH7mKSJGnyFsUBkVFMVBMlAvKHxWF4qKWoVahNqOqUQdQnag+1FXUKGoK9RFNRmuizdHO6AB0LDoZnYsuRlegm9Ad6LPoEfQ4+hUGg6FjjDGOGH9MHCYVswKzGbMb0445hRnGjGGmsVisOtYc64oNxXKwYmwxtgp7EHsSewU7jn2DI+J0cLY4X1w8TogrxFXgWnAncFdwE7gZvBLeEO+MD8Xz8MvxZfhGfA9+CD+OnyEoE4wJroRIQiphLaGS0EY4S7hLeEEkEvWITsRwooC4hlhJPEQ8TxwlviVRSGYkNimBJCFtIe0nnSLdIr0gk8lGZA9yPFlM3kJuJp8h3ye/UaAqWCoEKPAUVivUKHQqXFF4pohXNFT0VFysmK9YoXhEcUjxqRJeyUiJrcRRWqVUo3RU6YbStDJV2UY5VDlDebNyi/IF5UcULMWI4kPhUYoo+yhnKGNUhKpPZVO51HXURupZ6jgNQzOmBdBSaaW0b2iDtCkVioqdSrRKnkqNynEVKR2hG9ED6On0Mvph+nX6O1UtVU9Vvuom1TbVK6qv1eaoeajx1UrU2tVG1N6pM9R91NPUt6l3qd/TQGmYaYRr5Grs0Tir8XQObY7LHO6ckjmH59zWhDXNNCM0V2ju0xzQnNbS1vLTytKq0jqj9VSbru2hnaq9Q/uE9qQOVcdNR6CzQ+ekzmOGCsOTkc6oZPQxpnQ1df11Jbr1uoO6M3rGelF6hXrtevf0Cfos/ST9Hfq9+lMGOgYhBgUGrQa3DfGGLMMUw12G/YavjYyNYow2GHUZPTJWMw4wzjduNb5rQjZxN1lm0mByzRRjyjJNM91tetkMNrM3SzGrMRsyh80dzAXmu82HLdAWThZCiwaLG0wS05OZw2xljlrSLYMtCy27LJ9ZGVjFW22z6rf6aG1vnW7daH3HhmITaFNo02Pzq62ZLde2xvbaXPJc37mr53bPfW5nbse322N3055qH2K/wb7X/oODo4PIoc1h0tHAMdGx1vEGi8YKY21mnXdCO3k5rXY65vTW2cFZ7HzY+RcXpkuaS4vLo3nG8/jzGueNueq5clzrXaVuDLdEt71uUnddd457g/sDD30PnkeTx4SnqWeq50HPZ17WXiKvDq/XbGf2SvYpb8Tbz7vEe9CH4hPlU+1z31fPN9m31XfKz95vhd8pf7R/kP82/xsBWgHcgOaAqUDHwJWBfUGkoAVB1UEPgs2CRcE9IXBIYMj2kLvzDecL53eFgtCA0O2h98KMw5aFfR+OCQ8Lrwl/GGETURDRv4C6YMmClgWvIr0iyyLvRJlESaJ6oxWjE6Kbo1/HeMeUx0hjrWJXxl6K04gTxHXHY+Oj45vipxf6LNy5cDzBPqE44foi40V5iy4s1licvvj4EsUlnCVHEtGJMYktie85oZwGzvTSgKW1S6e4bO4u7hOeB28Hb5Lvyi/nTyS5JpUnPUp2Td6ePJninlKR8lTAFlQLnqf6p9alvk4LTduf9ik9Jr09A5eRmHFUSBGmCfsytTPzMoezzLOKs6TLnJftXDYlChI1ZUPZi7K7xTTZz9SAxESyXjKa45ZTk/MmNzr3SJ5ynjBvYLnZ8k3LJ/J9879egVrBXdFboFuwtmB0pefK+lXQqqWrelfrry5aPb7Gb82BtYS1aWt/KLQuLC98uS5mXU+RVtGaorH1futbixWKRcU3NrhsqNuI2ijYOLhp7qaqTR9LeCUXS61LK0rfb+ZuvviVzVeVX33akrRlsMyhbM9WzFbh1uvb3LcdKFcuzy8f2x6yvXMHY0fJjpc7l+y8UGFXUbeLsEuyS1oZXNldZVC1tep9dUr1SI1XTXutZu2m2te7ebuv7PHY01anVVda926vYO/Ner/6zgajhop9mH05+x42Rjf2f836urlJo6m06cN+4X7pgYgDfc2Ozc0tmi1lrXCrpHXyYMLBy994f9Pdxmyrb6e3lx4ChySHHn+b+O31w0GHe4+wjrR9Z/hdbQe1o6QT6lzeOdWV0iXtjusePhp4tLfHpafje8vv9x/TPVZzXOV42QnCiaITn07mn5w+lXXq6enk02O9S3rvnIk9c60vvG/wbNDZ8+d8z53p9+w/ed71/LELzheOXmRd7LrkcKlzwH6g4wf7HzoGHQY7hxyHui87Xe4Znjd84or7ldNXva+euxZw7dLI/JHh61HXb95IuCG9ybv56Fb6ree3c27P3FlzF3235J7SvYr7mvcbfjT9sV3qID0+6j068GDBgztj3LEnP2X/9H686CH5YcWEzkTzI9tHxyZ9Jy8/Xvh4/EnWk5mnxT8r/1z7zOTZd794/DIwFTs1/lz0/NOvm1+ov9j/0u5l73TY9P1XGa9mXpe8UX9z4C3rbf+7mHcTM7nvse8rP5h+6PkY9PHup4xPn34D94Tz+49wZioAAABjUExURf////fetffelO/Wre/WjN7OpebOhN7OhN7Oe97Fe9a9hNa9c9athM61a8WtjNacWsWca86UWrWUa72UUs6MSrWEUq17UqV7Wox7a5xzUoxrUnNra3NrWntjUmNaUlJKSgAAAIa/w40AAAAhdFJOU///////////////////////////////////////////AJ/B0CEAAAAJcEhZcwAACxIAAAsSAdLdfvwAAAEsSURBVHicXZDNjtswDISHP4ost8Ve9lYYu+//VoGxtwDtJfU6EsnSCdCmJQTw8IkzQ+o7jjozNbn6gr+lj8YRe53t/PY/WSPQZWJ9QneyyiB2QCrW5R8SXnd2Dyo6Pr4/E348IR2lXF6fiJjCWFWCHHLZlj9EbTC7SP6IEVO5K97JrTAckwyAeId+O3IkOYNnmDT6vBWizOf65ZhZ0QQ4KfvPK9eJnDTk4UMGGin2a0MqtW7KdCe5fTib37bWRcYoCGPODMqZGX4ij714wE41Ri8vl01RXPhYlHyvluvAp921saabAS7axXpRMerz1zh8alft2ctgdStpk5PSlfU6HTeeWXse24uapMaIDL+sldrMoJcf4NZIc4/Usq5YPhoGG3H9hOynkkmTbP4beIqL5HGYwHAAAAAASUVORK5CYII=);\n    text-shadow: 0px 1px 2px #FFF; background-size: 17px 17px}\n#empireBoard #BuildTab table tbody tr td.building.winegrower0:not(:empty) {\n    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAASAAAAEgARslrPgAABQRJREFUOMuV1MuOHFcBxvH/OXWqurqqu6vdM56LZ3wZC5w4G8OCBSAQCCkSEjs2bBBSFlGMxIKd90hIvACWeAUktjwCQjFJhBNMhtie8fSkZ3r6Xvc6dc5hwYaFjcj3AP/f7lO8YcX8BZ7qPFxMP//9p+MPeTb7J23jcyMZcf/GPRbFnLTc8M2b32V3/8EvTVs97m4dvbal3oQ4Y0E6yqJgPJ+xTgvAMtMNx7mmcRW+ryhNhjY1ranelHo9orMrVJiE6fLkrXU9Z1VO0brGU4Lalqz0DOEbnIpZBjOGXkrj8q+GGF2CtT/J8vEHJ/VTTKdE1gLnBNZYdFPTESFeENDQoJ1Gu+arIQAOZz3p235vSCeaUBYtrXaUmcE5h0g0XQFN5jAJtJr/H6mzKSAinIkDf+c0zPbfDuRzgm6FaR1VZslmDnEA/X5Ar7NF38Tf34v2F222+rNzduP3R/8bsbpEeP6Pi+X4D+cnZ+EXH51xpS11CBZBMQe77lBHIVVkSasLzk7/9rNef/jT/tbtx73B4W+yzXTWG+y8HtHVHNXph+V8/L3F+UX49Mkzzk5mrCtBGA8JE0FgHG3XIFSJ2mk4LRd8/I9P2D3o+/f51q9uCRcn/VuP/htSALZZAiK2unq3Xpz/oLw4f3/xfMrkyyV5VXM9HvLO3j7KF1hhSW3Gy3RMXhSEMZioJfVrxuavgjnvHToYJbceZel01uvvoNpq0W/q8kdllv8wnZ+/v766CrPTBek8w5eSuNNh1OshBMSqg5CS5TKnsgIuQOxCnChMBWmz5ovqL8K04j3hBMng8FG6uZypJlv9bjOb/OL5i9Po2dPPOT27gFbwnaO7PDg4YFmWSCkpm5rxZkleN8yKDYO3fAZJRKsrZGCoU0e2dqhww8v6Q6E8+Z7viYvR8P5vVXH16uHl30/47NNjpqsNurZEgU/aVCRxxG6SsCoK5nXDvyaXTLOMOFHc3tlChYa8AuEE0RZIKTCNI+/MuXRPxG69++uoGh4rXaaIquXta9e5k4xY1TWx73OZbfjo7BWDTkimNfM0RbcGTwqGOz7Jnseq0hhjUYCnBEKAaaCtHZldMTHHUccd7KvWWPKmBiEY9npsDQbgHKuy4HhxSVZVaGsZdEMOt0cYYQj2S9pgTZs34AALtgYZgghA55AWFavehEqsUFmRc3w55eJqxXaSsNfr4Xsem7phWZZsioLtfp+v7e1xmAzRXsM8uSTfrDDWISRY45BW4EmwgBeAtQ6DxmJQSsO1KOKlvuLldEpRlgSeR9223EgSpIDr/T5HW1sMOiHnm5qrVxXCaKItiW4N64VjuC/oh5JaO6x1oAVSd5BOobJXOZFQxN0O803KYZIw6vWojUGbluPZlHVecjKf0REeZ4slxD637t4gcHA5zsgmGVHcIg8EnudopcOrQ5LikG4zQk1WCybrDUXdUOmWQmv2g4BICBZ5ThxGSF8hQ8WqLImSLl8/usm9u4coKZisJnySPcepKZ7X0lUS3Vh8EXBNbhOLHurmN45IP3vOnue4di1Gh4JxmaK0wzhLMuryzt277OxsIX0fKSRR3C97w93HUgj6vd2Hnduj7lg8xbhzrKyRQhJ4IUr6CCFQRw++TRh1qPP1fw4SwXxZMXkxI4ljbt4bsXPrwA227/wxCKMngOfgS+EFf0IIBt3ux3eS7Z+7sXl3nBeY3hQhwPdCpJDg4N+FYbSjpEdluAAAAABJRU5ErkJggg==);\n    text-shadow: 0px 1px 2px #FFF; background-size: 17px 17px}\n#empireBoard #BuildTab table tbody tr td.building.stonemason0:not(:empty) {\n    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGBQTFRFAAAA8d/I6N/WzcS26NG27Nq68ezjv7Gotq2fyLqk1s3EqJqRraSWsaSW2sit0c2/pJaIrZ+Rn5GDqJqN49bE39rR7Ojaloh639bIxLqtsZ+R+vXxsaia39HEjX9xsaSaTMajHAAAAAF0Uk5TAEDm2GYAAAAJcEhZcwAAAEgAAABIAEbJaz4AAADqSURBVChTpdDRboMwDAVQcBoTEqgDrkMAk/7/XzZM2tpufdt99NGVZTfNf9OCudhPYBE6138g69GHYeyvf4AAKYYhTL/Mkgf0M08hcnijmxFJZolVIvevlUwisHKc47u0IpT9Skhb7cSntAAnGNxFtdpTEmTyhiTtnlXHsb+8islIaTfzKcrXH/EkCCbt3aLOOVX9llSPSfkA1BLU6aTuHNsWs5cE4gXwXnjbmL86FjA7t66GThnKzMxx2yrcAKXuHIPr/ClLpfqgxh6ShOKkyjG6nO6lLHwe2xz1J55inIYwL+EALqXMNcsD5M0SNKvkKqsAAAAASUVORK5CYII=);\n    text-shadow: 0px 1px 2px #FFF; background-size: 19px 19px}\n#empireBoard #BuildTab table tbody tr td.building.glassblowing0:not(:empty) {\n    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAYAAAB4d5a9AAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAASAAAAEgARslrPgAABJxJREFUOBG9wcuKZGcBwPH/dz3n1DlVXdXVPe3ETHomMQaSjYLEUYgv4CZP4VpGwQjZZOvChxDyFBJcBATNQjfiIgbNMEmc7uq6nfv5bjJCgwxMsvP3g/8DwTdw3RYQ8zg1b4cQTKMqTIrkTE4Z+2egttUdvo7ma4Rui9Sm7Jvtz7tm9+s2SH1QkozAWg1jWc7fTYmP+AaaF/DtBill2da7R9vD7v0ntbNHc8EkC3IZiJnUImXvrBYnH3ddPc1mc15E8wLj2CGFfLg97N77y5Wz2zTHFBmZkURheDJpoTr/y0Ttk+8/6XZPfGbzTxIcdXnG/9KuvTlxU/+DPkg7qgxFYiGGKa+qP17dHO0XjTePW4nMFGVISJmAQKsE/x5U2Q37D1y7Cy/Nzbhart+NKX3Ec7Sfuneaev/h08kUo52jCTgx+NLzGyPiaYjJxCiwUqGVJCZwISGFZDvBv652srm5kt9/sNb5ib4/jAPP04Pz+VXrsn8MpRG5RYrERmhzMbXvr0SDjgNSFCgh0BLGEEhSEBP0XcfjL27wfct07zTFRJsQPE8HNXurS40dMcgoUVJQY5icVrUuaBNEEiklIhGXIkSQDrabaw6HIzPpyYUXWRrfPFuflq69aU255paMQp4GlMiNpLAKKUAIGDHsYklnzojSMsXI6CISiUqCpm7Yba4JbsLmOcJkwo3tr/p2/0gIWU7NNbfkFCWNlygSF5Uh15KU+K+QQNkCYwuUtrgUiSnhXGCz3dLUNcUs5/LBJdXFA3pV2rE7vueG+mGYOm7JTPjrLA3ppm5IMbDMNTEmfIj4GBl8ososhVaYFOndwM1+R725QmnNnW/f4+TsLk6XRDsnRm9SnGwKjlvSCv+301x2wnV8frVDi0hhBD4mXEgMPoFULHPNMtcI5/BDQzXLeOXykrOLu3zZeD7bdAwBktQkNFFobslqNv/9+uTkt/fnKe0Oe77at5RWIgU4nxh9oO5HpFLkNsM7h02OV1/5Fm+9dsnd1YIgYNP1NF7Sy4UOMvtxWVala655Ro79oVnl+g+vLnV7nk082R459hMzq4gkfIhMIbDvHTElTnLNd++/zJuv3eflszmnpeW8LMi0YoySYzCia/ePur7/0Tj2PCONLRYIOV/Ol399YynB9zzd1xQ6oUWiGXq0jLTTQDNFLs9P+d7lXc4XM5QUOB+5t8z4zqpi8oLHTeTLLszGwE/L+bKcmg3ST/1PDofN7z7ftw8HNWc+K+nHkWPbU1lJZiTCGJQ1LErLS+uKKCW9S8gkaKeA1ZJ1Zeh85HpM1Mky9Yefjc3+h37qkM45u+/H/NMa/dlYYYqKRVVQT5HCaF6/s+SsynnjbMHr64Jn/rkdeFo7YoRMSVICAeQK+gBfdZpt54suqreL1T2ljbXjIjNTVTfZ3w+JrFqwynMW1rAqDOvS0IWc89wiBXx6M+JCZF1KaufZ947cS0QUrGaa4iA4tp62sKJP5heyH/4k89ni46xaf5iJhNtfMY0Dwzgx+QEjA1oLVoWhMBJSYpo8uRIYJRhcwihBTInBB6wSnGWK09JgZwsm7NxHsfoPqKt+g05SC1UAAAAASUVORK5CYII=);\n    text-shadow: 0px 1px 2px #FFF; background-size: 19px 19px}\n#empireBoard #BuildTab table tbody tr td.building.alchemist0:not(:empty) {\n    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAUCAMAAABPqWaPAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGBQTFRFAAAA8d+/9d+W1rZ638Sa8dq29ei69dqD48h60baN9eOf+uzR+uio7NatupZs8d+f+uOR6NGRza1sv5pfrY1oyKRj7Naa//G6/+yftpFa//r1/+yopH9RrYhW2rpx7NGDIqezSAAAAAF0Uk5TAEDm2GYAAAAJcEhZcwAAAEgAAABIAEbJaz4AAAD4SURBVCiRpY/ZcsMwCEUdLQZL3iQZO8RC+v+/jJpMm2mat/IGZw4Xuu6fdVHafAS2BxzsJ9IrcGawf5kfQVllBvOGrPdKTQa1nt82Wr+svQ8xprTRr7Muu3L+uGLiVvPLutz8ovrjvCrizFG26Sf9tjt3nOsKJYkUnTfzrUzVja42gJozVcr5MW+vVKeqrg4JMQqXwvICheoJkUvFJETCTxDGE1N0KxLrClqYRJ7GeASKu6uFOCJUlsRfOX1Qrn1Yr7XExKkAlCwtx/chBB0jroCRmFNbB5R57pYQzDCYHdaHwk0GQMlzZ+00Tda61upE0exmV4CUtztm+xM5HuXJowAAAABJRU5ErkJggg==);\n    text-shadow: 0px 1px 2px #FFF; background-size: 19px 19px}\n#empireBoard #BuildTab table tbody tr td.building.palace0:not(:empty) {\n    background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAAASAAAAEgARslrPgAAA2BJREFUOBEFwU1rXVUUgOF3rb3P1725yU3TWJWohEJxUJ1aOlBQiujQiQNnIo6c+gsExwqCv8BB/0HFoQNxoKK2tIJtKNUYaz5u7kfuOWefvZbPw4M7n/rRwY9/zufnbw/u4u5yPjt55+jJL48e3r3tR38/OJ7N5u9fXKzicrHg8PHPzM/Pbx49+f23+z994wd//JDPTo8/12ZjjuV/r1ruvhra7mbq2tdy7r/ou9P9jY0Gd3bykL4U93erKk6fffH6xOz8s747fGU6XrPVLDVo+kQWhx+6FLcg3nDr7VhD9lDqZfessaxxxljGh3Z1lrI+kEJ/jfHoA8nHm1EL8ICWLyEHd95zqZ/HR9dwNmmaRF2tqEYVcWMPimdoVwOr0wUXXcBCJPhDtptjoOFiLkx2XiW2s4RUh3jbos0lRhFUM+Rt3LbAJoRYE8uBsHhEoSvq8pjg0KVMu4QYz4giEBgIPiNKopKGGDYgNECJSCQUI4oyoN0B2ClVdKJMGcTAhdSuiQioOJGBJhplFQgFuGTAgICIEDwj7SmpOyYVNbFsEHrcA9kyigACIGgo0FihwRDJOAEn4gQEJ4ihPmBpwIeMqCFqSFAigAiIAAhgCAkk41IAEQccQzAcMHfAUUkEBRHQdQd5ANxx67HUkrPiFgFFUBRDLGPmZAN3MAfLjpARG4iHJ7CbYVOcInV4rsm2jdAQyIgouIKDO5hBGpzVGlJf0vZCEyGC899caLOjVSZURgiBUAZ8GNAwYK503cC6c1Zr6DGiDEgTaXulrJW4u1Ox7hLuznIlSOWU0qG0xGGFlHOMmvVizcnS6NewWQujQiE4rSgSIlruvMxkc8JkLNS1EgslFIbIgHuHWwIMCU4ZYdzAqFY8G4uTGX2XCGVF1MuvM+gYWd4je09OiZg6irKlKnukMnJOWDCq6LQ9LBaZfrai65Vm+hyxHhF3965/N2/Gb3G+pXn9F4MM5LZFfU4rJdovsWTkQdDRCKxlnXaRsMX0yh7TK/uMp1eQ+XK1N3SLj3SYXfXh4qkW+aZz94bqE0S3Qd4AuwQ+x/P35PyYlG89tbR9Oyj36o2tF8qqOhJ3BxDA2y69ebE8/Xpxdv/aOM4QE8ymuAfAwM/I3tGynyY7+99uTLY+tpz/GY8b/geGd+pmTCUDLQAAAABJRU5ErkJggg==);\n    text-shadow: 0px 1px 2px #FFF; background-size: 19px 19px}&#39;); if(database.settings.smallFont.value) GM_addStyle(&#39;#empireBoard {font-size:11px}&#39;); if(database.settings.hourlyRess.value) GM_addStyle(&#39;span.resourceProduction {display: none;} #js_GlobalMenu_wood, #js_GlobalMenu_wine, #js_GlobalMenu_marble, #js_GlobalMenu_crystal, #js_GlobalMenu_sulfur {position:absolute; top:0px; right:0px}&#39;); if(database.settings.wineOut.value) GM_addStyle(&#39;#wineOutTable { display: none;}&#39;); if(database.settings.onIkaLogs.value) addScript(&#39;http://ikalogs.ru/js/etc/script.js&#39;); if(database.settings.newsTicker.value) GM_addStyle(&#39;#GF_toolbar #mmoNewsticker {display: none;}&#39;); if(database.settings.event.value) GM_addStyle(&#39;#eventDiv, #genericPopup{display: none;}\n #redVsBlueInfo, #redVsBlueInfo_c {visibility: hidden !important;}&#39;); if(database.settings.birdSwarm.value) GM_addStyle(&#39;.bird_swarm {visibility: hidden !important;}&#39;); if(database.settings.controlCenter.value) GM_addStyle(&#39;#js_toggleControlsOn, #mapControls, div.footerleft, div.footerright {display: none;}&#39;); if(database.settings.withoutFable.value) GM_addStyle(&#39;#buildUnits li.unit &gt; div &gt; p, div.buildingimg &gt; p, div.buildingDescription &gt; p:nth-child(2), #tavernDesc &gt; p:nth-child(1), .content_left &gt; p:nth-child(3), .desc {display: none;}\n #buildUnits li.unit &gt; div img {transform: scale(0.7);}\n ul#buildings div.buildinginfo img {transform: scale(0.7);}&#39;); if(isChrome &amp;&amp; database.settings.withoutFable.value) GM_addStyle(&#39;ul#buildings div.buildinginfo img {-webkit-transform: scale(0.7);}\n #buildUnits li.unit &gt; div img {-webkit-transform: scale(0.8);}&#39;); if(database.settings.ambrosiaPay.value) GM_addStyle(&#39;#confirmResourcePremiumBuy, #confirmResourcePremiumBuy_c, #premiumResourceShop, #premiumResourceShop_c, #premiumOffers tr.resourceShop, div.resourceShopButton, #individualOfferBuildingSpeedup, #premium_btn, div.premiumOfferBox.highlightbox.twoCols, div.actionButton:nth-child(3) { display: none;} \n li.order {visibility: hidden !important;} \n #js_viewCityMenu ul.menu_slots li[onclick*=&quot;view=premiumResourceShop&quot;] { position:absolute; top:-1000px; left:-1000px;}&#39;);
	//jQuery UI CSS
    GM_addStyle(&quot;/*!\n* jQuery UI CSS Framework 1.8.21\n*\n* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n* Dual licensed under the MIT or GPL Version 2 licenses.\n* http://jquery.org/license\n*\n* http://docs.jquery.com/UI/Theming/API\n*/\n\n/* Layout helpers\n----------------------------------*/\n.ui-helper-hidden {\n    display: none;\n}\n\n.ui-helper-hidden-accessible {\n    position: absolute !important;\n    clip: rect(1px, 1px, 1px, 1px);\n    clip: rect(1px, 1px, 1px, 1px);\n}\n\n.ui-helper-reset {\n    margin: 0;\n    padding: 0;\n    border: 0;\n    outline: 0;\n    line-height: 1.3;\n    text-decoration: none;\n    font-size: 100%;\n    list-style: none;\n}\n\n.ui-helper-clearfix:before, .ui-helper-clearfix:after {\n    content: \&quot;\&quot;;\n    display: table;\n}\n\n.ui-helper-clearfix:after {\n    clear: both;\n}\n\n.ui-helper-clearfix {\n    zoom: 1;\n}\n\n.ui-helper-zfix {\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    position: absolute;\n    opacity: 0;\n    filter: Alpha(Opacity = 0);\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-disabled {\n    cursor: default !important;\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n    display: block;\n    text-indent: -99999px;\n    overflow: hidden;\n    background-repeat: no-repeat;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Overlays */\n.ui-widget-overlay {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n}\n\n/*!\n* jQuery UI CSS Framework 1.8.21\n*\n* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n* Dual licensed under the MIT or GPL Version 2 licenses.\n* http://jquery.org/license\n*\n* http://docs.jquery.com/UI/Theming/API\n*\n* To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Verdana,Arial,sans-serif&amp;fwDefault=bold&amp;fsDefault=1em&amp;cornerRadius=4px&amp;bgColorHeader=F8E7B3&amp;bgTextureHeader=03_highlight_soft.png&amp;bgImgOpacityHeader=75&amp;borderColorHeader=ffffff&amp;fcHeader=542c0f&amp;iconColorHeader=542C0F&amp;bgColorContent=f6ebba&amp;bgTextureContent=01_flat.png&amp;bgImgOpacityContent=75&amp;borderColorContent=eccf8e&amp;fcContent=542c0f&amp;iconColorContent=542c0f&amp;bgColorDefault=eccf8e&amp;bgTextureDefault=02_glass.png&amp;bgImgOpacityDefault=75&amp;borderColorDefault=eccf8e&amp;fcDefault=542c0f&amp;iconColorDefault=542c0f&amp;bgColorHover=f6ebba&amp;bgTextureHover=02_glass.png&amp;bgImgOpacityHover=75&amp;borderColorHover=eccf8e&amp;fcHover=542c0f&amp;iconColorHover=542c0f&amp;bgColorActive=f6ebba&amp;bgTextureActive=02_glass.png&amp;bgImgOpacityActive=65&amp;borderColorActive=eccf8e&amp;fcActive=542c0f&amp;iconColorActive=542c0f&amp;bgColorHighlight=f6ebba&amp;bgTextureHighlight=07_diagonals_medium.png&amp;bgImgOpacityHighlight=100&amp;borderColorHighlight=eccf8e&amp;fcHighlight=542c0f&amp;iconColorHighlight=542c0f&amp;bgColorError=f6ebba&amp;bgTextureError=05_inset_soft.png&amp;bgImgOpacityError=95&amp;borderColorError=cd0a0a&amp;fcError=cd0a0a&amp;iconColorError=cd0a0a&amp;bgColorOverlay=aaaaaa&amp;bgTextureOverlay=07_diagonals_medium.png&amp;bgImgOpacityOverlay=75&amp;opacityOverlay=30&amp;bgColorShadow=aaaaaa&amp;bgTextureShadow=01_flat.png&amp;bgImgOpacityShadow=0&amp;opacityShadow=30&amp;thicknessShadow=8px&amp;offsetTopShadow=-8px&amp;offsetLeftShadow=-8px&amp;cornerRadiusShadow=8px\n*/\n\n/* Component containers\n----------------------------------*/\n.ui-widget {\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 1em;\n}\n\n.ui-widget .ui-widget {\n    font-size: 1em;\n}\n\n.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {\n    font-family: Arial, Helvetica, sans-serif;\n    font-size: 1em;\n}\n\n.ui-widget-content {\n    border: 1px solid #eccf8e;\n    background: #f6ebba url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAfUlEQVRoge3OMQGAIAAAQaR/Iiq5u0oEhht0+Etw13Ovd/zY/DpwUlAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVBtVtsEYluRKCAAAAAASUVORK5CYII=\&quot;) 50% 50% repeat-x;\n    color: #542c0f;\n}\n\n.ui-widget-content a {\n    color: #542c0f;\n}\n\n.ui-widget-header {\n    border: 1px solid #ffffff;\n    background: #f8e7b3 url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAAEwK2r2AAAAY0lEQVQYlaWPMQ6DQAwER/v/7+UhQTRH7N00QEESiUAzki17vOb1fEQAR8QDpSaUmhHkYwSAb4LEKD2vAryc3/2JpFC8IDzWfHgg0qcEd47/haT3VEZxbWUKQW89GhFffeEi3kGvSQXcQU8oAAAAAElFTkSuQmCC\&quot;) 50% 50% repeat-x;\n    color: #542c0f;\n    font-weight: bold;\n}\n\n.ui-widget-header a {\n    color: #542c0f;\n}\n\n/* Interaction states\n----------------------------------*/\n.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {\n    border: 1px solid #eccf8e;\n    background: #eccf8e url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAASklEQVQ4je3Puw2EABAD0fGw9F8KFSFqgJTgCPhEFHBCmzxN4sCs8/QToGmaz7JvC5JgMiAnhbEwjoiFPpXUXda1SPyHM03TvHEAd0QJtjgD5PAAAAAASUVORK5CYII=\&quot;) 50% 50% repeat-x;\n    font-weight: bold;\n    color: #542c0f;\n}\n\n.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited {\n    color: #542c0f;\n    text-decoration: none;\n}\n\n.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus {\n    border: 1px solid #eccf8e;\n    background: #f6ebba url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAAR0lEQVQ4je3PMQrAIABD0Z/o/Y/Wk3RwLBSqg0KXHkBKlkeGv4SrHd0AIYTf8twnBmEkDF5IBTMxlupaM1HB0ht7hzMhhC8GEiwJ5YKag9EAAAAASUVORK5CYII=\&quot;) 50% 50% repeat-x;\n    font-weight: bold;\n    color: #542c0f;\n}\n\n.ui-state-hover a, .ui-state-hover a:hover {\n    color: #542c0f;\n    text-decoration: none;\n}\n\n.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active {\n    border: 1px solid #eccf8e;\n    background: #f6ebba url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAGQCAYAAABvWArbAAAARklEQVQ4je3PsQnAMBBD0S9l/8kyTFIaDDkXBkMgA5ig5iEdXCHafZYBQgi/5ekXrlmFpQNLxmDMTOv2rrU+kHYYE0L4YgB9ewvfYTVHjwAAAABJRU5ErkJggg==\&quot;) 50% 50% repeat-x;\n    font-weight: bold;\n    color: #542c0f;\n}\n\n.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited {\n    color: #542c0f;\n    text-decoration: none;\n}\n\n.ui-widget :active {\n    outline: none;\n}\n\n/* Interaction Cues\n----------------------------------*/\n.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {\n    border: 1px solid #eccf8e;\n    background: #f6ebba url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAjElEQVRYhe2UOwqAMBAFx2DlMbz/kSS3MIUIWij4aZ/gK952YZohu0y3zNPGOWur3Kcfxsf7D16c5YBD0FUOoDjLAdeKHeXWVi9BRzk4f9BVDqA4y8HrBt3k0sEveDqo8nRQ5emgytNBlaeDKk8HVZ4OqjwdVHk6qPJ0UOXpoMrTQZWngypPB1Vu38EdG7NcOPXFHAMAAAAASUVORK5CYII=\&quot;) 50% 50% repeat;\n    color: #542c0f;\n}\n\n.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a {\n    color: #542c0f;\n}\n\n.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {\n    border: 1px solid #cd0a0a;\n    background: #f6ebba url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAABkCAYAAABHLFpgAAAASElEQVQYld2PMQ6DUBTDbP/7X4grde/6GACpjN0QS+QkyhC+n20CeI3MQChJJ4GEka7LEtkiRsJF2llw0G02SP5k0oxPOP2P7E3MCpW4kdm7AAAAAElFTkSuQmCC\&quot;) 50% bottom repeat-x;\n    color: #cd0a0a;\n}\n\n.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a {\n    color: #cd0a0a;\n}\n\n.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text {\n    color: #cd0a0a;\n}\n\n.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary {\n    font-weight: bold;\n}\n\n.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary {\n    opacity: .7;\n    filter: Alpha(Opacity = 70);\n    font-weight: normal;\n}\n\n.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled {\n    opacity: .35;\n    filter: Alpha(Opacity = 35);\n    background-image: none;\n}\n\n/* Icons\n----------------------------------*/\n\n/* states and images */\n.ui-icon {\n    width: 16px;\n    height: 16px;\n}\n\n.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {\n    background-image: url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAADYSUr5AAAA7VBMVEXMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzMCgzrDkZjAAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAAPhUlEQVR4nO1djWLbthEGyUiq5YSSLXtp7FpLOmfzkmxr126tmi2p03RJ1/Xe/3EGgARxPyAgRbIk2/hkSz4CJO4+HsE7AJSVysjI2AMUUOxahZ2iANhzBtZWr4BoIRSYAVN5u4QwDwQDRbcwfUi5KS3wFuDmFnQLa4Dtb//cqktwD5QEFFwfUs7PoCCA7y4bEJVFizcIob8KmhAplwwqVjt+9FBl3uINQniwEiryEyw9JHqGpQdEFNi+B4QQ7QOiHhysIPoAxUqxvdvvA9K42bsAv4S2fxfYOe57IJSRkZGRkZGxx7jxSHDHcRBXQMTyIjInBgHwBJ/bEx8PEANC+uhbpSSggCBAVODVabpI1S/k4WLZpTn6NpMhoX9Y40hxYERFpMcqUs4AloCtDQdID1YhnyXZ2hLjAYWiO9Dy1PDB7tPhIqLx+uMB8grZaR+Qxl2/C2RkZGRkZGRk7A7rBf7J0DR5/LUTjzUPIPSPGvQJiVJiB7kcQCiUOJrcFNtDZIf2xarQ3aGvLNxAVIFAabz90BFiBIlycTBhgWwOWCH0FLYHlPqwHaCvcIn2ZbosCevfPTRiFFcgvHukCjWwrc3GrGh1fsAof8EaUReKXkCB4/MzFNo97qLpFiKFYv/kNR5YQxQbQEofkZ2OuEOHqqT6gFTpru8CN7x/+jaZkZGRkZGRcV+x/rLUNcMMqUAscgnFocmpqkTzqymwVAPxfJ5PnIUUQOUKT04tEdWZyv3JCQSn96WS4pD97QfyW25A7NhSAbyhmVj0FEltA4vdiygBibXhoUYgykCUP7HwPTDeEqAIcHVMkZg7Zx4k0uFANs63hPQXCoRLAwdgGsr9Az7Qv7sgQGgg1aPl/BJLExBWgG4RFRLFImGmIquPC/klEGyCG0AuAXaJJC+B8FVe9NYQDEcXB8g6AQcjYJ1goJIggHWCrFR0S6kRHN5+4BzFi8NaoN35NRxUvL+JJdZr7PV4wK6fj8nIyMjIyNhr3OxdXAYq7FHZwB6bDSzSh4sF0utChqo0NAvaT1hLzXwFinmCzmeDucEQK18TTaQoFgP7bNC+RZ4OT4T6gQogDFYk+1QxQlj19QGSAWKiLYp8P0Ag1Gbz1ULfWHLg9iUnQNK5QQJcukm04blKLH2GgEJCY+HzXAZWCvHKco3Bp6MIaCjSXXRJyOxeqhnzEaF93MfFGW/O16ZvDL5TM4MJIjujz/cHypkQuuzRwWJ93BKdIt+wCRAPl9kpe2Ikkb2mFgGlxh/i40d3EHfdvoyMjIyMu43ylt/IAmGHnN5iIt7wKfbv01RAcJqFRl9lcjYQSnbQqKgC4fYOwSJt6N6trE0twZ9kN/PqNpTQeICvr4TLsDYC06U7BMjshS+v1/aT7IwQYD5LcgRQXMT2FrBfBLjZ6151jDElk9tPFfpUgk2yregusX25BJbwAFEfM+YI6vGAti4bTtizB+TjfQCrERyhKb2X8D6A9wX75P4t4neBYJeP6pdhg/gQl8MWvytzeSTjgOQBynQdh/iXKdxOrGJ/RkZGRsb9QmXihGr5+g8GGg9uTh+KoVZuNIzV+CwRucFBEyr1mVjx4irOxwM1BhirB6Q+2eNQi4eqR+aF6mELtoMzCR7V9RAFe/ZvQogNiyY8FPSUTFsLp8TeTmMui5mtw7bcaT0Yw2AA4wFRQIlkgq+1DQrNhkmoxS5Jq+u6bMAIGRECEANgXHTgWzwgBOhDH2l0oTQ4D8D5NMktBgNywAEMjo8rwATMZrPY7JGxBoJCkIBDQiAY09EGTUiBCWkUpISfGPR5AAwBfZiG2z7Ayc1yeKTxid39xBNwfHr4O0LA48ePFTvhYrF1r4tyAoz9n2MCqEuBtp/6GDR0oAYfG/R6wJExHYZHfhygsv7fEWCOj4bYmsP5A+pL4MkTfAnMlD4F+r3bobKvTyTA2P/w7PN+Agq2QW8piqMCpTBwenoKvX0AHGkGtP2YAPvTEWA7QUTAudn7/NxtOG46wWNmDtpBEkBzN7rBEvAFHp+YTB/q97qPAN4gHFqgBi8uLsC7qPCA6mg41G/+ErByPwEXDdoNxRhOx+M5jPEzQugS0ht+b1/Y3gEnYMAIAOIBE29/hIDucE8tmMsNOgK4B1RHFu4UCRlMHzv0xzcajcfdXWDs2h8TArBCkoDUJYDLmz6w7ip3BFS0ve5wTRwAn6keMA9I3QYbfSZ0DKbyt+7OXjGI1idPcfNyAyfAMlCrzaGqphYrxHocLHRJVycnfGUcbtT+jIyMjIw9x7Nn8fJSzG0TmFtO8rZT+XT3S3ub+tKJbbLd5diTVp50+zahyeHSslJ/YPrU0fuazrZO2CZ92/ZCCVXlGRiZKPJyPPRxyIFWeXLQBXJBKiq/3divEAN6ZwM200Qjm7EJBZeWm/PRWVCbYK7s7u2l4XaCz+lzgOfMfhMonXr7TWzeZb98dbgIzBT8Ub8eYYUqfZ4rVJ/MDbIDgPqTulJ/xvntWAtjIisqnwxOkGz0n077FARoY79GdA6HPE4rOy196NiMWHTZlSSApcOgXpy/fHV2joaNKu3ffsAnRcBf4K/6NcIG6tIxk3HyoXPjASqfUgXbYN5PzpL2njkR9QMjeDTVHDTCgRuxOegjoO0FvKzP/t/gmVdI24+G7NIe8JX6Wv3dDyldMA+4YB5wwTygtd+dwRqaTqrLb1l73zTSN52CNpnHuQOYPsDblybgxfkXh/oVtr+N1DEBJdhRJyd/Bd/q1z+cbNrD17iVKyajcnv9arhOkRPgsruuD6DmNPwpDNrLw2CoTgHni4yALr0L29+tiKAEIPn868ejx//8rpWP3OEOl5On9OwpcQm0MhafP/ey8f1uvDNIgGLQG8z4YO99ENgg95etwv4uYJYY8fUGHYH6j6fscHFZMftlAl9i+9XL73X3N/n+ZStOzfVfRvYXhrbdKOpEgVQTg/wsDuDD3kwOfQNMTJ5y+/ltUDWLunyxnRF46IqlBzGMY4X7inggREFioIyMjIyMHWCIB6ZNKAcXseo3vLTQTkVE7348dlwJJSz0+wLfmi8BhZqfw3D4ww/wHVLnEd5/fgYvXsDZ3MlsvYUbbnDjDZ3MN3TJG4+bxjAaDl8TBri9qxEw1ccao2wTNAMLHo2f+sjrXwb/9qHoYqgPMBXJTVfOpmrZH23y6uvo0LHSyY6fHGwKfHJlAuMFvObjDYrIqxBgQi20h7Hd/nYVLmno+eaNUm/eeH2GCuopntnhBJAlI2AHo9CCh1I1QxUdAbqqGY9BBLwyc3W4wYVhvY8A4BoIc1l5M7vnPWphZW9/Ses3n37y9a0uGqFwFQZsQQbd386DogpgEk+dzynsAZMJXq8+ns9NeukJ0PYrNATGGefJQlhkLo7DTXr+y3bNiOsDvrXTz/C2q1DXZH84iRNwrP88Nj+u2DjYEE6RBxD9Knj16ujVHC67A7422o02RwD3gB+t7EblWvu9geOFxSnd3ROmT+nJyQkhoPlsxVONc/3TEdBos+jtA+ZzcwHgTvD1cDjaYCcItA8w9i88A8b+mqSjc6Pvqd998QguEQPmQMeo23ODN86+p0/bn1buBkT6+oBhNZ/PYY4ZAHYb3PRd4LkZmPX68NRtMZn4ASvdA+qf0jMA5MP9eeg28Nug9QiLnj5A33U1MAES6xHAUNpz/9zFAYE1gqQDMT3G6xI9pwdw/aIgKoHCS1YGlRnSq9yCjdXjgN3j+N27YyROHxmuNAeNKPpYuXIyIyMjYy0M8eros59MF/PT2c602T7eA7zvhJ9dr/vzDjXaLp4Yc5+0wllzxzHv3gdmMMM7/CcQzKgVBqYTmFn+Z+mKm8J7k0A5F/jgCfjQ1WBhQyiOqD0lYuqBb+AyzMw9Ha2G3m6c8qQx+AlqnIceQp+Sb6i9UyQWbhr54+AjnZ0VzW2TAN0DmBT6PWmc6jDBE2PK2u+nF43dyP7Q0t1pOcX2fdRvH0mF2Q4JqN35rnHjVIeaXfIAVyUuw/aHCCiJy9iF5l1621zweI8KZrPZ9iJdb7DXJ3US0OSrtZ10imt7wHY7QesAzUMz1oZ3noB3qFJ/H18j97FYuw8QDN4oeKf30osvcSW2ExLo+VcbuAuo/sUIm8fMG9xocO3Ea19J9gFYivnHJ2KnyfovZlgW3v6ySx32abQiIyMjIyPjhlFDTLxpwIgFMnTp6A3g4IDKNY+stkwAMAoIAbasxBXqUWneSAWTMjt50lTqT29rFjvXohjsDNm2YPXDFlICmrJOZ3t6tHm8AiEAl0sCeLIIorIRt+cFbew/QRsoAXb4o1XSfoywzm0FTMAoYBNvLyFu8v8HpLBtD1iKgC17wHb7AI6d9wFbvguAIGTHd4E9wG7jgIyMjIyM+434c2R3HeV/Ffx6jtZu6ijl8h59T655jhR+rdHzDOP6beABCheb8O8/WFXeOyzgf5oAhVYnKxP7CwaAf1afJu8bSrhS6tdaXeGnrRenOqOlz9d6QwYnA/3TLd+GE7qe3chA5YF5DfY0vK3adfOX/gyNp2BW25MHdxAB9qvRiiP3/XpQQFGYDU4+Mi///XumXG8pjvaUAOsBGlf4jJt+YYEzeEzAdw06F19R3juM7D1wita86GR0CKfDHgLuXCc4Bri6vMLdfjMc4VNSUNsdodo2xu/1+Xl/K5+az8jIyMhYG/z5gJTMF1GtKq/a3rpyCvz5gJTMl9GtKq/a3rpyCmfQ4WwZmS+kXFVetb115ST48wEf/AGcfG1iw+tWbpbS2vJ3nQxcVr3lH3z5h972FUTLzYpOVk7l5hD+eYcYwDcAnewOotrZ4OtrPDucqi/LRX0/RR4qx7Nn4U8g+qjffvuN6Gf+nC85vwauHjaYyubqvWYKY4VEfSUMitdnBCT1Ue63R5439m+OgCn6DroAAaHPVQxKth/wkJgHmG8bmQMsT0D6EjDfvhVRKO3ywOQUgRA7nmL1uawZmHf1k+DPBwQ6NdcJ+k6Md1LA5f5ONdhJ8vZ5J0vLHT99srkGOjmJbd/G1r2Nriqnse1AZt1AalU5jW2HsuuG0qvKGRkZGRkZGRG0gcONyXsP9v8D0/IdJADiBNiXl3327WRGgOL/9HC/0XwlIURkRhC4tz6Z/fu7fUf2gHvfB9z3u0BGRkZGRkbGplHcnkgguQoSqtUXuhbs/wPtMwqV0HUJAvj5vk32b8IDuL23yn7qAXZ5u32hbRX7d3o82Df1FZXvbh9QOfhyxldr/+3xgXU9oKmvsHyr7F/XA269/eveBXrsv7N9QALe/tvjA0kPWAXGbvebkbHn+D/J5nMcHzx1UAAAAABJRU5ErkJggg==\&quot;);\n}\n\n.ui-icon, .ui-widget-content .ui-icon, .ui-widget-header .ui-icon, .ui-state-default .ui-icon, .ui-state-hover .ui-icon, .ui-state-focus .ui-icon, .ui-state-active .ui-icon, .ui-state-highlight .ui-icon {\n    background-image: url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAADwCAMAAAGvTnpvAAAA7VBMVEVULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxULgxwjo40AAAATnRSTlMAGBAyBAhQv4OZLiJUcEBmYBoSzQwgPBZCSEoeWiYwUiyFNIeBw2rJz8c4RBy9uXyrtaWNqa2zKP2fJO8KBgKPo2KVoa9s351GPm5+kWho0kj9AAATX0lEQVR4nO1dC2PbthEGyUpaqJii/JgbZ3bTLNmyJns/Oi1bM7vp0q7r/f+fM+JxwOEAkNTTSoxPlqHD83AE7gAQBIUYBHSfQv0XnbsJgH02A3g5ibVzDFNtlkPI1VjIuOUa8eMclOLS1uRSPBETURnOrkbmID9T9fuPyu+cSGYYKya5efeddN9TRS1H8eD4kDjrPutBpptt2apkiqX57A4gfloj7ua9AXMQ3dWvNs8n7NCwZk6bqYSg1CgNsaCBHDAluMQjcihEWBNYSxamUYNMs15KmwMUKhm0S5UBwMQFjcqxelSYskHBtLC26X7/eWQtVB1MaWXzF1OrUyhLgOrFiBwalDwg6+tigfzbnNbM40UlTrrO3clTftcuX7jyY9gkv81RVWI9K0OxNa8Hruw+EFctu6xaqDhCGkjQ2hyMitiXKyR+7xSqx6u6AitlpI3wrBj5OSo5xv8ZShoq5VZE+p/hb/OVzuPHyHGXQLoug9b4af/OzArAqtlvq8PidqZSflOYigVIpTZ33192wQ1jHVXLgjWWeZdAfhn3UteqH43NI9EGSjns7CJ//g8h6o6++UrLBTrOZJUkhy4NxDNAblZld53kJZl34z4jE5cB0HbA5RHnzg9Txud28wwG4aS1pwzKH7t/IyxlEvW2XVQLcf0vyeCWfL9j39vk95iA1alinhtmcHDr34tiSDECRgCXwFMgynMfrB0PlAxMhdUoPyKDo7qq2yNZHa+Li9BQoynz/I9DNkNcFCQSVi2aQbTOJA7S1tIXYpwM9t+PgBYzwFI0mNdt9JjxuGBHXJuwuJO+fq8KYzpDLtDll1XoYZ6k53P9dUNdNzwQZTcsvLw0Cafa0snfyq/WGVUVDo/VxBxXF5ynLZn6zUO/FvTIdjeiw3VUeyUqv7Q5+dIiz+W/VoTs03r+4U/ERpyHVbkIFAU44dGMKQBZfrwrGeAl4litNO9TVGFXRN1TDlfTyGVqdQaVEV7T0ZNJGO/NTQ9nL18aDk29b2Ui2SaqfhltIIMn4gpz+k+TiNNXkjf0LYWzf+DXO4UzHuF49WYS9pIIN3mjcoga1CNDuZ3kKzlja00XXS71OHFZjBhkI1K98WCQ/QC/r9n3qudrYVVea6aE9iP8L1A/KnWuJMZ+jwiyz+P3SFkcguW26os1MoON1p+35uAIgB3fXnzm2hscgvkD0PBi23t8YcEsP2u+gEUvdsXAg4VrA0y2zD/ZBgCjbz07ZNd4bBvYHQMPFcBFznsTv/hBOj9hkE0yvyRHcYZCK5VoEwGHQwU+dJBlX08BOMGx8MBk+I2oMHdQbLZFkGDADfVBQcmCx8Nb6S6fwJqRehFktWEAVsSA0yNP5DQm8wcW6tNr9D/T6PzGVgS2gP3iCoyPB/L4YF2A2ZICUKoZI06GSjdZYhdlxzeOLANIWxfoGkaofzK2BDRlWaq76VMAuRDbiXyhQiYTtV1L7hBS64vLpRJ/xbYMQRcPVPRT4802P5ruaHvrAv3BtDmzxwz3IsFcru92uL4GysByOVV7H4Rx7Xaqax2xvqiNEQId74svvjAcglfgwis/o+vnFdpxsCJHV8uomprlYHfNpPvrV79B4+G75+dG5i3NEGBh0+urAGWrXZ1uItAYmWJNQl28cCs1pd6/AX+c/Q0znEddU8OOLjEDWWF4qcsp8d7DgweI1Vv85bs8or6kK+g+8scLc22/Ed/oVI3WF9iGKrNzybSd8sQsS9u2sFyqiPXbaWpgH2Xg3x0Dclm+whsRABfKOXlh2tCpCqhMo3wGz54pBkxbsAxUN0ejCKbq/xXAt/dS/BPA9VC+EFC6jiTkrS8w3Raj+Sp2U/vcdFdGprxDRcPbAOa7LwYyOtEZlWh08EyUjdA/GtU4Gjs+bDxRN0bi6HbezUEZQGzNwIMHiB+NDMugG1UD7o4YwLne9MIbbEYGKNT9dIA2gLs/ALzrc1PphlwOAO/BC/n7Vk/DuL+lE67wdleAuQEH8sEik0/U0KMNuDMF3XWkvO3+wdDEFZQm6Vh6pAX47qfXeHYGMwcMXHc/wHc/PQYyAslWXNUPjNf3xEAlocNxqJjbQEYcW6sHO6bEH/6+VSgKf75S2AReOLiEa5Y/dEuF3/yKd0ootu+mvgQCzYt04TNUmPsNG0tga4ze+ZSRkYK3DiJCPYDdAb2ZHiiA78JZt/yge6XcIk67fLbVA1jASD1QILmlBDIy9o7Bxsn1APMeG5/b6SB9cHc9sO9sApTgPNXfXbJUuC2AxWPjjUiOzI3Hc8UmphFJCWQ8eAwehjEYbs2338j4cD+Vn4vgNfOwURsvXhxPDzwDay39+UVkOhCsiHrhwPovDyfxPIXC0xVJPeBqWlCPgvVzJ0FWgPEtyGZUxuCe9MB9zUcydgZ7BdksfFhBGKTM8tg2BkGHTlnJuEKx/d56r9m6gRXF7+ByBiJW11NAm8AoCKvj9HyfP7SfkkAwkjq0nc/jio8frDsFw+P0cYU7uvrh4NWz53avCrHwyOAuOAhvZiV6HVMIUk/uyA6GEwJGl0bReIzu8CZc0AY44o0gd/9PBvIcKObhX91HzAPMHrUK2L0tqD/T/oAbEAVx56B3qorHj9VZBNJHBTSN2lQrThpbkD4EC/RmWWQAhN78BuA2yanYE9x9e1pp9+yMdWug0QXeRJ+b8krTnxr80fGjU1xeegxMBSx1Rrr8EnS8y0t5aIIQ9RN9auPZZHJmJOXNM9w8QTEwh8efewwUGHE+n+uI1zpDZKCaLpfGVcGV2b173UGlr29qUk6EgQml57CQG4QcA5TRn1EJGgbsFlOMv4AFnbEALxBdvgfNVlSXn3EMAF/XRwaVyuM5wHNFJFp3uM8A82HXGs7NjxbbRlWKSCMSv/rVCWUgCEfU5jH8Whh3ot1WNz6WbmHTT1vbzSvKgBXBye+/NByKSEYSqpteGwauDQPXhoGW9PvGT69OZr2wvcNUcHph+gXwGgvGgFZATy8vvxby0FPtz11Tf93Pjat3eL9UbtvagQ+qWkfjIwhO/iLZBsC/zWFdc4G1itWc6Lb2WDcKy2DG/aMO1vH6R3t27PjCtIXpP75Wrum0V1/Bjc5GWc2paSvKVSeR8940C1az4gykFNA34hvQJXkPVGDrh6py4wHtoY1Y+WapTwOfBt3Ob+WkQI9BG28+V/sLG+N/bgYypUt/Kt0XZsemTffmjcloOqs3kACgNcVN+ivQjx24eYRO9uwZPMOKUAlMb27YyT4DDJBoOh/HmXbeGkl+hTnp55W6SyA1ZroNZJjnG8S3AGPO9t89njijpTk4Mw+ruUs0avB2BrDuEf+mHHnAE2mlfBlAdjBjThWFg8z2++/ZAw+btanGdivMqTEVhlea0uW7ckrbzTw9UZ2dbbTjWz3h0RgG7igDlkEzTBiQwKbdStXgTB7hhRlYCQiPzMhIAxvLpsnBNjrVrRqhH3ppSv1jpg8nlP9mJoGJj+lM2910mZzNBwDMdn0xw+410wzMfIXDxiWb27aNJeAy0PHvb0PAlm0g497xX3iqXIDt3mO0KVb/A2FGszM8bg9GfHcGm2EN+KCVHh8sl4V+mL7Qy3MAS/NwPezy9UJi1op2pjkxi7ZuJWPR4+4O7+H9TvPLWBs4H+DuO4Af+txUuiGXQ40JrxLu6wE3la7HjTCgmz3OC9TDdhDxd0/Tob+I+/PvTz9h/JuYAjFzAueCHHjHMjIF8PhheogycCPiT9vjfEBVVLq3nced8f9g/FPuHU3PXAG+Czdm3sGA8wHufjfgptINuRkZIfD+YOCyWe/eGlFQEDIg/P1B+2PgviWQkREg3dYO9FRZwACWe6in2gwD+NBtV26B7kElgAwcvPxEGyiKw3GQ8QBRHPv+9K35692kXajXyBZe5INKRO5gouVBMPIoIHi4koV6Ebge4cnDAoLIQYl7hCyKn8naK4CYgHorGAqgh4HDC2AE9tsFeBM8eBfIyMjI6MfeleD9qjw+DnBbmxGRCDy6byf9ChVhdn1mtVBLnIeTCUB05MOieGZqxDigEH4CP3xo2HBQAYzAJ94FMjIyHjq2XnbfMoNgdtx7J2CD2wT9CfANgl4ZfTlAkCNwisfvzz3yLCewQEgEmgxDflgCSAXGyh8Rg1UwfMtiT+KIgHwGY8n7r9BwCT2BkfRrY9sM9pu+dwUqIyPjoaPgkzfRf0s+EhCJ3G/HvdAEAyRc0PnYCIXGz0blRotPziJ2mZcCvQyEwwaP/3CUMzDskBGARqd6HDgHTIAmMnAPR4c+veMwVn5Yg1HBwQKDT7L4rH6CryEERfAKFLQFsJsMMHQbJNrIe4oPCgiCw/wYf/wKRhIwjnsFEEbO44CMjI8ae+3BgZliWiksXKYoPLsSYIDjwDDz6W+wjN4XviWMlUrewFZBPff/I0rWn9+GDPeZBUwLNACCiLuUAJ5sTwsBL9yrYsSqhwz1iShYgIm0ACaAsIXs3K75A5lgnZ7dGBlYxx9a8hkad/QPmzIyMo4O4bvWPipEZxa+4imDCRuf//HnMIcV3bHcEYXYKrJvdUooPbPk2U3pll4OIDhJBVYgfSytZoQAgvj+AoU+rSshAL4+gZU/mgYghrpAtL2T+GX8akLkl0Q48v4EcE/PYWdkfBxQx1SucfLOZ/Ik0c/2x48POGmaKdFz9jAsF0N+F1wLOlXWVpo2h+dVuApcxelg8jc34eZgVjGp5QOE9cRjQARmhE4vg8mqx79mnpeIHlDKg1ZdKmiaotTADLrr4Zd3LpESAOiXooN7N7ppAUjrdX3C8blKbjOcwOnF/OdABSCPdmX15fUP7BSxYr4AZPU/d+FQ+hKFgnnIV+EVy4KsAMHFxUW6BcBy2bWiqXlJvCq4Un9WADJ+RQTwVKZ++hQ9TuXpf7U4ZdUhCSp76CxG8C2576EE8As6Llm0j8EdZxMIICjvmQKT+MReIS6AaqmAHAY0yF42Be+K1LXtAjWWbw8YCRj6Qn18fvpbAA3XXa4RO0NVtQpbvFLaKYCR0WGr0VQ+8zfjoeHLL3uDS3kmqR3Nz6TNe1FPnc551CmRxSOrw6K9r3L+z40Sfo7pYSHBJle+Havreg1az9Tsob2NVOSl7delPHZoQdcnXgK89NmVZyK3F5iZttOWv4LxB3pUQNYDvnr6+s3VUzJaqrqhEzl9VAsgVWH4Lfyu+8xIBaXmrxlNzU43KpqQ8NZn0NgxO27xy/sSSdIKZnDSQmslBLIFuPoFAtAC9wTwi3n3IdWnI11ACVi6BDXYQvoP8Jfu81e3QOJfYUVXjCbh6up1QMPRqKKcZUO7Turntbc2sCEAZPYfWbvSR0Yn7Q6wgf5zw4DrAnJBia8vWCbkxWbZ9dOCn1gddKmSVl+8/vtCiMXfXxuylVe/b/pe94QdLdY5DbRt85HfGfeOKR2MSy0G133R97uMWMNsOn0LtO/3bxsbQtvlVTtNBfI48BXXwxdOKf5T4l9OC6+mXQatm67FzHJkyZXO76nhli9OkYev2/J0gDOrnQ1fyUK9Cvu1Z1rWAwThej7nBLpS9MrSpR9fu3Ob/F0XNAMiwIkCEYBvReTAjUSQ50F3VboQVADdOIxIqr65kXbV0m8lc25cEkiceSTItAD+rWgci5V64OU0cb1SuPCTO3l1NTo/P/cEQASnVicunnZ/bIFjlWwBNzfd7Jxez9rnV+y+C7yUo1Fn97nNWi0WfyaFNd1f6UQAnoM/5+gxRfmbkakSiEKiBcBUAqLnDN4TTu/uTgnZnshxSokvAgt7oF6B2WL9ISPDx3sg58x+h03uu3vk6LB4Ly0HSuCD7m7y/wcbgynBmFFsnGprPSUf8eA0qBcWuNc29BjdfaC7/tJ0vvcK93lYsJONu+gzS8iKN0S3Bzqrq23Z0vWN77t/33sRzrwUhxWAqzAtvJ8HMttUVfdM29YCUMSG7/FYH0Ag6deOfE0jsUSE8KsvdtAFehYfDoEf5FgU3v1wnzwc0SAlI+PTB8zY7MRfJd0DHj3y6cYvrTnkKEAYQ0CF4AnAhFlNr7hrZsAj2C0UcsxAw0Obyq1kOAiQ5GFHAocUQKrGjDygAA7cBfhA6d67QEbGg8eDfj9s2c1s4ceG3C+sm3dskVQC9dLCTJUWG9LHhlK+bvHHRryit5NXF2Lm30Eli6qT80n3Z9ep4RzO6cK9pMGnJ/IzOVLNXur3TVIB6Fax8tahiQC+1sBV2XXpo0MN8OrFK9rm1TCgacg9p8hZUxkZGZ8I+H2AIfoW6dvN6HXL25YeAr8P8AEskFYvQrs19J2Kr8LvLA2cFsnwDy78Q7J8Ab3hcvmUhfu0zsLd1+gDkLu2CVpeO/vSMHAFJuOTaCLiBvHBjz/Ij8BvgpY3fm9swmEBcAYsbLlyX1Wa4WHaz89GSAgIXKy0gHpo/Y67sQLg9wGG6CtHX21Cr1vetvQI8PsAQ/TVt5L+9mpTet3ytqUzMjIGYHTG3uijh5yr0+k6+PvyhJ7PexUU/QIQ9LnA40cWwEPvAhkZGftA/3tFjgqFGDocrRpc0+XV/ahenOIJAAr8ED8qADvbojmAL4BCvUFvX/zuHNsKQMcXlP6IW0AM/V0gUf2PtQVsC3UAp/lmHDv+D/qKcxyg6AblAAAAAElFTkSuQmCC\&quot;);\n}\n\n/* positioning */\n.ui-icon-carat-1-n {\n    background-position: 0 0;\n}\n\n.ui-icon-carat-1-ne {\n    background-position: -16px 0;\n}\n\n.ui-icon-carat-1-e {\n    background-position: -32px 0;\n}\n\n.ui-icon-carat-1-se {\n    background-position: -48px 0;\n}\n\n.ui-icon-carat-1-s {\n    background-position: -64px 0;\n}\n\n.ui-icon-carat-1-sw {\n    background-position: -80px 0;\n}\n\n.ui-icon-carat-1-w {\n    background-position: -96px 0;\n}\n\n.ui-icon-carat-1-nw {\n    background-position: -112px 0;\n}\n\n.ui-icon-carat-2-n-s {\n    background-position: -128px 0;\n}\n\n.ui-icon-carat-2-e-w {\n    background-position: -144px 0;\n}\n\n.ui-icon-triangle-1-n {\n    background-position: 0 -16px;\n}\n\n.ui-icon-triangle-1-ne {\n    background-position: -16px -16px;\n}\n\n.ui-icon-triangle-1-e {\n    background-position: -32px -16px;\n}\n\n.ui-icon-triangle-1-se {\n    background-position: -48px -16px;\n}\n\n.ui-icon-triangle-1-s {\n    background-position: -64px -16px;\n}\n\n.ui-icon-triangle-1-sw {\n    background-position: -80px -16px;\n}\n\n.ui-icon-triangle-1-w {\n    background-position: -96px -16px;\n}\n\n.ui-icon-triangle-1-nw {\n    background-position: -112px -16px;\n}\n\n.ui-icon-triangle-2-n-s {\n    background-position: -128px -16px;\n}\n\n.ui-icon-triangle-2-e-w {\n    background-position: -144px -16px;\n}\n\n.ui-icon-arrow-1-n {\n    background-position: 0 -32px;\n}\n\n.ui-icon-arrow-1-ne {\n    background-position: -16px -32px;\n}\n\n.ui-icon-arrow-1-e {\n    background-position: -32px -32px;\n}\n\n.ui-icon-arrow-1-se {\n    background-position: -48px -32px;\n}\n\n.ui-icon-arrow-1-s {\n    background-position: -64px -32px;\n}\n\n.ui-icon-arrow-1-sw {\n    background-position: -80px -32px;\n}\n\n.ui-icon-arrow-1-w {\n    background-position: -96px -32px;\n}\n\n.ui-icon-arrow-1-nw {\n    background-position: -112px -32px;\n}\n\n.ui-icon-arrow-2-n-s {\n    background-position: -128px -32px;\n}\n\n.ui-icon-arrow-2-ne-sw {\n    background-position: -144px -32px;\n}\n\n.ui-icon-arrow-2-e-w {\n    background-position: -160px -32px;\n}\n\n.ui-icon-arrow-2-se-nw {\n    background-position: -176px -32px;\n}\n\n.ui-icon-arrowstop-1-n {\n    background-position: -192px -32px;\n}\n\n.ui-icon-arrowstop-1-e {\n    background-position: -208px -32px;\n}\n\n.ui-icon-arrowstop-1-s {\n    background-position: -224px -32px;\n}\n\n.ui-icon-arrowstop-1-w {\n    background-position: -240px -32px;\n}\n\n.ui-icon-arrowthick-1-n {\n    background-position: 0 -48px;\n}\n\n.ui-icon-arrowthick-1-ne {\n    background-position: -16px -48px;\n}\n\n.ui-icon-arrowthick-1-e {\n    background-position: -32px -48px;\n}\n\n.ui-icon-arrowthick-1-se {\n    background-position: -48px -48px;\n}\n\n.ui-icon-arrowthick-1-s {\n    background-position: -64px -48px;\n}\n\n.ui-icon-arrowthick-1-sw {\n    background-position: -80px -48px;\n}\n\n.ui-icon-arrowthick-1-w {\n    background-position: -96px -48px;\n}\n\n.ui-icon-arrowthick-1-nw {\n    background-position: -112px -48px;\n}\n\n.ui-icon-arrowthick-2-n-s {\n    background-position: -128px -48px;\n}\n\n.ui-icon-arrowthick-2-ne-sw {\n    background-position: -144px -48px;\n}\n\n.ui-icon-arrowthick-2-e-w {\n    background-position: -160px -48px;\n}\n\n.ui-icon-arrowthick-2-se-nw {\n    background-position: -176px -48px;\n}\n\n.ui-icon-arrowthickstop-1-n {\n    background-position: -192px -48px;\n}\n\n.ui-icon-arrowthickstop-1-e {\n    background-position: -208px -48px;\n}\n\n.ui-icon-arrowthickstop-1-s {\n    background-position: -224px -48px;\n}\n\n.ui-icon-arrowthickstop-1-w {\n    background-position: -240px -48px;\n}\n\n.ui-icon-arrowreturnthick-1-w {\n    background-position: 0 -64px;\n}\n\n.ui-icon-arrowreturnthick-1-n {\n    background-position: -16px -64px;\n}\n\n.ui-icon-arrowreturnthick-1-e {\n    background-position: -32px -64px;\n}\n\n.ui-icon-arrowreturnthick-1-s {\n    background-position: -48px -64px;\n}\n\n.ui-icon-arrowreturn-1-w {\n    background-position: -64px -64px;\n}\n\n.ui-icon-arrowreturn-1-n {\n    background-position: -80px -64px;\n}\n\n.ui-icon-arrowreturn-1-e {\n    background-position: -96px -64px;\n}\n\n.ui-icon-arrowreturn-1-s {\n    background-position: -112px -64px;\n}\n\n.ui-icon-arrowrefresh-1-w {\n    background-position: -128px -64px;\n}\n\n.ui-icon-arrowrefresh-1-n {\n    background-position: -144px -64px;\n}\n\n.ui-icon-arrowrefresh-1-e {\n    background-position: -160px -64px;\n}\n\n.ui-icon-arrowrefresh-1-s {\n    background-position: -176px -64px;\n}\n\n.ui-icon-arrow-4 {\n    background-position: 0 -80px;\n}\n\n.ui-icon-arrow-4-diag {\n    background-position: -16px -80px;\n}\n\n.ui-icon-extlink {\n    background-position: -32px -80px;\n}\n\n.ui-icon-newwin {\n    background-position: -48px -80px;\n}\n\n.ui-icon-refresh {\n    background-position: -64px -80px;\n}\n\n.ui-icon-shuffle {\n    background-position: -80px -80px;\n}\n\n.ui-icon-transfer-e-w {\n    background-position: -96px -80px;\n}\n\n.ui-icon-transferthick-e-w {\n    background-position: -112px -80px;\n}\n\n.ui-icon-folder-collapsed {\n    background-position: 0 -96px;\n}\n\n.ui-icon-folder-open {\n    background-position: -16px -96px;\n}\n\n.ui-icon-document {\n    background-position: -32px -96px;\n}\n\n.ui-icon-document-b {\n    background-position: -48px -96px;\n}\n\n.ui-icon-note {\n    background-position: -64px -96px;\n}\n\n.ui-icon-mail-closed {\n    background-position: -80px -96px;\n}\n\n.ui-icon-mail-open {\n    background-position: -96px -96px;\n}\n\n.ui-icon-suitcase {\n    background-position: -112px -96px;\n}\n\n.ui-icon-comment {\n    background-position: -128px -96px;\n}\n\n.ui-icon-person {\n    background-position: -144px -96px;\n}\n\n.ui-icon-print {\n    background-position: -160px -96px;\n}\n\n.ui-icon-trash {\n    background-position: -176px -96px;\n}\n\n.ui-icon-locked {\n    background-position: -192px -96px;\n}\n\n.ui-icon-unlocked {\n    background-position: -208px -96px;\n}\n\n.ui-icon-bookmark {\n    background-position: -224px -96px;\n}\n\n.ui-icon-tag {\n    background-position: -240px -96px;\n}\n\n.ui-icon-home {\n    background-position: 0 -112px;\n}\n\n.ui-icon-flag {\n    background-position: -16px -112px;\n}\n\n.ui-icon-calendar {\n    background-position: -32px -112px;\n}\n\n.ui-icon-cart {\n    background-position: -48px -112px;\n}\n\n.ui-icon-pencil {\n    background-position: -64px -112px;\n}\n\n.ui-icon-clock {\n    background-position: -80px -112px;\n}\n\n.ui-icon-disk {\n    background-position: -96px -112px;\n}\n\n.ui-icon-calculator {\n    background-position: -112px -112px;\n}\n\n.ui-icon-zoomin {\n    background-position: -128px -112px;\n}\n\n.ui-icon-zoomout {\n    background-position: -144px -112px;\n}\n\n.ui-icon-search {\n    background-position: -160px -112px;\n}\n\n.ui-icon-wrench {\n    background-position: -176px -112px;\n}\n\n.ui-icon-gear {\n    background-position: -192px -112px;\n}\n\n.ui-icon-heart {\n    background-position: -208px -112px;\n}\n\n.ui-icon-star {\n    background-position: -224px -112px;\n}\n\n.ui-icon-link {\n    background-position: -240px -112px;\n}\n\n.ui-icon-cancel {\n    background-position: 0 -128px;\n}\n\n.ui-icon-plus {\n    background-position: -16px -128px;\n}\n\n.ui-icon-plusthick {\n    background-position: -32px -128px;\n}\n\n.ui-icon-minus {\n    background-position: -48px -128px;\n}\n\n.ui-icon-minusthick {\n    background-position: -64px -128px;\n}\n\n.ui-icon-close {\n    background-position: -80px -128px;\n}\n\n.ui-icon-closethick {\n    background-position: -96px -128px;\n}\n\n.ui-icon-key {\n    background-position: -112px -128px;\n}\n\n.ui-icon-lightbulb {\n    background-position: -128px -128px;\n}\n\n.ui-icon-scissors {\n    background-position: -144px -128px;\n}\n\n.ui-icon-clipboard {\n    background-position: -160px -128px;\n}\n\n.ui-icon-copy {\n    background-position: -176px -128px;\n}\n\n.ui-icon-contact {\n    background-position: -192px -128px;\n}\n\n.ui-icon-image {\n    background-position: -208px -128px;\n}\n\n.ui-icon-video {\n    background-position: -224px -128px;\n}\n\n.ui-icon-script {\n    background-position: -240px -128px;\n}\n\n.ui-icon-alert {\n    background-position: 0 -144px;\n}\n\n.ui-icon-info {\n    background-position: -16px -144px;\n}\n\n.ui-icon-notice {\n    background-position: -32px -144px;\n}\n\n.ui-icon-help {\n    background-position: -48px -144px;\n}\n\n.ui-icon-check {\n    background-position: -64px -144px;\n}\n\n.ui-icon-bullet {\n    background-position: -80px -144px;\n}\n\n.ui-icon-radio-off {\n    background-position: -96px -144px;\n}\n\n.ui-icon-radio-on {\n    background-position: -112px -144px;\n}\n\n.ui-icon-pin-w {\n    background-position: -128px -144px;\n}\n\n.ui-icon-pin-s {\n    background-position: -144px -144px;\n}\n\n.ui-icon-play {\n    background-position: 0 -160px;\n}\n\n.ui-icon-pause {\n    background-position: -16px -160px;\n}\n\n.ui-icon-seek-next {\n    background-position: -32px -160px;\n}\n\n.ui-icon-seek-prev {\n    background-position: -48px -160px;\n}\n\n.ui-icon-seek-end {\n    background-position: -64px -160px;\n}\n\n.ui-icon-seek-start {\n    background-position: -80px -160px;\n}\n\n/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */\n.ui-icon-seek-first {\n    background-position: -80px -160px;\n}\n\n.ui-icon-stop {\n    background-position: -96px -160px;\n}\n\n.ui-icon-eject {\n    background-position: -112px -160px;\n}\n\n.ui-icon-volume-off {\n    background-position: -128px -160px;\n}\n\n.ui-icon-volume-on {\n    background-position: -144px -160px;\n}\n\n.ui-icon-power {\n    background-position: 0 -176px;\n}\n\n.ui-icon-signal-diag {\n    background-position: -16px -176px;\n}\n\n.ui-icon-signal {\n    background-position: -32px -176px;\n}\n\n.ui-icon-battery-0 {\n    background-position: -48px -176px;\n}\n\n.ui-icon-battery-1 {\n    background-position: -64px -176px;\n}\n\n.ui-icon-battery-2 {\n    background-position: -80px -176px;\n}\n\n.ui-icon-battery-3 {\n    background-position: -96px -176px;\n}\n\n.ui-icon-circle-plus {\n    background-position: 0 -192px;\n}\n\n.ui-icon-circle-minus {\n    background-position: -16px -192px;\n}\n\n.ui-icon-circle-close {\n    background-position: -32px -192px;\n}\n\n.ui-icon-circle-triangle-e {\n    background-position: -48px -192px;\n}\n\n.ui-icon-circle-triangle-s {\n    background-position: -64px -192px;\n}\n\n.ui-icon-circle-triangle-w {\n    background-position: -80px -192px;\n}\n\n.ui-icon-circle-triangle-n {\n    background-position: -96px -192px;\n}\n\n.ui-icon-circle-arrow-e {\n    background-position: -112px -192px;\n}\n\n.ui-icon-circle-arrow-s {\n    background-position: -128px -192px;\n}\n\n.ui-icon-circle-arrow-w {\n    background-position: -144px -192px;\n}\n\n.ui-icon-circle-arrow-n {\n    background-position: -160px -192px;\n}\n\n.ui-icon-circle-zoomin {\n    background-position: -176px -192px;\n}\n\n.ui-icon-circle-zoomout {\n    background-position: -192px -192px;\n}\n\n.ui-icon-circle-check {\n    background-position: -208px -192px;\n}\n\n.ui-icon-circlesmall-plus {\n    background-position: 0 -208px;\n}\n\n.ui-icon-circlesmall-minus {\n    background-position: -16px -208px;\n}\n\n.ui-icon-circlesmall-close {\n    background-position: -32px -208px;\n}\n\n.ui-icon-squaresmall-plus {\n    background-position: -48px -208px;\n}\n\n.ui-icon-squaresmall-minus {\n    background-position: -64px -208px;\n}\n\n.ui-icon-squaresmall-close {\n    background-position: -80px -208px;\n}\n\n.ui-icon-grip-dotted-vertical {\n    background-position: 0 -224px;\n}\n\n.ui-icon-grip-dotted-horizontal {\n    background-position: -16px -224px;\n}\n\n.ui-icon-grip-solid-vertical {\n    background-position: -32px -224px;\n}\n\n.ui-icon-grip-solid-horizontal {\n    background-position: -48px -224px;\n}\n\n.ui-icon-gripsmall-diagonal-se {\n    background-position: -64px -224px;\n}\n\n.ui-icon-grip-diagonal-se {\n    background-position: -80px -224px;\n}\n\n/* Misc visuals\n----------------------------------*/\n\n/* Corner radius */\n.ui-corner-all, .ui-corner-top, .ui-corner-left, .ui-corner-tl {\n    -moz-border-radius-topleft: 0px;\n    -webkit-border-top-left-radius: 0px;\n    -khtml-border-top-left-radius: 0px;\n    border-top-left-radius: 0px;\n}\n\n.ui-corner-all, .ui-corner-top, .ui-corner-right, .ui-corner-tr {\n    -moz-border-radius-topright: 0px;\n    -webkit-border-top-right-radius: 0px;\n    -khtml-border-top-right-radius: 0px;\n    border-top-right-radius: 0px;\n}\n\n.ui-corner-all, .ui-corner-bottom, .ui-corner-left, .ui-corner-bl {\n    -moz-border-radius-bottomleft: 0px;\n    -webkit-border-bottom-left-radius: 0px;\n    -khtml-border-bottom-left-radius: 0px;\n    border-bottom-left-radius: 0px;\n}\n\n.ui-corner-all, .ui-corner-bottom, .ui-corner-right, .ui-corner-br {\n    -moz-border-radius-bottomright: 0px;\n    -webkit-border-bottom-right-radius: 0px;\n    -khtml-border-bottom-right-radius: 0px;\n    border-bottom-right-radius: 0px;\n}\n\n/* Overlays */\n.ui-widget-overlay {\n    background: #aaaaaa url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAh0lEQVRYhe2UsQ3AIAwEL0zC/qMwhTdJiiCRpH2kfPHu0DUnbN0xxjiZU1U8p/f+ev/Bm7MccAu6ygE0ZzlgrdhRrqqWoKMczB90lQNoznLwuUE3uXRwB08HVZ4OqjwdVHk6qPJ0UOXpoMrTQZWngypPB1WeDqo8HVR5OqjydFDl6aDK7Tt4AWXCW8vnTP6PAAAAAElFTkSuQmCC\&quot;) 50% 50% repeat;\n    opacity: .30;\n    filter: Alpha(Opacity = 30);\n}\n\n.ui-widget-shadow {\n    margin: -8px 0 0 -8px;\n    padding: 8px;\n    background: #aaaaaa url(\&quot;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAABkCAYAAAD0ZHJ6AAAAe0lEQVRoge3OMQHAIBAAMcC/kjdZJHTI0A4XBdkz86wfO18H3hRUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUBVVBVVAVVAVVQVVQFVQFVUFVUBVUF8O8A8WdY6opAAAAAElFTkSuQmCC\&quot;) 50% 50% repeat-x;\n    opacity: .30;\n    filter: Alpha(Opacity = 30);\n    -moz-border-radius: 8px;\n    -khtml-border-radius: 8px;\n    -webkit-border-radius: 8px;\n    border-radius: 8px;\n}\n\n/*!\n* jQuery UI Resizable 1.8.21\n*\n* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n* Dual licensed under the MIT or GPL Version 2 licenses.\n* http://jquery.org/license\n*\n* http://docs.jquery.com/UI/Resizable#theming\n*/\n.ui-resizable {\n    position: relative;\n}\n\n.ui-resizable-handle {\n    position: absolute;\n    font-size: 0.1px;\n    display: block;\n}\n\n.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle {\n    display: none;\n}\n\n.ui-resizable-n {\n    cursor: n-resize;\n    height: 7px;\n    width: 100%;\n    top: -5px;\n    left: 0;\n}\n\n.ui-resizable-s {\n    cursor: s-resize;\n    height: 7px;\n    width: 100%;\n    bottom: -5px;\n    left: 0;\n}\n\n.ui-resizable-e {\n    cursor: e-resize;\n    width: 7px;\n    right: -5px;\n    top: 0;\n    height: 100%;\n}\n\n.ui-resizable-w {\n    cursor: w-resize;\n    width: 7px;\n    left: -5px;\n    top: 0;\n    height: 100%;\n}\n\n.ui-resizable-se {\n    cursor: se-resize;\n    width: 12px;\n    height: 12px;\n    right: 1px;\n    bottom: 1px;\n}\n\n.ui-resizable-sw {\n    cursor: sw-resize;\n    width: 9px;\n    height: 9px;\n    left: -5px;\n    bottom: -5px;\n}\n\n.ui-resizable-nw {\n    cursor: nw-resize;\n    width: 9px;\n    height: 9px;\n    left: -5px;\n    top: -5px;\n}\n\n.ui-resizable-ne {\n    cursor: ne-resize;\n    width: 9px;\n    height: 9px;\n    right: -5px;\n    top: -5px;\n}\n\n/*!\n* jQuery UI Button 1.8.21\n*\n* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n* Dual licensed under the MIT or GPL Version 2 licenses.\n* http://jquery.org/license\n*\n* http://docs.jquery.com/UI/Button#theming\n*/\n.ui-button {\n    display: inline-block;\n    position: relative;\n    padding: 0;\n    margin-right: .1em;\n    text-decoration: none !important;\n    cursor: pointer;\n    text-align: center;\n    zoom: 1;\n    overflow: visible;\n}\n\n/* the overflow property removes extra width in IE */\n.ui-button-icon-only {\n    width: 2.2em;\n}\n\n/* to make room for the icon, a width needs to be set here */\nbutton.ui-button-icon-only {\n    width: 2.4em;\n}\n\n/* button elements seem to need a little more width */\n.ui-button-icons-only {\n    width: 3.4em;\n}\n\nbutton.ui-button-icons-only {\n    width: 3.7em;\n}\n\n/*button text element */\n.ui-button .ui-button-text {\n    display: block;\n    line-height: 1.4;\n}\n\n.ui-button-text-only .ui-button-text {\n    padding: .4em 1em;\n}\n\n.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text {\n    padding: .4em;\n    text-indent: -9999999px;\n}\n\n.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text {\n    padding: .4em 1em .4em 2.1em;\n}\n\n.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text {\n    padding: .4em 2.1em .4em 1em;\n}\n\n.ui-button-text-icons .ui-button-text {\n    padding-left: 2.1em;\n    padding-right: 2.1em;\n}\n\n/* no icon support for input elements, provide padding by default */\ninput.ui-button {\n    padding: .4em 1em;\n}\n\n/*button icon element(s) */\n.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon {\n    position: absolute;\n    top: 50%;\n    margin-top: -8px;\n}\n\n.ui-button-icon-only .ui-icon {\n    left: 50%;\n    margin-left: -8px;\n}\n\n.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary {\n    left: .5em;\n}\n\n.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary {\n    right: .5em;\n}\n\n.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary {\n    right: .5em;\n}\n\n/*button sets*/\n.ui-buttonset {\n    margin-right: 7px;\n}\n\n.ui-buttonset .ui-button {\n    margin-left: 0;\n    margin-right: -.3em;\n}\n\n/* workarounds */\nbutton.ui-button::-moz-focus-inner {\n    border: 0;\n    padding: 0;\n}\n\n/* reset extra padding in Firefox */\n/*!\n * jQuery UI Dialog 1.8.21\n *\n * Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n * Dual licensed under the MIT or GPL Version 2 licenses.\n * http://jquery.org/license\n *\n * http://docs.jquery.com/UI/Dialog#theming\n */\n.ui-dialog {\n    position: absolute;\n    padding: .2em;\n    width: 300px;\n    overflow: hidden;\n}\n\n.ui-dialog .ui-dialog-titlebar {\n    padding: .4em 1em;\n    position: relative;\n}\n\n.ui-dialog .ui-dialog-title {\n    float: left;\n    margin: .1em 16px .1em 0;\n}\n\n.ui-dialog .ui-dialog-titlebar-close {\n    position: absolute;\n    right: .3em;\n    top: 50%;\n    width: 19px;\n    margin: -10px 0 0 0;\n    padding: 1px;\n    height: 18px;\n}\n\n.ui-dialog .ui-dialog-titlebar-close span {\n    display: block;\n    margin: 1px;\n}\n\n.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus {\n    padding: 0;\n}\n\n.ui-dialog .ui-dialog-content {\n    position: relative;\n    border: 0;\n    padding: .5em;\n    background: none;\n    overflow: auto;\n    zoom: 1;\n}\n\n.ui-dialog .ui-dialog-buttonpane {\n    text-align: left;\n    border-width: 1px 0 0 0;\n    background-image: none;\n    margin: .5em 0 0 0;\n    padding: .3em 1em .5em .4em;\n}\n\n.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset {\n    float: right;\n}\n\n.ui-dialog .ui-dialog-buttonpane button {\n    margin: .5em .4em .5em 0;\n    cursor: pointer;\n}\n\n.ui-dialog .ui-resizable-se {\n    width: 14px;\n    height: 14px;\n    right: 3px;\n    bottom: 3px;\n}\n\n.ui-draggable .ui-dialog-titlebar {\n    cursor: move;\n}\n\n/*!\n* jQuery UI Tabs 1.8.21\n*\n* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n* Dual licensed under the MIT or GPL Version 2 licenses.\n* http://jquery.org/license\n*\n* http://docs.jquery.com/UI/Tabs#theming\n*/\n.ui-tabs {\n    position: relative;\n    padding: 0em;\n    zoom: 1;\n}\n\n/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as \&quot;fixed\&quot;) */\n.ui-tabs .ui-tabs-nav {\n    margin: 0;\n    padding: .2em .2em 0;\n}\n\n.ui-tabs .ui-tabs-nav li {\n    list-style: none;\n    float: left;\n    position: relative;\n    top: 1px;\n    margin: 0 .2em 1px 0;\n    border-bottom: 0 !important;\n    padding: 0;\n    white-space: nowrap;\n}\n\n.ui-tabs .ui-tabs-nav li a {\n    float: left;\n    padding: .2em 1em;\n    text-decoration: none;\n}\n\n.ui-tabs .ui-tabs-nav li.ui-tabs-active {\n    margin-bottom: 0;\n    padding-bottom: 1px;\n}\n\n.ui-tabs .ui-tabs-nav li.ui-tabs-active a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-tabs-loading a {\n    cursor: text;\n}\n\n.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a {\n    cursor: pointer;\n}\n\n/* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */\n.ui-tabs .ui-tabs-panel {\n    display: block;\n    border-width: 0;\n    padding: 0em 0.1em;\n    background: none;\n}\n\n/*!\n* jQuery UI Progressbar 1.8.21\n*\n* Copyright 2012, AUTHORS.txt (http://jqueryui.com/about)\n* Dual licensed under the MIT or GPL Version 2 licenses.\n* http://jquery.org/license\n*\n* http://docs.jquery.com/UI/Progressbar#theming\n*/\n.ui-progressbar {\n    height: 4px;\n    text-align: left;\n    overflow: hidden;\n}\n\n.ui-progressbar .ui-progressbar-value {\n    margin: -1px;\n    height: 100%;\n}&quot;);
	};
/**************************************************************************
*  hourly Resources
***************************************************************************/

    var ResourceProduction = new function() {
	function addProd(position, value) {
		value = Math.floor(value);
		     if(value&gt;0)
			 $(&#39;span#rp&#39;+position).css(&#39;color&#39;,&#39;green&#39;).text(Utils.FormatNumToStr(value, true));
		else if(value&lt;0)
			 $(&#39;span#rp&#39;+position).css(&#39;color&#39;,&#39;red&#39;).text(Utils.FormatNumToStr(value, true));
		else $(&#39;span#rp&#39;+position).css(&#39;color&#39;,&#39;gray&#39;).text(&#39;+0&#39;);
	}
	this.createSpan = function(n) {
		var ids = [&#39;wood&#39;, &#39;wine&#39;, &#39;marble&#39;, &#39;glass&#39;, &#39;sulfur&#39;];
		if($(&#39;span#rp&#39;+n).length == 0) {
		   $(&#39;#cityResources li[id=&quot;resources_&#39;+ids[n]+&#39;&quot;]&#39;).css({&#39;line-height&#39;:&#39;normal&#39;,&#39;padding-top&#39;:&#39;0px&#39;}).append(&#39;&lt;span id=&quot;rp&#39;+n+&#39;&quot; class=&quot;resourceProduction&quot;&gt;&lt;/span&gt;&#39;);
		}
	}
	this.repositionSpan = function(newTradegood) {
		var oldTradegood = unsafeWindow.ikariam.model.producedTradegood;		
		if(newTradegood != oldTradegood) {
			if(oldTradegood &gt; 1) {
				$(&#39;span#rp&#39;+oldTradegood).remove();
			}
			this.createSpan(newTradegood);
		}
	}
    this.updateProd = function() {
		addProd(0, unsafeWindow.ikariam.model.resourceProduction*3600);
		if(unsafeWindow.ikariam.model.cityProducesWine) {
			addProd(1, unsafeWindow.ikariam.model.tradegoodProduction*3600 - unsafeWindow.ikariam.model.wineSpendings);		
		}
		else {
			addProd(1, - unsafeWindow.ikariam.model.wineSpendings);
			addProd(unsafeWindow.ikariam.model.producedTradegood, unsafeWindow.ikariam.model.tradegoodProduction*3600);
		}
	  }
    }
    $(function(){
      ResourceProduction.createSpan(0); ResourceProduction.createSpan(1); ResourceProduction.createSpan(2); ResourceProduction.createSpan(3); ResourceProduction.createSpan(4); ResourceProduction.updateProd(); unsafeWindow.ikariam.model.ResourceProduction_updateGlobalData = unsafeWindow.ikariam.model.updateGlobalData;
	  unsafeWindow.ikariam.model.updateGlobalData = function(dataSet) {
	  ResourceProduction.repositionSpan(dataSet.producedTradegood); unsafeWindow.ikariam.model.ResourceProduction_updateGlobalData(dataSet); ResourceProduction.updateProd();
	  }
    });

/**************************************************************************
*  Player Overview
***************************************************************************/

var tlist = new Array();
unsafeWindow.db = function() {   
  this.serverName = unsafeWindow.dataSetForView[&#39;serverName&#39;];
  this.serverId = location.href.split(&#39;-&#39;)[0].split(&#39;//s&#39;)[1];
  this.language = location.href.split(&#39;.&#39;)[0].split(&#39;-&#39;)[1];
  this.view = unsafeWindow.backgroundView;   
  this.addTool = function(tool) {
    unsafeWindow.toolsList.push(tool);
  }
  this.save = function(key, el) {
    localStorage.setItem(key, el);
  }
  this.load = function(key) {
    return localStorage.getItem(key);
  }
  this.del = function(key) {
    delete localStorage[key];
  }
  this.addToolName = function(nm) {
    tlist.push(nm);
    this.save(&#39;tlist&#39;, tlist.sort());
  }  
}
unsafeWindow.database = new unsafeWindow.db();
unsafeWindow.ajaxController = function() {
  this.httpRequest = function(url, f) {
      GM_xmlhttpRequest({
      method: &quot;GET&quot;,
      url: url,
      headers: {&#39;Cache-Control&#39;: &#39;no-cache&#39;},	  
      onload: f
    });
  }
}
unsafeWindow.boxInterceptor = function() {
  this.functions = new Array();
  this.interceptSidebar = false;
  this.sidehtml = &#39;&#39;;
  this.sidebar = null;
  this.sidefunctions = new Array();
  this.getSidebar = function() {
    var bar = getById(&#39;sidebar&#39;);
    if (bar) return bar;
    return false;
  }
  this.setInterceptor = function(name, f) {
    this.functions.push(f);
  }
  this.setSidebarInterceptor = function(f) {
    this.interceptSidebar = true;
    this.sidefunctions.push(f);
  }
  this.controller = function() {
    this.sidebar = getById(&#39;sidebar&#39;);
    if (this.interceptSidebar &amp;&amp; this.sidebar &amp;&amp; this.sidebar.innerHTML != &#39;&#39; &amp;&amp; this.sidebar.innerHTML != this.sidehtml) {
      this.sidehtml = this.sidebar.innerHTML ;
      for (i=0; i&lt;this.sidefunctions.length; i++) this.sidefunctions[i]();
    }
  }
}
unsafeWindow.interceptor = new unsafeWindow.boxInterceptor();
unsafeWindow.loader = &#39; function getById(id) { return document.getElementById(id); } &#39; +
                      &#39; function getByClass(c) { return document.getElementsByClassName(c); } &#39; +
                      &#39; function getByTag(t) { return document.getElementsByTagName(t); } &#39; +				  
                      &#39; function createFrame(x, y, w, h, t) { return new unsafeWindow.frameBox(x, y, w, h, t); } &#39; +
                      &#39; var ajax = new unsafeWindow.ajaxController();  &#39; +
                      &#39; var interceptor = unsafeWindow.interceptor;  &#39; +
                      &#39; var db = unsafeWindow.database; &#39; ;
eval(unsafeWindow.loader);
unsafeWindow.toolsList = new Array();
setInterval(scheduleTimer,1000);
function scheduleTimer() {
  for (i=0; i&lt;unsafeWindow.toolsList.length; i++) {
    eval(unsafeWindow.toolsList[i]);
  }
}
db.addTool(&#39;unsafeWindow.interceptor.controller()&#39;);
unsafeWindow.frameBox = function(x, y, w, h, t) {
  this.title = t; 
  this.x = x;
  this.y = y;
  this.w = w;
  this.h = h;
  if(database.settings.playerInfo.value) this.div = document.createElement(&#39;div&#39;);
  this.div.id = this.title+&#39;Frame&#39;; 
  this.div.className = &#39;frameBox&#39;;
  document.body.appendChild(this.div);
  this.div.style.top = this.y+&#39;px&#39;;
  this.div.style.left = this.x+&#39;px&#39;;
  this.div.style.width = this.w+&#39;px&#39;;
  this.div.style.height = this.h+&#39;px&#39;;
  this.div.style.visibility = &#39;hidden&#39;;
  this.titleDiv = document.createElement(&#39;div&#39;);
  this.titleDiv.className = &#39;titleDiv&#39;;
  this.titleDiv.innerHTML = &#39;&lt;span class=&quot;titleSpan&quot;&gt;&#39; + this.title + &#39;&lt;/span&gt;&#39; +
                            &#39;&lt;span class=&quot;closeDiv&quot;&gt;&lt;a href=&quot;javascript: closeFrame(\&#39;&#39; + this.title+&#39;Frame&#39; + &#39;\&#39;)&quot;&gt;&lt;/a&gt;&lt;/span&gt;&#39;;							
  this.div.appendChild(this.titleDiv);
  this.Box = document.createElement(&#39;div&#39;);
  this.Box.className = &#39;BoxDiv&#39;;
  this.Box.style.height = (this.h-15) + &#39;px&#39;;
  this.div.appendChild(this.Box);
  Drag.init(this.titleDiv, this.div); 
  this.addInnerHtml = function(html) {
    this.Box.innerHTML = html;
  }
  this.show = function() {
    this.div.style.visibility = &#39;visible&#39;;
  }
  this.hide = function() {
    this.div.style.visibility = &#39;hidden&#39;;
  }
}
function onMove(e) {
  var frame = e.target.parentNode;
}
unsafeWindow.closeFrame = function(id) {
  document.getElementById(id).style.visibility = &#39;hidden&#39;;
}
var frameStyle = document.createElement(&#39;style&#39;);
frameStyle.innerHTML = &#39; .frameBox {position: absolute; background-color: #f7e9b9; z-index: 9999; outline: 2px solid #DCBF94; opacity: 0.9; overflow: hidden;} &#39; +
					   &#39; .titleDiv {margin: 0px; width: 100%; background-image: url(&quot;/skin/layout/bg_maincontentbox_header.jpg&quot;); background-repeat: no-repeat; background-size: 760px 24px; font-weight: bold; height: 25px; color: #663333; cursor: move;} &#39; +					 
                       &#39; .titleSpan {position: relative; margin-left: 325px; bottom: -6px;} &#39; +		   
                       &#39; .closeDiv {bottom: -6px; right: 4px; float: right;} &#39; +				   
                       &#39; .closeDiv a {background-image: url(&quot;/skin/interface/window_control_sprite.png&quot;); width: 19px; height: 18px; background-position: 0.5px 0px; cursor: pointer; display: block; margin: 4px 1.5px;} &#39; +
                       &#39; .closeDiv a:hover {background-image: url(&quot;/skin/interface/window_control_sprite.png&quot;); width: 20px; height: 18px; background-position: 55.5px -18px; cursor: pointer; display: block; margin: 4px 1px;} &#39; +
                       &#39; .BoxDiv {width: 100%; margin: 15px; overflow: auto; margin-top: -2px;} &#39; ;
document.body.appendChild(frameStyle);
var exec = db.load(&#39;exec&#39;);
if (exec &amp;&amp; exec != null) eval(exec);
var suspend = setInterval(checkLoader, 1000);
function checkLoader() {
  if(!unsafeWindow.db) return;
  clearTimeout(suspend);
  startScript();
}
function startScript() { 
eval(unsafeWindow.loader);
db.addToolName(&#39;island&#39;);
interceptor.setSidebarInterceptor(sidebarManipulator);
var lang = database.settings.languageChange.value;
var cityInfo = null;
var PlayerName = &#39;&#39;;
var searchLink = &#39;&#39;;
var chartsLink = &#39;&#39;;
var html = &#39;&#39;;
var infoBox = createFrame(300, 180, 760, &#39;auto&#39;, &#39;Player Overview&#39;);
var textExpr = &#39;banner:&#39;;
var PlayerText = Constant.LanguageData[lang].ika_world ;
var ChartsText = Constant.LanguageData[lang].charts ;
var interval = null;
var modified = false;
var loadingHtml = &#39;&lt;div&gt;&lt;/div&gt;&#39;;
function sidebarManipulator() {
  if (db.view != &#39;island&#39;) return;
  if (modified == true) {
    modified = false;
    return;
  }
  PlayerName = getById(&#39;js_selectedCityOwnerName&#39;);
  if (!PlayerName) return;
  searchLink = &#39;http://www.ika-world.com/details/player.html?land=&#39;+db.language+&#39;&amp;welt=&#39;+db.serverId+&#39;&amp;spieler=&#39;+PlayerName.innerHTML;
  modified = true;
  PlayerName.innerHTML = &#39;&lt;a href=&quot;javascript: activeAjax()&quot;; style=&quot;font-weight: bold;&quot;&gt;&#39; + PlayerName.innerHTML + &#39;&lt;/a&gt;&#39;;
}
unsafeWindow.activeAjax = function() {
  interval = setInterval(doAjax, 0);
  return void(0);
}
function doAjax() {
  clearInterval(interval);
  ajax.httpRequest(searchLink, displayData);
  infoBox.addInnerHtml(&#39;&lt;div style=&quot;padding:8px;&quot;&gt;&#39; + loadingHtml + &#39;&lt;/div&gt;&#39;);
  infoBox.show();
}
function displayData(response) {
  html = response.responseText;
  html = processHtml(html);
  infoBox.addInnerHtml(&#39;&lt;div style=&quot;padding:8px;&quot;&gt;&#39; + html + &#39;&lt;/div&gt;&#39;);
}
function processHtml(html) {
  html = html.replace(/&lt;script[^&gt;]*?&gt;[\s\S]*?&lt;\/script&gt;/gi, &#39;&#39;);
  html = html.split(&#39;&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;1&quot;&#39;);
  if (!html[3]) return html[0];
  var id = html[0].split(&#39;id=&#39;);
  id = id[id.length-1].split(&#39;&quot;&#39;)[0];
  html[3] = html[3].split(textExpr)[0];
  html[1] = html[1].replace(/&lt;span class=&quot;icon holiday&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/layout/icon-palm.png&quot; width=&quot;16&quot; height=&quot;14&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;avatar_vacation&#39;) +&#39;&quot;/&gt;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon wood&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/resources/icon_wood.png&quot; width=&quot;18&quot; height=&quot;16&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;wood_deposit&#39;) +&#39;&quot;/&gt;&amp;nbsp;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon marble&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/resources/icon_marble.png&quot; width=&quot;18&quot; height=&quot;16&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;marble_deposit&#39;) +&#39;&quot;/&gt;&amp;nbsp;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon crystal&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/resources/icon_crystal.png&quot; width=&quot;18&quot; height=&quot;16&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;crystal_deposit&#39;) +&#39;&quot;/&gt;&amp;nbsp;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon wine&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/resources/icon_wine.png&quot; width=&quot;18&quot; height=&quot;16&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;wine_deposit&#39;) +&#39;&quot;/&gt;&amp;nbsp;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon sulfur&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/resources/icon_sulfur.png&quot; width=&quot;18&quot; height=&quot;16&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;sulfur_deposit&#39;) +&#39;&quot;/&gt;&amp;nbsp;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon townhall&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/img/city/townhall_l.png&quot; width=&quot;28&quot; height=&quot;24&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;Level&#39;) +&#39;&#39;+&#39; &#39;+&#39;&#39;+ database.getGlobalData.getLocalisedString(&#39;townHall&#39;) +&#39;&quot;/&gt;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;icon city&quot; title=&quot;(.*?)&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;img src=&quot;&#39;+location.href.split(&#39;/&#39;)[0]+&#39;/skin/layout/icon-city2.png&quot; width=&quot;20&quot; height=&quot;22&quot; title=&quot;&#39;+ database.getGlobalData.getLocalisedString(&#39;cities&#39;) +&#39;&quot;/&gt;&#39;);
  html[3] = html[3].replace(/&lt;span class=&quot;num&quot;&gt;&lt;\/span&gt;/g, &#39;&lt;span class=&quot;num&quot;&gt;:&lt;/span&gt;&#39;);
  html[3] = html[3].replace(/X/g, &#39;&amp;nbsp;X&#39;+&#39;&lt;b&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&lt;/b&gt;&#39;);
  html[3] = html[3].replace(/Y/g, &#39;Y&#39;);   
  html[3] = html[3].replace(/banner/g, &#39;&#39;); 
  html[3] = html[3].replace(/Dein persönliches Banner/g, &#39;&#39;);  
  chartsLink = &#39;http://&#39;+db.language+&#39;.ika-world.com/details/player/charts.html?land=&#39;+db.language+&#39;&amp;welt=&#39;+db.serverId+&#39;&amp;id=&#39;+id;
  html = &#39;&lt;br&gt;&lt;table &#39;+html[1]+&#39;&lt;hr&gt;&#39;+
         &#39;&lt;table &#39;+html[3] +
         &#39;&lt;p align=&quot;center&quot; style=&quot;margin-top: -10px;&quot;&gt;&#39; +
         &#39; &lt;a class=&quot;button&quot; target=&quot;_blank&quot; href=&quot;&#39;+searchLink+&#39;&quot;&gt;&#39;+PlayerText+&#39;&lt;/a&gt;&#39; +
         &#39; &lt;a class=&quot;button&quot; target=&quot;_blank&quot; href=&quot;&#39;+chartsLink+&#39;&quot;&gt;&#39;+ChartsText+&#39;&lt;/a&gt;&lt;br&gt;&amp;nbsp;&#39; +
         &#39;&lt;/p&gt;&#39;;
  html = html.replace(/href=&quot;\/details/g, &#39;target=&quot;_blank&quot; href=&quot;http://&#39;+db.language+&#39;.ika-world.com/details&#39;);
  return html;
 }
}

/***********************************************************************************************************************
 * ikariam
 **********************************************************************************************************************/

var ikariam = {
  _View                    : null,
  _Host                    : null,
  _ServerTyp               : null,
  _ActionRequest           : null,
  _Units                   : null,
  _BuildingsList           : null,
  _AltBuildingsList        : null,
  _Nationality             : null,
  _GameVersion             : null,
  _TemplateView            : null,
  _currentCity             : null,
  url                      : function() {
    return &#39;http://&#39; + this.Host() + &#39;/index.php&#39;
  },
  get mainView() {
    return unsafeWindow.ikariam.backgroundView.id
  },
  get boxViewParams() {
    if(unsafeWindow.ikariam.mainbox_x || unsafeWindow.ikariam.mainbox_y || unsafeWindow.ikariam.mainbox_z) {
      return {
        mainbox_x: unsafeWindow.ikariam.mainbox_x,
        mainbox_y: unsafeWindow.ikariam.mainbox_y,
        mainbox_z: unsafeWindow.ikariam.mainbox_z
      };
    }
    return {};
  },
  loadUrl                  : function(ajax, mainView, params) {
    mainView = mainView || ikariam.mainView;
    var paramList = {cityId: ikariam.CurrentCityId};
    if(ikariam.CurrentCityId !== params.cityId) {
      paramList.action = &#39;header&#39;;
      paramList.function = &#39;changeCurrentCity&#39;;
      paramList.actionRequest = unsafeWindow.ikariam.model.actionRequest;
      paramList.currentCityId = ikariam.CurrentCityId;
      paramList.oldView = ikariam.mainView
    }
    if(mainView !== undefined &amp;&amp; mainView !== ikariam.mainView) {
      paramList.oldBackgroundView = ikariam.mainView;
      paramList.backgroundView = mainView;
      ajax = false;
    }
    $.extend(paramList, params);
    if(ajax) {
      gotoAjaxURL(&#39;?&#39; + $.map(paramList,function(value, key) {
        return key + &#39;=&#39; + value;
      }).join(&#39;&amp;&#39;))
    } else {
      gotoURL(ikariam.url() + &#39;?&#39; + $.map(paramList,function(value, key) {
        return key + &#39;=&#39; + value;
      }).join(&#39;&amp;&#39;))
    }
    function gotoURL(url) {
      window.location.assign(url)
    }
    function gotoAjaxURL(url) {
      document.location = &#39;javascript:ajaxHandlerCall(&#39; + JSON.stringify(url) + &#39;); void(0);&#39;;
    }
  },
  Host : function() {
    if(this._Host == null) {
      this._Host = &#39;&#39;;
      this._Host = document.location.host;
    }
    return this._Host;
  },
  Server : function(host) {
    if(this._Server == null) {
      if(host == undefined) {
        host = this.Host();
      }
      this._Server = &#39;&#39;;
      var parts = host.split(&#39;.&#39;);
      this._Server = parts[0].split(&#39;-&#39;)[1];
    }
    return this._Server;
  },
  Language : function(host) {
    if(this._Language == null) {
      if(host == undefined) {
        host = this.Host();
      }
      this._Language = &#39;&#39;;
      var parts = host.split(&#39;.&#39;);
      this._Language = parts[0].split(&#39;-&#39;)[1];
    }
	if ((this._Language == &#39;us&#39;) || (this._Language == &#39;au&#39;) || (this._Language == &#39;hk&#39;) || (this._Language == &#39;tw&#39;) || (this._Language == &#39;il&#39;) || (this._Language == &#39;lt&#39;) || (this._Language == &#39;hu&#39;) || (this._Language == &#39;bg&#39;) || (this._Language == &#39;rs&#39;) || (this._Language == &#39;si&#39;) || (this._Language == &#39;sk&#39;) || (this._Language == &#39;dk&#39;) || (this._Language == &#39;fi&#39;) || (this._Language == &#39;ee&#39;) || (this._Language == &#39;se&#39;) || (this._Language == &#39;no&#39;)) {
        this._Language = &#39;en&#39;;
      }
    if ((this._Language == &#39;ve&#39;) || (this._Language == &#39;mx&#39;) || (this._Language == &#39;ar&#39;) || (this._Language == &#39;co&#39;) || (this._Language == &#39;cl&#39;) || (this._Language == &#39;pe&#39;)) {
        this._Language = &#39;es&#39;;
      }
    if (this._Language == &#39;br&#39;) {
        this._Language = &#39;pt&#39;;
      }
    if (this._Language == &#39;ae&#39;) {
        this._Language = &#39;ar&#39;;
      }
    if (this._Language == &#39;gr&#39;) {
        this._Language = &#39;el&#39;;
      }
    return this._Language;
  },
  Nationality : function(host) {
    if(this._Nationality == null) {
      if(host == undefined) {
        host = this.Host();
      }
      this._Nationality = &#39;&#39;;
      var parts = host.split(&#39;.&#39;);
      this._Nationality = parts[0].split(&#39;-&#39;)[1];
    }
    return this._Nationality;
  },
  getNextWineTick          : function(precision) {
    precision = precision || 1; 
    if(precision == 1) {
      return 60 - new Date().getMinutes();
    } else {
      var secs = 3600 - (new Date().getMinutes() * 60) - new Date().getSeconds();
      var ret = Math.floor(secs / 60) + database.getGlobalData.getLocalisedString(&#39;minute&#39;) + &#39; &#39;;
      ret += secs - (Math.floor(secs / 60) * 60) + database.getGlobalData.getLocalisedString(&#39;second&#39;);
      return ret;
    }
  },
  GameVersion              : function() {
    if(this._GameVersion == null) {
      this._GameVersion = $(&#39;.version&#39;).text().split(&#39;v&#39;)[1];
    }
    return this._GameVersion
  },
  get CurrentCityId() {
    return unsafeWindow.ikariam.backgroundView &amp;&amp; unsafeWindow.ikariam.backgroundView.id === &#39;city&#39; ? ikariam._currentCity || unsafeWindow.ikariam.model.relatedCityData[unsafeWindow.ikariam.model.relatedCityData.selectedCity].id : unsafeWindow.ikariam.model.relatedCityData[unsafeWindow.ikariam.model.relatedCityData.selectedCity].id
  },
  get viewIsCity() {
    return unsafeWindow.ikariam.backgroundView &amp;&amp; unsafeWindow.ikariam.backgroundView.id === &#39;city&#39;
  },
  get viewIsIsland() {
    return unsafeWindow.ikariam.backgroundView &amp;&amp; unsafeWindow.ikariam.backgroundView.id === &#39;island&#39;
  },
  get viewIsWorld() {
    return unsafeWindow.ikariam.backgroundView &amp;&amp; unsafeWindow.ikariam.backgroundView.id === &#39;worldmap_iso&#39;
  },
  get getCurrentCity() {
    return database.cities[ikariam.CurrentCityId];
  },
  get getCapital() {
    for(var c in database.cities) {
      if(database.cities[c].isCapital) {
        return database.cities[c];
      }		
    }
    return false;
  },
  get CurrentTemplateView() {
    try {
      this._CurrentTemplateView = unsafeWindow.ikariam.templateView.id;
    } catch(e) {
      this._CurrentTemplateView = null
    }
    return this._CurrentTemplateView;
  },
  getLocalizationStrings   : function() {
    var localStrings = unsafeWindow.LocalizationStrings;
    if(!localStrings) {
      $(&#39;script&#39;).each(function(index, script) {
        var match = /LocalizationStrings = JSON.parse\(&#39;(.*)&#39;\);/.exec(script.innerHTML);
        if(match) {
          localStrings = JSON.parse(match[1]);
          return false;
        }
      });
    }	
    var local = $.extend({}, localStrings);
    $.extend(local, local[&#39;timeunits&#39;][&#39;short&#39;]);
    delete local[&#39;warnings&#39;];
    delete local[&#39;timeunits&#39;];
    $.each(local, function(name, value) {
      database.getGlobalData.addLocalisedString(name.toLowerCase(), value)
    });
    local = null;
  },  
  setupEventHandlers       : function() {
    events(&#39;ajaxResponse&#39;).sub(function(response) {
      var view, html, data, template;
      var len = response.length;
      var oldCity = this._currentCity;
      while(len) {
        len--;
        switch(response[len][0]) {
          case &#39;updateGlobalData&#39;:
            this._currentCity = parseInt(response[len][1][&quot;backgroundData&quot;].id);
            var cityData = $.extend({}, response[len][1][&quot;backgroundData&quot;], response[len][1][&quot;headerData&quot;]);
            events(&#39;updateCityData&#39;).pub(this.CurrentCityId, $.extend({}, cityData));
            events(&#39;updateBuildingData&#39;).pub(this.CurrentCityId, cityData.position);
            break;
          case &#39;changeView&#39;:
            view = response[len][1][0];
            html = response[len][1][1];
            break;
          case &#39;updateTemplateData&#39;:
            template = response[len][1];
            if(unsafeWindow.ikariam.templateView) {
              if(unsafeWindow.ikariam.templateView.id == &#39;researchAdvisor&#39;) {
                view = unsafeWindow.ikariam.templateView.id
              }
            }
            break;
          case &#39;updateBackgroundData&#39;:
            oldCity = this.CurrentCityId;
            this._currentCity = parseInt(response[len][1].id);
            events(&#39;updateCityData&#39;).pub(this._currentCity, $.extend(true, {}, unsafeWindow.dataSetForView, response[len][1]));
            events(&#39;updateBuildingData&#39;).pub(this._currentCity, response[len][1].position);
            break;
        }
      }
      this.parseViewData(view, html, template);
      if(oldCity !== this.CurrentCityId) {
        events(&#39;cityChanged&#39;).pub(this.CurrentCityId)
      }
    }.bind(ikariam));
    events(&#39;formSubmit&#39;).sub(function(form) {
      var formID = form.getAttribute(&#39;id&#39;);
      if(!ikariam[formID + &#39;Submitted&#39;])return false;
      var formSubmission = (function formSubmit() {
        var data = ikariam[formID + &#39;Submitted&#39;]();
        return function formSubmitID(response) {
          var len = response.length;
          var feedback = 0;
          while(len) {
            len--;
            if(response[len][0] == &#39;provideFeedback&#39;)
              feedback = response[len][1][0].type;
          }
          if(feedback == 10) 
            ikariam[formID + &#39;Submitted&#39;](data);
          events(&#39;ajaxResponse&#39;).unsub(formSubmission);
        }
      })();
      events(&#39;ajaxResponse&#39;).sub(formSubmission)
    }.bind(ikariam));
    events(Constant.Events.CITYDATA_AVAILABLE).sub(ikariam.FetchAllTowns.bind(ikariam))
  },
  Init                     : function() {
    this.setupEventHandlers();
  },
  parseViewData            : function(view, html, tData) {
    if(this.getCurrentCity) {
      switch(view) {
        case &#39;finances&#39;:
          this.parseFinances($(&#39;#finances&#39;).find(&#39;table.table01 tr&#39;).slice(2).children(&#39;td&#39;));
          break;
        case Constant.Buildings.TOWN_HALL:
          this.parseTownHall(tData);
          break;
        case &#39;militaryAdvisor&#39;:
          this.parseMilitaryAdvisor(html, tData);
          break;
        case &#39;cityMilitary&#39;:
          this.parseCityMilitary();
          this.parseMilitaryLocalization();
          break;
        case &#39;researchAdvisor&#39;:
          this.parseResearchAdvisor(tData);
          break;
        case Constant.Buildings.PALACE:
          this.parsePalace();
          break;
        case Constant.Buildings.ACADEMY:
          this.parseAcademy(tData);
          break;
        case &#39;culturalPossessions_assign&#39;:
          this.parseCulturalPossessions(html);
          break;
        case Constant.Buildings.MUSEUM:
          this.parseMuseum();
          break;
        case Constant.Buildings.TAVERN:
          this.parseTavern();
          break;
        case &#39;transport&#39;:
	    case &#39;plunder&#39;:		
          this.transportFormSubmitted();
          break;
        case Constant.Buildings.TEMPLE:
          this.parseTemple(tData);
          break;
        case Constant.Buildings.BARRACKS:
        case Constant.Buildings.SHIPYARD:
          this.parseBarracks(view, html, tData);
          break;
        case &#39;deployment&#39;:
	    case &#39;plunder&#39;:		
          this.parseMilitaryTransport();
          break;
	    case &#39;premium&#39;:
		  this.parsePremium(view, html, tData);
		  break
      }
    }
  },
  parsePalace              : function() {
    var governmentType = $(&#39;#formOfRuleContent&#39;).find(&#39;td.government_pic img&#39;).attr(&#39;src&#39;).slice(16, -8);
    var changed = (database.getGlobalData.getGovernmentType != governmentType);
    database.getGlobalData.governmentType = governmentType;
    if(changed) events(Constant.Events.GLOBAL_UPDATED).pub({type: &#39;government&#39;})
    database.getGlobalData.addLocalisedString(&#39;Current form&#39;, $(&#39;#palace&#39;).find(&#39;div.contentBox01h h3.header&#39;).get(0).textContent);
	render.toast(&#39;Updated: &#39; + $(&#39;#palace&#39;).children(&quot;:first&quot;).text());
  },
  parseCulturalPossessions : function(html) {
    var allCulturalGoods = html.match(/iniValue\s:\s(\d*)/g);
    var changes = [];
    $.each(html.match(/goodscity_(\d*)/g), function(i) {
      var cityID = this.split(&#39;_&#39;)[1];
      var culturalGoods = parseInt(allCulturalGoods[i].split(&#39; &#39;).pop());
      var changed = (database.cities[cityID]._culturalGoods != culturalGoods);
      if(changed) {
        database.cities[cityID]._culturalGoods = culturalGoods;
        changes.push(cityID)
      }
    });
    if(changes.length) $.each(changes, function(idx, cityID) {
      events(Constant.Events.CITY_UPDATED).pub(cityID, {culturalGoods: true})
    });
	render.toast(&#39;Updated: &#39; + $(&#39;#culturalPossessions_assign &gt; .header&#39;).text());
  },
  parseMuseum              : function() {
    var regText = $(&#39;#val_culturalGoodsDeposit&#39;).parent().text().match(/(\d+)/g);
    if(regText.length == 2) {
      var changed = ikariam.getCurrentCity.updateCulturalGoods(parseInt(regText[0]))
    } 
    if(changed) events(Constant.Events.CITY_UPDATED).pub(ikariam.CurrentCityId, {culturalGoods: true})
	render.toast(&#39;Updated: &#39;+ $(&#39;#tab_museum &gt; div &gt; h3&#39;).get(0).textContent);
  },
  parseTavern              : function() {
  },
  resTransportObject       : function() {
    return {id    : null,
      wood        : 0,
      wine        : 0,
      marble      : 0,
      glass       : 0,
      sulfur      : 0,
      gold        : 0,
      targetCityId: 0,
      arrivalTime : 0,
      originCityId: 0,
      loadedTime  : 0,
      mission     : &#39;&#39;};
  },
  troopTransportObject     : function() {
    return {id    : null,
      troops      : {},
      targetCityId: 0,
      arrivalTime : 0,
      originCityId: 0,
      returnTime  : 0,
      mission     : &#39;&#39;};
  },
  parseBarracks            : function(view, html, tData) {
    var type = view == Constant.Buildings.BARRACKS ? &#39;army&#39; : view == Constant.Buildings.SHIPYARD ? &#39;fleet&#39; : false;
    var city = ikariam.getCurrentCity; 
    var currentUnits = {};
    var i = 14;
    while(i--) {
      if(tData[&#39;js_barracksUnitUnitsAvailable&#39; + (i - 1)]) {
        currentUnits[tData[&#39;js_barracksUnitClass&#39; + (i - 1)][&#39;class&#39;].split(&#39; &#39;).pop()] = parseInt(tData[&#39;js_barracksUnitUnitsAvailable&#39; + (i - 1)].text)
      }
    }
    var changes = city.military.updateUnits(currentUnits);
    var elem = $(&#39;#unitConstructionList&#39;);
    if(elem.length) {
      var tasks = [];
      tasks.push({
        units         : parseUnits(elem.find(&#39;&gt; .army_wrapper .army&#39;)),
        completionTime: parseTime($(&#39;#buildCountDown&#39;).text()),
        type          : type
      });
      elem.find(&#39;div.constructionBlock&#39;).each(function() {
        tasks.push({
          units         : parseUnits($(this).find(&#39;&gt; .army_wrapper .army&#39;)),
          completionTime: parseTime($(this).find(&#39;h4 &gt; span&#39;).text()),
          type          : type
        })
      });
      changes = changes.concat(city.military.setTraining(tasks))
    }
    elem = null;
    if(changes.length) {
      events(Constant.Events.MILITARY_UPDATED).pub(city.getId, $.exclusive(changes))
    }
    function parseUnits(element) {
      var units = {};
      element.each(function() {
        units[Constant.unitIds[this.classList.toString().match(/(\d+)/g)]] = parseInt(this.nextElementSibling.textContent.match(/(\d+)/g))
      });
      return units;
    }
    function parseTime(timeText) {
      var completionTime = new Date();
	  var server = ikariam.Nationality();
      completionTime.setSeconds(completionTime.getSeconds() + (timeText.match(/(\d+)s/) ? parseInt(timeText.match(/(\d+)s/)[1]) : 0));
      completionTime.setMinutes(completionTime.getMinutes() + (timeText.match(/(\d+)m/) ? parseInt(timeText.match(/(\d+)m/)[1]) : 0));
      completionTime.setHours(completionTime.getHours() + (timeText.match(/(\d+)h/) ? parseInt(timeText.match(/(\d+)h/)[1]) : 0));
      completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)D/) ? parseInt(timeText.match(/(\d+)D/)[1]) : 0));
        switch(server){
            case &#39;de&#39;:
			completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)T/) ? parseInt(timeText.match(/(\d+)T/)[1]) : 0));
            break;
            case &#39;gr&#39;:
			completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)M/) ? parseInt(timeText.match(/(\d+)M/)[1]) : 0));
            break;
            case &#39;fr&#39;:
			completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)J/) ? parseInt(timeText.match(/(\d+)J/)[1]) : 0));
            break;
            case &#39;ro&#39;:
			completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)Z/) ? parseInt(timeText.match(/(\d+)Z/)[1]) : 0));
            break;
            case &#39;it&#39;:
            case &#39;tr&#39;:
			completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)G/) ? parseInt(timeText.match(/(\d+)G/)[1]) : 0));
            break;
            case &#39;ir&#39;:
            case &#39;ae&#39;:
			completionTime.setSeconds(completionTime.getSeconds() + (timeText.match(/(\d+)ث/) ? parseInt(timeText.match(/(\d+)ث/)[1]) : 0));
			completionTime.setMinutes(completionTime.getMinutes() + (timeText.match(/(\d+)د/) ? parseInt(timeText.match(/(\d+)د/)[1]) : 0));
			completionTime.setHours(completionTime.getHours() + (timeText.match(/(\d+)س/) ? parseInt(timeText.match(/(\d+)س/)[1]) : 0));
			completionTime.setDate(completionTime.getDate() + (timeText.match(/(\d+)ر/) ? parseInt(timeText.match(/(\d+)ر/)[1]) : 0));
            break;
			}
      return completionTime.getTime();
    }
      render.toast(&#39;Updated: &#39; + $(&#39;#js_mainBoxHeaderTitle&#39;).text());
  },
  /**
   * First call without data will parse the transportform, second call will add the forms data to the database
   */
  transportFormSubmitted   : function(data) {
    try {
      if(!data) {
        var journeyTime = $(&#39;#journeyTime&#39;).text();
        var loadingTime = $(&#39;#loadingTime&#39;).text();
        var wood = parseInt($(&#39;#textfield_wood&#39;).val());
        var wine = parseInt($(&#39;#textfield_wine&#39;).val());
        var marble = parseInt($(&#39;#textfield_marble&#39;).val());
        var glass = parseInt($(&#39;#textfield_glass&#39;).val());
        var sulfur = parseInt($(&#39;#textfield_sulfur&#39;).val());
        var gold = &#39;&#39;;
        var targetID = $(&#39;input[name=destinationCityId]&#39;).val();
        var ships = $(&#39;#transporterCount&#39;).val();
        var arrTime = new Date();
        var loadedTime = new Date();
		var server = ikariam.Nationality();

        arrTime.setSeconds(arrTime.getSeconds() + (journeyTime.match(/(\d+)s/) ? parseInt(journeyTime.match(/(\d+)s/)[1]) : 0));
        arrTime.setMinutes(arrTime.getMinutes() + (journeyTime.match(/(\d+)m/) ? parseInt(journeyTime.match(/(\d+)m/)[1]) : 0));
        arrTime.setHours(arrTime.getHours() + (journeyTime.match(/(\d+)h/) ? parseInt(journeyTime.match(/(\d+)h/)[1]) : 0));
        arrTime.setDate(arrTime.getDate() + (journeyTime.match(/(\d+)D/) ? parseInt(journeyTime.match(/(\d+)D/)[1]) : 0));
		if (server == &#39;de&#39;)
        arrTime.setDate(arrTime.getDate() + (journeyTime.match(/(\d+)T/) ? parseInt(journeyTime.match(/(\d+)T/)[1]) : 0));

        loadedTime.setSeconds(loadedTime.getSeconds() + (loadingTime.match(/(\d+)s/) ? parseInt(loadingTime.match(/(\d+)s/)[1]) : 0));
        loadedTime.setMinutes(loadedTime.getMinutes() + (loadingTime.match(/(\d+)m/) ? parseInt(loadingTime.match(/(\d+)m/)[1]) : 0));
        loadedTime.setHours(loadedTime.getHours() + (loadingTime.match(/(\d+)h/) ? parseInt(loadingTime.match(/(\d+)h/)[1]) : 0));
		loadedTime.setDate(loadedTime.getDate() + (loadingTime.match(/(\d+)D/) ? parseInt(loadingTime.match(/(\d+)D/)[1]) : 0));
		if (server == &#39;de&#39;)
        loadedTime.setDate(loadedTime.getDate() + (loadingTime.match(/(\d+)T/) ? parseInt(loadingTime.match(/(\d+)T/)[1]) : 0));

        return new Movement(&#39;XXX-&#39; + arrTime.getTime(), this.CurrentCityId, targetID, arrTime.getTime() + loadedTime.getTime() - $.now(), &#39;transport&#39;, loadedTime.getTime(), {gold: gold || 0, wood: wood || 0, wine: wine || 0, marble: marble || 0, glass: glass || 0, sulfur: sulfur || 0}, undefined, ships)
      } else {
        database.getGlobalData.addFleetMovement(data);
        events(Constant.Events.MOVEMENTS_UPDATED).pub([data.getTargetCityId])
      }
    } catch(e) {
      empire.error(&#39;transportFormSubmitted&#39;, e);
    } finally {
    }
  },
  parseMilitaryTransport   : function(submit) {
    return false;
    submit = submit || false;
    var that = this;
    if(submit) {
      var journeyTime = $(&#39;#journeyTime&#39;).text();
      var returnTime = $(&#39;#returnTime&#39;).text();	  
      var targetID = $(&#39;input:[name=destinationCityId]&#39;).val();
      var troops = {};
      var mission = &#39;&#39;;
      $(&#39;ul.assignUnits li input.textfield&#39;).each(function() {
        if(this.value !== 0) {
          troops[this.getAttribute(&#39;name&#39;).split(&#39;_&#39;).pop()] = parseInt(this.value)
        }
        if(mission === &#39;&#39;) {
          mission = &#39;deploy&#39; + this.getAttribute(&#39;name&#39;).match(/_(.*)_/)[1]
        } else {
		  mission = &#39;plunder&#39; + this.getAttribute(&#39;name&#39;).match(/_(.*)_/)[1]
        }
      });
      var arrTime = new Date();
      var transport = this.troopTransportObject();
	  var server = ikariam.Nationality();
      transport.id = &#39;XXX-&#39; + arrTime.getTime();
      transport.targetCityId = targetID;
      transport.originCityId = this.CurrentCityId;
      transport.mission = mission;
      transport.troops = troops;
      arrTime.setSeconds(arrTime.getSeconds() + (journeyTime.match(/(\d+)s/) ? parseInt(journeyTime.match(/(\d+)s/)[1]) : 0));
      arrTime.setMinutes(arrTime.getMinutes() + (journeyTime.match(/(\d+)m/) ? parseInt(journeyTime.match(/(\d+)m/)[1]) : 0));
      arrTime.setHours(arrTime.getHours() + (journeyTime.match(/(\d+)h/) ? parseInt(journeyTime.match(/(\d+)h/)[1]) : 0));
      arrTime.setDate(arrTime.getDate() + (journeyTime.match(/(\d+)D/) ? parseInt(journeyTime.match(/(\d+)D/)[1]) : 0));
	  if (server == &#39;de&#39;)
      arrTime.setDate(arrTime.getDate() + (journeyTime.match(/(\d+)T/) ? parseInt(journeyTime.match(/(\d+)T/)[1]) : 0));
      transport.arrivalTime = arrTime.getTime();
      arrTime = new Date();
      arrTime.setSeconds(arrTime.getSeconds() + (returnTime.match(/(\d+)s/) ? parseInt(returnTime.match(/(\d+)s/)[1]) : 0));
      arrTime.setMinutes(arrTime.getMinutes() + (returnTime.match(/(\d+)m/) ? parseInt(returnTime.match(/(\d+)m/)[1]) : 0));
      arrTime.setHours(arrTime.getHours() + (returnTime.match(/(\d+)h/) ? parseInt(returnTime.match(/(\d+)h/)[1]) : 0));
      arrTime.setDate(arrTime.getDate() + (returnTime.match(/(\d+)D/) ? parseInt(returnTime.match(/(\d+)D/)[1]) : 0));
	  if (server == &#39;de&#39;)
      arrTime.setDate(arrTime.getDate() + (returnTime.match(/(\d+)T/) ? parseInt(returnTime.match(/(\d+)T/)[1]) : 0));
      transport.returnTime = arrTime.getTime();
      database.getGlobalData.addFleetMovement(transport);
      render.toast(&#39;Updated: Movement added&#39;);
    } else {
      return true
    }
  },
  parseFinances            : function($elem) {
    var updateTime = $.now();
    for(var i = 1; i &lt; database.getCityCount + 1; i++) {
      var city = database.cities[Object.keys(database.cities)[i - 1]];
      if(city != false) {
        var changed = city.updateIncome(parseInt($elem[(i * 4) - 3].textContent.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;)));
        changed = city.updateExpenses(parseInt($elem[(i * 4) - 2].textContent.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;))) || changed;
      }
      if(changed) events(Constant.Events.CITY_UPDATED).pub(city.getId, {finances: true});
    }
    var $breakdown = $(&#39;#finances&#39;).find(&#39;tbody tr.bottomLine td:last-child&#39;);
    database.getGlobalData.finance.armyCost = parseInt($breakdown[0].textContent.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;));
    database.getGlobalData.finance.fleetCost = parseInt($breakdown[1].textContent.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;));
    database.getGlobalData.finance.armySupply = parseInt($breakdown[2].textContent.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;));
    database.getGlobalData.finance.fleetSupply = parseInt($breakdown[3].textContent.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;));
    events(&#39;globalData&#39;).pub({finances: true})	
	database.getGlobalData.addLocalisedString(&#39;finances&#39;, $(&#39;#finances&#39;).find(&#39;h3#js_mainBoxHeaderTitle&#39;).text());
	render.toast(&#39;Updated: &#39; + $(&#39;#finances&#39;).children(&quot;:first&quot;).text());
  },
  parseResearchAdvisor     : function(data) {
    var changes = [];
    var research = JSON.parse(data[&#39;new_js_params&#39;] || data[&#39;load_js&#39;].params).currResearchType;
    $.each(research, function(name, Data) {
      var id = parseInt(Data.aHref.match(/researchId=([0-9]+)/i)[1]);
      var level = name.match(/\((\d+)\)/);
      var explored = level ? parseInt(level[1]) - 1 : (Data.liClass === &#39;explored&#39; ? 1 : 0);
      var changed = database.getGlobalData.updateResearchTopic(id, explored);
      if(changed) changes.push({type: &#39;research_topic&#39;, subType: id});
      database.getGlobalData.addLocalisedString(&#39;research_&#39; + id, name.split(&#39;(&#39;).shift())
    });
    if(changes.length) events(Constant.Events.GLOBAL_UPDATED).pub(changes);
    database.getGlobalData.addLocalisedString(&#39;researchpoints&#39;, $(&#39;li.points&#39;).text().split(&#39;:&#39;)[0]);
	render.toast(&#39;Updated: &#39; + $(&#39;#tab_researchAdvisor&#39;).children(&quot;:first&quot;).text());
  },
  parseAcademy             : function(data) {
    var city = ikariam.getCurrentCity;
    var changed = city.updateResearchers(parseInt(data.js_AcademySlider.slider.ini_value));
    if(changed)
	  events(Constant.Events.CITY_UPDATED).pub(ikariam.CurrentCityId, {research: changed}); 
	render.toast(&#39;Updated: &#39;+ $(&#39;#academy h3#js_mainBoxHeaderTitle&#39;).text() + &#39;&#39;);
  },
  parseTownHall            : function(data) {
    var changes = {};
    var city = ikariam.getCurrentCity;
    var cultBon = parseInt(data[&#39;js_TownHallSatisfactionOverviewCultureBoniTreatyBonusValue&#39;].text) || 0;
    var priests = parseInt(data[&#39;js_TownHallPopulationGraphPriestCount&#39;].text) || 0;
    var researchers = parseInt(data[&#39;js_TownHallPopulationGraphScientistCount&#39;].text) || 0;
    changes[&#39;culturalGoods&#39;] = city.updateCulturalGoods(cultBon / 50);
    changes[&#39;priests&#39;] = city.updatePriests(priests);
    changes[&#39;research&#39;] = city.updateResearchers(researchers);	
    events(Constant.Events.CITY_UPDATED).pub(ikariam.CurrentCityId, changes);
    render.toast(&#39;Updated: &#39;+ $(&#39;#js_TownHallCityName&#39;).text() + &#39;&#39;);	
  },
  parseTemple              : function(data) {
    var priests = parseInt(data[&#39;js_TempleSlider&#39;][&#39;slider&#39;][&#39;ini_value&#39;]) || 0;
    var changed = ikariam.getCurrentCity.updatePriests(priests);
    events(Constant.Events.CITY_UPDATED).pub(ikariam.CurrentCityId, {priests: changed})
  },
  parseMilitaryAdvisor     : function(html, data) {
    try {
      var ownMovementIds = [];
      var move;
      for(var key in data) {
        var match = key.match(/^js_MilitaryMovementsEventRow(\d+)$/);
        if(match &amp;&amp; Utils.existsIn(data[key][&#39;class&#39;], &#39;own&#39;)) {
          ownMovementIds.push(match[1])
        }
      }
      var changes = database.getGlobalData.clearFleetMovements();
      if(ownMovementIds.length) {
        $.each(ownMovementIds, function(idx, value) {
          var transport = new Movement(value);
		  var targetAvatar = &#39;&#39;;
          transport._id = parseInt(value);
          transport._arrivalTime = parseInt(data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;ArrivalTime&#39;].countdown.enddate * 1000);
          transport._loadingTime = 0;
          transport._originCityId = parseInt(data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;OriginLink&#39;].href.match(/cityId=(\d+)/)[1]);
          transport._targetCityId = parseInt(data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;TargetLink&#39;].href.match(/cityId=(\d+)/)[1]);
          transport._mission = data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;MissionIcon&#39;][&#39;class&#39;].split(&#39; &#39;)[1];
          var status = data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;Mission&#39;][&#39;class&#39;];
          if(status) {
            if(Utils.existsIn(status, &#39;arrow_left_green&#39;)) {
              var t = transport._originCityId;
              transport._originCityId = transport._targetCityId;
              transport._targetCityId = t;
            }
          } else {
		    var serverTyp = $(&#39;li.logout a[href=&quot;?view=normalServerStatus&quot;]&#39;).text() ? 1 : 3;
            transport._loadingTime = transport._arrivalTime ;
            if(database.getCityFromId(transport._originCityId) &amp;&amp; database.getCityFromId(transport._targetCityId)) {
              transport._arrivalTime += Utils.estimateTravelTime(database.getCityFromId(transport._originCityId).getCoordinates, database.getCityFromId(transport._targetCityId).getCoordinates)/serverTyp;
            }
          }
          switch(transport._mission) {
            case &#39;trade&#39;:
            case &#39;transport&#39;:
            case &#39;plunder&#39;:			
              $.each(data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;UnitDetails&#39;][&#39;appendElement&#39;], function(index, item) {
                if(Utils.existsIn(item[&#39;class&#39;], Constant.Resources.WOOD)) {
                  transport._resources.wood = parseInt(item.text);
                } else if(Utils.existsIn(item[&#39;class&#39;], Constant.Resources.WINE)) {
                  transport._resources.wine = parseInt(item.text);
                } else if(Utils.existsIn(item[&#39;class&#39;], Constant.Resources.MARBLE)) {
                  transport._resources.marble = parseInt(item.text);
                } else if(Utils.existsIn(item[&#39;class&#39;], Constant.Resources.GLASS)) {
                  transport._resources.glass = parseInt(item.text);
                } else if(Utils.existsIn(item[&#39;class&#39;], Constant.Resources.SULFUR)) {
                  transport._resources.sulfur = parseInt(item.text);
                } else if(Utils.existsIn(item[&#39;class&#39;], Constant.Resources.GOLD)) {
                  transport._resources.gold = parseInt(item.text.split(database.getGlobalData.getLocalisedString(&#39;thousandSeperator&#39;)).join(&#39;&#39;));
                }
              });
              break;
            case &#39;deployarmy&#39;:
            case &#39;deployfleet&#39;:
            case &#39;plunder&#39;:				
              transport._military = new MilitaryUnits();
              $.each(data[&#39;js_MilitaryMovementsEventRow&#39; + value + &#39;UnitDetails&#39;].appendElement, function(index, item) {
                $.each(Constant.UnitData, function findIsUnit(val, info) {
                  if(Utils.existsIn(item[&#39;class&#39;], &#39; &#39; + val)) {
                    transport._military.setUnit(val, parseInt(item.text));
                    return false;
                  }
                });
              });
              break;
            default:
              return true
          }
          database.getGlobalData.addFleetMovement(transport);
          changes.push(transport._targetCityId);
        });
      }
      if(changes.length) events(Constant.Events.MOVEMENTS_UPDATED).pub($.exclusive(changes))
    } catch(e) {
      empire.error(&#39;parseMilitaryAdvisor&#39;, e);
    } finally {
    }
      render.toast(&#39;Updated: &#39; + $(&#39;#js_MilitaryMovementsFleetMovements h3&#39;).text());	
  }, 
  parseCityMilitary        : function() {
    try {
      var $elemArmy = $(&#39;#tabUnits&#39;).find(&#39;&gt; div.contentBox01h td&#39;);
      var $elemShips = $(&#39;#tabShips&#39;).find(&#39;&gt; div.contentBox01h td&#39;);
      var city = ikariam.getCurrentCity;
      var cityArmy = {};
      cityArmy[Constant.Military.SLINGER] = parseInt($elemArmy[4].innerHTML);
      cityArmy[Constant.Military.SWORDSMAN] = parseInt($elemArmy[3].innerHTML);
      cityArmy[Constant.Military.HOPLITE] = parseInt($elemArmy[0].innerHTML);
      cityArmy[Constant.Military.MARKSMAN] = parseInt($elemArmy[6].innerHTML);
      cityArmy[Constant.Military.MORTAR] = parseInt($elemArmy[9].innerHTML);
      cityArmy[Constant.Military.CATAPULT] = parseInt($elemArmy[8].innerHTML);
      cityArmy[Constant.Military.RAM] = parseInt($elemArmy[7].innerHTML);
      cityArmy[Constant.Military.STEAM_GIANT] = parseInt($elemArmy[1].innerHTML);
      cityArmy[Constant.Military.BALLOON_BOMBADIER] = parseInt($elemArmy[11].innerHTML);
      cityArmy[Constant.Military.COOK] = parseInt($elemArmy[12].innerHTML);
      cityArmy[Constant.Military.DOCTOR] = parseInt($elemArmy[13].innerHTML);
      cityArmy[Constant.Military.GYROCOPTER] = parseInt($elemArmy[10].innerHTML);
      cityArmy[Constant.Military.ARCHER] = parseInt($elemArmy[5].innerHTML);
      cityArmy[Constant.Military.SPEARMAN] = parseInt($elemArmy[2].innerHTML);
	  cityArmy[Constant.Military.SPARTAN] = parseInt($elemArmy[14].innerHTML);

      cityArmy[Constant.Military.RAM_SHIP] = parseInt($elemShips[2].innerHTML);
      cityArmy[Constant.Military.FLAME_THROWER] = parseInt($elemShips[0].innerHTML);
      cityArmy[Constant.Military.SUBMARINE] = parseInt($elemShips[7].innerHTML);
      cityArmy[Constant.Military.BALLISTA_SHIP] = parseInt($elemShips[4].innerHTML);
      cityArmy[Constant.Military.CATAPULT_SHIP] = parseInt($elemShips[3].innerHTML);
      cityArmy[Constant.Military.MORTAR_SHIP] = parseInt($elemShips[5].innerHTML);
      cityArmy[Constant.Military.STEAM_RAM] = parseInt($elemShips[1].innerHTML);
      cityArmy[Constant.Military.ROCKET_SHIP] = parseInt($elemShips[6].innerHTML);
      cityArmy[Constant.Military.PADDLE_SPEEDBOAT] = parseInt($elemShips[8].innerHTML);
      cityArmy[Constant.Military.BALLOON_CARRIER] = parseInt($elemShips[9].innerHTML);
      cityArmy[Constant.Military.TENDER] = parseInt($elemShips[10].innerHTML);
      var changes = city.military.updateUnits(cityArmy);
      $elemArmy = null;
      $elemShips = null;
      events(Constant.Events.MILITARY_UPDATED).pub(city.getId, changes)

    } catch(e) {
      empire.error(&#39;parseCityMilitary&#39;, e);
    } finally {
    }
  },
  parseMilitaryLocalization: function() {
    var $elemA = $(&#39;#tabUnits&#39;).find(&#39;&gt; div.contentBox01h th&#39;);
    var $elemS = $(&#39;#tabShips&#39;).find(&#39;&gt; div.contentBox01h th&#39;);
    if(($elemA.length == 0) || ($elemS.length == 0)) {
      return false;
    }
    database.getGlobalData.addLocalisedString(&#39;phalanx&#39;, $elemA[0].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;steamgiant&#39;, $elemA[1].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;spearman&#39;, $elemA[2].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;swordsman&#39;, $elemA[3].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;slinger&#39;, $elemA[4].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;archer&#39;, $elemA[5].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;marksman&#39;, $elemA[6].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ram&#39;, $elemA[7].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;catapult&#39;, $elemA[8].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;mortar&#39;, $elemA[9].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;gyrocopter&#39;, $elemA[10].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;bombardier&#39;, $elemA[11].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;cook&#39;, $elemA[12].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;medic&#39;, $elemA[13].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;spartan&#39;, $elemA[14].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_ram&#39;, $elemS[2].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_flamethrower&#39;, $elemS[0].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_steamboat&#39;, $elemS[1].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_ballista&#39;, $elemS[4].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_catapult&#39;, $elemS[3].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_mortar&#39;, $elemS[5].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_submarine&#39;, $elemS[7].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_paddlespeedship&#39;, $elemS[8].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_ballooncarrier&#39;, $elemS[9].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_tender&#39;, $elemS[10].getAttribute(&#39;title&#39;));
    database.getGlobalData.addLocalisedString(&#39;ship_rocketship&#39;, $elemS[6].getAttribute(&#39;title&#39;));
    $elemA = null;
    $elemS = null
  },
  parsePremium :function(view, html, tData){
		var changes =[];
		var features= [];
		$(&#39;#premiumOffers&#39;).find(&#39;table.table01 tbody &gt; tr[class]:not([class=&quot;&quot;])&#39;)
			.each(function(){
				var item = $(this).attr(&#39;class&#39;).split(&#39; &#39;).shift();
				if (Constant.PremiumData[item] !== undefined){
					features.push(item)
				}
			});
		$.each(features, function(index, val){
			var active = false;
			var endTime = 0;
			var continuous = false; 
			var type = 0;
			active = $(&#39;#js_buy&#39;+val+&#39;ActiveTime&#39;).hasClass(&#39;green&#39;);
			if(active){
				endTime = parseInt($(&#39;#js_buy&#39;+val+&#39;Link&#39;).attr(&#39;href&#39;).split(&#39;typeUntil=&#39;).pop().split(&#39;&amp;&#39;).shift()) - Constant.PremiumData[val].duration;
        if (isNaN(endTime)){
          var str = $(&#39;#js_buy&#39;+val+&#39;ActiveTime&#39;).text();
          var time = new Date();
          time.setSeconds(time.getSeconds() + (str.match(/(\d+)s/) ? parseInt(str.match(/(\d+)s/)[1]) : 0));
          time.setMinutes(time.getMinutes() + (str.match(/(\d+)m/) ? parseInt(str.match(/(\d+)m/)[1]) : 0));
          time.setHours(time.getHours() + (str.match(/(\d+)h/) ? parseInt(str.match(/(\d+)h/)[1]) : 0));
          time.setDate(time.getDate() + (str.match(/(\d+)D/) ? parseInt(str.match(/(\d+)D/)[1]) : 0));
          endTime = time.getTime()/1000
        }
				type = parseInt($(&#39;#js_buy&#39;+val+&#39;Link&#39;).attr(&#39;href&#39;).split(&#39;type=&#39;).pop().split(&#39;&amp;&#39;).shift());
			  continuous = $(&#39;#empireViewExtendCheckbox&#39;+type+&#39;Img&#39;).hasClass(&#39;checked&#39;);
			}
			changes.push(database.getGlobalData.setPremiumFeature(val,endTime*1000,continuous))
		});
		events(Constant.Events.PREMIUM_UPDATED).pub(changes);
	    render.toast(&#39;Updated: &#39; + $(&#39;#premium&#39;).children(&quot;:first&quot;).text());		
  },
  FetchAllTowns            : function() {
    var _relatedCityData = unsafeWindow.ikariam.model.relatedCityData;
    var _cityId = null;	
    var city = null;
    var order = database.settings.cityOrder.value
    if (!order.length) order = [];
    if(_relatedCityData) {
      for(_cityId in _relatedCityData) {
        if(_cityId != &#39;selectedCity&#39; &amp;&amp; _cityId != &#39;additionalInfo&#39;) {
          var own = (_relatedCityData[_cityId][&#39;relationship&#39;] == &#39;ownCity&#39;);
          var deployed = (_relatedCityData[_cityId][&#39;relationship&#39;] == &#39;deployedCities&#39;);
          var occupied = (_relatedCityData[_cityId][&#39;relationship&#39;] == &#39;occupiedCities&#39;);		  
          if(own) {
            if(database.cities[_relatedCityData[_cityId][&#39;id&#39;]] == undefined) {
              (database.cities[_relatedCityData[_cityId][&#39;id&#39;]] = database.addCity(_relatedCityData[_cityId][&#39;id&#39;])).init();
              city = database.cities[_relatedCityData[_cityId][&#39;id&#39;]];
              city.updateTradeGoodID(parseInt(_relatedCityData[_cityId][&#39;tradegood&#39;]));
              city.isOwn = own;
            }
            city = database.cities[_relatedCityData[_cityId][&#39;id&#39;]];
            city.updateName(_relatedCityData[_cityId][&#39;name&#39;]);
            var coords = _relatedCityData[_cityId][&#39;coords&#39;].match(/(\d+)/);
            city.updateCoordinates(coords[0], coords[1]);
            if($.inArray(city.getId, order) == -1) {
              order.push(city.getId);
            }
          }		  
        }
      }  
      //remove deleted cities
      for(var cID in database.cities) {
        var ghost = true;
        for(_cityId in _relatedCityData) {
          if(_relatedCityData[_cityId][&#39;id&#39;] == cID || !database.cities[cID].isOwn) {
            ghost = false;
          }
        }
        if(ghost) {
          delete database.cities[cID]
        }
      }
    }
    database.settings.cityOrder.value = order;
  },
  get currentShips() {
    if(this.$freeTransporters == undefined) {
      this.$freeTransporters = $(&#39;#js_GlobalMenu_freeTransporters&#39;);
    }
    return parseInt(this.$freeTransporters.text())
  }
};

/***********************************************************************************************************************
 * Constants
 **********************************************************************************************************************/
var Constant = {
  PremiumData:{
    PremiumAccount:{   
      type:15,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0,
      icon:&#39;skin/premium/premium_account.png&#39;
    },
    ResourceBonus:{
      type:16,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_wood.jpg&#39;
    },
    WineBonus:{
      type:14,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_wine.jpg&#39;
    },
    MarbleBonus:{
      type:11,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_marble.jpg&#39;
    },
    SulfurBonus:{
      type:12,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_sulfur.jpg&#39;
    },
    CrystalBonus:{
      type:13,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_crystal.jpg&#39;
    },
    ResearchPointsBonus:{
      type:18,
      duration:7 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_research.jpg&#39;
    },
    ResearchPointsBonusExtremeLength:{
      type:0,
      duration:70 * 24 * 60,
      cost:0,
      bonus:0.2,
      icon:&#39;skin/premium/b_premium_research_big.jpg&#39;
    },
    SafecapacityBonus:{
      type:17,
      duration:7 * 24 * 60,
      cost:0,
      bonus:1,
      icon:&#39;skin/premium/b_premium_safecapacity.jpg&#39;
    },
    StoragecapacityBonus:{
      type:33,
      duration:7 * 24 * 60,
      cost:0,
      bonus:1,
      icon:&#39;skin/premium/b_premium_storagecapacity.jpg&#39;
    }
	},
	Premium:{
		PREMIUM_ACCOUNT:&#39;PremiumAccount&#39;,
		WOOD_BONUS:&#39;ResourceBonus&#39;,
		WINE_BONUS:&#39;WineBonus&#39;,
		MARBLE_BONUS:&#39;MarbleBonus&#39;,
		SULFUR_BONUS:&#39;SulfurBonus&#39;,
		CRYSTAL_BONUS:&#39;CrystalBonus&#39;,
		RESEARCH_POINTS_BONUS:&#39;ResearchPointsBonus&#39;,
		RESEARCH_POINTS_BONUS_EXTREME_LENGTH:&#39;ResearchPointsBonusExtremeLength&#39;,
		SAFECAPACITY_BONUS:&#39;SafecapacityBonus&#39;,
		STORAGECAPACITY_BONUS:&#39;StoragecapacityBonus&#39;,
	},
	Events      : {
		BUILDINGS_UPDATED: &#39;buildingsUpdated&#39;,
		GLOBAL_UPDATED   : &#39;globalDataUpdated&#39;,
		MOVEMENTS_UPDATED: &#39;movementsUpdated&#39;,
		RESOURCES_UPDATED: &#39;resourcesUpdated&#39;,
		CITY_UPDATED     : &#39;cityData&#39;,
		MILITARY_UPDATED : &#39;militaryUpdated&#39;,
		LOCAL_STRINGS_AVAILABLE : &#39;localisationAvailable&#39;,
		MODEL_AVAILABLE : &#39;modelAvailable&#39;,
		CITYDATA_AVAILABLE: &#39;cityDataAvailable&#39;,
		DATABASE_LOADED: &#39;databaseLoaded&#39;,
		TAB_CHANGED : &#39;tabChanged&#39;,
		PREMIUM_UPDATED : &#39;premiumUpdated&#39;,
	},
	Settings: {
		CITY_ORDER:         &#39;cityOrder&#39;,
		FULL_ARMY_TABLE:    &#39;fullArmyTable&#39;,
		PLAYER_INFO:        &#39;playerInfo&#39;,
		ON_IKA_LOGS:        &#39;onIkaLogs&#39;,
		HIDE_WORLD:         &#39;hideOnWorldView&#39;,
		HIDE_ISLAND:        &#39;hideOnIslandView&#39;,		
		HIDE_CITY:          &#39;hideOnCityView&#39;,
		SHOW_ON_TOP:        &#39;onTop&#39;,
		WINDOW_TENNIS:      &#39;windowTennis&#39;,
		AUTO_UPDATE:        &#39;autoUpdates&#39;,		
		SMALLER_FONT:       &#39;smallFont&#39;,
		NEWS_TICKER:        &#39;newsTicker&#39;,
		EVENT:              &#39;event&#39;,
		LOGIN_POPUP:        &#39;logInPopup&#39;,		
		BIRD_SWARM:         &#39;birdSwarm&#39;,
		CONTROL_CENTER:     &#39;controlCenter&#39;,
		WITHOUT_FABLE:      &#39;withoutFable&#39;,
		AMBROSIA_PAY:       &#39;ambrosiaPay&#39;,
		ALTERNATIV_BUILDINGS: &#39;alternativeBuildingList&#39;,
        COMPRESS_BUILDINGS: &#39;compressedBuildingList&#39;,
		HOURLY_RESS:        &#39;hourlyRess&#39;,
		WINE_OUT:           &#39;wineOut&#39;,
		DAILY_BONUS:        &#39;dailyBonus&#39;,
		WINE_WARNING_TIME:  &#39;wineWarningTime&#39;,
		LANGUAGE_CHANGE:    &#39;languageChange&#39;,		
	},
	SettingData:{
		cityOrder:{type:&#39;array&#39;, default:[], categories:&#39;ignore&#39;},
		fullArmyTable:{type:&#39;boolean&#39;, default:false, categories:&#39;army_category&#39;},
		playerInfo:{type:&#39;boolean&#39;, default:false, categories:&#39;army_category&#39;},
		onIkaLogs:{type:&#39;boolean&#39;, default:false, categories:&#39;army_category&#39;},
		hideOnWorldView:{type:&#39;boolean&#39;, default:false, categories:&#39;visibility_category&#39;},		
		hideOnIslandView:{type:&#39;boolean&#39;, default:false, categories:&#39;visibility_category&#39;},
		hideOnCityView:{type:&#39;boolean&#39;, default:false, categories:&#39;visibility_category&#39;},
		onTop:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		windowTennis:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		autoUpdates:{type:&#39;boolean&#39;, default:false, categories:&#39;global_category&#39;},		
		smallFont:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		newsTicker:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		event:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		logInPopup:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},		
		birdSwarm:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		controlCenter:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		withoutFable:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},
		ambrosiaPay:{type:&#39;boolean&#39;, default:false, categories:&#39;display_category&#39;},		
		alternativeBuildingList:{type:&#39;boolean&#39;, default:false, categories:&#39;building_category&#39;},
        compressedBuildingList:{type:&#39;boolean&#39;, default:false, category:&#39;building_category&#39;},
		hourlyRess:{type:&#39;boolean&#39;, default:false, categories:&#39;resource_category&#39;},
		wineOut:{type:&#39;boolean&#39;, default:false, categories:&#39;resource_category&#39;},
		dailyBonus:{type:&#39;boolean&#39;, default:false, categories:&#39;resource_category&#39;},
		wineWarningTime:{type:&#39;number&#39;, default:0, choices:[0,12,24,36,48], categories:&#39;resource_category&#39;},
		languageChange:{type:&#39;language&#39;, default:ikariam.Language(), selection:[&#39;en&#39;,&#39;de&#39;,&#39;it&#39;,&#39;el&#39;,&#39;es&#39;,&#39;fr&#39;,&#39;ro&#39;,&#39;ru&#39;,&#39;cz&#39;,&#39;pl&#39;,&#39;ar&#39;,&#39;ir&#39;,&#39;pt&#39;,&#39;tr&#39;,&#39;nl&#39;], categories:&#39;language_category&#39;},		
	},	
	SettingCategories: {
		VISIBILITY: &#39;visibility_category&#39;,
		DISPLAY   : &#39;display_category&#39;,
		OTHER     : &#39;global_category&#39;,
		ARMY      : &#39;army_category&#39;,
		BUILDING  : &#39;building_category&#39;,
		RESOURCE  : &#39;resource_category&#39;,
		LANGUAGE  : &#39;language_category&#39;,		
	},	

  	LanguageData : {
		en:{
      buildings: &#39;Buildings&#39;,
	  economy: &#39;Economy&#39;,
	  military: &#39;Military&#39;,
	  towns: &#39;Towns&#39;,
	  academy_: &#39;Academy&#39;,
	  townhall_: &#39;Town Hall&#39;,
	  dump_: &#39;Dump&#39;,
	  warehouse_: &#39;Warehouse&#39;,
	  tavern_level: &#39;Tavern Level&#39;,
	  corruption: &#39;Corruption&#39;,
	  cultural: &#39;Cultural Goods&#39;,
	  population: &#39;Population&#39;,
	  citizens: &#39;Citizens&#39;,
	  scientists: &#39;Scientists&#39;,
	  scientists_max: &#39;max. Scientists&#39;,
	  options: &#39;Options&#39;,
	  help: &#39;Help&#39;,
	  agora: &#39;to Agora&#39;,
	  to_world: &#39;Show World&#39;, 
	  to_island: &#39;Show Island&#39;,
	  army_cost: &#39;Army Cost&#39;,
	  fleet_cost: &#39;Fleet Cost&#39;,
	  army_supply: &#39;Army Supply&#39;,
	  fleet_supply: &#39;Fleet Supply&#39;,
	  research_cost: &#39;Research Cost&#39;, 
	  income: &#39;Income&#39;,
	  expenses: &#39;Expenses&#39;,
	  balances: &#39;Balances&#39;,
      espionage: &#39;View Espionage&#39;,
	  contracts: &#39;View Contracts&#39;,
	  combat: &#39;View Combats&#39;,
	  satisfaction: &#39;Satisfaction&#39;,
      total_ : &#39;total&#39;,
      max_Level : &#39;max. Level&#39;,
      actionP : &#39;Action Points&#39;,
      researchP : &#39;Research Points&#39;,
      finances_ : &#39;Finances&#39;,
      free_ground : &#39;free Building Ground&#39;, 
      wood_ : &#39;Building Material&#39;,
      wine_ : &#39;Wine&#39;,
      marble_ : &#39;Marble&#39;, 
      crystal_ : &#39;Crystal Glass&#39;, 
      sulphur_ : &#39;Sulphur&#39;,	  
	  angry: &#39;angry&#39;,
	  unhappy: &#39;unhappy&#39;,
	  neutral: &#39;neutral&#39;,
	  happy: &#39;happy&#39;,
	  euphoric: &#39;euphoric&#39;,	  
	  housing_space: &#39;max. Housing space&#39;,
	  free_Citizens: &#39;free Citizens&#39;,
	  free_housing_space: &#39;free Housing space&#39;,
	  level_tavern: &#39;Level Tavern&#39;,
	  maximum: &#39;maximum&#39;,
	  used: &#39;used&#39;,
      plundergold: &#39;Gold&#39;,	  
	  garrision: &#39;Garrison limit&#39;,
	  Sea: &#39;Sea&#39;,
	  Inland: &#39;Inland&#39;,		
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;to full&#39;,
      time_to_empty: &#39;to empty&#39;,
      capacity: &#39;Capacity&#39;,
      safe: &#39;Safe&#39;,	
      training: &#39;Training&#39;,		
      plundering: &#39;Plundering&#39;,		
      constructing: &#39;Expansion in Progress&#39;,
	  next_Level: &#39;Needed for Level&#39;,
      transport: &#39;Transports&#39;,
	  loading: &#39;loading&#39;,
	  en_route: &#39;en route&#39;,
	  arrived: &#39;arrived&#39;,
      to_town_hall: &#39;to Town Hall&#39;,
	  to_saw_mill: &#39;to Saw Mill&#39;,
      to_mine: &#39;to luxury good&#39;,
      to_barracks: &#39;to Barracks&#39;,
      to_shipyard: &#39;to Shipyard&#39;,
      member: &#39;View Memberlist&#39;,
      transporting: &#39;Transport to&#39;,
      transporting_units: &#39;Deploying troops to&#39;,
      transporting_fleets: &#39;Moving fleet to&#39;,
	  today: &#39;today&#39;,
	  tomorrow: &#39;tomorrow&#39;,
	  yesterday: &#39;yesterday&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;D&#39;,
	  week: &#39;W&#39;,
	  hour_long: &#39;Hour&#39;,
	  day_long: &#39;Day&#39;,
	  week_long: &#39;Week&#39;,
      ika_world: &#39;Search on Ikariam-World&#39;,
      charts: &#39;Show Charts&#39;,
      //settings
      cityOrder : &#39;cityOrder&#39;,
      fullArmyTable :  &#39;Show all military units&#39;,
      hideOnWorldView : &#39;Force hide on world view&#39;,
      hideOnIslandView : &#39;Force hide on island view&#39;,	  
      hideOnCityView : &#39;Force hide on city view&#39;,
      onTop : &#39;Show on top of Ikariam windows&#39;,
      windowTennis : &#39;Show above ikariam on mouseover&#39;,
      autoUpdates : &#39;Automaticly check for updates&#39;,
      smallFont : &#39;Use smaller font size&#39;,
      alternativeBuildingList : &#39;Use alternative building list&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;,
	  wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;,
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;,
	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;,
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;,
      wineWarningTime : &#39;Wine remaining warning&#39;,
      languageChange : &#39;Change language&#39;,
	  current_Version : &#39;Current Version&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Version&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Reset all settings to default&#39;,
	  goto_website : &#39;Goto the scripts Userscripts.com website&#39;,
	  website : &#39;Website&#39;, 
      Check_for_updates : &#39;Force a check for updates&#39;,
      check : &#39;Check for updates&#39;, 
      Report_bug : &#39;Report a bug in the script&#39;,
      report : &#39;Report Bug&#39;,
      save : &#39;Save&#39;,
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,	  
      newsticker : &#39;Hide news ticker&#39;,
      event : &#39;Hide events&#39;,
	  logInPopup : &#39;Hide the Info Window when login&#39;,
      birdswarm : &#39;Hide the bird swarm&#39;,
      hourlyRes : &#39;Hide hourly resources&#39;,
      onIkaLogs : &#39;Use IkaLog Battle Report Converter&#39;,
      playerInfo : &#39;Show information about player&#39;,
	  control: &#39;Hide Control center&#39;,
	  alert: &#39;Please choose only one option!&#39;,
	  alert_palace: &#39;Please visit your capital city first&#39;,
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;,
	  alert_error: &#39;An error occurred while checking for updates: &#39;,
	  alert_noUpdate: &#39;No update is available for &quot;&#39;,
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;,
	  alert_update1: &#39;Would you like to go to the install page now?&#39;,
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;,
      en : &#39;English&#39;,
      de : &#39;German&#39;,
      it : &#39;Italian&#39;,
      el : &#39;Greek&#39;,
      es : &#39;Spanish&#39;,
      fr : &#39;French&#39;,
	  ro : &#39;Romanian&#39;,
	  ru : &#39;Russian&#39;,
	  cz : &#39;Czech&#39;,
      pl : &#39;Polish&#39;,
      ar : &#39;Arabic&#39;,
      ir : &#39;Persian&#39;,
      pt : &#39;Portuguese&#39;,
	  tr : &#39;Turkish&#39;,
	  nl : &#39;Dutch&#39;,
      //settings descriptions
      cityOrder_description : &#39;cityOrder_description&#39;,
      fullArmyTable_description : &#39;Show all possible army units on the Army tab&#39;,
	  hideOnWorldView_description : &#39;Hide by default on world view&#39;,
      hideOnIslandView_description : &#39;Hide by default on island view&#39;,
      hideOnCityView_description : &#39;Hide by default on city view&#39;,
      onTop_description : &#39;Show board on top of Ikariam windows&#39;,
      windowTennis_description : &#39;Bring board to the top on mouseover&lt;br&gt;Send behind ikariam windows on mouseout&lt;br&gt;Ignores \&#39;on top\&#39; option&#39;,
      autoUpdates_description : &#39;Enable automatic update checking&lt;br&gt;(Once every 24hrs)&#39;,
      smallFont_description : &#39;Use a smaller font for the data tables&#39;,
      alternativeBuildingList_description : &#39;Use alternative building table&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;,
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;,
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;,
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;,
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;,
      wineWarningTime_description : &#39;Wine remaining time turns, \&#39;red\&#39; at this point&#39;,
      languageChange_description : &#39;Change the language&#39;,
      newsticker_description : &#39;Hide news ticker in the GF-toolbar&#39;,
      event_description : &#39;Hide events under the advisers&#39;,
      logInPopup_description : &#39;Hide the Info Window when login&#39;,
      birdswarm_description : &#39;Hide the bird swarm in island and city view&#39;,
      hourlyRes_description : &#39;Hide hourly resources in the infobar&#39;,
      onIkaLogs_description : &#39;use IkaLogs for your battle reports&#39;,
      playerInfo_description : &#39;View information from the players in the island view&#39;,
	  control_description: &#39;Hide the Control center in world, island and city view&#39;,
      // settings categories
      visibility_category : &#39;&lt;b&gt;Board Visibility&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Display Settings&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Global Settings&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Army Settings&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Building Settings&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Resource Settings&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Language Settings&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Initialize Board&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;on your Town Hall and go through each town with that view open&#39;,
	  on_the_Troops : &#39;on the \&quot;Troops in town\&quot; tab on left side and go through each town with that view open&#39;,
	  on_Museum : &#39;on Museum and then the \&quot;Distribute Cultural Treaties\&quot; tab&#39;,
	  on_Research_Advisor : &#39;on Research Advisor and then click on each of the 4 research tabs in the left window&#39;,
	  on_your_Palace : &#39;on your Palace&#39;,
	  on_your_Finance : &#39;on your Finance tab&#39;,
	  on_the_Ambrosia : &#39;on the \&quot;Ambrosia shop\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Re-Order Towns&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Reset Position&lt;/b&gt;&#39;,
	  On_any_tab : &#39;On any tab, drag the resource icon to the left of the town name&#39;,
	  Right_click : &#39;Right click on the empire menu button on the left side page menu&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, -, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigate to town 1 to 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigate to City/ Building/ Army/ Setting/ Help tab&#39;,
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigate to City/ Military/ Research/ Diplomacy advisor&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigate to World/ Island/ City view&#39;,
	  Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimise/ Maximise the board&#39;,
	  Hotkeys : &#39;&lt;b&gt;Hotkeys&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Click&lt;/b&gt;&#39;		
		},
	    de:{
      buildings: &#39;Gebäude&#39;,
	  economy: &#39;Wirtschaft&#39;,
	  military: &#39;Militär&#39;,
	  towns: &#39;Städte&#39;,
	  academy_: &#39;Akademie&#39;,	  
	  townhall_: &#39;Rathaus&#39;,
	  dump_: &#39;Halde&#39;,
	  warehouse_: &#39;Lagerhaus&#39;,
	  corruption: &#39;Korruption&#39;,
	  cultural: &#39;Kulturgüter&#39;,
	  population: &#39;Bevölkerung&#39;,
	  citizens: &#39;Bürger&#39;,
	  scientists: &#39;Forscher&#39;,
	  scientists_max: &#39;max. Forscher&#39;,
	  options: &#39;Optionen&#39;,
	  help: &#39;Hilfe&#39;,
	  agora: &#39;zur Agora&#39;,
	  to_world: &#39;Zeige Weltkarte&#39;, 
	  to_island: &#39;Zeige Insel&#39;,
	  army_cost: &#39;Kosten Armee&#39;,
	  fleet_cost: &#39;Kosten Flotte&#39;,
	  army_supply: &#39;Unterhalt Armee&#39;,
	  fleet_supply: &#39;Unterhalt Flotte&#39;,
	  research_cost: &#39;Kosten Forschung&#39;, 
	  income: &#39;Einkommen&#39;,
	  expenses: &#39;Ausgaben&#39;,
	  balances: &#39;Bilanz&#39;,	  
      espionage: &#39;Zeige Spionageberichte&#39;,
	  contracts: &#39;Zeige Verträge&#39;,
	  combat: &#39;Zeige Kampfberichte&#39;,
	  satisfaction: &#39;Zufriedenheit&#39;,
      total_ : &#39;gesamt&#39;,
      max_Level : &#39;max. Stufe&#39;,
      actionP : &#39;Aktionspunkte&#39;,
      researchP : &#39;Forschungspunkte&#39;,
      finances_ : &#39;Finanzen&#39;,
      free_ground : &#39;freier Bauplatz&#39;, 
      wood_ : &#39;Baumaterial&#39;,
      wine_ : &#39;Wein&#39;,
      marble_ : &#39;Marmor&#39;, 
      crystal_ : &#39;Kristallglas&#39;, 
      sulphur_ : &#39;Schwefel&#39;,	  
	  angry: &#39;wütend&#39;,
	  unhappy: &#39;unzufrieden&#39;,
	  neutral: &#39;neutral&#39;,
	  happy: &#39;zufrieden&#39;,
	  euphoric: &#39;euphorisch&#39;,		  
	  housing_space: &#39;max. Wohnraum&#39;,
	  free_Citizens: &#39;freie Bürger&#39;,
	  free_housing_space: &#39;freier Wohnraum&#39;,
	  level_tavern: &#39;Stufe Taverne&#39;,
	  maximum: &#39;maximum&#39;,
	  used: &#39;benutzt&#39;,
      plundergold: &#39;Gold&#39;,	  
	  garrision: &#39;Garnisionslimit&#39;,
	  Sea: &#39;See&#39;,
	  Inland: &#39;Land&#39;,		
      full: &#39;0&#39;,
	  off: &#39;aus&#39;,
      time_to_full: &#39;bis voll&#39;,
      time_to_empty: &#39;bis leer&#39;,
	  capacity: &#39;Kapazität&#39;,
      safe: &#39;Sicher&#39;,	
      training: &#39;Ausbildung&#39;,		
      plundering: &#39;Plündern&#39;,		
      constructing: &#39;Ausbau im Gang&#39;,
	  next_Level: &#39;Benötigt für Stufe&#39;,
      transport: &#39;Transporte&#39;,
	  loading: &#39;beladen&#39;,
	  en_route: &#39;unterwegs&#39;,
	  arrived: &#39;angekommen&#39;,	  
      to_town_hall: &#39;zum Rathaus&#39;,
	  to_saw_mill: &#39;zum Sägewerk&#39;,
	  to_mine: &#39;zum Luxusgut&#39;,		
      to_barracks: &#39;zur Kaserne&#39;,
      to_shipyard: &#39;zur Kriegswerft&#39;,
      member: &#39;zur Mitgliederliste&#39;,
      transporting: &#39;Transport nach&#39;,
      transporting_units: &#39;Truppen verlegen nach&#39;,
      transporting_fleets: &#39;Flotte verlegen nach&#39;,
	  today: &#39;heute&#39;,
	  tomorrow: &#39;morgen&#39;,
	  yesterday: &#39;gestern&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;T&#39;,
	  week: &#39;W&#39;,
	  hour_long: &#39;Stunde&#39;,
	  day_long: &#39;Tag&#39;,
	  week_long: &#39;Woche&#39;,
      ika_world: &#39;Suche in Ikariam-World&#39;,
      charts: &#39;Zeige Grafiken&#39;, 	  
      //settings
      cityOrder : &#39;Stadtanordnung sortieren&#39;,
      fullArmyTable : &#39;Zeige alle militärischen Einheiten&#39;,
      hideOnWorldView : &#39;Board in Weltansicht ausblenden&#39;,
      hideOnIslandView : &#39;Board in Inselansicht ausblenden&#39;,	  
      hideOnCityView : &#39;Board in Stadtansicht ausblenden&#39;,
      onTop : &#39;Board oben anzeigen&#39;,
      windowTennis : &#39;Board mit Mauszeiger oben anzeigen&#39;,
      autoUpdates : &#39;Automatische Aktualisierung&#39;,
      smallFont : &#39;Kleinere Schriftgröße benutzen&#39;,
      alternativeBuildingList : &#39;Alternative Gebäudeliste benutzen&#39;,
      compressedBuildingList : &#39;Komprimierte Gebäudeliste benutzen&#39;,
      wineOut : &#39;Ambrosia Feature &quot;Wein geht aus&quot; deaktivieren&#39;,
	  dailyBonus : &#39;Den täglichen Bonus automatisch bestätigen&#39;,
	  unnecessaryTexts : &#39;Entfernt unnötige Beschreibungen&#39;,
	  ambrosiaPay : &#39;Neue Ambrosia Kaufoptionen deaktivieren&#39;,
      wineWarningTime : &#39;Warnung: restlicher Wein&#39;,
      languageChange : &#39;Sprache wechseln&#39;,
	  current_Version : &#39;Aktuelle Version&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Version&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Auf Standard Einstellung zurücksetzen&#39;,
	  goto_website : &#39;Gehe zur Userscripts.com website&#39;,
	  website : &#39;Webseite&#39;, 	  
      Check_for_updates : &#39;Auf Updates überprüfen&#39;,
	  check : &#39;Überprüfe Updates&#39;, 	  
      Report_bug : &#39;Melde einen Fehler im Script&#39;,
	  report : &#39;Fehler melden&#39;,
      save : &#39;Speichern&#39;,
      save_settings : &#39;Einstellungen speichern&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,
      newsticker : &#39;Newsticker ausblenden&#39;,
      event : &#39;Events ausblenden&#39;,
	  logInPopup : &#39;Infofenster beim einloggen ausblenden&#39;,
      birdswarm : &#39;Vogelschwarm ausblenden&#39;,
      hourlyRes : &#39;Stündliche Ressourcen Anzeige ausblenden&#39;,
      onIkaLogs : &#39;IkaLog Kampfbericht Konverter benutzen&#39;,
      playerInfo : &#39;Informationen über Spieler anzeigen&#39;,
	  control: &#39;Control Center ausblenden&#39;,
	  alert: &#39;Bitte wähle nur eine Option aus!&#39;,
	  alert_palace: &#39;Schaue bitte zuerst in den Palast deiner Hauptstadt&#39;,
	  alert_toast: &#39;Daten-Reset, Neuladen der Seite in wenigen Sekunden&#39;,
	  alert_error: &#39;Beim Suchen nach Updates ist ein Fehler aufgetreten: &#39;,
	  alert_noUpdate: &#39;keine Updates verfügbar für &quot;&#39;,
	  alert_update: &#39;Es ist ein Update verfügbar für das Greasemonkey-Skript &quot;&#39;,
	  alert_update1: &#39;Möchten Sie jetzt auf die Installationsseite gehen?&#39;,
	  alert_daily: &#39;Aktiviere bitte \&#39;Den täglichen Bonus automatisch bestätigen\&#39;&#39;,
      en : &#39;Englisch&#39;,
      de : &#39;Deutsch&#39;,
      it : &#39;Italienisch&#39;,
      el : &#39;Griechisch&#39;,
      es : &#39;Spanisch&#39;,
      fr : &#39;Französisch&#39;,
	  ro : &#39;Rumänisch&#39;,
	  ru : &#39;Russisch&#39;,
	  cz : &#39;Tschechisch&#39;,
      pl : &#39;Polnisch&#39;,
      ar : &#39;Arabisch&#39;,
      ir : &#39;Persisch&#39;,
      pt : &#39;Portugiesisch&#39;,
	  tr : &#39;Türkisch&#39;,
	  nl : &#39;Niederländisch&#39;,
      //settings descriptions
      cityOrder_description : &#39;cityOrder_description&#39;,
      fullArmyTable_description : &#39;Zeigt alle möglichen Militär Einheiten in der Militäransicht an&#39;,
	  hideOnWorldView_description : &#39;Board standardmäßig in Weltansicht ausblenden&#39;,
      hideOnIslandView_description : &#39;Board standardmäßig in Inselansicht ausblenden&#39;,
      hideOnCityView_description : &#39;Board standardmäßig in Stadtansicht ausblenden&#39;,
      onTop_description : &#39;Zeige Board über Ikariam Fenster&#39;,
      windowTennis_description : &#39;Zeige Board mit Mauszeiger oben &lt;br&gt; oder hinter dem Ikariam Fenster &lt;br&gt; Ignoriert Option Board oben anzeigen&#39;,
      autoUpdates_description : &#39;Aktiviert die automatische Update-Überprüfung &lt;br&gt; (einmal alle 24 Stunden)&#39;,
      smallFont_description : &#39;Kleinere Schriftart benutzen&#39;,
      alternativeBuildingList_description : &#39;Alternative Gebäudeansicht verwenden&#39;,
      compressedBuildingList_description : &#39;Komprimierte Gebäudeansicht verwenden&lt;br&gt;Zusammenlegung der Gebäude der Luxus-Ressourcen Produktion&lt;br&gt;Zusammelegung von Palast und Stadthaltersitz&#39;,
      wineOut_description : &#39;deaktiviert die Ambrosia-Kauf Option \&#39;Wein geht aus\&#39;&#39;,
	  dailyBonus_description : &#39;Der tägliche Bonus wird automatisch bestätigt&lt;br&gt;und das Fenster wird nicht mehr angezeigt&#39;,
	  unnecessaryTexts_description: &#39;Entfernt unnötige Beschreibungen in Gebäuden,&lt;br&gt;der Bauliste von Gebäuden, minimiert das Scrollen&#39;,
	  ambrosiaPay_description: &#39;Deaktiviert die neuen Ambrosia Kaufoptionen,&lt;br&gt; betätigen des Buttons bricht die Aktion ab&#39;,
      wineWarningTime_description : &#39;Verbleibende Zeit für Wein, \&#39;rot\&#39; an dieser Stelle&#39;,
      languageChange_description : &#39;Sprachen einstellen&#39;,
      newsticker_description : &#39;Newsticker in der GF-Toolbar ausblenden&#39;,
      event_description : &#39;Events unter den Beratern ausblenden&#39;,
      logInPopup_description : &#39;Blendet das Infofenster beim einloggen aus&#39;,
      birdswarm_description : &#39;Vogelschwarm in Insel- und Stadtansicht ausblenden&#39;,
      hourlyRes_description : &#39;Stündliche Ressourcen Anzeige in der Infobar ausblenden&#39;,
      onIkaLogs_description : &#39;Benutze IkaLogs für deine Kampfberichte&#39;,
      playerInfo_description : &#39;Informationen vom Spieler in der Inselansicht anzeigen&#39;,
	  control_description: &#39;Control Center in Welt-, Insel- und Stadtansicht ausblenden&#39;,  
      // settings categories
      visibility_category : &#39;&lt;b&gt;Board Sichtbarkeit&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Anzeigeoptionen&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Globale Einstellungen&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Militär Einstellungen&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Optionen Gebäude&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Optionen Ressourcen&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Optionen Sprache&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Installationsanleitung&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;Gehe ins Rathaus und durch jede Stadt mit geöffnetem Fenster&#39;,
	  on_the_Troops : &#39;Gehe zur linken Registerkarte \&quot;Truppen in der Stadt\&quot; und mit geöffnetem Fenster durch jede Stadt&#39;,
	  on_Museum : &#39;Gehe auf Museum und dann auf Registerkarte \&quot;Kulturgüter verteilen\&quot;&#39;,
	  on_Research_Advisor : &#39;Gehe zur Forschung und dann im linken Fenster alle 4 Forschungen anklicken&#39;,
	  on_your_Palace : &#39;Gehe zum Palast&#39;,
	  on_your_Finance : &#39;Gehe zur Finanzübersicht&#39;,
	  on_the_Ambrosia : &#39;Gehe zum \&quot;Ambrosia Shop\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Städte neu anordnen&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Position zurücksetzen&lt;/b&gt;&#39;,
	  On_any_tab : &#39;In jedem Reiter, links auf dem Ressourcen Symbol kann man die Städte verschieben&#39;,
	  Right_click : &#39;Gehe zur linken Registerkarte \&quot;Empire Overview\&quot; und drücke die rechte Maustaste&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, ß, ´ &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Wechselt zwischen den Städten 1 bis 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Wechselt zwischen Stadt-, Gebäude-, Militäransicht, Optionen und Hilfe&#39;,
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Wechselt zwischen Stadt-, Militär-, Forschungs- und Diplomatieberater&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Wechselt zwischen Welt-, Insel- und Stadtansicht&#39;,
	  Spacebar : &#39;Leertaste &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimiert oder maximiert das Board&#39;,
	  Hotkeys : &#39;&lt;b&gt;Kurztasten&lt;/b&gt;&#39;,  
      // formatting
      thousandSeperator : &#39;.&#39;,
      decimalPoint:&#39;,&#39;,
      click_:&#39;&lt;b&gt;Klick&lt;/b&gt;&#39;	  
        },
	    it:{
      buildings: &#39;Edifici&#39;,
	  economy: &#39;Economia&#39;,
	  military: &#39;Forze armate&#39;,
	  towns: &#39;Città&#39;,
	  academy_: &#39;Accademia&#39;,
	  townhall_: &#39;Municipio&#39;,
	  dump_: &#39;Discarica&#39;,
	  warehouse_: &#39;Maggazino&#39;,
	  corruption: &#39;Corruzione&#39;,
	  cultural: &#39;Beni culturali&#39;,
	  population: &#39;Popolazione&#39;,
	  citizens: &#39;Cittadini&#39;,
	  scientists: &#39;Scienziati&#39;,
	  scientists_max: &#39;Scienziati mass.&#39;,
	  options: &#39;Opzioni&#39;,
	  help: &#39;Aiuto&#39;,
	  agora: &#39;&amp;nbsp;l\&#39;Agorà&#39;,
	  to_world: &#39;Mostra Mondo&#39;, 
	  to_island: &#39;Mostra Isola&#39;,
	  army_cost: &#39;Costi Army&#39;,
	  fleet_cost: &#39;Costi della Flotta&#39;,
	  army_supply: &#39;Spesa Army&#39;,
	  fleet_supply: &#39;Spesa della Flotta&#39;,
	  research_cost: &#39;Costi Ricerca&#39;, 
	  income: &#39;Proventi&#39;,
	  expenses: &#39;Spese&#39;,
	  balances: &#39;Bilanci&#39;,	  
      espionage: &#39;Mostra rapporti di spionaggio&#39;,
	  contracts: &#39;Mostra contratti&#39;,
	  combat: &#39;Mostra battle Report&#39;,	
      satisfaction: &#39;Soddisfazione&#39;,
      total_ : &#39;totale&#39;,
      max_Level : &#39;Livello massimo&#39;,
      actionP : &#39;Punti azione&#39;,
      researchP : &#39;Punti di ricerca&#39;,
      finances_ : &#39;Finanze&#39;,
      free_ground : &#39;Terreno edificabile libero&#39;, 
      wood_ : &#39;Legno&#39;,
      wine_ : &#39;Vino&#39;,
      marble_ : &#39;Marmo&#39;, 
      crystal_ : &#39;Cristallo&#39;, 
      sulphur_ : &#39;Zolfo&#39;,		  
	  angry: &#39;arrabiato&#39;,
	  unhappy: &#39;triste&#39;,
	  neutral: &#39;neutro&#39;,
	  happy: &#39;felice&#39;,
	  euphoric: &#39;euforico&#39;,		  
	  housing_space: &#39;Spazio abitabile massimo&#39;,
   	  free_Citizens: &#39;Cittadini liberi&#39;,
	  free_housing_space: &#39;Spazio abitabile libero&#39;,
	  level_tavern: &#39;Livello Taverna&#39;,
	  maximum: &#39;massimo&#39;,
	  used: &#39;usato&#39;,
      plundergold: &#39;Oro&#39;,	  
	  garrision: &#39;Lim. guarnigione&#39;,
	  Sea: &#39;Mare&#39;,
	  Inland: &#39;Entroterra&#39;,		
      full: &#39;0&#39;,
	  off: &#39;spento&#39;,
      time_to_full: &#39;appieno&#39;,
      time_to_empty: &#39;svuotare&#39;,
      capacity: &#39;Capacità&#39;,
      safe: &#39;Sicuro&#39;,	
      training: &#39;Formazione&#39;,		
      plundering: &#39;Saccheggio&#39;,		
      constructing: &#39;Ampliamento in corso!&#39;,
      next_Level: &#39;Necessari per&lt;br&gt;il livello&#39;,
      transport: &#39;Trasporti&#39;,
	  loading: &#39;caricamento&#39;,
	  en_route: &#39;in corso&#39;,
	  arrived: &#39;arrivato&#39;,	  
      to_town_hall: &#39;a Municipio di&#39;,
	  to_saw_mill: &#39;alla segheria&#39;,
	  to_mine: &#39;a bene di lusso&#39;,		
      to_barracks: &#39;alla caserma di&#39;,
      to_shipyard: &#39;alle cantiere navale di guerra di&#39;,
      member: &#39;Elenco dei membri&#39;,
      transporting: &#39;Trasportati a&#39;,
      transporting_units: &#39;Sposta l`esercito a&#39;,
      transporting_fleets: &#39;Sposta la flotta a&#39;,
	  today: &#39;oggi&#39;,
	  tomorrow: &#39;domani&#39;,
	  yesterday: &#39;ieri&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;G&#39;,
	  week: &#39;S&#39;,
	  hour_long: &#39;Ora&#39;,
	  day_long: &#39;Giorno&#39;,
	  week_long: &#39;Settimana&#39;,
      ika_world: &#39;Cerca su Ikariam-World&#39;,
      charts: &#39;Visualizza Grafici&#39;,	  
      //settings
      cityOrder : &#39;Metti in ordine le città&#39;,
      fullArmyTable :  &#39;Mostra tutte le unità militari&#39;,
      hideOnWorldView : &#39;Nascondere visione del mondo&#39;,
      hideOnIslandView : &#39;Nascondere vista dell\&#39;isola&#39;,	  
      hideOnCityView : &#39;Nascondere vista della città&#39;,
      onTop : &#39;Mostra sopra le finestre Ikariam&#39;,
      windowTennis : &#39;Mostra sopra Ikariam al passaggio del mouse&#39;,
      autoUpdates : &#39;Controllare automaticamente gli aggiornamenti&#39;,
      smallFont : &#39;Utilizzare caratteri più piccoli&#39;,
      alternativeBuildingList : &#39;Utilizza elenco edifici alternativo&#39;,
      compressedBuildingList : &#39;Utilizza l\&#39;elenco compressa di edifici&#39;,
      wineOut : &#39;Disattivare Ambrosia funzione &quot;vino esce&quot;&#39;,
	  dailyBonus : &#39;Automaticamente confermare il bonus giornaliero&#39;,
	  unnecessaryTexts : &#39;Rimuovere descrizioni inutili&#39;,
	  ambrosiaPay : &#39;Disattivare le nuove opzioni di acquisto Ambrosia&#39;,
      wineWarningTime : &#39;Vino avvertimento rimanente&#39;,
      languageChange : &#39;Cambia Lingua&#39;,
	  current_Version : &#39;Versione attuale&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Versione Ikariam&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Ripristinare tutte le impostazioni di default&#39;,
	  goto_website : &#39;Vai al sito web script Userscripts.com&#39;,
	  website : &#39;Sito web&#39;, 	  
      Check_for_updates : &#39;Controlla aggiornamenti&#39;,
	  check : &#39;Controlla aggiornamenti&#39;, 	  
      Report_bug : &#39;Segnala un bug nello script&#39;,
	  report : &#39;Segnala bug&#39;,
      save : &#39;Salvare&#39;,
      save_settings : &#39;Salva impostazioni&lt;b&gt; !&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;Nascondere il ticker per notizie&#39;,
      event : &#39;Nascondere gli eventi&#39;,
	  logInPopup : &#39;Nascondere la finestra informazioni quando login&#39;,
      birdswarm : &#39;Nascondere lo sciame di uccelli&#39;,
      hourlyRes : &#39;Nascondere la visualizzazione le risorse orarie&#39;,
      onIkaLogs : &#39;Utilizzare IkaLog Battle Report Converter&#39;,
      playerInfo : &#39;Visualizza informazioni su giocatore&#39;,
	  control: &#39;Nascondere il centro di controllo&#39;,
	  alert: &#39;Si prega di scegliere una sola opzione!&#39;,
	  alert_palace: &#39;Si prega di visitare il vostro capitale prima&#39;,
	  alert_toast: &#39;Data Reset, ricaricare la pagina in pochi secondi&#39;,
	  alert_error: &#39;Si è verificato un errore durante la ricerca degli aggiornamenti: &#39;,
	  alert_noUpdate: &#39;Nessun aggiornamento è disponibile per &quot;&#39;,
	  alert_update: &#39;C\&#39;è un aggiornamento disponibile per lo script Greasemonkey  &quot;&#39;,
	  alert_update1: &#39;Vuoi andare alla pagina installa ora?&#39;,
	  alert_daily: &#39;Si prega di abilitare \&#39;Automaticamente confermare il bonus giornaliero \&#39;&#39;,
      en : &#39;Inglese&#39;,
      de : &#39;Tedesco&#39;,
      it : &#39;Italiano&#39;,
      el : &#39;Greco&#39;,
      es : &#39;Spagnolo&#39;,
      fr : &#39;Francese&#39;,
	  ro : &#39;Rumeno&#39;,
	  ru : &#39;Russo&#39;,
	  cz : &#39;Ceco&#39;,
      pl : &#39;Polacco&#39;,
      ar : &#39;Arabo&#39;,
      ir : &#39;Persiano&#39;,
      pt : &#39;Portoghese&#39;,
	  tr : &#39;Turco&#39;,
	  nl : &#39;Olandese&#39;,
      //settings descriptions
      cityOrder_description : &#39;cityOrder_description&#39;,
      fullArmyTable_description : &#39;Mostra tutti i tipi di unità militari nella vista per militare&#39;,
	  hideOnWorldView_description : &#39;Nascondere di default su visione del mondo&#39;,
      hideOnIslandView_description : &#39;Nascondere di default su vista sull\&#39;isola&#39;,
      hideOnCityView_description : &#39;Nascondere di default su vista sulla città&#39;,
      onTop_description : &#39;Visualizza bordo sopra le finestre Ikariam&#39;,
      windowTennis_description : &#39;Portare bordo verso l\&#39;alto al passaggio del mouse&lt;br&gt;Invia dietro finestre Ikariam su mouseout&lt;br&gt;Ignora l\&#39;opzione \&#39;alto su\&#39;&#39;,
      autoUpdates_description : &#39;Attivare il controllo di aggiornamento automatico&lt;br&gt;(Una volta ogni 24 ore)&#39;,
      smallFont_description : &#39;Utilizzare un carattere più piccolo per le tabelle di dati&#39;,
      alternativeBuildingList_description : &#39;Utilizzare tavolo edificio alternativo&#39;,
      compressedBuildingList_description : &#39;Utilizzare tavolo edificio compressa&lt;br&gt;la fusione la costruzione di produzione&lt;br&gt;la fusione la costruzione di palazzo e sede governatore&#39;,
      wineOut_description : &#39;Disattiva l\&#39;opzione Ambrosia di acquistare \&#39;Vino esce \&#39;&#39;,
	  dailyBonus_description : &#39;Il bonus giornaliero sarà automaticamente confermata&lt;br&gt;e la finestra non viene più visualizzato&#39;,
	  unnecessaryTexts_description: &#39;Rimuove le descrizioni inutili negli edifici,&lt;br&gt;la lista costruzione di edifici,&lt;br&gt;ridurre al minimo lo scorrimento&#39;,
	  ambrosiaPay_description : &#39;Disattiva le nuove opzioni di acquisto Ambrosia,&lt;br&gt;fare clic sul pulsante annulla l\&#39;azione&#39;,
      wineWarningTime_description : &#39;Tempo rimanente per il vino, \&#39;rosso \&#39; a questo punto&#39;,
      languageChange_description : &#39;Cambiare la lingua&#39;,
      newsticker_description : &#39;Nascondere il ticker per notizie nel GF-Toolbar&#39;,
      event_description : &#39;Nascondere la gli eventi tra i consulenti&#39;,
      logInPopup_description : &#39;Nascondere la finestra informazioni quando login&#39;, //,&lt;br&gt;la finestra \&#39;bonus giornaliero\&#39; rimane attivo&#39;,
      birdswarm_description : &#39;Nascondere lo sciame di uccelli nella vista dell\&#39;isola e vista sulla città&#39;,
      hourlyRes_description : &#39;Nascondere la visualizzazione le risorse orarie nella barra informazioni&#39;,
      onIkaLogs_description : &#39;Usa IkaLogs per i report di battaglia&#39;,
      playerInfo_description : &#39;Guarda le informazioni dai giocatori in vista dell\&#39;isola&#39;,
	  control_description: &#39;Nascondere il centro controllo nell mondo, nella isola e vista sulla città&#39;,
      // settings categories
      visibility_category : &#39;&lt;b&gt;Visibilità Board&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Opzioni di visualizzazione&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Impostazioni globali&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Impostazioni militari&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Impostazioni da costruzione&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Impostazioni delle risorse&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Impostazioni della lingua&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Inizializzare Board&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;Andare sul vostro municipio e passare attraverso ogni città con quella vista aperta&#39;,
	  on_the_Troops : &#39;Andare su \&quot;Truppe nella città\&quot; linguetta sul lato sinistro e passare attraverso ogni città con quella vista aperta&#39;,
	  on_Museum : &#39;Andare in Museo e poi il \&quot;Distribuisci beni culturali\&quot; scheda&#39;,
	  on_Research_Advisor : &#39;Andare a consulente di ricerca e fare clic su ciascuna delle quattro schede nella finestra di ricerca sulla sinistra&#39;,
	  on_your_Palace : &#39;Andare sul Palazzo&#39;,
	  on_your_Finance : &#39;Andare sul scheda Finanza&#39;,
	  on_the_Ambrosia : &#39;Andare sul \&quot;Ambrosia shop\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Organizzare le città nuove&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Ripristina posizione&lt;/b&gt;&#39;,
	  On_any_tab : &#39;Su ogni scheda, trascinare l\&#39;icona di risorse a sinistra del nome della città&#39;,
	  Right_click : &#39;Fare clic destro sul pulsante del menu \&quot;Empire Overview\&quot; sul menù sinistro della pagina&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, +, \\ &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Passare alla città 1 - 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Passare alla scheda Città/ Edilizia/ dell\&#39;Esercito/ Opzioni e Aiuto&#39;,
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Passare alla Città/ Military/ Ricerca/ consulente Diplomazia&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Passare alla visione del mondo/ della Isola/ della Città&#39;,
	  Spacebar : &#39;Barra spaziatrice&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimizzare/ Massimizzare il Board&#39;,
	  Hotkeys : &#39;&lt;b&gt;Comandi Rapidi&lt;/b&gt;&#39;,	  
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Clic&lt;/b&gt;&#39;		
        },
		el:{                     // Thx Minoas for Translation
      buildings: &#39;Κτιρια&#39;,
	  economy: &#39;Oικονομια&#39;,
	  military: &#39;Στρατευμα&#39;,
	  towns: &#39;Πολεις&#39;,
	  academy_: &#39;Ακαδημια&#39;,
	  townhall_: &#39;Δημαρχειο&#39;,
	  dump_: &#39;Αλανα&#39;,
	  warehouse_: &#39;Αποθηκη&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;εμπορευματων&#39;,
	  corruption: &#39;Διαφθορα&#39;,
	  cultural: &#39;Πολιτιστικα αγαθα&#39;,
	  population: &#39;Πληθυσμος&#39;,
	  citizens: &#39;Πολιτες&#39;,
	  scientists: &#39;Ερευνητες&#39;,
	  scientists_max: &#39;Ερευνητες μεγιστο&#39;,
	  options: &#39;Επιλογες&#39;,
	  help: &#39;Βοηθεια&#39;,
	  agora: &#39;to Αγορα&#39;,
	  to_world: &#39;Προβολη Κοσμου&#39;,
	  to_island: &#39;tο Νησι μου&#39;,
	  army_cost: &#39;Κοστος στρατου&#39;,
	  fleet_cost: &#39;Κοστος στολου&#39;,
	  army_supply: &#39;Προμηθεια στρατου&#39;,
	  fleet_supply: &#39;Προμηθεια στολου&#39;,
	  research_cost: &#39;Κοστος ερευνας&#39;,
	  income: &#39;Εσοδα&#39;,
	  expenses: &#39;Δαπανες&#39;,
	  balances: &#39;Ισορροπιες&#39;,	  
      espionage: &#39;Κατασκοπικες αναφορες&#39;,
	  contracts: &#39;Συμβολαια&#39;,
	  combat: &#39;Αναφορες μαχης&#39;,
	  satisfaction: &#39;Ικανοποιηση&#39;,
      total_ : &#39;συνολο&#39;,
      max_Level : &#39;Eπιπεδο ανωτατο οριο&#39;,
      actionP : &#39;Ποντοι Δρασης&#39;,
      researchP : &#39;Ποντοι ερευνας&#39;,
      finances_ : &#39;Oικονομικα&#39;,
      free_ground : &#39;Ελευθερος Οικοδομικος Χωρος&#39;,
      wood_ : &#39;ξυλο&#39;,
      wine_ : &#39;Kρασι&#39;,
      marble_ : &#39;Mαρμαρο&#39;,
      crystal_ : &#39;Kρυσταλλο&#39;,
      sulphur_ : &#39;θειο&#39;,	  
	  angry: &#39;θυμωμενος&#39;,
	  unhappy: &#39;δυστυχης&#39;,
	  neutral: &#39;ουδετερος&#39;,
	  happy: &#39;χαρουμενοι&#39;,
	  euphoric: &#39;ευφορικη&#39;,		  
	  housing_space: &#39;μεγιστος χωρος κατοικιας&#39;,
	  free_Citizens: &#39;ελευθεροι Πολιτες&#39;,
	  free_housing_space: &#39;ελευθερος χωρος κατοικιας&#39;,
	  level_tavern: &#39;Eπιπεδο Ταβερνας&#39;,
	  maximum: &#39;μεγιστο&#39;,
	  used: &#39;χρησιμοποιημενο&#39;,
      plundergold: &#39;χρυσoς&#39;,	  
	  garrision: &#39;Οριο φρουρας&#39;,
	  Sea: &#39;θαλασσης&#39;,
	  Inland: &#39;ξηρας&#39;,		
      full: &#39;0&#39;,
	  off: &#39;μακριά από&#39;,
      time_to_full: &#39;ος γεμισει&#39;,
      time_to_empty: &#39;ος αδιασμα&#39;,
      capacity: &#39;Χωριτηκοτητα&#39;,
      safe: &#39;Σιγουρο&#39;,
      training: &#39;Eκπαιδευση&#39;,	
      plundering: &#39;Λεηλασιες&#39;,	
      constructing: &#39;Επεκτεινεται!&#39;,
	  next_Level: &#39;Χρειαζονται για&lt;br&gt;επιπεδο&#39;,
      transport: &#39;Μεταφορες&#39;,
	  loading: &#39;Φορτωνει&#39;,
	  en_route: &#39;Καθ`οδΟν&#39;,
	  arrived: &#39;εφτασε&#39;,  
      to_town_hall: &#39;προς Δημαρχειο&#39;,
	  to_saw_mill: &#39;προς Πριονιστηριο&#39;, 
      to_mine: &#39;προς Ορυχειο&#39;, 
      to_barracks: &#39;προς Στρατονες&#39;,
      to_shipyard: &#39;προς πολεμικο Ναυπηγειο&#39;,
      member: &#39;προς λιστα Μελων&#39;,
      transporting: &#39;Μεταφορα προς&#39;,
      transporting_units: &#39;Μεταφορα ταγματον&#39;,
      transporting_fleets: &#39;Μεταφορα Αρμαδας&#39;,
	  today: &#39;σημερα&#39;,
	  tomorrow: &#39;αυριο&#39;,
	  yesterday: &#39;εχτες&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;Μ&#39;,
	  week: &#39;Ε&#39;,
	  hour_long: &#39;Ωρα&#39;,
	  day_long: &#39;Μερας&#39;,
	  week_long: &#39;Εβδομαδας&#39;,
      ika_world: &#39;Αναζήτησης Ikariam-World&#39;,
      charts: &#39;δείτε τα Γραφήματα&#39;,	 
      //settings
      cityOrder : &#39;Καταχωρηση πολεων&#39;,
      fullArmyTable :  &#39;Εμφανιση ολων τον πολεμικων δυναμεων&#39;,
      hideOnWorldView : &#39;Αποκρυψη προγραμματος στον κοσμικο χαρτη&#39;,
      hideOnIslandView : &#39;Αποκρυψη προγραμματος στον χαρτη νησιων&#39;,  
      hideOnCityView : &#39;Αποκρυψη προγραμματος στον χαρτη πολεως&#39;,
      onTop : &#39;Ενδειξη προγραμματος στην κορυφη της σελιδας&#39;,
      windowTennis : &#39;Ενδειξη προγραμματος μεσω ποντικιου&#39;,
      autoUpdates : &#39;Αυτοματη επικυρωση σελιδας&#39;,
      smallFont : &#39;Χρηση μικρων γραμματων&#39;,
      alternativeBuildingList : &#39;Χρηση συγκεντρωτικων στοιχειων&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;, //
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;, //
  	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;, //
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;, //
      wineWarningTime : &#39;Προειδοποιηση υπολοιπο κρασιου&#39;,
      languageChange : &#39;Αλλαγη γλωσσας&#39;,
	  current_Version : &#39;Επικαιρη εκδοση&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Version&lt;b&gt;:&lt;/b&gt;&#39;, //
	  reset : &#39;Επαναφορα ρυθμισεις&#39;,
	  goto_website : &#39;Επισκεφτητε τη σελιδα Userscripts.com&#39;,
	  website : &#39;Ηλεκρονικη σελιδα&#39;,
      Check_for_updates : &#39;Ελεγχος για Updates&#39;,
      check : &#39;Ελεγχος Updates&#39;,
      Report_bug : &#39;Αναφορα λαθη στο προγραμμα&#39;,
      report : &#39;Αναφορα λαθος&#39;,
      save : &#39;Save&#39;, //
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;, //	  
      newsticker : &#39;Hide news ticker&#39;, //
      event : &#39;Hide events&#39;, //
	  logInPopup : &#39;Hide the Info Window when login&#39;, //
      birdswarm : &#39;Hide the bird swarm&#39;, //
      hourlyRes : &#39;Hide hourly resources&#39;, //
      onIkaLogs : &#39;Use IkaLog Battle Report Converter&#39;, //
      playerInfo : &#39;Show information about player&#39;, //
	  control: &#39;Hide Control center&#39;, //
	  alert: &#39;Please choose only one option!&#39;, //
	  alert_palace: &#39;Please visit your capital city first&#39;, //
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;, //
	  alert_error: &#39;An error occurred while checking for updates: &#39;, //
	  alert_noUpdate: &#39;No update is available for &quot;&#39;, //
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;, //
	  alert_update1: &#39;Would you like to go to the install page now?&#39;, //
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Αγγλικα&#39;,
      de : &#39;Γερμανικα&#39;,
      it : &#39;Iταλικα&#39;,
      el : &#39;Eλληνικα&#39;,
      es : &#39;Iσπανικα&#39;,
      fr : &#39;Γαλλικα&#39;,
	  ro : &#39;Ρουμανικα&#39;,
	  ru : &#39;Ρωσικα&#39;,
	  cz : &#39;Τσεχικα&#39;,
      pl : &#39;Πολωνoς&#39;,
      ar : &#39;Αραβικα&#39;,
      ir : &#39;Περσικα&#39;,
      pt : &#39;Πορτογαλικα&#39;,
	  tr : &#39;Τουρκικα&#39;,
	  nl : &#39;Ολλανδικα&#39;,
      //settings descriptions
      cityOrder_description : &#39;cityOrder_description&#39;,
      fullArmyTable_description : &#39;Ενδειξη ολων των πιθανων ταγματων στη στρατιωτικη θεα&#39;,
	  hideOnWorldView_description : &#39;Αθετικη αποκρυψη προγραμματος στον κοσμικο χαρτη&#39;,
      hideOnIslandView_description : &#39;Αθετικη αποκρυψη προγραμματος στον χαρτη του νησιου&#39;,
      hideOnCityView_description : &#39;Αθετικη αποκρυψη προγραμματος στον χαρτη πολεως&#39;,
      onTop_description : &#39;Ενδειξη προγραμματος πανω απο το παραθυρο Ικαριαμ&#39;,
      windowTennis_description : &#39;Φερτε σκαφους στην κορυφη για mouseover&lt;br&gt;Αποστολη πισω Ikariam παραθυρα για MouseOut&lt;br&gt;Αγνοει \&#39;στην κορυφη\&#39; επιλογη&#39;,
      autoUpdates_description : &#39;Ενεργοποιηση του αυτοματου ελεγχου&lt;br&gt;(μια φορα καθε 24 ωρες)&#39;,
      smallFont_description : &#39;Χρησιμοποιησε μικρη γραμματοσειρα&#39;,
      alternativeBuildingList_description : &#39;Συγκεντωτικη χρηση τις οψεις τον κτιριον&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;, //
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;, //
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;, //
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;, //
      wineWarningTime_description : &#39;Υπολοιπο χρονου για κραση σε αυτην την πολη&lt;br&gt;\&#39;κοκκινο\&#39; σε αυτο το σημειο&#39;,
      languageChange_description : &#39;Επιλογη γλωσσας&#39;,
      newsticker_description : &#39;Hide news ticker in the GF-toolbar&#39;, //
      event_description : &#39;Hide events under the advisers&#39;, //
      logInPopup_description : &#39;Hide the Info Window when login&#39;, //
      birdswarm_description : &#39;Hide the bird swarm in island and city view&#39;, //
      hourlyRes_description : &#39;Hide hourly resources in the infobar&#39;, //
      onIkaLogs_description : &#39;use IkaLogs for your battle reports&#39;, //
      playerInfo_description : &#39;View information from the players in the island view&#39;, //
	  control_description: &#39;Hide the Control center in world, island and city view&#39;, //
      // settings categories
      visibility_category : &#39;&lt;b&gt;Ορατοτητα προγραμματος&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Επιλογες Εμφανισης&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Παγκοσμιες επιλογες&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Στρατιωτικες επιλογες&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Επιλογες κτιριων&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Επιλογες πορων&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Επιλογες γλωσσας&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Τοποθετηση προγραμματος&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;Πηγαινε στο Δημαρχειο μεσο καθε πολης με ανοιχτο παραθυρο&#39;,
	  on_the_Troops : &#39;Πηγαινε στην αριστερη καρτα καταχωρησης \&quot;Στρατευματα στην πολη\&quot; κε μεσω ανοιχτου παραθηρου σε καθε πολη&#39;,
	  on_Museum : &#39;Πηγαινε στο Μουσειο και μετα στην καρτα καταχωρησης \&quot;Διανομη πολιτιστικων αγαθων\&quot;&#39;,
	  on_Research_Advisor : &#39;Πηγαινε στην ερευνα και μετα στο αριστερο παραθυρο και διαλεςε τις 4 ερευνες&#39;,
	  on_your_Palace : &#39;Πηγαινε στο παλατι&#39;,
	  on_your_Finance : &#39;Πηγαινε στην οικονομικη ανασκοπηση&#39;,
	  on_the_Ambrosia : &#39;Πηγαινε \&quot;Ambrosia Shop\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Καινουρια τακτοποιηση πολεων&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Αποδοση Θεσεων&lt;/b&gt;&#39;,
	  On_any_tab : &#39;Κινιση τον πολεων σε οποιαδηποτε καρτελα πηγων&#39;,
	  Right_click : &#39;Πηγαινε στην καρτελα \&quot;Empire Overview\&quot; και πατησει το δες πληκτρο του ποντικιου&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, -, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Αλλαγη αναμεσα της πολης 1 εως 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Αλλαγη θεα αναμεσα πολης-, κτιριων και στρατευματα&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Αλλαγη θεα αναμεσα πολης-, στρατιωτικων-, η ερευνα και οι συμβουλοι διπλωματιας&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Αλλαγη θεα αναμεσα Κοσμου, νησιου και πολης&#39;,
	  Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Μεγιστοποιει η ελαχιστοποιει το προγραμμα&#39;,
	  Hotkeys : &#39;&lt;b&gt;Πληκτρα συντομευσης&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Kλικ&lt;/b&gt;&#39; 	
		},
		es:{                     // Thx Max783 for Translation
      buildings: &#39;Edificios&#39;,
	  economy: &#39;Economía&#39;,
	  military: &#39;Milicia&#39;,
	  towns: &#39;Ciudades&#39;,
	  academy_: &#39;Academia&#39;,
	  townhall_: &#39;Intendencia&#39;,
	  dump_: &#39;Almacén&#39;,
	  warehouse_: &#39;Depósito&#39;,
	  corruption: &#39;Corrupción&#39;,
	  cultural: &#39; Bienes Culturales&#39;,
	  population: &#39;Población&#39;,
	  citizens: &#39;Ciudadanos&#39;,
	  scientists: &#39;Investigadores&#39;,
	  scientists_max: &#39;Max Investigadores&#39;,
	  options: &#39;Opciones&#39;,
	  help: &#39;Ayuda&#39;,
	  agora: &#39;Ágora&#39;,
	  to_world: &#39;Mostrar Mundo&#39;, 
	  to_island: &#39;Mostrar Isla&#39;,
	  army_cost: &#39;Costo del Ejército&#39;,
	  fleet_cost: &#39;Costo la Flota&#39;,
	  army_supply: &#39;Suministro del Ejército&#39;,
	  fleet_supply: &#39;Suministro la Flota&#39;,
	  research_cost: &#39;Costo de Investigación&#39;, 
	  income: &#39;Ingresos&#39;,
	  expenses: &#39;Cargos&#39;,
	  balances: &#39;Balances&#39;,	  
      espionage: &#39;Mostrar Informes de espionaje&#39;,
	  contracts: &#39;Mostrar Acuerdo&#39;,
	  combat: &#39;Mostrar Informes de guerra&#39;,
	  satisfaction: &#39;Satisfacción&#39;,
      total_ : &#39;total&#39;,
      max_Level : &#39;Nivel máximo&#39;,
      actionP : &#39;Puntos de acción&#39;,
      researchP : &#39;Puntos de Investigación&#39;,
      finances_ : &#39;Finanzas&#39;,
      free_ground : &#39;Terreno libre&#39;, 
      wood_ : &#39;Madera&#39;,
      wine_ : &#39;Vino&#39;,
      marble_ : &#39;Mármol&#39;, 
      crystal_ : &#39;Cristal&#39;,
      sulphur_ : &#39;Azufre&#39;,		  
	  angry: &#39;enojado&#39;,
	  unhappy: &#39;infeliz&#39;,
	  neutral: &#39;neutro&#39;,
	  happy: &#39;feliz&#39;,
	  euphoric: &#39;eufórico&#39;,	  
	  housing_space: &#39;Espacio habitable máximo&#39;,
	  free_Citizens: &#39;Ciudadanos libres&#39;,
	  free_housing_space: &#39;Espacio habitable libre&#39;,
	  level_tavern: &#39;Nivel Taberna&#39;,
	  maximum: &#39;máximo&#39;,
	  used: &#39;usado&#39;,
      plundergold: &#39;Oro&#39;,	  
	  garrision: &#39;Límite de guarnición&#39;,
	  Sea: &#39;de Mar&#39;,
	  Inland: &#39;de Tierra&#39;,		
      full: &#39;0&#39;,
	  off: &#39;apagado&#39;,
      time_to_full: &#39;para llenar&#39;,
      time_to_empty: &#39;para vaciar&#39;,
      capacity: &#39;Capacidad&#39;,
      safe: &#39;Seguro&#39;,	
      training: &#39;Entrenando&#39;,		
      plundering: &#39;Saqueando&#39;,		
      constructing: &#39;Ampliación en progreso&#39;,
	  next_Level: &#39;Necesario para&lt;br&gt;el nivel&#39;,
      transport: &#39;Transportes&#39;,
	  loading: &#39;cargando&#39;,
	  en_route: &#39;en marcha&#39;,
	  arrived: &#39;llegado&#39;,	  
      to_town_hall: &#39;a la Intendencia de&#39;,
	  to_saw_mill: &#39;Al aserradero&#39;,
      to_mine: &#39;Al bien de lujo&#39;,
      to_barracks: &#39;a Cuartel de&#39;,
      to_shipyard: &#39;a el Astillero de&#39;,
      member: &#39;Lista de miembros&#39;,
      transporting: &#39;Transporte en&#39;,
      transporting_units: &#39;Desplegar Tropas a&#39;,
      transporting_fleets: &#39;Desplegar Flotas a&#39;,
	  today: &#39;hoy&#39;,
	  tomorrow: &#39;mañana&#39;,
	  yesterday: &#39;ayer&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;D&#39;,
	  week: &#39;S&#39;,
	  hour_long: &#39;Hora&#39;,
	  day_long: &#39;Día&#39;,
	  week_long: &#39;Semana&#39;,
      ika_world: &#39;Buscar Ikariam-World&#39;,
      charts: &#39;Mostrar Gráficos&#39;,	 	  
      //settings
      cityOrder : &#39;Ordene los ciudades&#39;,
      fullArmyTable : &#39;Mostrar todas las unidades militares&#39;,
      hideOnWorldView : &#39;Ocultar al Mostrar mundo&#39;,
      hideOnIslandView : &#39;Ocultar al Mostrar isla&#39;,	  
      hideOnCityView : &#39;Ocultar al Mostrar ciudad&#39;,
      onTop : &#39;Mostrar encima de las ventanas de Ikariam&#39;,
      windowTennis : &#39;Mostrar arriba de las ventanas de Ikariam al posicionar el mouse&#39;,
      autoUpdates : &#39;Comprobar automáticamente si hay actualizaciones&#39;,
      smallFont : &#39;Utilizar una fuente más pequeña&#39;,
      alternativeBuildingList : &#39;Utilizar la lista de edificios alternativa&#39;,
      compressedBuildingList : &#39;Usar la vista comprimida de edificios&#39;,
      wineOut : &#39;Desactivar la opción de Ambrosía cuando te quedas sin vino&#39;,
	  dailyBonus : &#39;Confirmar automaticamente el bonus diario&#39;,
  	  unnecessaryTexts : &#39;Remover descripciones innecesarias&#39;,
	  ambrosiaPay : &#39;Desactivar las nuevas opciones de compra de Ambrosía&#39;,
      wineWarningTime : &#39;Advertencia cuando se esté acabando el vino&#39;,
      languageChange : &#39;Cambiar Idioma&#39;,
	  current_Version : &#39;La versión actual&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;La versión Ikariam&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Restablecer los ajustes por defecto&#39;,
	  goto_website : &#39;Ir al sitio de Userscripts.com&#39;,
	  website : &#39;Sitio web&#39;, 
      Check_for_updates : &#39;Buscar actualizaciones&#39;,
      check : &#39;Buscar actualizaciones&#39;, 
      Report_bug : &#39;Notificar un error en el script&#39;,
      report : &#39;Informar de un error&#39;,
      save : &#39;Guardar&#39;,
      save_settings : &#39;Guardar cambios&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;Ocultar noticias&#39;,
      event : &#39;Ocultar eventos&#39;,
	  logInPopup : &#39;Ocultar la ventana de info al loguearse&#39;,
      birdswarm : &#39;Ocultar las aves&#39;,
      hourlyRes : &#39;Ocultar los recursos por hora&#39;,
      onIkaLogs : &#39;Utilizar el convertidor de batallas de Ikalogs&#39;,
      playerInfo : &#39;Mostrar información sobre el jugador&#39;,
	  control: &#39;Ocultar barra inferior de control&#39;,
	  alert: &#39;¡Sólo se admite una sola opción!&#39;,
	  alert_palace: &#39;Visite antes la ciudad capital, por favor.&#39;,
	  alert_toast: &#39;Script reiniciado, recargando página en unos segundos&#39;,
	  alert_error: &#39;Un error ha ocurrido al comprobar actualizaciones: &#39;,
	  alert_noUpdate: &#39;No hay actualizaciones disponibles para &quot;&#39;,
	  alert_update: &#39;Hay una actualización para el script de Greasemonkey! &quot;&#39;,
	  alert_update1: &#39;¿Desea ir a la página del script?&#39;,
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Inglés&#39;,
      de : &#39;Alemán&#39;,
      it : &#39;Italiano&#39;,
      el : &#39;Griego&#39;,
      es : &#39;Español&#39;,
      fr : &#39;Francés&#39;,
	  ro : &#39;Rumano&#39;,
	  ru : &#39;Ruso&#39;,
	  cz : &#39;Checo&#39;,
      pl : &#39;Polaco&#39;,
      ar : &#39;Arábico&#39;,
      ir : &#39;Persa&#39;,
      pt : &#39;Portugués&#39;,
	  tr : &#39;Turco&#39;,
	  nl : &#39;Holandés&#39;,
      //settings descriptions
      cityOrder_description : &#39;Orden de la descripción de ciudades&#39;,
      fullArmyTable_description : &#39;Mostrar todos los tipos de unidades militares aún al no tenerlas&#39;,
	  hideOnWorldView_description : &#39;Ocultar por defecto cuando se ve el mundo&#39;,
      hideOnIslandView_description : &#39;Ocultar por defecto cuando se ve la isla&#39;,
      hideOnCityView_description : &#39;Ocultar por defecto cuando se ve la ciudad&#39;,
      onTop_description : &#39;Mostrar tabla de arriba de las ventanas de Ikariam&#39;,
      windowTennis_description : &#39;Llevar tablero sobre las ventanas de Ikariam al posar el mouse sobre el&lt;br&gt;Enviar Ikariam detrás de las ventanas de Ikariam al posar el mouse sobre el&lt;br&gt;No tiene en cuenta la opción de \&#39;alto\&#39;&#39;,
      autoUpdates_description : &#39;Habilitar la comprobación de actualización automática&lt;br&gt;(Una vez cada 24 horas)&#39;,
      smallFont_description : &#39;Utilice una fuente más pequeña para las tablas de datos&#39;,
      alternativeBuildingList_description : &#39;Utilizar la lista de construcción alternativa&#39;,
      compressedBuildingList_description : &#39;Usar la vista comprimida de edificios&lt;br&gt;Juntar los edificios de producción de recursos&lt;br&gt;Juntar palacio y residencias del gobernador&#39;,
      wineOut_description : &#39;Desactiva el cartel de ambrosía al quedarte sin vino&#39;,
	  dailyBonus_description : &#39;El bonus diario se confirma automaticamente&lt;br&gt;y esa ventana no se mostrará más.&#39;,
	  unnecessaryTexts_description: &#39;Elimina las descripciones innecesarias en la lista de construcción de edificios, reduce el desplazamiento&#39;,
	  ambrosiaPay_description : &#39;Desactiva el cartel de compras de Ambrosía,&lt;br&gt;Cliquear el botón cancela la acción&#39;,
      wineWarningTime_description : &#39;Tiempo restante del vino se convierte, \&#39;rojo\&#39; en ese momento&#39;,
      languageChange_description : &#39;Cambiar el idioma&#39;,
      newsticker_description : &#39;Oculta las noticias en la barra de Gameforge&#39;,
      event_description : &#39;Oculta los carteles de eventos&#39;,
      logInPopup_description : &#39;Oculta la ventana de info al loguearte&#39;, //El cartel de \&#39;Bonus Diario\’ permanece activo
      birdswarm_description : &#39;Oculta las aves en la vista de isla y ciudad&#39;,
      hourlyRes_description : &#39;Ocultar los recursos por hora en la barra de info&#39;,
      onIkaLogs_description : &#39;Utilizar IkaLogs para sus informes de batalla&#39;,
      playerInfo_description : &#39;Ver información de los jugadores de la opinión de la isla&#39;,
	  control_description: &#39;Oculta la barra de control inferior en vistas de ciudad, isla y mundo (Mantiene coordenadas)&#39;,
      // settings categories
      visibility_category : &#39;&lt;b&gt;Visibilidad del Tablero&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Ajustes de pantalla&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Ajustes globales&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Ajustes del Ejército&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Ajustes de edificio&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Configuración de recursos&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Configuración de idioma&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Inicializar Tablero&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;Vaya a la intendencia y pase por todas sus ciudades con esta vista&#39;,
	  on_the_Troops : &#39;Vaya a la pestaña de \&quot;Tropas en la ciudad\&quot; en la parte izquierda y pase por cada ciudad con esta vista&#39;,
	  on_Museum : &#39;Vaya al museo y luego haga clic en  \&quot;Distribuir bienes culturales\&quot;&#39;,
	  on_Research_Advisor : &#39;Vaya al Ayudante de Investigación y pase por los 4 temas de investigación&#39;,
	  on_your_Palace : &#39;Vaya al Palacio&#39;,
	  on_your_Finance : &#39;Vaya a las finanzas (Donde se ve el oro)&#39;,
	  on_the_Ambrosia : &#39;Vaya a la \&quot;Tienda de ambrosía\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Reordenar ciudades&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Restablecer Posición&lt;/b&gt;&#39;,
	  On_any_tab : &#39;Sobre el ícono de recurso de cada ciudad, hágale clic y múevalo a la posición deseada&#39;,
	  Right_click : &#39;Haga clic derecho sobre el la pestaña de \&quot;Empire Overview\&quot; en el menú izquierdo de la página&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, \&#39;, + &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Cambiar entre las ciudades 1-12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Vaya a Ciudad / Construcción / Ejército&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Vaya a Ciudades / Milicia / Investigación / Diplomacia&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Vaya a la visión del mundo / isla / ciudad&#39;,
	  Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimizar / Maximizar el tablero&#39;,
	  Hotkeys : &#39;&lt;b&gt;Teclas de acceso rápido&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Clic&lt;/b&gt;&#39;		
		},
        fr:{                     // Thx randalph for Translation
      buildings: &#39;Bâtiments&#39;,  
      economy: &#39;Ressources&#39;,  
      military: &#39;Armée&#39;,  
      towns: &#39;Villes&#39;,  
      academy_: &#39;Académie&#39;,  
      townhall_: &#39;Hôtel de ville&#39;,  
      dump_: &#39;Dépot&#39;,  
      warehouse_: &#39;Entrepôt&#39;,  
      tavern_level: &#39;Niveau taverne&#39;,  
      corruption: &#39;Corruption&#39;,  
      cultural: &#39;Traités culturels&#39;,  
      population: &#39;Population&#39;,  
      citizens: &#39;Citoyens&#39;,  
      scientists: &#39;Scientifiques&#39;,  
      scientists_max: &#39;max. Scientifiques&#39;,  
      options: &#39;Options&#39;,  
      help: &#39;Aide&#39;,  
      agora: &#39;Vers l\&#39;Agora&#39;,  
      to_world: &#39;Vers le monde&#39;, 
      to_island: &#39;Vers l\&#39;île&#39;,
      army_cost: &#39;Coût de l\&#39;armée&#39;,  
      fleet_cost: &#39;Coût de la flotte&#39;,  
      army_supply: &#39;Entretien de l\&#39;armée&#39;,  
      fleet_supply: &#39;Entretien de la flotte&#39;,  
      research_cost: &#39;Coût de la recherche&#39;,   
      income: &#39;Revenu&#39;,  
      expenses: &#39;Dépense&#39;,  
      balances: &#39;Résultat&#39;,        
      espionage: &#39;Voir la cachette&#39;,  
      contracts: &#39;Afficher contrats&#39;,
      combat: &#39;Rapport de combats&#39;,  
      satisfaction: &#39;Satisfaction&#39;,  
      total_ : &#39;total&#39;,  
      max_Level : &#39;Niveau maximal&#39;,  
      actionP : &#39;Points d\&#39;Action&#39;,  
      researchP : &#39;Points de recherche&#39;,  
      finances_ : &#39;Finances&#39;,  
      free_ground : &#39;emplacement(s) libre&#39;,  
      wood_ : &#39;Bois&#39;,  
      wine_ : &#39;Vin&#39;,  
      marble_ : &#39;Marbre&#39;,   
      crystal_ : &#39;Cristal&#39;,   
      sulphur_ : &#39;Soufre&#39;,      
      angry: &#39;furieux&#39;,  
      unhappy: &#39;malheureux&#39;,  
      neutral: &#39;neutre&#39;,  
      happy: &#39;heureux&#39;,  
      euphoric: &#39;euphorique&#39;,       
      housing_space: &#39;max. espace(s) de logement&#39;,  
      free_Citizens: &#39;Inactifs&#39;,  
      free_housing_space: &#39;Espace(s) de logement libre&#39;,  
      level_tavern: &#39;Niveaux taverne&#39;,  
      maximum: &#39;maximum&#39;,  
      used: &#39;disponible&#39;,
      plundergold: &#39;Or&#39;,	  
      garrision: &#39;Limite de garnison&#39;,  
      Sea: &#39;en mer&#39;,  
      Inland: &#39;à terre&#39;,        
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;avant max.&#39;,  
      time_to_empty: &#39;restant&#39;,  
      capacity: &#39;Capacité&#39;,  
      safe: &#39;Sécurisé&#39;,     
      training: &#39;Entrainement&#39;,       
      plundering: &#39;Plundering&#39;,       
      constructing: &#39;Construction en cours&#39;,  
      next_Level: &#39;Nécessaire pour&lt;br&gt;le niveau&#39;,  
      transport: &#39;Transports&#39;,  
      loading: &#39;chargement&#39;,  
      en_route: &#39;en route&#39;,  
      arrived: &#39;arrivé&#39;,       
      to_town_hall: &#39;Vers l\&#39;hôtel de ville&#39;,  
      to_saw_mill: &#39;Vers la scierie&#39;,  
      to_mine: &#39;Vers la mine&#39;,  
      to_barracks: &#39;Vers la caserne&#39;,  
      to_shipyard: &#39;Vers le chantier naval&#39;,  
      member: &#39;Liste des membres&#39;,  
      transporting: &#39;Transporter vers&#39;,  
      transporting_units: &#39;Deplacer des troupes vers&#39;,  
      transporting_fleets: &#39;Deplacer des navires vers&#39;,  
      today: &#39;aujourd\&#39;hui&#39;,  
      tomorrow: &#39;demain&#39;,  
      yesterday: &#39;hier&#39;,  
      hour: &#39;h&#39;,  
      day: &#39;J&#39;,  
      week: &#39;S&#39;,  
      hour_long: &#39;Heure&#39;,  
      day_long: &#39;Jour&#39;,  
      week_long: &#39;Semaine&#39;,
      ika_world: &#39;Recherche Ikariam-World&#39;,
      charts: &#39;Afficher Graphiques&#39;,		  
      //settings  
      cityOrder : &#39;cityOrder&#39;,  
      fullArmyTable :  &#39;Afficher toutes les unitées&#39;,  
      hideOnWorldView : &#39;Cacher en vue carte du monde&#39;,  
      hideOnIslandView : &#39;Cacher en vue d\&#39;île&#39;,       
      hideOnCityView : &#39;Cacher en vue de ville&#39;,  
      onTop : &#39;Toujours au-dessus&#39;,  
      windowTennis : &#39;Afficher au passage de la souris&#39;,  
      autoUpdates : &#39;Mise à jour automatique&#39;,  
      smallFont : &#39;Utiliser une police plus petite&#39;,  
      alternativeBuildingList : &#39;Regrouper les batiments spéciaux par catégorie&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;, //
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;, //
  	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;, //
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;, //
      wineWarningTime : &#39;Alerte sur conso de vin&#39;,  
      languageChange : &#39;Changer Langage&#39;,  
      current_Version : &#39;Version actuelle&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Version Ikariam&lt;b&gt;:&lt;/b&gt;&#39;,
      reset : &#39;Réinitialiser les réglages par défaut&#39;,  
      goto_website : &#39;Aller sur Userscripts.com website&#39;,  
      website : &#39;Website&#39;,   
      Check_for_updates : &#39;Forcer la mise à jour&#39;,  
      check : &#39;Vérifier les mises à jour&#39;,   
      Report_bug : &#39;Signaler un bug sur le script&#39;,  
      report : &#39;Rapport de bug&#39;,
      save : &#39;Save&#39;,
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;Cacher ticker de nouvelles&#39;,
      event : &#39;Cacher les événements&#39;,
	  logInPopup : &#39;Hide the Info Window when login&#39;, //
      birdswarm : &#39;Cacher volée des oiseaux&#39;,
      hourlyRes : &#39;Cacher ressources horaires&#39;,
      onIkaLogs : &#39;Use IkaLog Battle Report Converter&#39;, //
      playerInfo : &#39;Show information about player&#39;, //
	  control: &#39;Hide Control center&#39;, //
	  alert: &#39;Please choose only one option!&#39;, //
	  alert_palace: &#39;Please visit your capital city first&#39;, //
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;, //
	  alert_error: &#39;An error occurred while checking for updates: &#39;, //
	  alert_noUpdate: &#39;No update is available for &quot;&#39;, //
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;, //
	  alert_update1: &#39;Would you like to go to the install page now?&#39;, //
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Anglais&#39;,  
      de : &#39;Allemand&#39;,  
      it : &#39;Italien&#39;,  
      el : &#39;Grecque&#39;,  
      es : &#39;Espagnol&#39;,  
      fr : &#39;Français&#39;,  
      ro : &#39;Roumain&#39;,
      ru : &#39;Russie&#39;,
	  cz : &#39;Tchèque&#39;,
      pl : &#39;Polonais&#39;,
      ar : &#39;Arabic&#39;,
      ir : &#39;Persan&#39;,
      pt : &#39;Portugais&#39;,
	  tr : &#39;Turc&#39;,
	  nl : &#39;Néerlandais&#39;,
      //settings descriptions  
      cityOrder_description : &#39;cityOrder_description&#39;,  
      fullArmyTable_description : &#39;Afficher toutes les unités possible dans l\&#39;onglet armée&#39;,  
      hideOnWorldView_description : &#39;Cacher par défaut en vue carte du monde&#39;,  
      hideOnIslandView_description : &#39;Cacher par défaut en vue d\&#39;île&#39;,  
      hideOnCityView_description : &#39;Cacher par défaut en vue de ville&#39;,  
      onTop_description : &#39;Afficher le tableau sur la fenêtre d\&#39;ikariam&#39;,  
      windowTennis_description : &#39;Affiche le tableau au passage du pointeur&lt;br&gt;Ignoré avec option \&#39;Toujours au-dessus\&#39; coché&#39;,  
      autoUpdates_description : &#39;Activer mise à jour automatique&lt;br&gt;(toute les 24hrs)&#39;,  
      smallFont_description : &#39;Utiliser des caractères plus petits pour l\&#39;affichage des données du tableau&#39;,  
      alternativeBuildingList_description : &#39;Regrouper les bâtiments spéciaux de collecte améliorée&lt;br&gt;et d\‘économie des ressources en fin de tableau&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;, //
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;, //
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;, //
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;, //
      wineWarningTime_description : &#39;Le temps restant affiché devient, \&#39;rouge\&#39; à partir de la valeur choisi&#39;,  
      languageChange_description : &#39;Changer la langue&#39;, //
      newsticker_description : &#39;Hide news ticker in the GF-toolbar&#39;, //
      event_description : &#39;Hide events under the advisers&#39;, //
      logInPopup_description : &#39;Hide the Info Window when login&#39;, //
      birdswarm_description : &#39;Hide the bird swarm in island and city view&#39;, //
      hourlyRes_description : &#39;Hide hourly resources in the infobar&#39;, //
      onIkaLogs_description : &#39;Utiliser IkaLogs pour vos rapports de combat&#39;,
      playerInfo_description : &#39;Afficher les informations des acteurs de la vue sur l\&#39;île&#39;,
	  control_description: &#39;Hide the Control center in world, island and city view&#39;,
      // settings categories  
      visibility_category : &#39;&lt;b&gt;Affichage du tableau&lt;/b&gt;&#39;,  
      display_category : &#39;&lt;b&gt;Options d\&#39;affichage&lt;/b&gt;&#39;,  
      global_category : &#39;&lt;b&gt;Options globale&lt;/b&gt;&#39;,  
      army_category : &#39;&lt;b&gt;Réglages armée&lt;/b&gt;&#39;,  
      building_category : &#39;&lt;b&gt;Réglages bâtiments&lt;/b&gt;&#39;,  
      resource_category : &#39;&lt;b&gt;Réglages ressources&lt;/b&gt;&#39;,  
      language_category : &#39;&lt;b&gt;Choisir la langue&lt;/b&gt;&#39;,  
      // Helptable  
      Initialize_Board : &#39;&lt;b&gt;Initialisation du script&lt;/b&gt;&#39;,  
      on_your_Town_Hall : &#39;sur un hôtel de ville et visite chaque ville avec cette vue ouverte&#39;,  
      on_the_Troops : &#39;sur l\&#39;onglet \&quot;Troupes dans la ville\&quot; à gauche et visite chaque ville avec cette vue ouverte&#39;,  
      on_Museum : &#39;sur un musée et ensuite sur l\&#39;onglet \&quot;Distribuer les biens culturels\&quot;&#39;,  
      on_Research_Advisor : &#39;sur le conseiller de recherche et clik sur les 4 domaines de recherche à gauche de l\&#39;écran&#39;,  
      on_your_Palace : &#39;sur le Palais&#39;,  
      on_your_Finance : &#39;sur l\&#39;onglet Finances&#39;,  
      on_the_Ambrosia : &#39;sur l\&#39;onglet \&quot;Ikariam PLUS\&quot;&#39;,  
      Re_Order_Towns : &#39;&lt;b&gt;Modifier l\&#39;ordre des villes&lt;/b&gt;&#39;,  
      Reset_Position : &#39;&lt;b&gt;Reset Position&lt;/b&gt;&#39;,  
      On_any_tab : &#39;Dans le tableau cliquez/déposez l\&#39;icone de ressources à coté du nom &lt;br&gt;de la ville (une croix remplace le pointeur) pour modifier l\&#39;ordre d\&#39;affichage de vos villes&#39;,  
      Right_click : &#39;Faites un clik droit sur le bouton “Empire overview a gauche de l\&#39;écran&#39;,
      Navigate : &#39;1, 2, 3 ... 0, ), = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Rendez vous à la ville 1 jusqu\&#39;à 12&#39;,  
      Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Affichez les onglets: Ressources/Bâtiments/Armée&#39;, // Setting/ Help tab
      Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Naviguez entre vos conseillers&#39;,  
      Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Naviguez vers les vues: Monde/Île/Ville&#39;,  
      Spacebar : &#39;Espace&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Afficher/Cacher le tableau&#39;,  
      Hotkeys : &#39;&lt;b&gt;Touches de raccourcis&lt;/b&gt;&#39;,  
      // formatting  
      thousandSeperator : &#39;,&#39;,  
      decimalPoint:&#39;.&#39;,  
      click_:&#39;&lt;b&gt;Clik&lt;/b&gt;&#39;        
        },
		ro:{                     // Thx corectsunt for Translation
      buildings: &#39;Clădiri&#39;,
	  economy: &#39;Economia&#39;,
	  military: &#39;Armata&#39;,
	  towns: &#39;Orașe&#39;,
	  academy_: &#39;Academia&#39;,
	  townhall_: &#39;Primăria&#39;,
	  dump_: &#39;SuperMagazie&#39;,
	  warehouse_: &#39;Magazie&#39;,
	  tavern_level: &#39;Nivelul Taraveneil&#39;,
	  corruption: &#39;Corupție&#39;,
	  cultural: &#39;Bunuri culturale&#39;,
	  population: &#39;Populația&#39;,
	  citizens: &#39;Cetățeni&#39;,
	  scientists: &#39;Cercetători&#39;,
	  scientists_max: &#39;nr. max. de Cercetători&#39;,
	  options: &#39;Opțiuni&#39;,
	  help: &#39;Ajutor&#39;,
	  agora: &#39;Către Agora&#39;,
	  to_world: &#39;Arată lumea&#39;, 
	  to_island: &#39;Arată insula&#39;,
	  army_cost: &#39;Costuri Fundamentale trupe&#39;,
	  fleet_cost: &#39;Costuri Fundamentale flotă&#39;,
	  army_supply: &#39;Costuri de aprovizionare trupe&#39;,
	  fleet_supply: &#39;Costuri de aprovizionare flotă&#39;,
	  research_cost: &#39;Costuri de cercetare&#39;, 
	  income: &#39;Venit&#39;,
	  expenses: &#39;Întreținere&#39;,
	  balances: &#39;Balanța&#39;,	  
      espionage: &#39;Vezi Ascunzătoarea&#39;,
	  contracts: &#39;Vezi Tratatele&#39;,
	  combat: &#39;Vezi Rapoartele de luptă&#39;,
	  satisfaction: &#39;Satisfacție&#39;,
      total_ : &#39;Total&#39;, 
      max_Level : &#39;Nivel maxim&#39;,
      actionP : &#39;Puncte de acțiune&#39;,
      researchP : &#39;Puncte de cercetare&#39;,
      finances_ : &#39;Finanțe&#39;,
      free_ground : &#39;Teren liber de construcție&#39;,
      wood_ : &#39;Lemn&#39;,
      wine_ : &#39;Vin&#39;,
      marble_ : &#39;Marmură&#39;,
      crystal_ : &#39;Cristal&#39;,
      sulphur_ : &#39;Sulf&#39;,  
	  angry: &#39;mânios&#39;,
	  unhappy: &#39;nefericit&#39;,
	  neutral: &#39;neutru&#39;,
	  happy: &#39;bucuros&#39;,
	  euphoric: &#39;euforic&#39;,	  
	  housing_space: &#39;Capacitate locuire&#39;,
	  free_Citizens: &#39;Cetățeni liberi&#39;,
	  free_housing_space: &#39;Capacitate locuire liberă&#39;,
	  level_tavern: &#39;Nivelul Taranevei&#39;,
	  maximum: &#39;maxim&#39;,
	  used: &#39;folosit&#39;,
      plundergold: &#39;Aur&#39;,	  
	  garrision: &#39;Limita garnizoanei&#39;,
	  Sea: &#39;Naval&#39;,
	  Inland: &#39;Terestru&#39;,		
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;până la umplere&#39;,
      time_to_empty: &#39;până la golire&#39;,
      capacity: &#39;Capacitate&#39;,
      safe: &#39;În sig.&#39;,
      training: &#39;Unități programate&lt;br&gt;la antrenament&#39;,		
      plundering: &#39;Jefuire&#39;,		
      constructing: &#39;Extindere în curs&#39;,
	  next_Level: &#39;Necesar pentru&lt;br&gt;Nivelul&#39;,
      transport: &#39;Transport&#39;,
	  loading: &#39;încărcare&#39;,
	  en_route: &#39;în curs de desf.&#39;, 
	  arrived: &#39;sosire&#39;,	  
      to_town_hall: &#39;Către Primăria&#39;,
	  to_saw_mill: &#39;Către Pădure&#39;,
      to_mine: &#39;Către bunuri de lux&#39;,
      to_barracks: &#39;Către Cazarma&#39;,
      to_shipyard: &#39;Către Șantierul Naval&#39;,
      member: &#39;Vezi Lista Membrilor&#39;,
      transporting: &#39;Transport la&#39;,
      transporting_units: &#39;Deplasează armata la&#39;,
      transporting_fleets: &#39;Deplasează flota la&#39;,
	  today: &#39;astăzi&#39;,
	  tomorrow: &#39;mâine&#39;,
	  yesterday: &#39;ieri&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;Z&#39;,
	  week: &#39;S&#39;,
	  hour_long: &#39;Ore&#39;,
	  day_long: &#39;Zile&#39;,
	  week_long: &#39;Săptămâni&#39;,
      ika_world: &#39;Caută Ikariam-World&#39;,
      charts: &#39;Vezi Grafice&#39;,	  
      //settings
      cityOrder : &#39;cityOrder&#39;,
      fullArmyTable : &#39;Arată toate unitățile militare&#39;,
      hideOnWorldView : &#39;Ascunde fereastra la vederea lumii&#39;,
      hideOnIslandView : &#39;Ascunde fereastra la vederea insulei&#39;,
      hideOnCityView : &#39;Ascunde fereastra la vederea orașului&#39;,
      onTop : &#39;Arată în fața ferestrei Ikariam&#39;,
      windowTennis : &#39;Arată fereasta în față la apropierea mouse-ului&#39;,
      autoUpdates : &#39;Verifică actualizările automat&#39;,
      smallFont : &#39;Utilizați caractere mai mici&#39;,
      alternativeBuildingList : &#39;Utilizați lista alternativă de construcții&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;, //
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;, //
  	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;, //
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;, //
      wineWarningTime : &#39;Avertizare vin rămas&#39;,
      languageChange : &#39;Schimbă Limba&#39;,
      current_Version : &#39;Versiunea curentă:&#39;,
	  ikariam_Version : &#39;Versiunea Ikariam&lt;b&gt;:&lt;/b&gt;&#39;,
      reset : &#39;Resetați toate setările la valorile implicite&#39;,
      goto_website : &#39;Dute la site-ul scrip-ului Userscripts.com&#39;,
      website : &#39;Website&#39;,
      Check_for_updates : &#39;Forțează verificarea de actualizări&#39;,
      check : &#39;Verificați dacă există actualizări&#39;,
      Report_bug : &#39;Raportează o eroare în script&#39;,
      report : &#39;Raportează Eroare&#39;,
      save : &#39;Save&#39;, //
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;, //  
      newsticker : &#39;Hide news ticker&#39;, //
      event : &#39;Hide events&#39;, //
	  logInPopup : &#39;Hide the Info Window when login&#39;, //
      birdswarm : &#39;Hide the bird swarm&#39;, //
      hourlyRes : &#39;Hide hourly resources&#39;, //
      onIkaLogs : &#39;Use IkaLog Battle Report Converter&#39;, //
      playerInfo : &#39;Show information about player&#39;, //
	  control: &#39;Hide Control center&#39;, //
	  alert: &#39;Please choose only one option!&#39;, //
	  alert_palace: &#39;Please visit your capital city first&#39;, //
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;, //
	  alert_error: &#39;An error occurred while checking for updates: &#39;, //
	  alert_noUpdate: &#39;No update is available for &quot;&#39;, //
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;, //
	  alert_update1: &#39;Would you like to go to the install page now?&#39;, //
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Engleză&#39;,
      de : &#39;Germană&#39;,
      it : &#39;Italiană&#39;,
      el : &#39;Greacă&#39;,
      es : &#39;Spaniolă&#39;,
      fr : &#39;Franceză&#39;,
      ro : &#39;Română&#39;,
      ru : &#39;Rusă&#39;,
	  cz : &#39;Cehă&#39;,
      pl : &#39;Polonez&#39;,
      ar : &#39;Arabă&#39;,	
      ir : &#39;Persană&#39;,
      pt : &#39;Portugheză&#39;,
	  tr : &#39;Turcă&#39;,
	  nl : &#39;Olandez&#39;,
      //settings descriptions
      cityOrder_description : &#39;cityOrder_description&#39;,
      fullArmyTable_description : &#39;Arată toate unitățile militare posibile în fila Armatei&#39;,
      hideOnWorldView_description : &#39;Ascunde în mod implicit tabla pe vederea asupra lumii&#39;,
      hideOnIslandView_description : &#39;Ascunde în mod implicit tabla pe vederea asupra insulei&#39;,
      hideOnCityView_description : &#39;Ascunde în mod implicit tabla pe vederea asupra orașului&#39;,
      onTop_description : &#39;Arată tabla înaintea (în prim-plan) ferestrei Ikariam&#39;,
      windowTennis_description : &#39;Aduce tabla înintea (în prim-plan) ferestrei Ikariam prin apropierea cu mouse-ului&lt;br&gt;Trimite în spatele fereastrei Ikariam la depărtarea mouse-ului&lt;br&gt;Ignoră opțiunea “înainte” (prim-plan)&#39;,
      autoUpdates_description : &#39;Permite verificarea de actualizare automată&lt;br&gt;(O dată la fiecare 24 de ore)&#39;,
      smallFont_description : &#39;Utilizați un font mai mic pentru datele din tabele&#39;,
      alternativeBuildingList_description : &#39;Utilizați tabelul de clădiri alternativ&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;, //
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;, //
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;, //
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;, //
      wineWarningTime_description : &#39;Timpul în care a mai rămas devine \&#39;roșu\&#39; în acest punct&#39;,
      languageChange_description : &#39;Schimbă Limba&#39;,
      newsticker_description : &#39;Hide news ticker in the GF-toolbar&#39;, //
      event_description : &#39;Hide events under the advisers&#39;, //
      logInPopup_description : &#39;Hide the Info Window when login&#39;, //
      birdswarm_description : &#39;Hide the bird swarm in island and city view&#39;, //
      hourlyRes_description : &#39;Hide hourly resources in the infobar&#39;, //
      onIkaLogs_description : &#39;use IkaLogs for your battle reports&#39;, //
      playerInfo_description : &#39;View information from the players in the island view&#39;, //
	  control_description: &#39;Hide the Control center in world, island and city view&#39;, //
      // settings categories
      visibility_category : &#39;&lt;b&gt;Vizibilitatea tablei&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Setări afișaj&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Setări globale&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Setări ale armatei&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Setări de construcții&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Setări de resurse&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Setări de limbă&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Inițializare tablă (script)&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;pe Primărie și trecere prin fiecare oraș cu acest punct de vedere de deschidere&#39;,
	  on_the_Troops : &#39;pe \&quot;Trupele aflate in oras\&quot; fila de pe partea stângă și du-te prin fiecare oraș cu acest punct de vedere de deschidere&#39;,
	  on_Museum : &#39;pe Muzeu și apoi pe fila \&quot;Distribuirea bunurilor culturale\&quot;&#39;,
	  on_Research_Advisor : &#39;pe \&quot;Îndrumătorul\&quot; în cercetare și apoi faceți click pe fiecare din cele 4 file de cercetare în fereastra din stânga (\&quot;Câmpul cercetării\&quot;)&#39;,
	  on_your_Palace : &#39;pe Palatul tău&#39;,
	  on_your_Finance : &#39;pe fila Finanțe&#39;,
	  on_the_Ambrosia : &#39;pe \&quot;Ikariam PLUS\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Reordonare Orașe&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Resetează Pozițiile&lt;/b&gt;&#39;,
	  On_any_tab : &#39;Pe orice filă, trageți pictograma de resurse din partea stângă a numelui orașului&#39;,
	  Right_click : &#39;Faceți click dreapta pe butonul din meniul imperiului în meniul din partea stângă a paginii&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, -, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigați la orașe cu 1 la 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigați la fila de Economia/Clădiri/Armata&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigați la consilierele Orașe/Armata/Cercetare/Diplomație&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigați la vizualizarea lumii/insulei/orașului&#39;,
	  Spacebar : &#39;Bara de spațiu&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimizare/Maximizare tablă&#39;,
	  Hotkeys : &#39;&lt;b&gt;Taste&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Click&lt;/b&gt;&#39;		
		},
		ru:{                     // Thx Toxa13 for Translation
      buildings: &#39;Здания&#39;,  
	  economy: &#39;Экономика&#39;,  
      military: &#39;Войска&#39;,  
      towns: &#39;Города&#39;,  
      academy_: &#39;Академия&#39;,  
      townhall_: &#39;Ратуша&#39;,  
      dump_: &#39;Хранилище&#39;,  
      warehouse_: &#39;Склад&#39;,  
      tavern_level: &#39;Уровень таверны&#39;,  
      corruption: &#39;Коррупция&#39;,  
      cultural: &#39;Культурные ценности&#39;,  
      population: &#39;Население&#39;,  
      citizens: &#39;Жители&#39;,  
      scientists: &#39;Ученых&#39;,  
      scientists_max: &#39;max. Ученых&#39;,  
      options: &#39;Опции&#39;,  
      help: &#39;Справка&#39;,  
      agora: &#39;к Агора&#39;,  
      to_world: &#39;Смотреть Мир&#39;,   
      to_island: &#39;Смотреть остров&#39;,  
      army_cost: &#39;Содержание Армии&#39;,  
      fleet_cost: &#39;Содержание Флота&#39;,  
      army_supply: &#39;Снабжение Армии&#39;,  
      fleet_supply: &#39;Снабжение Флота&#39;,  
      research_cost: &#39;Затраты на исследования&#39;,   
      income: &#39;Доход&#39;,  
      expenses: &#39;Расходы&#39;,  
      balances: &#39;Баланс&#39;,  
      espionage: &#39;Отчет шпионов&#39;,  
      contracts: &#39;Смотреть контракты&#39;,  
      combat: &#39;Боевые доклады&#39;,  
      satisfaction: &#39;Удовлетворенность&#39;,  
      total_ : &#39;Всего&#39;,  
      max_Level : &#39;max. Уровень&#39;,  
      actionP : &#39;Очки действий&#39;,  
      researchP : &#39;Очки исследований&#39;,  
      finances_ : &#39;Финансы&#39;,  
      free_ground : &#39;Свободно участков под строительство&#39;,   
      wood_ : &#39;Строительный материал&#39;,  
      wine_ : &#39;Вино&#39;,  
      marble_ : &#39;Мрамор&#39;,   
      crystal_ : &#39;Кристаллы&#39;,   
      sulphur_ : &#39;Сера&#39;,        
      angry: &#39;сердитый&#39;,  
      unhappy: &#39;несчастный&#39;,  
      neutral: &#39;нейтральный&#39;,  
      happy: &#39;счастье&#39;,  
      euphoric: &#39;эйфория&#39;,       
      housing_space: &#39;макс. Жилая площадь&#39;,  
      free_Citizens: &#39;Свободных жителей&#39;,  
      free_housing_space: &#39;свободная жилая площадь&#39;,  
      level_tavern: &#39;Уровень таверны&#39;,  
      maximum: &#39;максимум&#39;,  
      used: &#39;использовано&#39;,
      plundergold: &#39;Золото&#39;,	  
      garrision: &#39;Лимит гарнизона&#39;,  
      Sea: &#39;Флот&#39;,  
      Inland: &#39;Войска&#39;,         
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;до полноты&#39;,  
      time_to_empty: &#39;до пустоты&#39;,  
      capacity: &#39;Вместимость&#39;,  
      safe: &#39;Застраховано&#39;,   
      training: &#39;Подготовка&#39;,       
      plundering: &#39;Грабеж&#39;,         
      constructing: &#39;Процесс улучшения&#39;,  
      next_Level: &#39;Необходимо для&lt;br&gt;уровня&#39;,  
      transport: &#39;Транспорт&#39;,  
      loading: &#39;загрузка&#39;,  
      en_route: &#39;в пути&#39;,  
      arrived: &#39;прибыль&#39;,  
      to_town_hall: &#39;к Ратуше&#39;,  
      to_saw_mill: &#39;к Лесопилке&#39;,  
      to_mine: &#39;к Руднику&#39;,  
      to_barracks: &#39;в Казармы&#39;,  
      to_shipyard: &#39;к Верфи&#39;,  
      member: &#39;Смотреть список&#39;,  
      transporting: &#39;Транспортировать в&#39;,  
      transporting_units: &#39;Переместить войска в&#39;,  
      transporting_fleets: &#39;Транспортировать флот в&#39;,  
      today: &#39;сегодня&#39;,  
      tomorrow: &#39;завтра&#39;,  
      yesterday: &#39;вчера&#39;,  
      hour: &#39;ч&#39;,  
      day: &#39;д&#39;,  
      week: &#39;н&#39;,  
      hour_long: &#39;Час&#39;,  
      day_long: &#39;День&#39;,  
      week_long: &#39;Неделя&#39;,
      ika_world: &#39;Поиск Ikariam-World&#39;,
      charts: &#39;Просматривать графики&#39;,      
      //settings  
      cityOrder : &#39;cityOrder&#39;,  
      fullArmyTable :  &#39;Показать все войска&#39;,  
      hideOnWorldView : &#39;Скрывать таблицу на карте Мира&#39;,  
      hideOnIslandView : &#39;Скрывать таблицу на карте Острова&#39;,      
      hideOnCityView : &#39;Скрывать таблицу при переходе в Город&#39;,  
      onTop : &#39;Показывать всегда сверху&#39;,  
      windowTennis : &#39;Показывать при наведении курсора мыши&#39;,  
      autoUpdates : &#39;Автоматически проверять наличие обновлений&#39;,  
      smallFont : &#39;Использовать меньший размер шрифта&#39;,  
      alternativeBuildingList : &#39;Использовать альтернативный список зданий&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;, //
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;, //
  	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;, //
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;, //
      wineWarningTime : &#39;Предупреждение об остатке вина&#39;,  
      languageChange : &#39;Изменить язык&#39;,  
      current_Version : &#39;Текущая версия&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Version&lt;b&gt;:&lt;/b&gt;&#39;, //
      reset : &#39;Сбросить все настройки по умолчанию&#39;,  
      goto_website : &#39;Перейти на сайт скрипта&#39;,  
      website : &#39;Вебсайт&#39;,   
      Check_for_updates : &#39;Принудительная проверка обновления&#39;,  
      check : &#39;Проверить обновления&#39;,   
      Report_bug : &#39;Сообщить об ошибке скрипта&#39;,  
      report : &#39;Сообщить об ошибке&#39;,
      save : &#39;Cохранить&#39;,
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;Скрывать лентy новостeй&#39;,
      event : &#39;Скрывать события&#39;,
	  logInPopup : &#39;Hide the Info Window when login&#39;, //
      birdswarm : &#39;Скрывать стаю птиц&#39;,
      hourlyRes : &#39;Скрывать почасовые ресурсы&#39;,
      onIkaLogs : &#39;Использовать IkaLog конвертер отчет битвы&#39;,
      playerInfo : &#39;Показать информацию об игроке&#39;,
	  control: &#39;Скрывать центр контроля&#39;,
	  alert: &#39;Please choose only one option!&#39;, //
	  alert_palace: &#39;Please visit your capital city first&#39;, //
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;, //
	  alert_error: &#39;An error occurred while checking for updates: &#39;, //
	  alert_noUpdate: &#39;No update is available for &quot;&#39;, //
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;, //
	  alert_update1: &#39;Would you like to go to the install page now?&#39;, //
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Английский&#39;,  
      de : &#39;Немецкий&#39;,  
      it : &#39;Итальянский&#39;,  
      el : &#39;Греческий&#39;,  
      es : &#39;Испанский&#39;,  
      fr : &#39;Французский&#39;,  
      ro : &#39;Румынский&#39;,  
      ru : &#39;Русский&#39;,
	  cz : &#39;Чешский&#39;,
      pl : &#39;Польский&#39;,
      ar : &#39;Aрабский&#39;,
      ir : &#39;Персидский&#39;,
      pt : &#39;Португальский&#39;,
	  tr : &#39;Tурецкий&#39;,
	  nl : &#39;Голландский&#39;,
      //settings descriptions  
      cityOrder_description : &#39;cityOrder_description&#39;,  
      fullArmyTable_description : &#39;Показать все возможное, армейских подразделений на вкладке Армии&#39;,  
      hideOnWorldView_description : &#39;Скрыть, по умолчанию, на карте Мира&#39;,  
      hideOnIslandView_description : &#39;Скрыть, по умолчанию, на карте Острова&#39;,  
      hideOnCityView_description : &#39;Скрыть, по умолчанию, при переходе в город&#39;,  
      onTop_description : &#39;Таблица сверху всех Икариам окон&#39;,  
      windowTennis_description : &#39;Открывается то окно&lt;br&gt;на которое наведен курсор мыши&#39;,  
      autoUpdates_description : &#39;Включить автоматическую проверку обновлений&lt;br&gt;(каждые 24 часа)&#39;,  
      smallFont_description : &#39;Используйте меньший шрифт для данных таблицы&#39;,  
      alternativeBuildingList_description : &#39;Использовать альтернативную таблицу зданий&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;, //
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;, //
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;, //
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;, //
      wineWarningTime_description : &#39;Предупреждение об остатке вина, \&#39;красный\&#39; по умолчанию&#39;,  
      languageChange_description : &#39;Изменение языка&#39;,
      newsticker_description : &#39;Hide news ticker in the GF-toolbar&#39;, //
      event_description : &#39;Hide events under the advisers&#39;, //
      logInPopup_description : &#39;Hide the Info Window when login&#39;, //
      birdswarm_description : &#39;Hide the bird swarm in island and city view&#39;, //
      hourlyRes_description : &#39;Hide hourly resources in the infobar&#39;, //
      onIkaLogs_description : &#39;use IkaLogs for your battle reports&#39;, //
      playerInfo_description : &#39;View information from the players in the island view&#39;, //
	  control_description: &#39;Hide the Control center in world, island and city view&#39;, //
      // settings categories  
      visibility_category : &#39;&lt;b&gt;Настройка отображения во вкладках&lt;/b&gt;&#39;,  
      display_category : &#39;&lt;b&gt;Настройка вида&lt;/b&gt;&#39;,  
      global_category : &#39;&lt;b&gt;Глобальные настройки&lt;/b&gt;&#39;,  
      army_category : &#39;&lt;b&gt;Настройка отображения войск&lt;/b&gt;&#39;,  
      building_category : &#39;&lt;b&gt;Настройка отображения зданий&lt;/b&gt;&#39;,  
      resource_category : &#39;&lt;b&gt;Настройка ресурсов&lt;/b&gt;&#39;,  
      language_category : &#39;&lt;b&gt;Настройки языка&lt;/b&gt;&#39;,  
      // Helptable  
      Initialize_Board : &#39;&lt;b&gt;Для начала использования таблицы&lt;/b&gt;&#39;,  
      on_your_Town_Hall : &#39;Откройте &quot;Ратуша&quot; и при открытой вкладке пройдите по всем городам&#39;,  
      on_the_Troops : &#39;Откройте вкладку &quot;Войска в городе&quot; (на панели слева) и пройдите по всем городам&#39;,  
      on_Museum : &#39;Откройте &quot;Музей&quot; затем нажмите на вкладку &quot;Распределить культурные ценности&quot;&#39;,  
      on_Research_Advisor : &#39;Откройте &quot;Научный обзор&quot; (Исследования) и пройдите по всем 4 областям исследований&#39;,  
      on_your_Palace : &#39;Откройте &quot;Дворец&quot;&#39;,  
      on_your_Finance : &#39;Откройте &quot;Баланс&quot;&#39;,  
      on_the_Ambrosia : &#39;Откройте &quot;shop&quot; Магазин Амброзии&#39;,  
      Re_Order_Towns : &#39;&lt;b&gt;Настройка последовательности отображения городов в таблице&lt;/b&gt;&#39;,  
      Reset_Position : &#39;&lt;b&gt;Начальное положение таблицы&lt;/b&gt;&#39;,  
      On_any_tab : &#39;Открыв любую вкладку, перетащите значок ресурса слева от названия города&#39;,  
      Right_click : &#39;Щелкните правой кнопкой мыши на кнопке &quot;Империя&quot; на панели с левой стороны страницы&#39;,  
      Navigate : &#39;1, 2, 3 ... 0, -, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Перемещение по городам с 1 до 12&#39;,  
      Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Перемещение в городе/ Экономика/ Здания/ Войска&#39;, // Setting/ Help tab
      Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Перемещение/ Города/ Войска/ Исследования/ Дипломатия&#39;,  
      Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Перемещение к Мир/ Остров/ Город&#39;,  
      Spacebar : &#39;Пробел&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; таблицы Открыть/ Закрыть в разделах&#39;,  
      Hotkeys : &#39;&lt;b&gt;Быстрые клавиши&lt;/b&gt;&#39;,  
      // formatting  
      thousandSeperator : &#39;,&#39;,  
      decimalPoint:&#39;.&#39;,  
      click_:&#39;&lt;b&gt;Нажать&lt;/b&gt;&#39; 	
	    },
		cz:{                     // Thx Ikariam CZ for Translation
      buildings: &#39;Budovy&#39;,
	  economy: &#39;Ekonomika&#39;,
	  military: &#39;Armáda&#39;,
	  towns: &#39;Města&#39;,
	  academy_: &#39;Akademie&#39;,
	  townhall_: &#39;Městská radnice&#39;,
	  dump_: &#39;Halda&#39;,
	  warehouse_: &#39;Sklad&#39;,
	  tavern_level: &#39;Úroveň hostince&#39;,
	  corruption: &#39;Korupce&#39;,
	  cultural: &#39;Kulturní zboží&#39;,
	  population: &#39;Obyvatelstvo&#39;,
	  citizens: &#39;Obyvatelé&#39;,
	  scientists: &#39;Vědci&#39;,
	  scientists_max: &#39;max. vědců&#39;,
	  options: &#39;Nastavení&#39;,
	  help: &#39;Nápověda&#39;,
	  agora: &#39;do Agory&#39;,
	  to_world: &#39;Zobrazit svět&#39;, 
	  to_island: &#39;Zobrazit ostrov&#39;,
	  army_cost: &#39;Údržba armády&#39;,
	  fleet_cost: &#39;Údržba flotily&#39;,
	  army_supply: &#39;Cestovní náklady armády&#39;,
	  fleet_supply: &#39;Cestovní náklady flotily&#39;,
	  research_cost: &#39;Náklady na výzkum&#39;, 
	  income: &#39;Příjem&#39;,
	  expenses: &#39;Náklady&#39;,
	  balances: &#39;Zůstatek&#39;,
      espionage: &#39;Zobrazit úkryt&#39;,
	  contracts: &#39;Zobrazit dohody&#39;,
	  combat: &#39;Zobrazit bitevní zprávy&#39;,
	  satisfaction: &#39;Spokojenost&#39;,
      total_ : &#39;Celkem&#39;,
      max_Level : &#39;max. úroveň&#39;,
      actionP : &#39;Akční body&#39;,
      researchP : &#39;Výzkumné body&#39;,
      finances_ : &#39;Rozpočet&#39;,
      free_ground : &#39;Volná stavební plocha&#39;, 
      wood_ : &#39;Stavební materiál&#39;,
      wine_ : &#39;Víno&#39;,
      marble_ : &#39;Mramor&#39;, 
      crystal_ : &#39;Krystalické sklo&#39;, 
      sulphur_ : &#39;Síra&#39;,	  
	  angry: &#39;zlost&#39;,
	  unhappy: &#39;neštěstí&#39;,
	  neutral: &#39;neutrální&#39;,
	  happy: &#39;štěstí&#39;,
	  euphoric: &#39;eufórie&#39;,	  
	  housing_space: &#39;max. ubytovací kapacita&#39;,
	  free_Citizens: &#39;Volní obyvatelé&#39;,
	  free_housing_space: &#39;Volná ubytovací kapacita&#39;,
	  level_tavern: &#39;Úroveň hostince&#39;,
	  maximum: &#39;maximum&#39;,
	  used: &#39;zaplněno&#39;,
      plundergold: &#39;Zlato&#39;,	  
	  garrision: &#39;Limit posádky&#39;,
	  Sea: &#39;Námořní&#39;,
	  Inland: &#39;Pozemní&#39;,		
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;do zaplnění&#39;,
      time_to_empty: &#39;do vyprázdnění&#39;,
      capacity: &#39;Kapacita&#39;,
      safe: &#39;Bezpečné&#39;,	
      training: &#39;ve výcviku&#39;,		
      plundering: &#39;Drancování&#39;,		
      constructing: &#39;Probíhá rozšiřování&#39;,
	  next_Level: &#39;Potřeba pro úroveň&#39;,
      transport: &#39;Transporty&#39;,
	  loading: &#39;nakládání&#39;,
	  en_route: &#39;na cestě&#39;,
	  arrived: &#39;dorazil&#39;,
      to_town_hall: &#39;do městské radnice&#39;,
	  to_saw_mill: &#39;do pily&#39;,
      to_mine: &#39;do dolu&#39;,
      to_barracks: &#39;do kasáren&#39;,
      to_shipyard: &#39;do loděnice&#39;,
      member: &#39;Zobrazit seznam členů aliance&#39;,
      transporting: &#39;Přepravit do&#39;,
      transporting_units: &#39;Přesunout jednotky do&#39;,
      transporting_fleets: &#39;Přesunout flotilu do&#39;,
	  today: &#39;dnes&#39;,
	  tomorrow: &#39;zítra&#39;,
	  yesterday: &#39;včera&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;D&#39;,
	  week: &#39;T&#39;,
	  hour_long: &#39;Hodina&#39;,
	  day_long: &#39;Den&#39;,
	  week_long: &#39;Týden&#39;,
      ika_world: &#39;Hledat Ikariam-World&#39;,
      charts: &#39;Zobrazení diagramů&#39;, 	  
      //settings
      cityOrder : &#39;Řazení měst&#39;,
      fullArmyTable :  &#39;Zobrazit všechny vojenské jednotky&#39;,
      hideOnWorldView : &#39;Skrýt na zobrazení světa&#39;,
      hideOnIslandView : &#39;Skrýt na zobrazení ostrova&#39;,	  
      hideOnCityView : &#39;Skrýt na zobrazení města&#39;,
      onTop : &#39;Zobrazit vždy nahoře nad ostatními Ikariam okny&#39;,
      windowTennis : &#39;Zobrazit vždy nahoře nad ostatními Ikariam okny při najetí myši&#39;,
      autoUpdates : &#39;Automaticky kontroluj aktualizace&#39;,
      smallFont : &#39;Použít menší velikost písma&#39;,
      alternativeBuildingList : &#39;Použít jiné zobrazení budov&#39;,
      compressedBuildingList : &#39;Použít stlačený přehled budov&#39;,
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automaticky potvrzovat denní bonus&#39;,
  	  unnecessaryTexts : &#39;Odstranit nepotřebné popisy&#39;,
	  ambrosiaPay : &#39;Zakázat možnost nákupu surovin za Ambrozie&#39;,
      wineWarningTime : &#39;Upozornění na zbývající víno&#39;,
      languageChange : &#39;Změnit jazyk&#39;,
	  current_Version : &#39;Aktuální verze&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam verze&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Resetovat všechna nastavení&#39;,
	  goto_website : &#39;Jít na webové stránky skriptů Userscripts.com&#39;,
	  website : &#39;Webové stránky&#39;, 
      Check_for_updates : &#39;Zkontroluje dostupné aktualizace&#39;,
      check : &#39;Zkontrolovat aktualizace&#39;, 
      Report_bug : &#39;Nahlásit chybu ve skriptu&#39;,
      report : &#39;Nahlásit chybu&#39;,
      save : &#39;Uložit&#39;,
      save_settings : &#39;Uložit nastavení&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;Skrýt odkaz na novinky&#39;,
	  event : &#39;Skrýt akce&#39;,
	  logInPopup : &#39;Skrýt informační okno při přihlášení&#39;,
	  birdswarm : &#39;Skrýt animace letu ptáků&#39;,
	  hourlyRes : &#39;Skrýt hodinovou produkci / spotřebu surovin&#39;,
	  onIkaLogs : &#39;Použít IkaLog Battle Report Converter&#39;,
	  playerInfo : &#39;Zobrazit informace o hráči&#39;,
	  control: &#39;Skrýt ovládací panel&#39;,
	  alert: &#39; Zvolte prosím pouze jednu možnost!&#39;,
	  alert_palace: &#39;Navštivte prosím své hlavní město jako první&#39;,
	  alert_toast: &#39;Resetování dat, znovunačtení stránky proběhne během několika vteřin&#39;,
	  alert_error: &#39; Při kontrole aktualizací došlo k chybě: &#39;,
	  alert_noUpdate: &#39; Žádné aktualizace k dispozici pro &quot;&#39;,
	  alert_update: &#39;K dispozici jsou aktualizace pro Greasemonkey skript &quot;&#39;,
	  alert_update1: &#39; Chcete jít nyní na stránku s instalací?&#39;,
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Anglicky&#39;,
      de : &#39;Německy&#39;,
      it : &#39;Italsky&#39;,
      el : &#39;Řecky&#39;,
      es : &#39;Španělsky&#39;,
      fr : &#39;Francouzsky&#39;,
	  ro : &#39;Rumunsky&#39;,
	  ru : &#39;Rusky&#39;,
	  cz : &#39;Česky&#39;,
      pl : &#39;Polsky&#39;,
      ar : &#39;Arabsky&#39;,
      ir : &#39;Persky&#39;,
      pt : &#39;Portugalsky&#39;,
	  tr : &#39;Turecky&#39;,
	  nl : &#39;Holandsky&#39;,
      //settings descriptions
      cityOrder_description : &#39;cityOrder_description&#39;,
      fullArmyTable_description : &#39;Zobrazí všechny možné jednotky v Armádním přehledu&#39;,
	  hideOnWorldView_description : &#39;Skryje přehled na zobrazení světa&#39;,
      hideOnIslandView_description : &#39;Skryje přehled na zobrazení ostrova&#39;,
      hideOnCityView_description : &#39;Skryje přehled na zobrazení města&#39;,
      onTop_description : &#39;Zobrazí přehled vždy nahoře nad ostatními Ikariam okny&#39;,
      windowTennis_description : &#39;Zobrazí přehled vždy nahoře nad ostatními Ikariam okny při najetí myši&#39;,
      autoUpdates_description : &#39;Povolí automatickou kontrolu aktualizace&lt;br&gt;(jednou za 24 hodin)&#39;,
      smallFont_description : &#39;Použije menší velikost písma pro data v přehledu&#39;,
      alternativeBuildingList_description : &#39;Seřadí budovy na produkci a snížení spotřeby v jiném pořadí&#39;,
      compressedBuildingList_description : &#39;Použije zúžený přehled budov&lt;br&gt;Seskupí budovy na produkci luxusních surovin&lt;br&gt;Seskupí Palác / Guvernérovu rezidenci&#39;,
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;Denní bonus bude automaticky potvrzován&lt;br&gt;a okno se již nebude zobrazovat&#39;,
	  unnecessaryTexts_description: &#39;Odstraní nepotřebné popisy v budovách a&lt;br&gt;v seznamu budov na prázdné stavební ploše, minimalizuje rolování&#39;,
	  ambrosiaPay_description : &#39;Znemožní nákup surovin za Ambrozie,&lt;br&gt;kliknutí na tlačítko akci zruší&#39;,
      wineWarningTime_description : &#39;Docházení vína bude zobrazeno \‘červeně\’ při tomto času&#39;,
      languageChange_description : &#39;Změnit jazyk&#39;,
      newsticker_description : &#39;Skryje odkaz na novinky v horním panelu nabídek&#39;,
	  event_description : &#39;Skryje nabídky a akce při přihlášení a pod poradci města&#39;,
      logInPopup_description : &#39;Skryje informační okno při přihlášení&#39;, //, okno “denní bonus” bude i nadále aktivní
	  birdswarm_description : &#39;Skryje animanice letu ptáků na přehledu ostrova a města&#39;,
	  hourlyRes_description : &#39;Skryje hodinovou produkci / spotřebu surovin pod panelem surovin&#39;,
	  onIkaLogs_description : &#39;Použije IkaLogs pro tvé bitevní zprávy&#39;,
	  playerInfo_description : &#39;Zobrazí informace o hráči na přehledu ostrova&#39;,
	  control_description: &#39;Skryje dolní lištu s ovládacím panelem na pohledu světa, ostrova a města&#39;,
      // settings categories
      visibility_category : &#39;&lt;b&gt;Zobrazení přehledu&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Nastavení zobrazení&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Globální nastavení&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Armáda&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Budovy&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Nastavení surovin&lt;/b&gt;&#39;,
	  language_category : &#39;&lt;b&gt;Jazyk&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Nastavení počátečních hodnot v přehledu&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;na Městskou radnici a postupně projdi každé město s tímto otevřeným oknem&#39;,
	  on_the_Troops : &#39;na záložku \“Vojáci ve městě\” na levé straně a postupně projdi každé město s tímto otevřeným oknem&#39;,
	  on_Museum : &#39;na Muzeum a pak na záložku \“Rozdělit kulturní zboží\” &#39;,
	  on_Research_Advisor : &#39;na Vědeckého poradce a v něm na všechny 4 oblasti výzkumu na levé straně&#39;,
	  on_your_Palace : &#39;na tvůj Palác&#39;,
	  on_your_Finance : &#39;na tvůj Rozpočet&#39;,
	  on_the_Ambrosia : &#39;na \“Ikariam plus\”&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Změna pořadí měst&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Obnovit umístění&lt;/b&gt;&#39;,
	  On_any_tab : &#39;Na libovolné záložce můžete města přesouvat pomocí ikony suroviny vlevo od názvu města&#39;,
	  Right_click : &#39;Kliknutím pravým tlačítkem na záložku Empire Overview na levém menu obnovíte umístění přehledu na jeho základní pozici&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, =, ) &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Přepne na město 1 až 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Přepne na záložku Ekonomika/ Budovy/ Armáda&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Přepne na poradce Města/ Armáda/ Výzkum/ Diplomacie&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Přepne na náhled Světa/ Ostrova/ Města&#39;,
	  Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Mezerník: Otevře / zavře přehled&#39;,
	  Hotkeys : &#39;&lt;b&gt;Klávesové zkratky&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Klikni&lt;/b&gt;&#39;		
		},
		pl:{                     // Thx Komandos for Translation
      buildings: &#39;Budynki&#39;,  
      economy: &#39;Ekonomia&#39;,  
      military: &#39;Wojsko&#39;,  
      towns: &#39;Miasta&#39;,  
      academy_: &#39;Akademia&#39;,  
      townhall_: &#39;Ratusz&#39;,  
      dump_: &#39;Składowisko&#39;,  
      warehouse_: &#39;Magazyn&#39;,  
      tavern_level: &#39;Poziom tawerny&#39;,  
      corruption: &#39;Korupcja&#39;,  
      cultural: &#39;Dobra kulturowe&#39;,  
      population: &#39;Populacja&#39;,  
      citizens: &#39;Mieszkańcy&#39;,  
      scientists: &#39;Naukowcy&#39;,  
      scientists_max: &#39;Maks. naukowców&#39;,  
      options: &#39;Opcje&#39;,  
      help: &#39;Pomoc&#39;,  
      agora: &#39;Agora&#39;,  
      to_world: &#39;Pokaż świat&#39;,   
      to_island: &#39;Pokaż wyspę&#39;,  
      army_cost: &#39;Koszt armii&#39;,  
      fleet_cost: &#39;Koszt floty&#39;,  
      army_supply: &#39;Zaopatrzenie armii&#39;,  
      fleet_supply: &#39;Zaopatrzenie floty&#39;,  
      research_cost: &#39;Koszt badań&#39;,   
      income: &#39;Przychód&#39;,  
      expenses: &#39;Wydatki&#39;,  
      balances: &#39;Bilans&#39;,  
      espionage: &#39;Kryjówka&#39;,  
      contracts: &#39;Traktaty&#39;,  
      combat: &#39;Raporty wojenne&#39;,  
      satisfaction: &#39;Zadowolenie&#39;,  
      total_ : &#39;Suma&#39;,  
      max_Level : &#39;Maks. poziom&#39;,  
      actionP : &#39;Punkty akcji&#39;,  
      researchP : &#39;Punkty badań&#39;,  
      finances_ : &#39;Finanse&#39;,  
      free_ground : &#39;wolne parcele&#39;,   
      wood_ : &#39;Materiał budowlany&#39;,  
      wine_ : &#39;Wino&#39;,  
      marble_ : &#39;Marmur&#39;,   
      crystal_ : &#39;Kryształ&#39;,   
      sulphur_ : &#39;Siarka&#39;,      
      angry: &#39;zły&#39;,  
      unhappy: &#39;nieszczęśliwy&#39;,  
      neutral: &#39;neutralny&#39;,  
      happy: &#39;szczęśliwy&#39;,  
      euphoric: &#39;euforia&#39;,      
      housing_space: &#39;Maks. ilość mieszkańców&#39;,  
      free_Citizens: &#39;Niepracujący mieszkańcy&#39;,  
      free_housing_space: &#39;Ilość wolnych miejsc&#39;,  
      level_tavern: &#39;Poziom tawerny&#39;,  
      maximum: &#39;maksymalnie&#39;,  
      used: &#39;aktualnie&#39;,  
      plundergold: &#39;Złoto&#39;,        
      garrision: &#39;Limit garnizonu&#39;,  
      Sea: &#39;Morskie&#39;,  
      Inland: &#39;Lądowe&#39;,          
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;do pełna&#39;,  
      time_to_empty: &#39;do wyczerpania&#39;,  
      capacity: &#39;Pojemność&#39;,  
      safe: &#39;Bezpieczne&#39;,     
      training: &#39;Trening&#39;,        
      plundering: &#39;Plądrowanie&#39;,         
      constructing: &#39;Trwa rozbudowa&#39;,  
      next_Level: &#39;Wymagane do poziomu&#39;,  
      transport: &#39;Transporty&#39;,  
      loading: &#39;ładowanie&#39;,  
      en_route: &#39;w drodze&#39;,  
      arrived: &#39;przybycie&#39;,  
      to_town_hall: &#39;Otwórz ratusz w&#39;,  
      to_saw_mill: &#39;Otwórz tartak&#39;,  
      to_mine: &#39;Otwórz kopalnię&#39;,  
      to_barracks: &#39;Otwórz koszary w&#39;,  
      to_shipyard: &#39;Otwórz sztocznię w&#39;,  
      member: &#39;Sojusznicy&#39;,  
      transporting: &#39;Transportuj do&#39;,  
      transporting_units: &#39;Przemieść armię do&#39;,  
      transporting_fleets: &#39;Przemieść flotę do&#39;,  
      today: &#39;dziś&#39;,  
      tomorrow: &#39;jutro&#39;,  
      yesterday: &#39;wczoraj&#39;,  
      hour: &#39;g&#39;,  
      day: &#39;d&#39;,  
      week: &#39;T&#39;,  
      hour_long: &#39;godzin&#39;,  
      day_long: &#39;dni&#39;,  
      week_long: &#39;tygodni&#39;,
      ika_world: &#39;Szukaj Ikariam-World&#39;,
      charts: &#39;Zobacz wykresy&#39;,
      //settings  
      cityOrder : &#39;cityOrder&#39;,  
      fullArmyTable :  &#39;Pokaż wszystkie jednostki&#39;,  
      hideOnWorldView : &#39;Ukryj w podglądzie świata&#39;,  
      hideOnIslandView : &#39;Ukryh w podglądzie wyspy&#39;,       
      hideOnCityView : &#39;Ukryj w podglądzie miasta&#39;,  
      onTop : &#39;Zawsze na wierzchu&#39;,  
      windowTennis : &#39;Przesuń na wierzch po najechaniu myszą&#39;,  
      autoUpdates : &#39;Automatyczne sprawdzanie aktualizacji&#39;,  
      smallFont : &#39;Użyj mniejszej czcionki&#39;,  
      alternativeBuildingList : &#39;Użyj alternatywnej listy budynków&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;, //
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;, //
  	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;, //
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;, //
      wineWarningTime : &#39;Ostrzeżenie o kończącym się winie&#39;,  
      languageChange : &#39;Zmień język&#39;,  
      current_Version : &#39;Bieżąca wersja&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Version&lt;b&gt;:&lt;/b&gt;&#39;, //
      reset : &#39;Przywróć ustawienia domyślne&#39;,  
      goto_website : &#39;Idź do Userscripts.com website&#39;,  
      website : &#39;Website&#39;,   
      Check_for_updates : &#39;Sprawdź aktualizację&#39;,  
      check : &#39;Sprawdź aktualizację&#39;,   
      Report_bug : &#39;Zgłoszenia błędów&#39;,  
      report : &#39;Zgłoś błąd&#39;,
      save : &#39;Save&#39;, //
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;, //	  
      newsticker : &#39;Hide news ticker&#39;, //
      event : &#39;Hide events&#39;, //
	  logInPopup : &#39;Hide the Info Window when login&#39;, //
      birdswarm : &#39;Ukryj ptaki&#39;,
      hourlyRes : &#39;Hide hourly resources&#39;, //
      onIkaLogs : &#39;Use IkaLog Battle Report Converter&#39;, //
      playerInfo : &#39;Show information about player&#39;, //
	  control: &#39;Hide Control center&#39;, //
	  alert: &#39;Please choose only one option!&#39;, //
	  alert_palace: &#39;Please visit your capital city first&#39;, //
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;, //
	  alert_error: &#39;An error occurred while checking for updates: &#39;, //
	  alert_noUpdate: &#39;No update is available for &quot;&#39;, //
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;, //
	  alert_update1: &#39;Would you like to go to the install page now?&#39;, //
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Angielski&#39;,  
      de : &#39;Niemiecki&#39;,  
      it : &#39;Włoski&#39;,  
      el : &#39;Grecki&#39;,  
      es : &#39;Hiszpański&#39;,  
      fr : &#39;Francuski&#39;,  
      ro : &#39;Rumuński&#39;,  
      ru : &#39;Rosyjski&#39;,  
      cz : &#39;Czeski&#39;,  
      pl : &#39;Polski&#39;,
      ar : &#39;Arabski&#39;,
      ir : &#39;Perski&#39;,
      pt : &#39;Portugalski&#39;,
	  tr : &#39;Turecki&#39;,
	  nl : &#39;Holenderski&#39;,
      //settings descriptions  
      cityOrder_description : &#39;cityOrder_description&#39;,  
      fullArmyTable_description : &#39;Pokaż wszystkie możliwe jednostki&#39;,  
	  hideOnWorldView_description : &#39;Ukryj okno w podglądzie świata&#39;,  
      hideOnIslandView_description : &#39;Ukryj okno w podglądzie wyspy&#39;,  
      hideOnCityView_description : &#39;Ukryj okno w podglądzie miasta&#39;,  
      onTop_description : &#39;Okno będzie położone zawsze na wierzchu&#39;,  
      windowTennis_description : &#39;Przenosi okno imperium na wierzch po najechaniu myszą, gdy odjedziemy myszą okno się schowa pod poprzednio aktywne - opcja wyłączona, gdy uaktywniona opcja - Zawsze na wierzchu&#39;,  
      autoUpdates_description : &#39;Włącza automatyczne aktualizacje (co 24 godziny)&#39;,  
      smallFont_description : &#39;Użyj mniejszej czcionki&#39;,  
      alternativeBuildingList_description : &#39;Użyj alternatywnej tabeli&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;, //
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;, //
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;, //
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;, //
      wineWarningTime_description : &#39;W tym czasie skończy się dana ilość wina &#39;,  
      languageChange_description : &#39;Zmień język&#39;,
      newsticker_description : &#39;Hide news ticker in the GF-toolbar&#39;, //
      event_description : &#39;Hide events under the advisers&#39;, //
      logInPopup_description : &#39;Hide the Info Window when login&#39;, //
      birdswarm_description : &#39;Hide the bird swarm in island and city view&#39;, //
      hourlyRes_description : &#39;Hide hourly resources in the infobar&#39;, //
      onIkaLogs_description : &#39;use IkaLogs for your battle reports&#39;, //
      playerInfo_description : &#39;View information from the players in the island view&#39;, //
	  control_description: &#39;Hide the Control center in world, island and city view&#39;, //
      // settings categories  
      visibility_category : &#39;&lt;b&gt;Ukrywanie&lt;/b&gt;&#39;,  
      display_category : &#39;&lt;b&gt;Pokazywanie&lt;/b&gt;&#39;,  
      global_category : &#39;&lt;b&gt;Ustawienia globalne&lt;/b&gt;&#39;,  
      army_category : &#39;&lt;b&gt;Ustawienia armii&lt;/b&gt;&#39;,  
      building_category : &#39;&lt;b&gt;Ustawienia budynków&lt;/b&gt;&#39;,  
      resource_category : &#39;&lt;b&gt;Ustawienia zasobów&lt;/b&gt;&#39;,  
      language_category : &#39;&lt;b&gt;Zmień język&lt;/b&gt;&#39;,  
      // Helptable  
      Initialize_Board : &#39;&lt;b&gt;Wczytywanie okien&lt;/b&gt;&#39;,  
      on_your_Town_Hall : &#39;ratusz i przejdź do każdego miasta nie zamykając tego okna&#39;,  
      on_the_Troops : &#39;okno \&quot;Wojska w mieście\&quot; po lewej tronie i przejdź do każdego miasta nie zamykając tego okna&#39;,  
      on_Museum : &#39;muzeum, później kliknij w zakładkę \&quot;Rozdysponuj dobra kulturowe\&quot;&#39;,  
      on_Research_Advisor : &#39;badania, później kliknij na każdą zakładkę w obszarze badań po lewej stronie okna&#39;,  
      on_your_Palace : &#39;pałac&#39;,  
      on_your_Finance : &#39;okno finansów&#39;,  
      on_the_Ambrosia : &#39;\&quot;Sklep z ambrozją\&quot;&#39;,  
      Re_Order_Towns : &#39;&lt;b&gt;Kolejność miast&lt;/b&gt;&#39;,  
      Reset_Position : &#39;&lt;b&gt;Resetowanie pozycji okna&lt;/b&gt;&#39;,  
      On_any_tab : &#39;Można ustawić sobie kolejność miast przeciągając za ikonę zasobu po lewej stronie nazwy miasta&#39;,  
      Right_click : &#39;Kliknij prawym na przycisku imperium po lewej stronie&#39;,  
      Navigate : &#39;1, 2, 3 ... 0, -, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Przechodzenie od miasta 1 do 12&#39;,  
      Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Przechodzenie do Miasta/ Bydynków/ Armii&#39;, // Setting/ Help tab
      Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Przechodzenie do Miasta/ Wojska/ Badań/ Dyplomaty&#39;,  
      Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Przechodzenie pomiędy Świat / Wyspa/ Miasto&#39;,  
      Spacebar : &#39;Spacja&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Pokaż / ukryj Empire Overview&#39;,  
      Hotkeys : &#39;&lt;b&gt;Skróty&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Otwórz&lt;/b&gt;&#39;		
		},
		ar:{                     // Thx AbdelKarimCI and Hayato500 for Translation  
	  buildings: &#39;المباني&#39;,  
	  economy: &#39;الموارد&#39;,  
	  military: &#39;الجيش&#39;,  
	  towns: &#39;المدن&#39;,  
	  academy_: &#39;أكاديمية&#39;,  
      townhall_: &#39;دار البلدية&#39;,  
      dump_: &#39;منزل التخزين&#39;,  
      warehouse_: &#39;مستودع&#39;,  
      tavern_level: &#39;مستوى الاستراحة&#39;,  
      corruption: &#39;فساد&#39;,  
      cultural: &#39;المعالم الثقافية&#39;,  
      population: &#39;السكان&#39;,  
      citizens: &#39;مواطنون&#39;,  
      scientists: &#39;علماء&#39;,  
      scientists_max: &#39;أقصى عدد من العلماء&#39;,  
      options: &#39;خيارات&#39;,  
      help: &#39;مساعدة&#39;,  
      agora: &#39;إلى أغورا&#39;,  
      to_world: &#39;عرض العالم&#39;,   
      to_island: &#39;عرض الجزيرة&#39;,  
      army_cost: &#39;أسعار القوات&#39;,  
      fleet_cost: &#39;أسعار الأساطيل&#39;,  
      army_supply: &#39;تأمين القوات&#39;,  
      fleet_supply: &#39;تأمين الأساطيل&#39;,  
      research_cost: &#39;تكاليف الأبحاث&#39;,   
      income: &#39;الدَّخل&#39;,  
      expenses: &#39;تأمين&#39;,  
      balances: &#39;النتيجة&#39;,  
      espionage: &#39;عرض المخبأ&#39;,  
      contracts: &#39;عرض معاهدات&#39;,  
      combat: &#39;تقارير القتال&#39;,  
      satisfaction: &#39;السعادة&#39;,  
      total_ : &#39;مجموع&#39;,  
      max_Level : &#39;أقصى مستوى&#39;,  
      actionP : &#39;نقاط التحرك&#39;,  
      researchP : &#39;نقاط الأبحاث&#39;,  
      finances_ : &#39;الموارد المالية&#39;,  
      free_ground : &#39;مكان بناء فارغ&#39;,   
      wood_ : &#39;مادة البناء&#39;,  
      wine_ : &#39;مشروب العنب&#39;,  
      marble_ : &#39;رخام&#39;,   
      crystal_ : &#39;بلور&#39;,   
      sulphur_ : &#39;كبريت&#39;,      
      angry: &#39;غضبان&#39;,  
      unhappy: &#39;حزين&#39;,  
      neutral: &#39;عادي&#39;,  
      happy: &#39;سعيد&#39;,  
      euphoric: &#39;مبتهج&#39;,       
      housing_space: &#39;أقصى عدد أماكن سكن&#39;,  
      free_Citizens: &#39;سكان عاطلون&#39;,  
      free_housing_space: &#39;مكان سكن فارغ&#39;,  
      level_tavern: &#39;مستويات الإستراحات&#39;,  
      maximum: &#39;أقصى&#39;,  
      used: &#39;مستعمل&#39;,  
      plundergold: &#39;ذهب&#39;,        
      garrision: &#39;أقصى حد قوات الحماية&#39;,  
      Sea: &#39;البحر&#39;,  
      Inland: &#39;داخلي&#39;,       
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;قبل الإمتلاء&#39;,  
      time_to_empty: &#39;قبل النفاد&#39;,  
      capacity: &#39;سعة&#39;,  
      safe: &#39;آمن&#39;,     
      training: &#39;تدريب&#39;,         
      plundering: &#39;نهب&#39;,       
      constructing: &#39;جاري إكمال الإنشاء&#39;,  
      next_Level: &#39;مطلوب للمستوى&#39;,  
      transport: &#39;مواصلات&#39;,  
      loading: &#39;جاري تحميل&#39;,  
      en_route: &#39;في الطريق&#39;,  
      arrived: &#39;وصل&#39;,  
      to_town_hall: &#39;إلى دار البلدية&#39;,  
      to_saw_mill: &#39;إلى المنشرة&#39;,  
      to_mine: &#39;إلى المنجم&#39;,  
      to_barracks: &#39;إلى الثكنة&#39;,  
      to_shipyard: &#39;إلى حوض السفن&#39;,  
      member: &#39;عرض الاعضاء&#39;,  
      transporting: &#39;نقل إلى&#39;,  
      transporting_units: &#39;نشر الوحدات في&#39;,  
      transporting_fleets: &#39;تحريك السفن إلى&#39;,  
      today: &#39;اليوم&#39;,  
      tomorrow: &#39;غدا&#39;,  
      yesterday: &#39;أمس&#39;,  
      hour: &#39;س&#39;,  
      day: &#39;ي&#39;,  
      week: &#39;أ&#39;,  
      hour_long: &#39;ساعة&#39;,  
      day_long: &#39;يوم&#39;,  
      week_long: &#39;أسبوع&#39;,
      ika_world: &#39;البحث في عالم إيكاريام&#39;,
      charts: &#39;عرض الرسوم البيانية&#39;,  
      //settings  
      cityOrder : &#39;ترتيب المدن&#39;,  
      fullArmyTable :  &#39;إظهار كل الوحدات العسكرية&#39;,  
      hideOnWorldView : &#39;فرض الإخفاء عند عرض العالم&#39;,  
      hideOnIslandView : &#39;فرض الإخفاء عند عرض الجزيرة&#39;,      
      hideOnCityView : &#39;فرض الإخفاء عند عرض المدينة&#39;,  
      onTop : &#39;عرض فوق نوافذ إيكاريام&#39;,  
      windowTennis : &#39;عرض فوق إيكاريام عند مرور الفأرة&#39;,  
      autoUpdates : &#39;تحقق تلقائيا من وجود تحديثات&#39;,  
      smallFont : &#39;إستعمل حجم خط أصغر&#39;,  
      alternativeBuildingList : &#39;المباني الخاصة مجموعة حسب الفئة&#39;,
      compressedBuildingList : &#39;أستخدام قائمة المباني المضغوطة&#39;,
      wineOut : &#39;ايقاف خاصية الامبروزيا “خالي من مشروب العنب”&#39;,
	  dailyBonus : &#39;قبول المكافئة اليومية تلقائيا&#39;,
  	  unnecessaryTexts : &#39;حذف الوصف الغير هام&#39;,
	  ambrosiaPay : &#39;تعطيل خيارات شراء الأمبروزيا الجديدة&#39;,
      wineWarningTime : &#39;تحذير حول إستهلاك مشروب العنب&#39;,  
      languageChange : &#39;تغيير اللغة&#39;,  
      current_Version : &#39;النسخة الحالية&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;نسخة أيكاريام&lt;b&gt;:&lt;/b&gt;&#39;,
      reset : &#39;إعادة تعيين كافة الإعدادات إلى الافتراضي&#39;,  
      goto_website : &#39;إذهب إلى موقع Userscripts.com&#39;,  
      website : &#39;موقع&#39;,
      Check_for_updates : &#39;فرض التحقق من وجود تحديثات&#39;,  
      check : &#39;تحقق من وجود تحديثات&#39;,   
      Report_bug : &#39;الإبلاغ عن خطأ في البرنامج النصي&#39;,
      report : &#39;الإبلاغ عن خطأ&#39;,
      save : &#39;Save&#39;,
      save_settings : &#39;حفظ الإعدادات&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;إخفاء شريط الأخبار&#39;,
      event : &#39;إخفاء الأحداث&#39;,
	  logInPopup : &#39;أخفاء نافذة المعلومات بعد تسجيل الدخول&#39;,
      birdswarm : &#39;إخفاء سرب الطيور&#39;,
      hourlyRes : &#39;إخفاء الموارد بالساعة&#39;,
      onIkaLogs : &#39;إستخدام محول تقرير المعارك IkaLog&#39;,
      playerInfo : &#39;إظهار معلومات حول اللاعب&#39;,
	  control: &#39;إخفاء مركز التحكم&#39;,
	  alert: &#39;من فضلك قم بأختيار خيار واحد فقط!&#39;,
	  alert_palace: &#39;من فضلك قم بزيارة العاصمة أولا!&#39;,
	  alert_toast: &#39;اعادة البيانات , جاري تحديث الصفحة بعد ثواني&#39;,
	  alert_error: &#39;حدث خطأ أثناء تفقد التحديثات المتوفرة: &#39;,
	  alert_noUpdate: &#39;لا يوجد تحديثات حاليا لـ &quot;&#39;,
	  alert_update: &#39;هناك تحديث متوفر لـ الـ Greasemonkey script &quot;&#39;,
	  alert_update1: &#39;هل ترغب في الذهاب الي صفحة التحميل الان ؟&#39;,
	  alert_daily: &#39;أرجو منك تفعيل \&#39;قبول المكافئة اليومية تلقائيا \&#39;&#39;,
      en : &#39;الأنجليزية&#39;,  
      de : &#39;الألمانية&#39;,  
      it : &#39;الإيطالية&#39;,  
      el : &#39;اليونانية&#39;,  
      es : &#39;الإسبانية&#39;,  
      fr : &#39;الفرنسية&#39;,  
      ro : &#39;الرومانية&#39;,  
      ru : &#39;الروسية&#39;,  
      cz : &#39;التشيكية&#39;,  
      pl : &#39;البولندية&#39;,  
      ar : &#39;العربية&#39;,
      ir : &#39;الفارسي&#39;,
      pt : &#39;البرتغالية&#39;,
	  tr : &#39;التركية&#39;,
	  nl : &#39;هولندي&#39;,
      //settings descriptions  
      cityOrder_description : &#39;وصف ترتيب المدينة&#39;,  
      fullArmyTable_description : &#39;عرض جميع وحدات الجيوش الممكنة في علامة تبويب الجيش&#39;,  
      hideOnWorldView_description : &#39;الإخفاء تلقائيا عند عرض العالم&#39;,  
      hideOnIslandView_description : &#39;الإخفاء تلقائيا عند عرض الجزيرة&#39;,  
      hideOnCityView_description : &#39;الإخفاء تلقائيا عند عرض المدينة&#39;,  
      onTop_description : &#39;عرض الواجهة فوق نوافذ إيكاريام&#39;,  
      windowTennis_description : &#39;عرض الواجهة فوق نوافذ إيكاريام عند مرور مؤشر الفأرة&lt;br&gt;تعود تلقائيا إلى الخلف عند خروج مؤشر الفأرة&lt;br&gt;تتجاهل خيار \&#39;دائما فوق\&#39;&#39;,  
      autoUpdates_description : &#39;تشغل البحث التلقائي عن التحديثات&lt;br&gt;(مرة كل 24 ساعة)&#39;,  
      smallFont_description : &#39;إستعمال حجم خط أصغر لبيانات الواجهة&#39;,  
      alternativeBuildingList_description : &#39;جمع المباني الخاصة بتحسين الجمع والإقتصاد في الموارد في آخر الجدول&#39;,
      compressedBuildingList_description : &#39;قم بأستخدام طاولة البناء المكثفة&lt;br&gt;مجموعات مباني زيادة انتاج الموارد&lt;br&gt;مجموعات القصر/دار البلدية&#39;,
      wineOut_description : &#39;تعطيل خيار شراء الامبروزيا لشراء \&#39;خالي من مشروب العنب\&#39;&#39;,
	  dailyBonus_description : &#39;المكافئة اليومية تم قبولها تلقائيا&lt;br&gt;و النافذة لن يتم عرضها بعد الان&#39;,
	  unnecessaryTexts_description: &#39;Rحذف الوصف الغير هام للمباني,&lt;br&gt;قائمة البناء للمباني, تقليل التمرير&#39;,
	  ambrosiaPay_description : &#39;تعطيل خيار شراء الامبروزيا الجديد,&lt;br&gt;الضغط علي الزر يقوم بألغاء الحدث&#39;,
      wineWarningTime_description : &#39;الوقت المتبقي لمشروب العنب يصبح \&#39;أحمر\&#39; بداية من القيمة المختارة&#39;,
      languageChange_description : &#39;تغيير اللغة&#39;,
      newsticker_description : &#39;إخفاء شريط الأخبار في شريط أدوات GF&#39;,
      event_description : &#39;إخفاء الأحداث تحت المستشارين&#39;,
      logInPopup_description : &#39;قم بألغاء نافذة المعلومات عند تسجيل الدخول&#39;,
      birdswarm_description : &#39;إخفاء سرب الطيور في عرض الجزيرة والمدينة&#39;,
      hourlyRes_description : &#39;إخفاء الموارد بالساعة من شريط المعلومات&#39;,
      onIkaLogs_description : &#39;إستخدام IkaLogs لتقارير معارككم&#39;,
      playerInfo_description : &#39;عرض معلومات عن اللاعبين في عرض الجزيرة&#39;,
	  control_description: &#39;إخفاء مركز التحكم في عرض العالم، الجزيرة والمدينة&#39;,
      // settings categories  
      visibility_category : &#39;&lt;b&gt;رؤية الواجهة&lt;/b&gt;&#39;,  
      display_category : &#39;&lt;b&gt;إعدادات العرض&lt;/b&gt;&#39;,  
      global_category : &#39;&lt;b&gt;إعدادات عامة&lt;/b&gt;&#39;,  
      army_category : &#39;&lt;b&gt;إعدادات الجيش&lt;/b&gt;&#39;,  
      building_category : &#39;&lt;b&gt;إعدادات المباني&lt;/b&gt;&#39;,  
      resource_category : &#39;&lt;b&gt;إعدادات الموارد&lt;/b&gt;&#39;,  
      language_category : &#39;&lt;b&gt;إعدادات اللغة&lt;/b&gt;&#39;,  
      // Helptable  
      Initialize_Board : &#39;&lt;b&gt;تهيئة الواجهة&lt;/b&gt;&#39;,  
      on_your_Town_Hall : &#39;على دار البلدية في مدينتك وتذهب إلى كل مدينة مع المحافظة على هذه الرؤية مفتوحة&#39;,  
      on_the_Troops : &#39;على رؤية \&quot;قوات في المدينة\&quot; من الجهة اليمنى وتذهب إلى كل مدينة مع المحافظة على هذه الرؤية مفتوحة&#39;,  
      on_Museum : &#39;على المتحف ثم رؤية \&quot;توزيع المعالم الثقافية\&quot;&#39;,  
      on_Research_Advisor : &#39;على مستشار الأبحاث ثم إضغط على تبويبات الأبحاث الأربعة من جهة اليمين&#39;,  
      on_your_Palace : &#39;على قصرك&#39;,  
      on_your_Finance : &#39;على تبويت الموازنات (الذهب)&#39;,  
      on_the_Ambrosia : &#39;على \&quot;متجر أمبروزيا\&quot;&#39;,  
      Re_Order_Towns : &#39;&lt;b&gt;إعادة ترتيب المدن&lt;/b&gt;&#39;,  
      Reset_Position : &#39;&lt;b&gt;إعادة تعيين الرتبة&lt;/b&gt;&#39;,  
      On_any_tab : &#39;من أي تبويب، إسحب أيقونة الموارد التي على يسار إسم المدينة&#39;,  
      Right_click : &#39;انقر بالزر الأيمن على زر قائمة إمبراطورية في القائمة اليمنى للصفحة&#39;,  
      Navigate : &#39;1، 2، 3، ... ، 0، -، = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; تنقل بين المدن من 1 إلى 12&#39;,  
      Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; تنقل بين تبويبات المدينة/ المباني/ الجيش&#39;, // Setting/ Help tab
      Navigate_to : &#39;Q، W، E، R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; تنقل بين مستشار المدينة/ الجيش/ الأبحاث/ الديبلوماسية&#39;,  
      Navigate_to_World : &#39;SHIFT + Q، W، E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; تنقل بين رؤية العالم/ الجزيرة/ المدينة&#39;,  
      Spacebar : &#39;زر الفراغ&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; إخفاء/ إظهار الواجهة&#39;,  
      Hotkeys : &#39;&lt;b&gt;إختصارات لوحة المفاتيح&lt;/b&gt;&#39;,  
      // formatting  
      thousandSeperator : &#39;,&#39;, 
      decimalPoint:&#39;.&#39;,  
      click_:&#39;&lt;b&gt;إضغط&lt;/b&gt;&#39;        
        },
		ir:{                     // Thx SHAB_RO for Translation  
	  buildings: &#39;ساختمانها&#39;,
	  economy: &#39;اقتصاد&#39;,
	  military: &#39;نظامى&#39;,
	  towns: &#39;شهرها&#39;,
	  academy_: &#39;دانشگاه&#39;,
	  townhall_: &#39;شهردارى&#39;,
	  dump_: &#39;انبار موقت’&#39;,
	  warehouse_ : &#39;انبار معمولى’&#39;,
	  tavern_level: &#39;مرحله آبميوه فروشى&#39;,
	  corruption: &#39;فساد&#39;,
	  cultural: &#39;اجناس فرهنگى&#39;,
	  population: &#39;جمعيت&#39;,
	  citizens: &#39;ساكنين&#39;,
	  scientists: &#39;دانشمندان&#39;,
	  scientists_max: &#39;حداكثر دانشمندان&#39;,
	  options: &#39;تنظيمات&#39;,
	  help: &#39;راهنما&#39;,
	  agora: &#39;انجمن جزيره&#39;,
	  to_world: &#39;نمايش جهان&#39;,
	  to_island: &#39;نمايش جزيره&#39;,
	  army_cost: &#39;هزينه نيروى زمينى&#39;,
	  fleet_cost: &#39;هزينه نيروى دريايى&#39;,
	  army_supply: &#39;نيروهاى زمينى&#39;,
	  fleet_supply: &#39;نيروهاى دريايى&#39;,
	  research_cost: &#39;هزينه تحقيقات&#39;,
	  income: &#39;درآمد&#39;,
	  expenses: &#39;مخارج&#39;,
	  balances: &#39;تراز&#39;,
	  espionage: &#39;مخفيگاه&#39;,
	  contracts: &#39;قراداد ها&#39;,
	  combat: &#39;گزارشات جنگى&#39;,
	  satisfaction: &#39;رضایتمندی&#39;,
	  total_ : &#39;مجموع&#39;,
	  max_Level : &#39;آخرين مرحله&#39;,
	  actionP : &#39;امتيازات حركتى&#39;,
	  researchP : &#39;امتيازات تحقيق&#39;,
	  finances : &#39;ترازنامه&#39;,
	  free_ground : &#39;زمين ساختمانى آزاد&#39;,
	  wood : &#39;چوب&#39;,
	  wine : &#39;انگور&#39;,
	  marble : &#39;سنگ&#39;,
	  crystal : &#39;كريستال&#39;,
	  sulphur : &#39;گوگرد&#39;,
	  angry: &#39;عصبانى&#39;,
	  unhappy: &#39;ناراحت&#39;,
	  neutral: &#39;عادى&#39;,
	  happy: &#39;خوشحال&#39;,
	  euphoric: &#39;ذوق مرگ&#39;,
	  housing_space: &#39;حداكثر جمعيت ممكن&#39;,
	  free_Citizens: &#39;ساكنين بيكار&#39;,
	  free_housing_space: &#39;فضاى خالى جمعيت&#39;,
	  level_tavern: &#39;مرحله آبميوه فروشى&#39;,
	  maximum: &#39;حداكثر&#39;,
	  used: &#39;استفاده شده&#39;,
	  plundergold: &#39;طلا&#39;,
	  garrision: &#39;محدوديت پاديگان&#39;,
	  Sea: &#39;دريايى&#39;,
	  Inland: &#39;زمينى&#39;,
	  full: &#39;0&#39;,
	  off: &#39;off&#39;,
	  time_to_full: &#39;تا پر شدن&#39;,
	  time_to_empty: &#39;تا خالى شدن&#39;,
	  capacity: &#39;ظرفيت&#39;,
	  safe: &#39;امنيت&#39;,
	  training: &#39;درحال ساخت&#39;,
	  plundering: &#39;غارت&#39;,
	  constructing: &#39;در حال توسعه&#39;,
	  next_Level: &#39;مورد نياز براى مرحله&#39;,
	  transport: &#39;حمل و نقل&#39;,
	  loading: &#39;بارگيرى&#39;,
	  en_route: &#39;در مسير&#39;,
	  arrived: &#39;رسيده&#39;,
	  to_town_hall: &#39;شهردارى&#39;,
	  to_saw_mill: &#39;جنگل&#39;,
	  to_mine: &#39;معدن لوكس&#39;,
	  to_barracks: &#39;سربازخانه&#39;,
	  to_shipyard: &#39;كشتى سازى&#39;,
	  member: &#39;اعضاى اتحاد&#39;,
	  transporting: &#39;حمل ونقل به&#39;,
	  transporting_units: &#39;استقرار نيروى زمينى به&#39;,
	  transporting_fleets: &#39;حركت نيروى دريايى به&#39;,
	  today: &#39;امروز&#39;,
	  tomorrow: &#39;فردا&#39;,
	  yesterday: &#39;ديروز&#39;,
	  hour: &#39;س&#39;,
	  day: &#39;ر&#39;,
	  week: &#39;ه&#39;,
	  hour_long: &#39;ساعت&#39;,
	  day_long: &#39;روز&#39;,
	  week_long: &#39;هفته&#39;,
      ika_world: &#39;در Ikariam-World جستجو كن&#39;,
      charts: &#39;نمايش نمودارها&#39;,
      //settings  
	  cityOrder : &#39;به ترتيب شهر&#39;,
	  fullArmyTable : &#39;نمايش تمام واحدهاى نظامى&#39;,
	  hideOnWorldView : &#39;پنهان كردن در نمايش جهان&#39;,
	  hideOnIslandView : &#39;پنهان كردن در نمايش جزيره&#39;,
	  hideOnCityView : &#39;پنهان كردن در نمايش شهر&#39;,
	  onTop : &#39;نمايش در بالاى تمام پنجره هاى بازى&#39;,
	  windowTennis : &#39;بالاترين پنجره محل استقرار موس باشد&#39;,
	  autoUpdates : &#39;بروزآورى خودكار&#39;,
	  smallFont : &#39;استفاده از فونت كوچك&#39;,
	  alternativeBuildingList : &#39;كنار هم قرار دادن ساختمانهاى افزاينده&#39;,
      compressedBuildingList : &#39;استفاده از ليست ساختمانها فشرده&#39;,
      wineOut : &#39;غير فعال كردن گزينه پلاس براى “تمام شدن انگور شهر”&#39;,
	  dailyBonus : &#39;تاييد خودكار پاداش روزانه&#39;,
  	  unnecessaryTexts : &#39;حذف توضيحات غير ضرورى&#39;,
	  ambrosiaPay : &#39;حذف خريد منابع با آمبروژيا&#39;,
	  wineWarningTime : &#39;زمان هشدار براى اتمام انگور&#39;,
	  languageChange : &#39;تغيير زبان&#39;,
	  current_Version : &#39;نسخه ى اسكريپت&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;نسخه ى بازى&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;بازگشت به تنظيمات پيشفرض&#39;,
	  goto_website : &#39;رفتن به صفحه اسكريپت&#39;,
	  website : &#39;صفحه ما&#39;,
	  Check_for_updates : &#39;بررسى بروز بودن اسكريپت&#39;,
	  check : &#39;بررسى بروزسانى&#39;,
	  Report_bug : &#39;گزارش اشكالات اسكريپت&#39;,
	  report : &#39;گزارش اشكالات&#39;,
      save : &#39;ذخيره&#39;,
      save_settings : &#39;ذخيره تنظيمات&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,  
      newsticker : &#39;پنهان كردن تيكر اخبار&#39;,
      event : &#39;پنهان كردن رويدادها&#39;,
	  logInPopup : &#39;پنهان كردن پنجره اطلاعات&#39;,
      birdswarm : &#39;پنهان كردن پرندگان&#39;,
      hourlyRes : &#39;پنهان كردن درآمد منابع&#39;,
      onIkaLogs : &#39;استفاده از مبدل گزارشات جنگى&#39;,
      playerInfo : &#39;نمايش اطلاعات بازيكنان&#39;,
	  control: &#39;پنهان كردن تولبار كنترل&#39;,
	  alert: &#39;لطفا فقط يكى از دو گزينه را انتخاب كنيد!&#39;,
	  alert_palace: &#39;ابتدا لطفا شهر پايتخت خود را مشاهده كنيد&#39;,
	  alert_toast: &#39;ريست اطلاعات، صفحه طى چند ثانيه دوباره بارگزارى ميشود&#39;,
	  alert_error: &#39;يك خطا در هنگام بروزرسانى رخ داده است: &#39;,
	  alert_noUpdate: &#39;هيچ بروزرسانى اى موجود نيست براى “&#39;,
	  alert_update: &#39;بروزرسانى جديد براى اسكريپت موجود است ”&#39;,
	  alert_update1: &#39;آيا مايليد همينك به صفحه ى نصب اسكريپ برويم؟&#39;,
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
	  en : &#39;انگلیسی&#39;,
	  de : &#39;آلمانی&#39;,
	  it : &#39;ایتالیایی&#39;,
	  el : &#39;یونانی&#39;,
	  es : &#39;اسپانیایی&#39;,
	  fr : &#39;زبان فرانسه&#39;,
	  ro : &#39;رومانیایی&#39;,
	  ru : &#39;روسی&#39;,
	  cz : &#39;چک&#39;,
	  pl : &#39;لهستانی&#39;,
	  ar : &#39;عربی&#39;,
	  ir : &#39;فارسی&#39;,
      pt : &#39;پرتغالی&#39;,
	  tr : &#39;تركى&#39;,
	  nl : &#39;هلندی&#39;,
	  //settings descriptions
	  cityOrder_description : &#39;توصيفات نظم شهرى&#39;,
	  fullArmyTable_description : &#39;نمايش تمام نيروهاى قابل ساخت در قسمت نظامى&#39;,
	  hideOnWorldView_description : &#39;بصورت پيشفرض در نمايش جهان پنهان باشد&#39;,
	  hideOnIslandView_description : &#39;بصورت پيشفرض در نمايش جزيره پنهان باشد&#39;,
	  hideOnCityView_description : &#39;بصورت پيشفرض در نمايش شهر پنهان باشد&#39;,
	  onTop_description : &#39;نمايش دادن برد بالاتر از پنجره هاى ديگر بازى&#39;,
	  windowTennis_description : &#39;زمانى كه موس روى برد قرار گيرد، برد به بالاى تمام پنجره هاى بازى ميآيد&lt;br&gt;زمانى كه موس روى پنجهر هاى بازى قرار گيرد، برد به پايين تمام پنجره هاى بازى ميرود&lt;br&gt;نكته: اين گزينه مورد هميشه بالا بودن برد را نقض ميكند&#39;,
	  autoUpdates_description : &#39;فعال كردن بروزرسانى خودكار &lt;br&gt;(در هر 24 ساعت)&#39;,
	  smallFont_description : &#39;استفاده از فونت كوچك براى اطلاعات برد&#39;,
	  alternativeBuildingList_description : &#39;استفاده از ترتيب متفاوت در نمايش ساختمانها&#39;,
      compressedBuildingList_description : &#39;فشرده سازى تب ساختمانهايك گروه كردن ساختمانهاى افزاينده ى منابع لوكسيك گروه كردن قصر و فرماندارى&#39;,
      wineOut_description : &#39;غيرفعال كردن گزينه خريد با آمبروژيا \&#39;زمان اتمام انگور\’&#39;,
	  dailyBonus_description : &#39;پاداش روزانه بصورت خودكار تاييد شده و پنجره آن ظاهر نميشود&#39;,
	  unnecessaryTexts_description: &#39;حذف توضيحات غير ضرورى در ساختمانها،&gt;br&gt;ليست ساختمان سازى،كوچك شدن اسكرول&#39;,
	  ambrosiaPay_description : &#39;حذف گزينه خريد منابع با آمبروژيا,&lt;br&gt;كليك كردن بر روى دكمه انصراف زمان فعال شدن آن&#39;,
	  wineWarningTime_description : &#39;زمانى كه اين مقدار ساعت به اتمام انگور مانده باشد، برنگ قرمز هشدار داده خواهد شد&#39;,
	  languageChange_description : &#39;تغيير زبان برد&#39;,
      newsticker_description : &#39;پنهان كردن تيكر اخبار در تولبار گيم فرج&#39;,
      event_description : &#39;پنهان كردن رويداد زير مشاورين&#39;,
      logInPopup_description : &#39;پنهان كردن پنجره هايى كه در ابتداى ورود به بازى ظاهر ميشود&#39;,
      birdswarm_description : &#39;پنهان كردن پرندگان در نمايش شهر و جزيره&#39;,
      hourlyRes_description : &#39;پنهان كردن در آمد منابع در هر ساعت&#39;,
      onIkaLogs_description : &#39;استفاده از IkaLogs براى گزارشات جنگى&#39;,
      playerInfo_description : &#39;نمايش اطلاعات بازيكنان در نمايش جزيره&#39;,
	  control_description: &#39;مخفى كردن تولبار كليدهاى كنترل صفحه كه در پايين صفحه نمايش داده ميشود&#39;,
      // settings categories  
      visibility_category : &#39;&lt;b&gt;نمايش برد&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;تنظيمات نمايش&lt;/b&gt;&#39;,  
      global_category : &#39;&lt;b&gt;تنظيمات عمومى&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;تنظيمات نظامى&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;تنظيمات ساختمانها&lt;/b&gt;&#39;,  
      resource_category : &#39;&lt;b&gt;تنظيمات منابع&lt;/b&gt;&#39;,  
      language_category : &#39;&lt;b&gt;تنظيمات زبان&lt;/b&gt;&#39;,  
      // Helptable  
      Initialize_Board : &#39;&lt;b&gt;تكميل اطلاعات اوليه برد&lt;/b&gt;&#39;,  
	  on_your_Town_Hall : &#39;روى شهردارىدر تمام شهراى خود &#39;,
	  on_the_Troops : &#39;روى سربازان در شهر كه سمت راست نمايش شهر وجود دارد&#39;,
	  on_Museum : &#39;روى پخش کردن اجناس فرهنگی كه در موزه قرار دارد&#39;,
	  on_Research_Advisor : &#39;روى چهار تحقيقى كه رد قسمت تحقيقات هستند&#39;,
	  on_your_Palace : &#39;روى قصر&#39;,
	  on_your_Finance : &#39;روى تراز نامه&#39;,
      on_the_Ambrosia : &#39;روى فروشگاه آمبروژيا&#39;,
      Re_Order_Towns : &#39;&lt;b&gt;ترتيب بندى شهرها&lt;/b&gt;&#39;,  
      Reset_Position : &#39;&lt;b&gt;ريست محل استقرار برد&lt;/b&gt;&#39;,
	  On_any_tab : &#39;در هر تب، با گرفتن و كشيدن عكس كالايى كه كنار اسم شهر قرار داره ترتيب شهرها رو ميتوانيد تغيير دهيد&#39;,
	  Right_click : &#39;بر روى آيكن اصلى برد كه در سمت راست صفحه وجود دارد كليك راست كنيد&#39;, 
      Navigate : &#39;1، 2، 3، ... ، 0، -، = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; حركت بين شهر 1 تا 12&#39;,
      Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; حركت بين تب هاى اقتصاد/ساختمانها/نظامى&#39;, // Setting/ Help tab
      Navigate_to : &#39;Q، W، E، R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; حركت بين شهرها/نظامى/تحقيق/سياستمدارى&#39;,  
      Navigate_to_World : &#39;SHIFT + Q، W، E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; حركت بين نمايش جهان/جزيره/شهر&#39;,  
      Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; پنهان/آشكار كردن برد&#39;,  
      Hotkeys : &#39;&lt;b&gt;كليدهاى ميانبر&lt;/b&gt;&#39;,
      // formatting  
      thousandSeperator : &#39;,&#39;, 
      decimalPoint:&#39;.&#39;,  
      click_:&#39;&lt;b&gt;كليك كنيد&lt;/b&gt;&#39;        
       },
	   pt:{                     // Thx mosca_fly for Translation 
	  buildings: &#39;Edifícios&#39;,
	  economy: &#39;Economia&#39;,
	  military: &#39;Militares&#39;,
	  towns: &#39;Cidades&#39;,
	  academy_: &#39;Academia&#39;,
	  townhall_: &#39;Câmara Municipal&#39;,
	  dump_: &#39;Depósito&#39;,
	  warehouse_: &#39;Armazém&#39;,
	  tavern_level: &#39;Nível da Taberna&#39;,
	  corruption: &#39;Corrupção&#39;,
	  cultural: &#39;Bens Culturais&#39;,
	  population: &#39;População&#39;,
	  citizens: &#39;Cidadãos&#39;,
	  scientists: &#39;Cientistas&#39;,
	  scientists_max: &#39;Máx. Cientistas&#39;,
	  options: &#39;Opções&#39;,
	  help: &#39;Ajuda&#39;,
	  agora: &#39;Ir para Ágora&#39;,
	  to_world: &#39;Mostrar Mundo&#39;, 
	  to_island: &#39;Mostrar Ilha&#39;,
	  army_cost: &#39;Custo do Exército&#39;,
	  fleet_cost: &#39;Custo da Frota&#39;,
	  army_supply: &#39;Manutenção do Exército&#39;,
	  fleet_supply: &#39;Manutenção da Frota&#39;,
	  research_cost: &#39;Custo de Pesquisa&#39;, 
	  income: &#39;Rendimento&#39;,
	  expenses: &#39;Despesas&#39;,
	  balances: &#39;Balanços&#39;,
	  espionage: &#39;Ver Espionagem&#39;,
	  contracts: &#39;Ver Tratados&#39;,
	  combat: &#39;Ver Combates&#39;,
	  satisfaction: &#39;Satisfação&#39;,
	  total_ : &#39;Total&#39;,
	  max_Level : &#39;Máx. Nível&#39;,
	  actionP : &#39;Pontos de Acção&#39;,
	  researchP : &#39;Pontos de Pesquisa&#39;,
      finances_ : &#39;Finanças&#39;,
      free_ground : &#39;Terrenos de Construção Livres&#39;, 
      wood_ : &#39;Materiais de Construção&#39;,
      wine_ : &#39;Vinho&#39;,
      marble_ : &#39;Mármore&#39;, 
      crystal_ : &#39;Cristal&#39;, 
      sulphur_ : &#39;Enxofre&#39;,   
	  angry: &#39;Irado&#39;,
	  unhappy: &#39;Triste&#39;,
	  neutral: &#39;Neutral&#39;,
	  happy: &#39;Contente&#39;,
	  euphoric: &#39;Eufórico&#39;,   
	  housing_space: &#39;Máx. Espaço na Câmara Municipal&#39;,
	  free_Citizens: &#39;Cidadãos Livres&#39;,
	  free_housing_space: &#39;Espaço Livre na Câmara Municipal&#39;,
	  level_tavern: &#39;Nível da Taberna&#39;,
	  maximum: &#39;Máximo&#39;,
	  used: &#39;Usado&#39;,
	  plundergold: &#39;Ouro&#39;,   
	  garrision: &#39;Limite de Guarnição&#39;,
	  Sea: &#39;Mar&#39;,
	  Inland: &#39;Interior&#39;,  
      full: &#39;0&#39;,
	  off: &#39;off&#39;,
      time_to_full: &#39;para Encher&#39;,
      time_to_empty: &#39;para Esvaziar&#39;,
      capacity: &#39;Capacidade&#39;,
      safe: &#39;Seguro&#39;, 
      training: &#39;Treinando&#39;,  
      plundering: &#39;Pilhando&#39;,  
      constructing: &#39;Expansão em Progresso&#39;,
	  next_Level: &#39;Necessário para Nível&#39;,
      transport: &#39;Transportes&#39;,
	  loading: &#39;Carregando&#39;,
	  en_route: &#39;A Caminho&#39;,
	  arrived: &#39;Chegou&#39;,
      to_town_hall: &#39;para Câmara Municipal&#39;,
	  to_saw_mill: &#39;para Floresta&#39;,
      to_mine: &#39;para Bem de Luxo&#39;,
      to_barracks: &#39;para Quartel&#39;,
      to_shipyard: &#39;para Estaleiro&#39;,
      member: &#39;Ver Lista de Membros&#39;,
      transporting: &#39;Transportar para&#39;,
      transporting_units: &#39;Enviar Tropas para&#39;,
      transporting_fleets: &#39;Mover Frota para&#39;,
	  today: &#39;Hoje&#39;,
	  tomorrow: &#39;Amanhã&#39;,
	  yesterday: &#39;Ontem&#39;,
	  hour: &#39;h&#39;,
	  day: &#39;D&#39;,
	  week: &#39;S&#39;,
	  hour_long: &#39;Hora&#39;,
	  day_long: &#39;Dia&#39;,
	  week_long: &#39;Semana&#39;,
      ika_world: &#39;Procurar em Ikariam-World&#39;,
      charts: &#39;Ver Cartas&#39;,
      //settings
      cityOrder : &#39;OrdemCidade&#39;,
      fullArmyTable :  &#39;Mostrar todas Unidades Militares&#39;,
      hideOnWorldView : &#39;Forçar Ocultação no Mapa Mundo&#39;,
      hideOnIslandView : &#39;Forçar Ocultação no Mapa da Ilha&#39;,   
      hideOnCityView : &#39;Forçar Ocultação no Mapa da Cidade&#39;,
      onTop : &#39;Sobrepor as das Janelas do Ikariam&#39;,
      windowTennis : &#39;Sobrepor ao ikariam passando com o Rato por cima&#39;,
      autoUpdates : &#39;Procurar por Actualizações Automaticamente&#39;,
      smallFont : &#39;Usar Letra pequena&#39;,
      alternativeBuildingList : &#39;Usar lista de Edifícios Alternativa&#39;,
      compressedBuildingList : &#39;Use compressed building list&#39;, //
      wineOut : &#39;Disable Ambrosia feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Automatically confirm the daily bonus&#39;, //
  	  unnecessaryTexts : &#39;Removes unnecessary descriptions&#39;, //
	  ambrosiaPay : &#39;Deactivate new Ambrosia buying options&#39;, //
      wineWarningTime : &#39;Aviso de Vinho Restante&#39;,
      languageChange : &#39;Alterar Língua&#39;,
	  current_Version : &#39;Versão Actual&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Versão Ikariam&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Repor Definições Padrão&#39;,
	  goto_website : &#39;Ir para o Sítio Web de scripts Userscripts.com&#39;,
	  website : &#39;Sítio Web&#39;, 
      Check_for_updates : &#39;Forçar uma verificação por Actualizações&#39;,
      check : &#39;Procurar por actualizações&#39;, 
      Report_bug : &#39;Reportar erro no script&#39;,
      report : &#39;Reportar Erro&#39;,
      save : &#39;Save&#39;,
      save_settings : &#39;Save settings&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
      newsticker : &#39;Ocultar newsticker&#39;,
      event : &#39;Ocultar Eventos&#39;,
	  logInPopup : &#39;Hide the Info Window when login&#39;, //
      birdswarm : &#39;Ocultar birdswarm&#39;,
      hourlyRes : &#39;Ocultar Recursos por Hora&#39;,
      onIkaLogs : &#39;Use IkaLog Battle Report Converter&#39;, //
      playerInfo : &#39;Show information about player&#39;, //
	  control: &#39;Hide Control center&#39;, //
	  alert: &#39;Please choose only one option!&#39;, //
	  alert_palace: &#39;Please visit your capital city first&#39;, //
	  alert_toast: &#39;Data Reset, reloading the page in a few seconds&#39;, //
	  alert_error: &#39;An error occurred while checking for updates: &#39;, //
	  alert_noUpdate: &#39;No update is available for &quot;&#39;, //
	  alert_update: &#39;There is an update available for the Greasemonkey script &quot;&#39;, //
	  alert_update1: &#39;Would you like to go to the install page now?&#39;, //
	  alert_daily: &#39;Please enable \&#39;Automatically confirm the daily bonus \&#39;&#39;, //
      en : &#39;Inglês&#39;,
      de : &#39;Alemão&#39;,
      it : &#39;Italiano&#39;,
      el : &#39;Grego&#39;,
      es : &#39;Espanhol&#39;,
      fr : &#39;Francês&#39;,
	  ro : &#39;Romeno&#39;,
	  ru : &#39;Russo&#39;,
	  cz : &#39;Checo&#39;,
      pl : &#39;Polaco&#39;,
      ar : &#39;Árabe&#39;,
      ir : &#39;Persa&#39;,
      pt : &#39;Português&#39;,
	  tr : &#39;Turco&#39;,
	  nl : &#39;Holandês&#39;,
      //settings descriptions
      cityOrder_description : &#39;OrdemCidade_Descrição&#39;,
      fullArmyTable_description : &#39;Mostrar todas as unidades possíveis no separador do Exército&#39;,
	  hideOnWorldView_description : &#39;Ocultar por padrão no Mapa do Mundo&#39;,
      hideOnIslandView_description : &#39;Ocultar por padrão no Mapa da Ilha&#39;,
      hideOnCityView_description : &#39;Ocultar por padrão no Mapa da Ilha&#39;,
      onTop_description : &#39;Mostrar Tabela por cima das janelas do Ikariam&#39;,
      windowTennis_description : &#39;Sobrepor Tabela ao passar o rato por cima&lt;br&gt;Esta Opção Ignora a opção: Mostrar Tabela por cima das janelas do Ikariam&lt;br&gt;&#39;,
      autoUpdates_description : &#39;Activa a opção de verificar por actualizações automáticas &lt;br&gt;(A cada 24hrs)&#39;,
      smallFont_description : &#39;Usa letra pequena para dados da tabela&#39;,
      alternativeBuildingList_description : &#39;Usa tabela alternativa de Edifícios&#39;,
      compressedBuildingList_description : &#39;Use condensed building table&lt;br&gt;Groups luxury resource production buildings&lt;br&gt;Groups palace/govenors residence&#39;, //
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;The daily bonus will be automatically confirmed&lt;br&gt;and the window is no longer displayed&#39;, //
	  unnecessaryTexts_description: &#39;Removes unnecessary descriptions in buildings,&lt;br&gt;the building list of buildings, minimize scrolling&#39;, //
	  ambrosiaPay_description : &#39;Disables the new Ambrosia buying options,&lt;br&gt;click on the button cancels the action&#39;, //
      wineWarningTime_description : &#39;Tempo restante de vinho torna-se, \&#39;vermelho\&#39; nesta altura&#39;,
      languageChange_description : &#39;Altera a língua&#39;,
      newsticker_description : &#39;Oculta o newsticker no GF-toolbar&#39;,
      event_description : &#39;Oculta eventos debaixo dos conselheiros&#39;,
      logInPopup_description : &#39;Hide the Info Window when login&#39;, //
      birdswarm_description : &#39;Ocultar birdswarm no Mapa de Ilha e de Cidade&#39;,
      hourlyRes_description : &#39;Ocultar Recursos por hora na barra informativa&#39;,
      onIkaLogs_description : &#39;use IkaLogs for your battle reports&#39;,
      playerInfo_description : &#39;View information from the players in the island view&#39;, //
	  control_description: &#39;Hide the Control center in world, island and city view&#39;, //
	  // settings categories
      visibility_category : &#39;&lt;b&gt;Visibilidade da Tabela&lt;/b&gt;&#39;,
      display_category : &#39;&lt;b&gt;Mostrar Definições&lt;/b&gt;&#39;,
      global_category : &#39;&lt;b&gt;Definições Gerais&lt;/b&gt;&#39;,
      army_category : &#39;&lt;b&gt;Definições do Exército&lt;/b&gt;&#39;,
      building_category : &#39;&lt;b&gt;Definições de Edifícios&lt;/b&gt;&#39;,
      resource_category : &#39;&lt;b&gt;Definições de Recursos&lt;/b&gt;&#39;,
      language_category : &#39;&lt;b&gt;Definições de Língua&lt;/b&gt;&#39;,
      // Helptable
      Initialize_Board : &#39;&lt;b&gt;Inicializar Tabela&lt;/b&gt;&#39;,
	  on_your_Town_Hall : &#39;na tua Câmara Municipal e passa por cada cidade com esse modo de vista aberto&#39;,
	  on_the_Troops : &#39; no separador \&quot;Tropas na cidade\&quot; no lado esquerdo e passa por cada cidade com esse modo de vista aberto&#39;,
	  on_Museum : &#39;no Museu e depois no separador \&quot;Distribuir Tratados Culturais\&quot;&#39;,
	  on_Research_Advisor : &#39;no Conselheiro Científico e depois clica em cada um dos 4 separadores de pesquisa na janela a esquerda&#39;,
	  on_your_Palace : &#39;no teu palácio&#39;,
	  on_your_Finance : &#39;no teu separador de Finanças&#39;,
	  on_the_Ambrosia : &#39;na \&quot;Loja de Ambrósia\&quot;&#39;,
	  Re_Order_Towns : &#39;&lt;b&gt;Re-Ordenar Cidades&lt;/b&gt;&#39;,
	  Reset_Position : &#39;&lt;b&gt;Redefinir Posição&lt;/b&gt;&#39;,
	  On_any_tab : &#39;Em qualquer separador, arrasta o ícone do recurso a esquerda do nome da Cidade&#39;,
	  Right_click : &#39;Clica botão direito do rato no botão do Menu de Império do menu da página no lado esquerdo&#39;,
	  Navigate : &#39;1, 2, 3 ... 0, -, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navega da Cidade 1 a 12&#39;,
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navega aos separadores Cidade/ Edifícios/ Exército&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navega para os Conselheiros da Cidade/ Militar/ Pesquisas/ Diplomacia&#39;,
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navega para Mapas do Mundo/ Ilha/ Cidade&#39;,
	  Spacebar : &#39;Barra-de-espaços&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimiza/ Maximiza a Tabela&#39;,
	  Hotkeys : &#39;&lt;b&gt;Atalhos&lt;/b&gt;&#39;,
      // formatting
      thousandSeperator : &#39;,&#39;,
      decimalPoint:&#39;.&#39;,
      click_:&#39;&lt;b&gt;Click&lt;/b&gt;&#39;  
       },
	   tr:{                     // Thx Tyrant for Translation
	  buildings: &#39;Binalar&#39;,  
	  economy: &#39;Ekonomi&#39;,  
	  military: &#39;Askeri&#39;,  
	  towns: &#39;Koloniler&#39;,  
	  academy_: &#39;Akademi&#39;,  
	  townhall_: &#39;Belediye Binası&#39;,  
	  dump_: &#39;Yığın Sahası&#39;,  
	  warehouse_: &#39;Depo&#39;,  
	  tavern_level: &#39;Taverna Seviyesi&#39;,  
	  corruption: &#39;Bozulum&#39;,  
	  cultural: &#39;Kültürel Eşyalar&#39;,  
	  population: &#39;Popülasyon&#39;,  
	  citizens: &#39;Vatandaşlar&#39;,  
	  scientists: &#39;Bilim Adamları&#39;,  
	  scientists_max: &#39;maks. Bilim Adamı&#39;,  
	  options: &#39;Ayarlar&#39;,  
	  help: &#39;Yardım&#39;,  
	  agora: &#39;Agoraya Git&#39;,  
	  to_world: &#39;Dünya&#39;,   
	  to_island: &#39;Adayı Göster&#39;,  
	  army_cost: &#39;Birliklerin Temel Maliyeti&#39;,  
	  fleet_cost: &#39;Filonun Temel Maliyeti&#39;,  
	  army_supply: &#39;Birliklerin Beslenme Masrafları&#39;,  
	  fleet_supply: &#39;Filonun Beslenme Masrafları&#39;,  
	  research_cost: &#39;Araştırma Maliyeti&#39;,   
	  income: &#39;Gelir&#39;,  
	  expenses: &#39;Bakım Masrafı&#39;,  
	  balances: &#39;Genel Durum&#39;,  
	  espionage: &#39;İstihbarat Merkezine Git&#39;,  
	  contracts: &#39;Antlaşmalara Git&#39;,  
	  combat: &#39;Savaş Raporlarına Git&#39;,  
	  satisfaction: &#39;Memnuniyet&#39;,  
	  total_ : &#39;toplam&#39;,  
	  max_Level : &#39;maks. Seviye&#39;,  
	  actionP : &#39;Aksiyon Puanı&#39;,  
	  researchP : &#39;Araştırma Puanı&#39;,  
	  finances_ : &#39;Bilanço&#39;,  
	  free_ground : &#39;boş Bina Alanı&#39;,   
	  wood_ : &#39;İnşa Malzemesi&#39;,  
	  wine_ : &#39;Üzüm&#39;,  
	  marble_ : &#39;Mermer&#39;,   
	  crystal_ : &#39;Kristal&#39;,   
	  sulphur_ : &#39;Sülfür&#39;,        
	  angry: &#39;Kızgın&#39;,  
	  unhappy: &#39;Mutsuz&#39;,  
	  neutral: &#39;Nötr&#39;,  
	  happy: &#39;Mutlu&#39;,  
	  euphoric: &#39;Mükemmel&#39;,        
	  housing_space: &#39;maks. Konut&#39;,  
	  free_Citizens: &#39;İşsiz Vatandaşlar&#39;,  
	  free_housing_space: &#39;boş Konut&#39;,  
	  level_tavern: &#39;Taverna Seviyesi&#39;,  
	  maximum: &#39;maksimum&#39;,  
	  used: &#39;kullanılan&#39;,  
	  plundergold: &#39;Altın&#39;,        
	  garrision: &#39;Garnizon limiti&#39;,  
	  Sea: &#39;Deniz&#39;,  
	  Inland: &#39;Kara&#39;,         
	  full: &#39;0&#39;,
	  off: &#39;off&#39;,
	  time_to_full: &#39;Kalan Süre (Dolması için)&#39;,  
	  time_to_empty: &#39;Kalan Süre (Bitmesi için)&#39;,  
	  capacity: &#39;Kapasite&#39;,  
	  safe: &#39;Güvende&#39;,   
	  training: &#39;Eğitiliyor&#39;,        
	  plundering: &#39;Yağmalanıyor&#39;,       
	  constructing: &#39;Yükseltiliyor!&#39;,  
	  next_Level: &#39;Gerekenler : Seviye&#39;,  
	  transport: &#39;Kargo Gemileri&#39;,  
	  loading: &#39;yükleniyor&#39;,  
	  en_route: &#39;yolda&#39;,  
	  arrived: &#39;ulaştı&#39;,  
	  to_town_hall: &#39;Belediye Binasına Git :&#39;,  
	  to_saw_mill: &#39;Ormana Git&#39;,  
	  to_mine: &#39;Lüks Kaynağa Git&#39;,  
	  to_barracks: &#39;Kışlaya Git :&#39;,  
	  to_shipyard: &#39;Donanma Tershanesine Git :&#39;,  
	  member: &#39;Üye Listesi&#39;,  
	  transporting: &#39;Malzeme Gönder -&gt;&#39;,  
	  transporting_units: &#39;Birlik Konuşlandır -&gt;&#39;,  
	  transporting_fleets: &#39;Filo Konuşlandır -&gt;&#39;,  
	  today: &#39;bugün&#39;,  
	  tomorrow: &#39;yarın&#39;,  
	  yesterday: &#39;dün&#39;,  
	  hour: &#39;s&#39;,  
	  day: &#39;G&#39;,  
	  week: &#39;H&#39;,  
	  hour_long: &#39;Saat&#39;,  
	  day_long: &#39;Gün&#39;,  
	  week_long: &#39;Hafta&#39;,  
	  ika_world: &#39;Ikariam-World \&#39;te Ara&#39;,  
	  charts: &#39;İstatistikleri Göster&#39;,  
	  //settings  
	  cityOrder : &#39;cityOrder&#39;,  
	  fullArmyTable : &#39;Alternatif askeri birimleride göster&#39;,  
      hideOnWorldView : &#39;Dünya haritasında gizle&#39;,  
	  hideOnIslandView : &#39;Ada görünümünde gizle&#39;,       
      hideOnCityView : &#39;Şehir görünümünde gizle&#39;,  
	  onTop : &#39;En önde göster&#39;,  
	  windowTennis : &#39;Fare üstüne geldiğinde öne getir&#39;,  
	  autoUpdates : &#39;Otomatik güncelleme&#39;,  
	  smallFont : &#39;Küçük yazı tipi kullan&#39;,  
	  alternativeBuildingList : &#39;Alternatif binalarıda göster&#39;,
      compressedBuildingList : &#39;Sıkıştırılmış bina listesi&#39;,
      wineOut : &#39;Hide Ambrosia Feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Günlük bonusları otomatik onayla&#39;,
  	  unnecessaryTexts : &#39;Gereksiz açıklamaları gizle&#39;,
	  ambrosiaPay : &#39;Ambrosia\&#39;lı işlemleri gizle&#39;,
	  wineWarningTime : &#39;Üzüm azalma uyarı süresi&#39;,  
	  languageChange : &#39;Dil değiştir&#39;,  
	  current_Version : &#39;Kullanılan Versiyon&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Versiyonu&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Ayarları sıfırla&#39;,  
	  goto_website : &#39;Empire Overview \&#39;ın sitesine git&#39;,  
	  website : &#39;Website&#39;,   
	  Check_for_updates : &#39;Yeni bir güncelleme çıkmışmı diye kontrol eder&#39;,  
	  check : &#39;Güncellemeleri Kontrol Et&#39;,   
	  Report_bug : &#39;Eklentide karşılaştığınız hataları bildirin&#39;,  
	  report : &#39;Hata Bildir&#39;,
      save : &#39;Kaydet&#39;,
      save_settings : &#39;Şu anki ayarları kaydeder&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
	  newsticker : &#39;Haberleri gizle&#39;,  
	  event : &#39;Etkinlikleri gizle&#39;,  
	  logInPopup : &#39;Girişteki Bilgi Penceresini gizle&#39;,
	  birdswarm : &#39;Kuş sürüsünü gizle&#39;,  
	  hourlyRes : &#39;Saatlik üretimi gizle&#39;,  
	  onIkaLogs : &#39;IkaLog Savaş Raporu Dönüştürüsü kullan&#39;,  
	  playerInfo : &#39;Oyuncuya ait bilgileri göster&#39;,
	  control: &#39;Kontrol merkezini gizle&#39;,
	  alert: &#39;Bina Ayarları \&#39;nda sadece bir adet seçeneği seçebilirsiniz!&#39;,
	  alert_palace: &#39;Lütfen öncelikle başkentinize gidiniz&#39;,
	  alert_toast: &#39;Veriler sıfırlanıyor, sayfa birkaç saniye içinde yenilenecektir&#39;,
	  alert_error: &#39;Güncellemeleri kontrol ederken hata oluştu: &#39;,
	  alert_noUpdate: &#39;Son versiyonu kullanmaktasınız &quot;&#39;,
	  alert_update: &#39;Yeni bir güncelleme var &quot;&#39;,
	  alert_update1: &#39;Yükleme sayfasına gitmek istediğinize eminmisiniz?&#39;,
	  alert_daily: &#39;Lütfen \&#39;Günlük bonusları otomatik onayla \&#39; yı aktifleştiriniz&#39;,
	  en : &#39;English&#39;,  
      de : &#39;German&#39;,  
	  it : &#39;Italian&#39;,  
	  el : &#39;Greek&#39;,  
	  es : &#39;Spanish&#39;,  
	  fr : &#39;French&#39;,  
	  ro : &#39;Romanian&#39;,  
	  ru : &#39;Russian&#39;,  
	  cz : &#39;Czech&#39;,  
	  pl : &#39;Polish&#39;,  
	  ar : &#39;Arabic&#39;,  
	  ir : &#39;Persian&#39;,  
	  pt : &#39;Portuguese&#39;,  
	  tr : &#39;Türkçe&#39;,
	  nl : &#39;Hollandalı&#39;,
	  //settings descriptions  
	  cityOrder_description : &#39;cityOrder_description&#39;,  
	  fullArmyTable_description : &#39;Askeri sekmesinde bütün askeri birimleri gösterir&#39;,  
	  hideOnWorldView_description : &#39;Dünya haritasında bu pencereyi göstermez&#39;,  
	  hideOnIslandView_description : &#39;Ada görünümünde bu pencereyi göstermez&#39;,  
	  hideOnCityView_description : &#39;Şehir görünümünde bu pencereyi göstermez&#39;,  
	  onTop_description : &#39;Bu pencereyi her zaman İkariam pencerelerinin önünde gösterir&#39;,  
	  windowTennis_description : &#39;Farenizi hangi pencerenin üzerine getirirseniz o pencereyi en öne getirir&#39;,  
	  autoUpdates_description : &#39;Sizin yerinize her 24 saatte bir güncellemeleri kontrol eder&#39;,  
	  smallFont_description : &#39;Empire Overview \&#39;da kullanılan yazı tiplerini küçültür&#39;,  
	  alternativeBuildingList_description : &#39;Binalar sekmesinde bütün binaları gösterir&#39;,
      compressedBuildingList_description : &#39;Binalar sekmesinde;&lt;br&gt;Lüks kaynak üretimi binalarını gruplar&lt;br&gt;Saray ve Valiliği gruplar&#39;,
	  wineWarningTime_description : &#39;Ekonomi sekmesinde, üzüm yeterliliği belirttiğiniz sürenin altına düşen kolonilerde \&#39;kırmızı\&#39; olarak gösterilir&#39;,
      wineOut_description : &#39;Disables the Ambrosia option to buy \&#39;Out of Wine\&#39;&#39;, //
	  dailyBonus_description : &#39;Günlük bonus otomatik olarak onaylanır&lt;br&gt;ve ekranda gösterilmez&#39;,
	  unnecessaryTexts_description: &#39;Binalardaki gereksiz açıklamaları gizler,&lt;br&gt;böylelikle pencereler daha az yer kaplar&#39;,
	  ambrosiaPay_description : &#39;Bazı Ambrosia\&#39;lı işlemleri gizler&#39;,
	  languageChange_description : &#39;Dili buradan değiştirebilirsiniz&#39;,  
	  newsticker_description : &#39;GF-toolbar \&#39;daki haberleri gizler&#39;,  
	  event_description : &#39;İkariam \&#39;ın düzenlendiği etkinlikleri gizler&#39;,
      logInPopup_description : &#39;Giriş yapıldıktan sonra açılan Bilgilendirme Penceresini gizler&#39;,
	  birdswarm_description : &#39;Şehir ve ada görünümde uçan kuş sürülerini gizler&#39;,  
	  hourlyRes_description : &#39;Sol üst köşedeki bilgilendirme çubuğunda yer alan saatlik üretimi gizler&#39;,  
	  onIkaLogs_description : &#39;Savaş raporlarınızı IkaLogs kullanarak dönüştürür&#39;,  
	  playerInfo_description : &#39;Ada görünümünde adada yer alan oyuncular hakkında bilgileri gösterir&#39;,
	  control_description: &#39;Dünya, Ada ve Şehir görünümünde Kontrol merkezini gizler&#39;,
	  // settings categories  
	  visibility_category : &#39;&lt;b&gt;Empire Overview Görünürlüğü&lt;/b&gt;&#39;,  
	  display_category : &#39;&lt;b&gt;Görünüm Ayarları&lt;/b&gt;&#39;,  
	  global_category : &#39;&lt;b&gt;Genel Ayarlar&lt;/b&gt;&#39;,  
	  army_category : &#39;&lt;b&gt;Ordu Ayarları&lt;/b&gt;&#39;,  
	  building_category : &#39;&lt;b&gt;Bina Ayarları&lt;/b&gt;&#39;,  
	  resource_category : &#39;&lt;b&gt;Üretim Ayarları&lt;/b&gt;&#39;,  
	  language_category : &#39;&lt;b&gt;Dil Ayarları&lt;/b&gt;&#39;,  
	  // Helptable  
	  Initialize_Board : &#39;&lt;b&gt;Diğer İşlemler&lt;/b&gt;&#39;,  
	  on_your_Town_Hall : &#39;Belediye Binasını açmak için tıklayın&#39;,  
	  on_the_Troops : &#39;Şehirdeki birlikleri görüntülemek için tıklayın&#39;,  
	  on_Museum : &#39;Kültürel Eşya dağıtımı yapmak için tıklayın&#39;,  
	  on_Research_Advisor : &#39;Araştırmalara bakmak için tıklayın&#39;,  
	  on_your_Palace : &#39;Saraya gitmek için tıklayın&#39;,  
	  on_your_Finance : &#39;Bilançoya bakmak için tıklayın&#39;,  
	  on_the_Ambrosia : &#39;Ambrosia Shop \&#39;u açmak için tıklayın&#39;,  
	  Re_Order_Towns : &#39;&lt;b&gt;Şehir Sıralama&lt;/b&gt;&#39;,  
	  Reset_Position : &#39;&lt;b&gt;Pencere Pozisyonunu Sıfırla&lt;/b&gt;&#39;,  
	  On_any_tab : &#39;Ekonomi / Binalar / Askeri sekmelerinden herhangi bir tanesinde şehir sıralamasını değiştirmek istiyorsanız,&lt;br&gt;şehrin sol tarafındaki lüks kaynak ikonunu aşağı/yukarı sürükleyerek şehir sıralamasını değiştirebilirsiniz&#39;,  
	  Right_click : &#39;Sol taraftaki Empire Overview butonunun üzerinde sağ tuşa tıklarsanız Empire Overview penceresinin&lt;br&gt;konumunu sıfırlayacaktır.&#39;,  
	  Navigate : &#39;1, 2, 3 ... 0, *, - &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Şehirlerinizi dolaşmanızı sağlar&#39;,  
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Empire Overview \&#39;ın Ekonomi / Binalar / Askeri sekmelerini açmanızı sağlar&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Şehirler / Ordu / Araştırma / Diplomasi pencerelerini açmanızı sağlar&#39;,  
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Dünya / Ada / Şehir görünümlerini açmanızı sağlar&#39;,  
	  Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Pencereyi gizler / gösterir&#39;,  
	  Hotkeys : &#39;&lt;b&gt;Kısayollar&lt;/b&gt;&#39;,  
	  // formatting  
	  thousandSeperator : &#39;,&#39;,  
	  decimalPoint:&#39;.&#39;,  
	  click_:&#39;&lt;b&gt;Tıkla&lt;/b&gt;&#39;          
	   },
	   nl:{                     // Thx Edel1965 for Translation
	  buildings: &#39;Gebouwen&#39;,  
	  economy: &#39;Economie&#39;,  
	  military: &#39;Militair&#39;,  
	  towns: &#39;Steden&#39;,  
	  academy_: &#39;Academie&#39;,  
	  townhall_: &#39;Stadhuis&#39;,  
	  dump_: &#39;Stort&#39;,  
	  warehouse_: &#39;Opslagplaats&#39;,  
	  tavern_level: &#39;Taverne Level&#39;,  
	  corruption: &#39;Corruptie&#39;,  
	  cultural: &#39;Culturele Goederen&#39;,  
	  population: &#39;Populatie&#39;,  
	  citizens: &#39;Inwoners&#39;,  
	  scientists: &#39;Onderzoekers&#39;,  
	  scientists_max: &#39;max. Onderzoekers&#39;,  
	  options: &#39;Opties&#39;,  
	  help: &#39;Help&#39;,  
	  agora: &#39;naar Agora&#39;,  
	  to_world: &#39;Toon Wereld&#39;,   
	  to_island: &#39;Toon Eiland&#39;,  
	  army_cost: &#39;Troepen kosten&#39;,  
	  fleet_cost: &#39;Vloot kosten&#39;,  
	  army_supply: &#39;Troepen Bevoorrading&#39;,  
	  fleet_supply: &#39;Vloot Bevoorrading&#39;,  
	  research_cost: &#39;Onderzoeks kosten&#39;,   
	  income: &#39;Inkomen&#39;,  
	  expenses: &#39;Kosten&#39;,  
	  balances: &#39;Balansen&#39;,  
	  espionage: &#39;Bekijk Spionage&#39;,  
	  contracts: &#39;Bekijk Contracten&#39;,  
	  combat: &#39;Bekijk Gevechten&#39;,  
	  satisfaction: &#39;Tevredenheid&#39;,  
	  total_ : &#39;totaal&#39;,  
	  max_Level : &#39;max. Level&#39;,  
	  actionP : &#39;Actie Punten&#39;,  
	  researchP : &#39;Onderzoeks Punten&#39;,  
	  finances_ : &#39;Balansen&#39;,  
	  free_ground : &#39;Vrije Bouwgrond&#39;,   
	  wood_ : &#39;Bouwmateriaal&#39;,  
	  wine_ : &#39;Wijn&#39;,  
	  marble_ : &#39;Marmer&#39;,   
	  crystal_ : &#39;Kristal Glas&#39;,   
	  sulphur_ : &#39;Zwavel&#39;,        
	  angry: &#39;Kwaad&#39;,  
	  unhappy: &#39;Ongelukkig&#39;,  
	  neutral: &#39;Neutraal&#39;,  
	  happy: &#39;Gelukkig&#39;,  
	  euphoric: &#39;Euforisch&#39;,        
	  housing_space: &#39;max. Woonruimte&#39;,  
	  free_Citizens: &#39;Vrije Inwoners&#39;,  
	  free_housing_space: &#39;Vrije Woonruimte&#39;,  
	  level_tavern: &#39;Level Taverne&#39;,  
	  maximum: &#39;maximaal&#39;,  
	  used: &#39;Gebruikt&#39;,  
	  plundergold: &#39;Goud&#39;,        
	  garrision: &#39;Garnizoenslimiet&#39;,  
	  Sea: &#39;Zee&#39;,  
	  Inland: &#39;Land&#39;,         
	  full: &#39;0&#39;,
	  off: &#39;af&#39;,
	  time_to_full: &#39;Tot Vol&#39;,  
	  time_to_empty: &#39;Tot Leeg&#39;,  
	  capacity: &#39;Capaciteit&#39;,  
	  safe: &#39;Veilig&#39;,   
	  training: &#39;Training&#39;,        
	  plundering: &#39;Plundering&#39;,       
	  constructing: &#39;Uitbreiding Bezig&#39;,  
	  next_Level: &#39;Nodig voor Level&#39;,  
	  transport: &#39;Transporten&#39;,  
	  loading: &#39;Laden&#39;,  
	  en_route: &#39;Onderweg&#39;,  
	  arrived: &#39;Gearriveerd&#39;,  
	  to_town_hall: &#39;Naar Stadhuis&#39;,  
	  to_saw_mill: &#39;Naar de Houtmijn&#39;,  
	  to_mine: &#39;Naar de Luxegrondstof&#39;,  
	  to_barracks: &#39;Naar de Barakken&#39;,  
	  to_shipyard: &#39;Naar de Scheepswerf&#39;,  
	  member: &#39;Bekijk Ledenlijst&#39;,  
	  transporting: &#39;Transport naar&#39;,  
	  transporting_units: &#39;Stuur troepen naar&#39;,  
	  transporting_fleets: &#39;Stuur vloot naar&#39;,  
	  today: &#39;Vandaag&#39;,  
	  tomorrow: &#39;Morgen&#39;,  
	  yesterday: &#39;Gisteren&#39;,  
	  hour: &#39;U&#39;,  
	  day: &#39;D&#39;,  
	  week: &#39;W&#39;,  
	  hour_long: &#39;Uur&#39;,  
	  day_long: &#39;Dag&#39;,  
	  week_long: &#39;Week&#39;,  
	  ika_world: &#39;Zoek op Ikariam-World&#39;,  
	  charts: &#39;Toon Grafieken&#39;,  
	  //settings  
	  cityOrder : &#39;cityOrder&#39;,  
	  fullArmyTable : &#39;Toon alle militaire eenheden&#39;,  
      hideOnWorldView : &#39;Verberg in toon wereld&#39;,  
	  hideOnIslandView : &#39;Verberg in toon eiland&#39;,       
      hideOnCityView : &#39;Verberg in toon stad&#39;,  
	  onTop : &#39;Toon boven de ikariam schermen&#39;,  
	  windowTennis : &#39;Toon boven de ikariam schermen met muisaanwijzing&#39;,  
	  autoUpdates : &#39;Controleer automatisch op updates&#39;,  
	  smallFont : &#39;Gebruik een kleiner lettertype&#39;,  
	  alternativeBuildingList : &#39;Gebruik een alternatieve gebouwenlijst&#39;,
      compressedBuildingList : &#39;Gebruik een gecomprimeerde gebouwenlijst&#39;,
      wineOut : &#39;Hide Ambrosia Feature &quot;Out of Wine&quot;&#39;, //
	  dailyBonus : &#39;Ontvang je dagelijkse bonus automatisch&#39;,
  	  unnecessaryTexts : &#39;Verwijder onnodige omschrijvingen&#39;,
	  ambrosiaPay : &#39;Zet de koop nieuwe Ambrosia optie uit&#39;,
	  wineWarningTime : &#39;Resterende wijn waarschuwing&#39;,  
	  languageChange : &#39;Verander taal&#39;,  
	  current_Version : &#39;Huidige Versie&lt;b&gt;:&lt;/b&gt;&#39;,
	  ikariam_Version : &#39;Ikariam Versie&lt;b&gt;:&lt;/b&gt;&#39;,
	  reset : &#39;Reset all settings to default&#39;, //
	  goto_website : &#39;Ga naar de scriptpagina op Userscripts.com&#39;,  
	  website : &#39;Website&#39;,   
	  Check_for_updates : &#39;Controleer nu voor een update&#39;,  
	  check : &#39;Update controlle&#39;,   
	  Report_bug : &#39;Raporteer een fout in het script&#39;,  
	  report : &#39;Raporteer fout&#39;,
      save : &#39;Opslaan&#39;,
      save_settings : &#39;Opties opslaan&lt;b&gt;!&lt;/b&gt;&amp;nbsp;&#39;,		  
	  newsticker : &#39;verberg de nieuws banner&#39;,  
	  event : &#39;Verberg evenementen&#39;,  
	  logInPopup : &#39;Verberg het inlog infoscherm&#39;,
	  birdswarm : &#39;Verberg de vogelzwerm&#39;,  
	  hourlyRes : &#39;Verberg de goederen per uur&#39;,  
	  onIkaLogs : &#39;Gebruik de IkaLog Gevechtsraport Converter&#39;,  
	  playerInfo : &#39;Toon spelersinformatie&#39;,
	  control: &#39;Verberg de navigatiebalk&#39;,
	  alert: &#39;Kies slechts één optie AUB!&#39;,
	  alert_palace: &#39;Bezoek eerst je hoofdstad AUB&#39;,
	  alert_toast: &#39;Data Reset, de pagina wordt over een paar seconden herladen&#39;,
	  alert_error: &#39;Er is een fout geconstateerd tijdens het controleren op een update: &#39;,
	  alert_noUpdate: &#39;Er is geen update beschikbaar voor &quot;&#39;,
	  alert_update: &#39;Er is een update beschikbaar voor dit Greasemonkey script &quot;&#39;,
	  alert_update1: &#39;Wil je nu naar de installatiepagina gaan?&#39;,
	  alert_daily: &#39;Schakel AUB \&#39;Ontvang je dagelijkse bonus automatisch \&#39; in&#39;,
	  en : &#39;Engels&#39;,  
      de : &#39;Duits&#39;,  
	  it : &#39;Italiaans&#39;,  
	  el : &#39;Grieks&#39;,  
	  es : &#39;Spaans&#39;,  
	  fr : &#39;Frans&#39;,  
	  ro : &#39;Roemeens&#39;,  
	  ru : &#39;Russisch&#39;,  
	  cz : &#39;Tsjechisch&#39;,  
	  pl : &#39;Pools&#39;,  
	  ar : &#39;Arabisch&#39;,  
	  ir : &#39;Perzisch&#39;,  
	  pt : &#39;Portugees&#39;,  
	  tr : &#39;Turks&#39;,
	  nl : &#39;Nederlands&#39;,	  
	  //settings descriptions  
	  cityOrder_description : &#39;cityOrder_description&#39;,  
	  fullArmyTable_description : &#39;Toon alle militaire eenheden op de militaire tab&#39;,  
	  hideOnWorldView_description : &#39;Verberg standaard op Toon wereld&#39;,  
	  hideOnIslandView_description : &#39;Verberg standaard op Toon eiland&#39;,  
	  hideOnCityView_description : &#39;Verberg standaard in Toon stad&#39;,  
	  onTop_description : &#39;Toon dit overzicht bovenop de Ikariam schermen&#39;,  
	  windowTennis_description : &#39;Brengt dit overzicht met je muis bovenop &lt;br&gt; Weer naar de achtergrond als de muis het scherm verlaat &lt;br&gt; Negeert \&#39;Toon bovenop\’ optie&#39;,  
	  autoUpdates_description : &#39;Zet de automatische update controle aan &lt;br&gt;(één keer per 24 uur)&#39;,  
	  smallFont_description : &#39;Gebruik een kleiner lettertype in de tabs&#39;,  
	  alternativeBuildingList_description : &#39;Gebruik een alternatieve gebouwen overzicht&#39;,
      compressedBuildingList_description : &#39;Gebruik een gecomprimeerde gebouwen overzicht &lt;br&gt; Groepeert de luxegoederen productie gebouwen &lt;br&gt; Groepeerd de paleis/gouverneurswoning&#39;,
	  wineWarningTime_description : &#39;Resterende wijn tijd wordt, \&#39;rood\&#39; Vanaf dit moment&#39;,
      wineOut_description : &#39;Schakelt de Ambrosia optie om \&#39;Out of Wine\’ te kopen uit&#39;, 
	  dailyBonus_description : &#39;De dagelijkse bonus zal automatisch worden geaccepteert &lt;br&gt; en het scherm zal niet meer worden getoond&#39;,
	  unnecessaryTexts_description: &#39;Verwijderd onnodige beschrijvingen in de gebouwen,&lt;br&gt;de bouwlijst van de gebouwen, minimaal scrollen&#39;,
	  ambrosiaPay_description : &#39;Schakelt de koop nieuwe Ambrosia optie uit &lt;br&gt; Klik op de knop om de actie te cancelen&#39;,
	  languageChange_description : &#39;Verander de taal&#39;,  
	  newsticker_description : &#39;Verberg de nieuwsbanner uit de GF-menubalk&#39;,  
	  event_description : &#39;Verberg de gebeurtenissen onder de adviseurs&#39;,
      logInPopup_description : &#39;Verberg het informatiescherm bij het inloggen&#39;,
	  birdswarm_description : &#39;Verberg de vogelzwerm bij toon eiland en stad&#39;,  
	  hourlyRes_description : &#39;Verberg het uur verbruik van de middelen in de infobalk&#39;,  
	  onIkaLogs_description : &#39;Gebruik IkaLogs voor je gevechtsraporten&#39;,  
	  playerInfo_description : &#39;Bekijk spelersinformatie in toon eiland&#39;,
	  control_description: &#39;Verberg de navigatiebalk in toon wereld, eiland en stad&#39;,
	  // settings categories  
	  visibility_category : &#39;&lt;b&gt;Board Visibility&lt;/b&gt;&#39;,  
	  display_category : &#39;&lt;b&gt;Display Settings&lt;/b&gt;&#39;,  
	  global_category : &#39;&lt;b&gt;Globale Instellingen&lt;/b&gt;&#39;,  
	  army_category : &#39;&lt;b&gt;Militaire Instellingen&lt;/b&gt;&#39;,  
	  building_category : &#39;&lt;b&gt;Gebouwen Instellingen&lt;/b&gt;&#39;,  
	  resource_category : &#39;&lt;b&gt;Grondstoffen Instellingen&lt;/b&gt;&#39;,  
	  language_category : &#39;&lt;b&gt;Taal Instellingen&lt;/b&gt;&#39;,  
	  // Helptable  
	  Initialize_Board : &#39;&lt;b&gt;Instellen overzichtentab&lt;/b&gt;&#39;,  
	  on_your_Town_Hall : &#39;Op jouw Stadhuis en bezoek iedere stad met dat scherm open&#39;,  
	  on_the_Troops : &#39;Op de \&quot;Troepen in de stad\&quot; tab aan de linker zijde en bezoek iedere stad met dat scherm open&#39;,  
	  on_Museum : &#39;Op je Museum en dan op de \&quot;Verdeel cultureel-goederen\&quot; tab&#39;,  
	  on_Research_Advisor : &#39;Op de onderzoeksadviseur en klik dan op elk van de 4 onderzoek tabs aan de linker kant&#39;,  
	  on_your_Palace : &#39;op jouw Paleis&#39;,  
	  on_your_Finance : &#39;op jouw Financiele tab&#39;,  
	  on_the_Ambrosia : &#39;op de \&quot;Ambrosia shop\&quot;&#39;,  
	  Re_Order_Towns : &#39;&lt;b&gt;Re-Order Steden&lt;/b&gt;&#39;,  
	  Reset_Position : &#39;&lt;b&gt;Reset Positie&lt;/b&gt;&#39;,  
	  On_any_tab : &#39;Bij elke tab, sleep de grondstof icoon naar de linker zijde van de stadsnaam&#39;,  
	  Right_click : &#39;Klik rechts op het empire menu button aan het linker pagina menu&#39;,  
	  Navigate : &#39;1, 2, 3 … 0, –, = &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigeer naar stad 1 tot 12&#39;,  
	  Navigate_to_City : &#39;SHIFT + 1/2/3/4/5 &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigeer naar de Steden/ Gebouwen/ Militaire tab&#39;, // Setting/ Help tab
	  Navigate_to : &#39;Q, W, E, R &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigeer naar Steden/ Militair/ Onderzoek/ Diplomatie adviseur&#39;,  
	  Navigate_to_World : &#39;SHIFT + Q, W, E &lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Navigeer naar het Wereld/ Eiland/ Stads overzicht&#39;,  
	  Spacebar : &#39;Spacebar&lt;b&gt;:&amp;nbsp;&amp;nbsp;&lt;/b&gt; Minimaliseer/ Maximaliseer het overzicht&#39;,  
	  Hotkeys : &#39;&lt;b&gt;Sneltoetsen&lt;/b&gt;&#39;,  
	  // formatting  
	  thousandSeperator : &#39;,&#39;,  
	  decimalPoint:&#39;.&#39;,  
	  click_:&#39;&lt;b&gt;Klik&lt;/b&gt;&#39;          
	   }
   },

  Resources   : {
    GOLD  : &#39;gold&#39;,
    WOOD  : &#39;wood&#39;,
    WINE  : &#39;wine&#39;,
    MARBLE: &#39;marble&#39;,
    GLASS : &#39;glass&#39;,
    SULFUR: &#39;sulfur&#39;	
  },
  ResourceIDs : {
    GOLD  :	&#39;gold&#39;,  
    WOOD  : &#39;resource&#39;,
    WINE  : 1,
    MARBLE: 2,
    GLASS : 3,
    SULFUR: 4
  },
  Research    : {
    Seafaring: {
      CARPENTRY          : 2150,
      DECK_WEAPONS       : 1010,
      PIRACY             : 1170,
      SHIP_MAINTENANCE   : 1020,
      DRAFT              : 1130,
      EXPANSION          : 1030,
      FOREIGN_CULTURES   : 1040,
      PITCH              : 1050,
      MARKET             : 2070,
      GREEK_FIRE         : 1060,
      COUNTERWEIGHT      : 1070,
      DIPLOMACY          : 1080,
      SEA_MAPS           : 1090,
      PADDLE_WHEEL_ENGINE: 1100,
      CAULKING           : 1140,
      MORTAR_ATTACHMENT  : 1110,
      MASSIVE_RAM        : 1150,
      OFFSHORE_BASE      : 1160,
      SEAFARING_FUTURE   : 1999
    },
    Economy  : {
      CONSERVATION               : 2010,
      PULLEY                     : 2020,
      WEALTH                     : 2030,
      WINE_CULTURE               : 2040,
      IMPROVED_RESOURCE_GATHERING: 2130,
      GEOMETRY                   : 2060,
      ARCHITECTURE               : 1120,
      HOLIDAY                    : 2080,
      LEGISLATION                : 2170,
      CULINARY_SPECIALITIES      : 2050,
      HELPING_HANDS              : 2090,
      SPIRIT_LEVEL               : 2100,
      WINE_PRESS                 : 2140,
      DEPOT                      : 2160,
	  SOLDIER_EXCHANGE           : 2180,
      BUREACRACY                 : 2110,
      UTOPIA                     : 2120,
      ECONOMIC_FUTURE            : 2999
    },
    Science  : {
      WELL_CONSTRUCTION    : 3010,
      PAPER                : 3020,
      ESPIONAGE            : 3030,
      POLYTHEISM           : 3040,
      INK                  : 3050,
      GOVERNMENT_FORMATION : 3150,
      INVENTION            : 3140,
      CULTURAL_EXCHANGE    : 3060,
      ANATOMY              : 3070,
      OPTICS               : 3080,
      EXPERIMENTS          : 3081,
      MECHANICAL_PEN       : 3090,
      BIRDS_FLIGHT         : 3100,
      LETTER_CHUTE         : 3110,
      STATE_RELIGION       : 3160,
      PRESSURE_CHAMBER     : 3120,
      ARCHIMEDEAN_PRINCIPLE: 3130,
      SCIENTIFIC_FUTURE    : 3999
    },
    Military : {
      DRY_DOCKS          : 4010,
      MAPS               : 4020,
      PROFESSIONAL_ARMY  : 4030,
      SEIGE              : 4040,
      CODE_OF_HONOR      : 4050,
      BALLISTICS         : 4060,
      LAW_OF_THE_LEVEL   : 4070,
      GOVERNOR           : 4080,
      PYROTECHNICS       : 4130,
      LOGISTICS          : 4090,
      GUNPOWDER          : 4100,
      ROBOTICS           : 4110,
      CANNON_CASTING     : 4120,
      MILITARISTIC_FUTURE: 4999
    }
  },
  Military    : {
    // Army
    HOPLITE          : &#39;phalanx&#39;,
	SPARTAN          : &#39;spartan&#39;,
    STEAM_GIANT      : &#39;steamgiant&#39;,
    SPEARMAN         : &#39;spearman&#39;,
    SWORDSMAN        : &#39;swordsman&#39;,
    SLINGER          : &#39;slinger&#39;,
    ARCHER           : &#39;archer&#39;,
    MARKSMAN         : &#39;marksman&#39;,
    RAM              : &#39;ram&#39;,
    CATAPULT         : &#39;catapult&#39;,
    MORTAR           : &#39;mortar&#39;,
    GYROCOPTER       : &#39;gyrocopter&#39;,
    BALLOON_BOMBADIER: &#39;bombardier&#39;,
    COOK             : &#39;cook&#39;,
    DOCTOR           : &#39;medic&#39;,
    ARMY             : &#39;army&#39;,

    // Navy
    RAM_SHIP         : &#39;ship_ram&#39;,
    FLAME_THROWER    : &#39;ship_flamethrower&#39;,
    STEAM_RAM        : &#39;ship_steamboat&#39;,
    BALLISTA_SHIP    : &#39;ship_ballista&#39;,
    CATAPULT_SHIP    : &#39;ship_catapult&#39;,
    MORTAR_SHIP      : &#39;ship_mortar&#39;,
    SUBMARINE        : &#39;ship_submarine&#39;,
    PADDLE_SPEEDBOAT : &#39;ship_paddlespeedship&#39;,
    BALLOON_CARRIER  : &#39;ship_ballooncarrier&#39;,
    TENDER           : &#39;ship_tender&#39;,
    ROCKET_SHIP      : &#39;ship_rocketship&#39;,
    NAVY             : &#39;navy&#39;
  },
  unitIds     : {
    301: &#39;slinger&#39;,
    302: &#39;swordsman&#39;,
    303: &#39;phalanx&#39;,
    304: &#39;marksman&#39;,
    305: &#39;mortar&#39;,
    306: &#39;catapult&#39;,
    307: &#39;ram&#39;,
    308: &#39;steamgiant&#39;,
    309: &#39;bombardier&#39;,
    310: &#39;cook&#39;,
    311: &#39;medic&#39;,
    312: &#39;gyrocopter&#39;,
    313: &#39;archer&#39;,
    315: &#39;spearman&#39;,
    316: &#39;barbarian&#39;,
    319: &#39;spartan&#39;,

    210: &#39;ship_ram&#39;,
    211: &#39;ship_flamethrower&#39;,
    212: &#39;ship_submarine&#39;,
    213: &#39;ship_ballista&#39;,
    214: &#39;ship_catapult&#39;,
    215: &#39;ship_mortar&#39;,
    216: &#39;ship_steamboat&#39;,
    217: &#39;ship_rocketship&#39;,
    218: &#39;ship_paddlespeedship&#39;,
    219: &#39;ship_ballooncarrier&#39;,
    220: &#39;ship_tender&#39;
  },
  UnitData    : {
    slinger             : {id: 301, type: &#39;army&#39;, position: &#39;army_ranged&#39;, minlevel: 2, baseTime: 90, baseCost: 2},
    swordsman           : {id: 302, type: &#39;army&#39;, position: &#39;army_flank&#39;, minlevel: 6, baseTime: 180, baseCost: 4},
    phalanx             : {id: 303, type: &#39;army&#39;, position: &#39;army_front_line&#39;, minlevel: 4, baseTime: 300, baseCost: 3},
    marksman            : {id: 304, type: &#39;army&#39;, position: &#39;army_ranged&#39;, minlevel: 13, baseTime: 600, baseCost: 3},
    mortar              : {id: 305, type: &#39;army&#39;, position: &#39;army_seige&#39;, minlevel: 14, baseTime: 2400, baseCost: 30},
    catapult            : {id: 306, type: &#39;army&#39;, position: &#39;army_seige&#39;, minlevel: 8, baseTime: 1800, baseCost: 25},
    ram                 : {id: 307, type: &#39;army&#39;, position: &#39;army_seige&#39;, minlevel: 2, baseTime: 600, baseCost: 15},
    steamgiant          : {id: 308, type: &#39;army&#39;, position: &#39;army_front_line&#39;, minlevel: 12, baseTime: 900, baseCost: 12},
    bombardier          : {id: 309, type: &#39;army&#39;, position: &#39;army_air&#39;, minlevel: 11, baseTime: 1800, baseCost: 45},
    cook                : {id: 310, type: &#39;army&#39;, position: &#39;army_support&#39;, minlevel: 5, baseTime: 1200, baseCost: 10},
    medic               : {id: 311, type: &#39;army&#39;, position: &#39;army_support&#39;, minlevel: 9, baseTime: 1200, baseCost: 20},
    gyrocopter          : {id: 312, type: &#39;army&#39;, position: &#39;army_air&#39;, minlevel: 10, baseTime: 900, baseCost: 15},
    archer              : {id: 313, type: &#39;army&#39;, position: &#39;army_ranged&#39;, minlevel: 7, baseTime: 240, baseCost: 4},
    spearman            : {id: 315, type: &#39;army&#39;, position: &#39;army_flank&#39;, minLevel: 1, baseTime: 60, baseCost: 1},
    spartan             : {id: 319, type: &#39;army&#39;, position: &#39;army_front_line&#39;, minLevel: 0, baseTime: 0, baseCost: 0},
    ship_ram            : {id: 210, type: &#39;fleet&#39;, position: &#39;navy_flank&#39;, minlevel: 1, baseTime: 2400, baseCost: 15},
    ship_flamethrower   : {id: 211, type: &#39;fleet&#39;, position: &#39;navy_front_line&#39;, minlevel: 4, baseTime: 1800, baseCost: 25},
    ship_submarine      : {id: 212, type: &#39;fleet&#39;, position: &#39;navy_seige&#39;, minlevel: 19, baseTime: 3600, baseCost: 50},
    ship_ballista       : {id: 213, type: &#39;fleet&#39;, position: &#39;navy_ranged&#39;, minlevel: 3, baseTime: 3000, baseCost: 20},
    ship_catapult       : {id: 214, type: &#39;fleet&#39;, position: &#39;navy_ranged&#39;, minlevel: 3, baseTime: 3000, baseCost: 35},
    ship_mortar         : {id: 215, type: &#39;fleet&#39;, position: &#39;navy_ranged&#39;, minlevel: 17, baseTime: 3000, baseCost: 50},
    ship_steamboat      : {id: 216, type: &#39;fleet&#39;, position: &#39;navy_front_line&#39;, minlevel: 15, baseTime: 2400, baseCost: 45},
    ship_rocketship     : {id: 217, type: &#39;fleet&#39;, position: &#39;navy_seige&#39;, minlevel: 11, baseTime: 3600, baseCost: 55},
    ship_paddlespeedship: {id: 218, type: &#39;fleet&#39;, position: &#39;navy_air&#39;, minlevel: 13, baseTime: 1800, baseCost: 5},
    ship_ballooncarrier : {id: 219, type: &#39;fleet&#39;, position: &#39;navy_air&#39;, minlevel: 7, baseTime: 3900, baseCost: 100},
    ship_tender         : {id: 220, type: &#39;fleet&#39;, position: &#39;navy_support&#39;, minlevel: 9, baseTime: 2400, baseCost: 100}
  },
  Government  : {
    ANARCHY     : &#39;anarchie&#39;,
	XENOCRACY   : &#39;xenokratie&#39;,
    IKACRACY    : &#39;ikakratie&#39;,
    ARISTOCRACY : &#39;aristokratie&#39;,
    DICTATORSHIP: &#39;diktatur&#39;,
    DEMOCRACY   : &#39;demokratie&#39;,
    NOMOCRACY   : &#39;nomokratie&#39;,
    OLIGARCHY   : &#39;oligarchie&#39;,
    TECHNOCRACY : &#39;technokratie&#39;,
    THEOCRACY   : &#39;theokratie&#39;
  },
  Buildings   : {
    TOWN_HALL          : &#39;townHall&#39;,
    PALACE             : &#39;palace&#39;,
    GOVERNORS_RESIDENCE: &#39;palaceColony&#39;,
    TAVERN             : &#39;tavern&#39;,
    MUSEUM             : &#39;museum&#39;,
    ACADEMY            : &#39;academy&#39;,
    WORKSHOP           : &#39;workshop&#39;,
    TEMPLE             : &#39;temple&#39;,
    EMBASSY            : &#39;embassy&#39;,
    WAREHOUSE          : &#39;warehouse&#39;,
    DUMP               : &#39;dump&#39;,
    TRADING_PORT       : &#39;port&#39;,
    TRADING_POST       : &#39;branchOffice&#39;,
    WALL               : &#39;wall&#39;,
    HIDEOUT            : &#39;safehouse&#39;,
    BARRACKS           : &#39;barracks&#39;,
    SHIPYARD           : &#39;shipyard&#39;,
    FORESTER           : &#39;forester&#39;,
    CARPENTER          : &#39;carpentering&#39;,
    WINERY             : &#39;winegrower&#39;,
    VINEYARD           : &#39;vineyard&#39;,
    STONEMASON         : &#39;stonemason&#39;,
    ARCHITECT          : &#39;architect&#39;,
    GLASSBLOWER        : &#39;glassblowing&#39;,
    OPTICIAN           : &#39;optician&#39;,
    ALCHEMISTS_TOWER   : &#39;alchemist&#39;,
    FIREWORK_TEST_AREA : &#39;fireworker&#39;,
    PIRATE_FORTRESS    : &#39;pirateFortress&#39;,
	BLACK_MARKET       : &#39;blackMarket&#39;
  },
  GovernmentData:{
    anarchie:{
	  corruptionPalace:0,
	  governors:0,
      corruption:0.25,
      spyprotection:0,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    xenokratie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0,
      spyprotection:0,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    ikakratie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0,
      spyprotection:0,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    aristokratie:{
	  corruptionPalace:3,
	  governors:0.03,	  
      corruption:0, 
      spyprotection:0.2,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:-0.2,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    diktatur:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0,
      spyprotection:0,
      unitBuildTime:-0.02,
      fleetBuildTime:-0.02,
      loadingSpeed:0,
      buildingTime:0,
      happiness:-75,
      bonusShips:2,
      armySupply:-0.02,
      fleetSupply:-0.02,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    demokratie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0,
      spyprotection:-0.2,
      unitBuildTime:0.05,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0,
      happiness:75,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:1,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    nomokratie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:-0.05,
      spyprotection:0.2,
      unitBuildTime:0.05,
      fleetBuildTime:0.05,
      loadingSpeed:0.5,
      buildingTime:0,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    oligarchie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0.03,
      spyprotection:0,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0.2,
      happiness:0,
      bonusShips:2,
      armySupply:0,
      fleetSupply:-0.02,
      researchPerCulturalGood:0,
      tradeShipSpeed:0.1,
      branchOfficeRange:5,
      researchBonus:0,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    technokratie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0,
      spyprotection:0,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:0.05,
      researcherCost:1,
      productivity:0.2,
      happinessWithoutTemple:0,
      goldBonusPerPriest:0,
      cooldownTime:0,
      happinessBonusWithTempleConversion:0
    },
    theokratie:{
	  corruptionPalace:0,
	  governors:0,	  
      corruption:0,
      spyprotection:0,
      unitBuildTime:0,
      fleetBuildTime:0,
      loadingSpeed:0,
      buildingTime:0,
      happiness:0,
      bonusShips:0,
      armySupply:0,
      fleetSupply:0,
      researchPerCulturalGood:0,
      tradeShipSpeed:0,
      branchOfficeRange:0,
      researchBonus:-0.05,
      researcherCost:0,
      productivity:0,
      happinessWithoutTemple:-20,
      goldBonusPerPriest:1,
      cooldownTime:-0.2,
      happinessBonusWithTempleConversion:2
    }
  },
  BuildingData:{
    academy:{
      buildingId:4,
      maxLevel:32,
      wood:[64, 68, 115, 263, 382, 626, 982, 1330, 2004, 2665, 3916, 5156, 7446, 9753, 12751, 18163, 23691, 33451, 43571, 56729, 73832, 103459, 144203, 175058, 243930, 317208, 439967, 536310, 743789, 1027469, 1257244, 1736681],
      glass:[0, 0, 0, 0, 225, 428, 744, 1089, 1748, 2454, 3786, 5216, 7862, 10729, 14599, 21627, 29321, 43020, 58213, 78724, 106414, 154857, 224146, 282571, 408877, 552141, 795252, 1006647, 1449741, 2079650, 2642546, 3790581],
      marble:0,
      sulfur:0,
      wine:0,
      time:{a:1440, b:1, c:1.2, d:720},
      icon:&#39;skin/img/city/academy_l.png&#39;,
      maxScientists:[0, 8, 12, 16, 22, 28, 35, 43, 51, 60, 69, 79, 89, 100, 111, 122, 134, 146, 159, 172, 185, 198, 212, 227, 241, 256, 271, 287, 302, 318, 335, 351, 368]
    },
    alchemist:{
      buildingId:22,
      maxLevel:32,
      wood:[274, 467, 718, 1045, 1469, 2021, 2738, 3671, 4883, 6459, 8508, 11172, 14634, 19135, 24987, 32594, 42483, 55339, 72050, 93778, 122021, 158740, 206471, 268524, 349194, 454063, 590393, 767620, 998018, 1297535, 1686906, 2193088],
      glass:0,
      marble:[0, 116, 255, 436, 671, 977, 1375, 1892, 2564, 3437, 4572, 6049, 7968, 10462, 13705, 17921, 23402, 30527, 39790, 51830, 67485, 87835, 114289, 148680, 193389, 251512, 327069, 425294, 552986, 718987, 934789, 1215329],
      sulfur:0,
      wine:0,
      time:{a:72000, b:11, c:1.1, d:6120},
      icon:&#39;skin/img/city/alchemist_l.png&#39;
    },
    architect:{
      buildingId:24,
      maxLevel:32,
      wood:[185, 291, 413, 555, 720, 911, 1133, 1390, 1689, 2035, 2437, 2902, 3443, 4070, 4797, 5640, 6618, 7754, 9070, 10598, 12369, 14424, 16807, 19573, 22780, 26501, 30817, 35826, 41631, 48371, 56185, 65251],
      glass:0,
      marble:[106, 160, 222, 295, 379, 475, 587, 716, 865, 1036, 1233, 1460, 1722, 2023, 2369, 2767, 3226, 3752, 4358, 5056, 5857, 6778, 7836, 9052, 10448, 12054, 13899, 16289, 18450, 21246, 24455, 28141],
      sulfur:0,
      wine:0,
      time:{a:125660, b:37, c:1.06, d:2628},
      icon:&#39;skin/img/city/architect_l.png&#39;
    },
    barracks:{
      buildingId:6,
	  maxLevel:54, 
      wood  :[48, 114, 195, 296, 420, 574, 766, 1003, 1297, 1662, 2115, 2676, 3371, 4234, 5304, 6630, 8275, 10314, 12843, 15979, 19868, 24690, 30669, 38083, 47277, 58676, 72812, 90341, 112076, 139028, 172448, 213889, 265276, 328996, 408008, 505984, 627473, 778121, 964924, 1196559, 1483787, 1839950, 2281591, 2829227, 3508295, 4350340, 5394474, 6689202, 8294664, 10285438, 12753995, 15815008, 19610663, 24317276],
      glass :0,
      marble:[0, 0, 0, 0, 0, 0, 0, 0, 178, 431, 745, 1134, 1616, 2214, 2956, 3875, 5015, 6429, 8183, 10357, 13052, 16395, 20540, 25680, 32054, 39957, 49757, 61909, 76977, 95661, 118830, 147560, 183185, 227359, 282136, 350059, 434283, 538722, 668224, 828808, 1027933, 1274849, 1581022, 1960678, 2431450, 3015210, 3739070, 4636658, 5749665, 7129795, 8841156, 10963244, 13594633, 16857554],
      sulfur:0,
      wine:0,
      time:{a:25200, b:11, c:1.1, d:1728},
      icon:&#39;skin/img/city/barracks_l.png&#39;
    },
	blackMarket:{
      buildingId:31,
      maxLevel: 25,
      wood:[440, 886, 1360, 1890, 2516, 3288, 4263, 5506, 7086, 9086, 11591, 14692, 18491, 23088, 28605, 35147, 42845, 51828, 62227, 74186, 87851, 103372, 120906, 140618, 162672],
      glass:0,
      marble:[259, 525, 807, 1126, 1508, 1988, 2600, 3390, 4403, 5693, 7315, 9331, 11809, 14812, 18423, 22711, 27761, 33659, 40491, 48355, 57343, 67556, 79099, 92078, 106603],
      sulfur:0,
      wine:0,
      time:{a:4321, b:1, c:1.1, d:4627},
      icon:&#39;skin/img/city/blackmarket_l.png&#39;
    },	
    branchOffice:{
      buildingId:13,
      maxLevel:32,
      wood:[48, 173, 346, 581, 896, 1314, 1863, 2580, 3509, 4706, 6241, 8203, 10699, 13866, 17872, 22926, 29286, 37272, 47283, 59806, 75447, 94954, 119245, 149453, 186977, 233530, 291225, 362658, 451015, 560208, 695038, 861391],
      glass:0,
      marble:[0, 0, 0, 0, 540, 792, 1123, 1555, 2115, 2837, 3762, 4945, 6450, 8359, 10774, 13820, 17654, 22469, 28503, 36051, 45482, 57240, 71883, 90092, 112712, 140776, 175556, 218617, 271878, 337705, 418983, 446564],
      sulfur:0,
      wine:0,
      time:{a:108000, b:11, c:1.1, d:9360},
      icon:&#39;skin/img/city/branchoffice_l.png&#39;
    },
    carpentering:{
      buildingId:23,
      maxLevel:32,
      wood:[63, 122, 191, 274, 372, 486, 620, 777, 962, 1178, 1432, 1730, 2078, 2486, 2964, 3524, 4178, 4945, 5841, 6890, 8117, 9550, 11229, 13190, 15484, 18166, 21299, 24963, 29245, 34247, 40096, 46930],
      glass:0,
      marble:[0, 0, 0, 0, 0, 0, 0, 359, 444, 546, 669, 816, 993, 1205, 1459, 1765, 2131, 2571, 3097, 3731, 4490, 5402, 6496, 7809, 9383, 11274, 13543, 16265, 19531, 23450, 28154, 33798],
      sulfur:0,
      wine:0,
      time:{a:125660, b:37, c:1.06, d:2808},
      icon:&#39;skin/img/city/carpentering_l.png&#39;
    },
    dump:{
      buildingId:29,
      maxLevel:40,
      wood:[640, 1152, 1766, 2504, 3388, 4450, 5724, 7253, 9088, 11289, 13931, 17101, 20905, 25470, 30948, 37522, 45410, 54876, 66236, 79867, 96223, 115852, 139407, 167672, 201592, 242293, 291136, 349749, 420081, 504483, 605763, 727300, 873143, 1048157, 1258171, 1510191, 1812613, 2175519, 2611007, 3133592],
      glass:[701, 1146, 1668, 2278, 2991, 3526, 4803, 5946, 7283, 8847, 10678, 12819, 15324, 18257, 21687, 25700, 30395, 35889, 42316, 49837, 58635, 68929, 80973, 95065, 111553, 130843, 153414, 179821, 201716, 246864, 289157, 338642, 396536, 464274, 543528, 636253, 744742, 871676, 1020187, 1193945],
      marble:[497, 932, 1445, 2051, 2762, 3609, 4604, 5778, 7164, 8799, 10728, 13005, 15691, 18862, 22602, 27016, 32225, 38371, 45623, 54181, 64278, 76194, 90256, 106847, 126424, 149528, 176787, 208956, 246913, 291702, 344555, 406921, 480512, 567350, 669817, 790730, 933408, 1101767, 1300431, 1534855],
      sulfur:[384, 845, 1398, 2061, 2858, 3813, 4960, 6336, 7987, 9968, 12346, 15199, 18623, 22731, 27661, 33578, 40677, 49197, 59420, 71688, 86409, 104076, 125274, 150714, 181241, 217872, 261830, 314581, 377881, 453842, 544994, 654378, 785637, 943149, 1132163, 1358979, 1631159, 1957774, 2349714, 2820041],
      wine:0,
      time:{a:32000, b:13, c:1.17, d:2160},
      icon:&#39;skin/img/city/dump_l.png&#39;
    },
    embassy:{
      buildingId:12,
      maxLevel:32,
      wood:[242, 415, 623, 873, 1173, 1532, 1964, 2482, 3103, 3849, 4743, 5817, 7105, 8651, 10507, 12733, 15610, 18498, 22457, 27074, 32290, 33764, 47240, 56812, 70157, 84318, 101310, 121979, 146503, 175932, 222202, 266778],
      glass:0,
      marble:[155, 342, 571, 850, 1190, 1606, 2112, 2730, 3484, 4404, 5527, 6896, 8566, 10604, 13090, 16123, 19824, 24339, 29846, 36564, 45216, 47097, 66967, 81859, 104537, 129580, 158759, 193849, 236659, 288888, 358869, 437985 ],
      sulfur:0,
      wine:0,
      time:{a:96000, b:7, c:1.05, d:10080},
      icon:&#39;skin/img/city/embassy_l.png&#39;
    },
    fireworker:{
      buildingId:27,
      maxLevel:32,
      wood:[272, 353, 445, 551, 673, 813, 974, 1159, 1373, 1618, 1899, 2223, 2596, 3025, 3517, 4084, 4736, 5485, 6346, 7338, 8478, 9790, 11297, 13030, 14990, 17317, 19954, 22986, 26472, 30484, 35096, 40398],
      glass:0,
      marble:[135, 212, 302, 405, 526, 665, 827, 1015, 1233, 1486, 1779, 2120, 2514, 2972, 3503, 4119, 4834, 5662, 6623, 7738, 9032, 10534, 12275, 13355, 16636, 19354, 22507, 26163, 30404, 35325, 41033, 47652],
      sulfur:0,
      wine:0,
      time:{a:125660, b:37, c:1.06, d:2628},
      icon:&#39;skin/img/city/fireworker_l.png&#39;
    },
    forester:{
      buildingId:18,
      maxLevel:32,
      wood:[250, 430, 664, 968, 1364, 1878, 2546, 3415, 4544, 6013, 7922, 10403, 13629, 17823, 23274, 30362, 39574, 51552, 67123, 87363, 113680, 147889, 192360, 250173, 325258, 423034, 550049, 715169, 929826, 1208878, 1571646, 2043246],
      glass:0,
      marble:[0, 104, 237, 410, 635, 928, 1309, 1803, 2446, 3282, 4368, 5781, 7617, 10422, 13108, 17142, 22386, 29204, 38068, 49589, 64569, 84041, 109356, 142266, 185046, 240663, 312965, 406956, 529144, 687989, 894489, 1162937],
      sulfur:0,
      wine:0,
      time:{a:72000, b:11, c:1.1, d:6120},
      icon:&#39;skin/img/city/forester_l.png&#39;
    },
    glassblowing:{
      buildingId:20,
      maxLevel:32,
      wood:[274, 467, 718, 1045, 1469, 2021, 2738, 3671, 4883, 6459, 8508, 11172, 14634, 19135, 24987, 32594, 42483, 55339, 72050, 93778, 122021, 158740, 206471, 268524, 349194, 454063, 590393, 767620, 998018, 1297535, 1686906, 2193088],
      glass:0,
      marble:[0, 116, 255, 436, 671, 977, 1375, 1892, 2564, 3437, 4572, 6049, 7968, 10462, 13705, 17921, 23402, 30527, 39790, 51830, 67485, 87835, 114289, 148680, 193389, 251512, 327069, 425294, 552986, 718987, 934789, 1215329],
      sulfur:0,
      wine:0,
      time:{a:72000, b:11, c:1.1, d:6120},
      icon:&#39;skin/img/city/glassblowing_l.png&#39;
    },
    museum:{
      buildingId:10,
      maxLevel:24,
      wood:[560, 1435, 2748, 4716, 7669, 12099, 18744, 28710, 43661, 66086, 99724, 150181, 225866, 339394, 509686, 765124, 1148280, 1723016, 2585120, 3878276, 5818010, 8727610, 13092010, 19638612],
      glass:0,
      marble:[280, 1190, 2573, 4676, 7871, 12729, 20112, 31335, 48394, 74323, 113736, 173643, 264701, 403110, 613492, 933272, 1419338, 2158157, 3281164, 4988135, 7582732, 11526516, 17521070, 26632791],
      sulfur:0,
      wine:0,
      time:{a:18000, b:1, c:1.1, d:14040},
      icon:&#39;skin/img/city/museum_r.png&#39;
    },
    optician:{
      buildingId:25,
      maxLevel:32,
      wood:[119, 188, 269, 362, 471, 597, 742, 912, 1108, 1335, 1600, 1906, 2261, 2673, 3152, 3706, 4348, 5096, 5962, 6966, 8131, 9482, 11050, 12868, 14978, 17424, 20262, 23553, 27373, 31804, 36943, 42904],
      glass:0,
      marble:[0, 35, 96, 167, 249, 345, 455, 584, 733, 905, 1106, 1338, 1608, 1921, 2283, 2704, 3191, 3759, 4416, 5178, 6062, 7087, 8276, 9656, 11257, 13113, 15267, 17762, 20662, 24024, 27922, 32447],
      sulfur:0,
      wine:0,
      time:{a:125660, b:37, c:1.06, d:2772},
      icon:&#39;skin/img/city/optician_l.png&#39;
    },
    palace:{
      buildingId:11,
      maxLevel:11,
      wood:[712, 5823, 16048, 36496, 77392, 159184, 322768, 649936, 1304272, 2612944, 4743517],
      glass:[0, 0, 0, 0, 21188, 42400, 84824, 169672, 339368, 678760, 1357543],
      marble:[0, 1433, 4546, 10770, 23218, 48114, 97906, 197490, 396658, 794994, 1591666],
      sulfur:[0, 0, 3088, 10300, 24725, 53573, 111269, 226661, 457445, 919013, 1842149],
      wine:[0, 0, 0, 10898, 22110, 44534, 89382, 179078, 358470, 717254, 1434821],
      time:{a:11520, b:1, c:1.4, d:0},
      icon:&#39;skin/img/city/palace_l.png&#39;
    },
    palaceColony:{
      buildingId:17,
      maxLevel:11,
      wood:[712, 5823, 16048, 36496, 77392, 159184, 322768, 649936, 1304272, 2612944, 4743517],
      glass:[0, 0, 0, 0, 21188, 42400, 84824, 169672, 339368, 678760, 1357543],
      marble:[0, 1433, 4546, 10770, 23218, 48114, 97906, 197490, 396658, 794994, 1591666],
      sulfur:[0, 0, 3088, 10300, 24725, 53573, 111269, 226661, 457445, 919013, 1842149],
      wine:[0, 0, 0, 10898, 22110, 44534, 89382, 179078, 358470, 717254, 1434821],
      time:{a:11520, b:1, c:1.4, d:0},
      icon:&#39;skin/img/city/palaceColony_l.png&#39;
    },
	pirateFortress:{
      buildingId:30,
      maxLevel: 30,
      wood:[450, 906, 1389, 1935, 2593, 3427, 4516, 5950, 7834, 10284, 13430, 17415, 22394, 28534, 36015, 45029, 55779, 68482, 83366, 100671, 120648, 143562, 169686, 199309, 232729, 270255, 312210, 358926, 410748, 468032],
      glass:0,
      marble:[250, 505, 783, 1112, 1534, 2103, 2883, 3949, 5388, 7296, 9782, 12964, 16970, 21938, 28019, 35370, 44162, 54573, 66793, 81020, 97463, 116341, 137883, 162325, 189915, 220912, 255580, 294197, 337048, 384429],
      sulfur:0,
      wine:0,
      time  :{a:1550, b:1, c:1.2, d:1800},
      icon:&#39;skin/img/city/pirateFortress_l.png&#39;
    },
    port:{
      buildingId:3,
      maxLevel:47,
      wood:[60, 150, 274, 429, 637, 894, 1207, 1645, 2106, 2735, 3537, 4492, 5689, 7103, 8850, 11094, 13731, 17062, 21097, 25965, 31810, 39190, 47998, 58713, 71955, 87627, 107102, 130776, 159019, 193938, 235849, 286514, 348718, 423990, 513947, 625160, 758178, 919693, 1116013, 1353517, 1642274, 1990223, 2411061],
      glass:0,
      marble:[0, 0, 0, 0, 0, 176, 326, 540, 791, 1138, 1598, 2176, 2928, 3859, 5051, 6628, 8566, 11089, 14265, 18241, 23197, 29642, 37636, 47703, 60556, 76367, 96639, 122156, 153754, 194089, 244300, 307174, 386955, 486969, 610992, 769302, 965792, 1212790, 1523570, 1913072, 2403313, 3015688, 3782992],
      sulfur:0,
      wine:0,
      time:{a:50400, b:23, c:1.15, d:1512},
      loadingSpeed:[10, 30, 60, 93, 129, 169, 213, 261, 315, 373, 437, 508, 586, 672, 766, 869, 983, 1108, 1246, 1398, 1565, 1748, 1950, 2172, 2416, 2685, 2980, 3305, 3663, 4056, 4489, 4965, 5488, 6064, 6698, 7394, 8161, 9004, 9931, 10951, 12073, 13308, 14666, 16159, 17803, 19616, 21613, 23813, 26237],
      icon:&#39;skin/img/city/port_l.png&#39;
    },
    safehouse:{
      buildingId:16,
      maxLevel:32,
      wood:[113, 248, 402, 578, 779, 1007, 1267, 1564, 1903, 2288, 2728, 3230, 3801, 4453, 5195, 6042, 7008, 8108, 9363, 10793, 12423, 14282, 16401, 18816, 21570, 24709, 28288, 32368, 37019, 42321, 48365, 55255],
      glass:0,
      marble:[0, 0, 0, 129, 197, 275, 366, 471, 593, 735, 900, 1090, 1312, 1569, 1866, 2212, 2613, 3078, 3617, 4243, 4968, 5810, 6787, 7919, 9233, 10758, 12526, 14577, 16956, 19716, 22917, 26631],
      sulfur:0,
      wine:0,
      time:{a:96000, b:7, c:1.05, d:12960},
      icon:&#39;skin/img/city/safehouse_l.png&#39;
    },
    shipyard:{
      buildingId:5,
      maxLevel:32,
      wood:[98, 202, 324, 477, 671, 914, 1222, 1609, 2096, 2711, 3485, 4459, 5688, 7238, 9190, 11648, 14746, 18650, 23568, 29765, 37573, 47412, 59808, 75428, 95108, 119906, 151151, 190520, 240124, 302626, 381378, 480605],
      glass:0,
      marble:[0, 0, 0, 0, 0, 778, 1052, 1397, 1832, 2381, 3070, 3941, 5037, 6420, 8161, 10354, 13118, 16601, 20989, 26517, 33484, 42261, 53321, 67256, 84814, 106938, 134814, 169937, 214192, 269954, 340214, 428741],
      sulfur:0,
      wine:0,
      time:{a:64800, b:7, c:1.05, d:7128},
      icon:&#39;skin/img/city/shipyard_l.png&#39;
    },
    stonemason:{
      buildingId:19,
      maxLevel:32,
      wood:[274, 467, 718, 1045, 1469, 2021, 2738, 3671, 4883, 6459, 8508, 11172, 14634, 19135, 24987, 32594, 42483, 55339, 72050, 93778, 122021, 158740, 206471, 268524, 349194, 454063, 590393, 767620, 998018, 1297535, 1686906, 2193088],
      glass:0,
      marble:[0, 116, 255, 436, 671, 977, 1375, 1892, 2564, 3437, 4572, 6049, 7968, 10462, 13705, 17921, 23402, 30527, 39790, 51830, 67485, 87835, 114289, 148680, 193389, 251512, 327069, 425294, 552986, 718987, 934789, 1215329],
      sulfur:0,
      wine:0,
      time:{a:72000, b:11, c:1.1, d:6120},
      icon:&#39;skin/img/city/stonemason_l.png&#39;
    },
    temple:{
      buildingId:28,
      maxLevel:32,
      wood:[216, 228, 333, 465, 598, 760, 958, 1197, 1432, 1773, 2112, 2512, 3082, 3655, 4458, 5126, 6232, 7167, 8687, 10247, 11784, 14228, 16752, 19265, 23156, 26663, 32026, 36830, 43256, 50782, 59591, 68528],
      glass:[173, 190, 290, 423, 567, 752, 989, 1290, 1610, 2080, 2586, 3210, 4109, 5084, 6471, 7765, 9851, 11821, 14952, 18402, 22082, 27824, 34184, 41020, 51514, 61817, 77477, 92972, 113941, 139577, 170910, 205093],
      marble:0,
      sulfur:0,
      wine:0,
      time:{a:2160, b:1, c:1.1, d:0},
      icon:&#39;skin/img/city/temple_l.png&#39;
    },
    tavern:{
      buildingId:9,
      maxLevel:47,
      wood:[101, 222, 367, 541, 750, 1001, 1302, 1663, 2097, 2617, 3241, 3990, 4888, 5967, 7261, 8814, 10678, 12914, 15598, 18818, 22683, 27320, 32885, 39562, 47576, 57192, 68731, 82578, 99194, 119134, 143061, 171774, 206230, 247577, 297193, 356732, 428179, 513916, 616800, 740261, 888413, 1066196, 1279537, 1535545, 1842756, 2211407, 2653789 ],
      glass:0,
      marble:[0, 0, 0, 94, 122, 158, 206, 267, 348, 452, 587, 764, 993, 1290, 1677, 2181, 2835, 3685, 4791, 6228, 8097, 10526, 13684, 17789, 23125, 30063, 39082, 50806, 66048, 85862, 111621, 145107, 188640, 245232, 318801, 414441, 538774, 700406, 910528, 1183686, 1538791, 2000427, 2600557, 3380725, 4394943, 5713425, 7427454],
      sulfur:0,
      wine:0,
      time:{a:10800, b:1, c:1.06, d:10440},
      icon:&#39;skin/img/city/taverne_r.png&#39;,
      wineUse:[0, 4, 8, 13, 18, 24, 30, 37, 44, 51, 60, 68, 78, 88, 99, 110, 122, 136, 150, 165, 180, 197, 216, 235, 255, 277, 300, 325, 351, 378, 408, 439, 472, 507, 544, 584, 626, 670, 717, 766, 818, 874, 933, 995, 1060, 1129, 1202, 1280, 1362]
    },
    townHall:{
      buildingId:0,
      maxLevel:40,
      wood:[0, 158, 335, 623, 923, 1390, 2015, 2706, 3661, 4776, 6173, 8074, 10281, 13023, 16424, 20986, 25423, 32285, 40232, 49286, 61207, 74804, 93956, 113035, 141594, 170213, 210011, 258875, 314902, 387656, 471194, 572580, 695615, 854728, 1037814, 1274043, 1714396, 1876185, 2276285, 2761291],
      glass:0,
      marble:[0, 0, 0, 0, 285, 551, 936, 1411, 2091, 2945, 4072, 5664, 7637, 10214, 13575, 18254, 23250, 31022, 40599, 52216, 68069, 87316, 115101, 145326, 191053, 241039, 312128, 403825, 515593, 666228, 850031, 1084292, 1382826, 1783721, 2273685, 2930330, 3692589, 4756439, 6058680, 7716365],
      sulfur:0,
      wine:0,
      time:{a:1800, b:1, c:1.17, d:-1080},
      icon:&#39;skin/img/city/townhall_l.png&#39;,
      actionPointsMax:[3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13]
    },
    vineyard:{
      buildingId:26,
      maxLevel:32,
      wood:[339, 423, 520, 631, 758, 905, 1074, 1269, 1492, 1749, 2045, 2384, 2775, 3225, 3741, 4336, 5019, 5813, 6875, 7941, 8944, 10319, 11900, 13718, 15809, 18215, 20978, 24159, 27816, 32021, 36857, 42419],
      glass:0,
      marble:[123, 198, 285, 387, 504, 640, 798, 981, 1194, 1440, 1726, 2058, 2443, 2889, 3407, 4008, 4705, 5513, 6450, 7537, 8800, 10263, 11961, 13930, 16214, 18864, 21938, 25503, 29639, 34437, 40002, 46457],
      sulfur:0,
      wine:0,
      time:{a:125660, b:37, c:1.06, d:2232},
      icon:&#39;skin/img/city/vineyard_l.png&#39;
    },
    wall:{
      buildingId:8,
      maxLevel:48,
      wood:[114, 361, 657, 1012, 1439, 1951, 2565, 3302, 4186, 5247, 6521, 8049, 9882, 12083, 14724, 17892, 21695, 26258, 31733, 38304, 46189, 55650, 67004, 80629, 96979, 116599, 140143, 168395, 202298, 242982, 291802, 350387, 420689, 505049, 606284, 727765, 873541, 1048473, 1258393, 1510294, 1812577, 2175317, 2610603, 3132948, 3759764],
      glass:0,
      marble:[0, 203, 516, 892, 1344, 1885, 2535, 3315, 4251, 5374, 6721, 8338, 10279, 12608, 15402, 18755, 22779, 27607, 33402, 40355, 48699, 58711, 70726, 85144, 102446, 123208, 148122, 178019, 213896, 256948, 308610, 370605, 444998, 534270, 641397, 769949, 924213, 1109328, 1331467, 1598031, 1917913, 2301767, 2762392, 3315144, 3978446],
      sulfur:0,
      wine:0,
      time:{a:57600, b:11, c:1.1, d:3240},
      icon:&#39;skin/img/city/wall.png&#39;
    },
    warehouse:{
      buildingId:7,
      maxLevel:40,
      wood:[160, 288, 442, 626, 847, 1113, 1431, 1813, 2272, 2822, 3483, 4275, 5226, 6368, 7737, 9380, 11353, 13719, 16559, 19967, 24056, 28963, 34852, 41918, 50398, 60574, 72784, 87437, 105021, 126121, 151441, 181825, 218286, 262039, 314543, 377548, 453153, 543880, 652752, 783398],
      glass:0,
      marble:[0, 0, 0, 96, 211, 349, 515, 714, 953, 1240, 1584, 1997, 2492, 3086, 3800, 4656, 5683, 6915, 8394, 10169, 12299, 14855, 17922, 21602, 26019, 31319, 37678, 45310, 54468, 65458, 78645, 94471, 113461, 136249, 163595, 196409, 235787, 283041, 339745, 407790 ],
      sulfur:0,
      wine:0,
      time:{a:2880, b:1, c:1.14, d:2160},
      icon:&#39;skin/img/city/warehouse_l.png&#39;
    },
    winegrower:{
      buildingId:21,
      maxLevel:32,
      wood:[274, 467, 718, 1045, 1469, 2021, 2738, 3671, 4883, 6459, 8508, 11172, 14634, 19135, 24987, 32594, 42483, 55339, 72050, 93778, 122021, 158740, 206471, 268524, 349194, 454063, 590393, 767620, 998018, 1297535, 1686906, 2193088],
      glass:0,
      marble:[0, 116, 255, 436, 671, 977, 1375, 1892, 2564, 3437, 4572, 6049, 7968, 10462, 13705, 17921, 23402, 30527, 39790, 51830, 67485, 87835, 114289, 148680, 193389, 251512, 327069, 425294, 552986, 718987, 934789, 1215329],
      sulfur:0,
      wine:0,
      time:{a:72000, b:11, c:1.1, d:6120},
      icon:&#39;skin/img/city/winegrower_l.png&#39;
    },
    workshop:{
      buildingId:15,
      maxLevel:32,
      wood:[206, 383, 569, 781, 1023, 1299, 1613, 1972, 2380, 2846, 3377, 3982, 4672, 5458, 6355, 7377, 8542, 9870, 11385, 13111, 15078, 17714, 19481, 22796, 26119, 29909, 34228, 39153, 44766, 51166, 58462, 66778],
      glass:0,
      marble:[89, 167, 251, 349, 461, 592, 744, 920, 1125, 1362, 1637, 1956, 2326, 2755, 3253, 3831, 4500, 5279, 6180, 7226, 8439, 9776, 11477, 13373, 15570, 18118, 21074, 24503, 28481, 33095, 38447, 44656],
      sulfur:0,
      wine:0,
      time:{a:96000, b:7, c:1.05, d:11880},
      icon:&#39;skin/img/city/workshop_l.png&#39;
    }
  }
};

Constant.buildingOrder = {
  growth   : [Constant.Buildings.TOWN_HALL, Constant.Buildings.PALACE, Constant.Buildings.GOVERNORS_RESIDENCE, Constant.Buildings.TAVERN, Constant.Buildings.MUSEUM],
  research : [Constant.Buildings.ACADEMY, Constant.Buildings.WORKSHOP, Constant.Buildings.TEMPLE],
  diplomacy: [Constant.Buildings.EMBASSY],
  trading  : [Constant.Buildings.WAREHOUSE, Constant.Buildings.DUMP, Constant.Buildings.TRADING_PORT, Constant.Buildings.TRADING_POST, Constant.Buildings.BLACK_MARKET],
  military : [Constant.Buildings.WALL, Constant.Buildings.HIDEOUT, Constant.Buildings.BARRACKS, Constant.Buildings.SHIPYARD],
  wood     : [Constant.Buildings.FORESTER, Constant.Buildings.CARPENTER],
  wine     : [Constant.Buildings.WINERY, Constant.Buildings.VINEYARD],
  marble   : [Constant.Buildings.STONEMASON, Constant.Buildings.ARCHITECT],
  crystal  : [Constant.Buildings.GLASSBLOWER, Constant.Buildings.OPTICIAN],
  sulfur   : [Constant.Buildings.ALCHEMISTS_TOWER, Constant.Buildings.FIREWORK_TEST_AREA],
  piracy   : [Constant.Buildings.PIRATE_FORTRESS]
};
Constant.altBuildingOrder = {
  growth    : [Constant.Buildings.TOWN_HALL, Constant.Buildings.PALACE, Constant.Buildings.GOVERNORS_RESIDENCE, Constant.Buildings.TAVERN, Constant.Buildings.MUSEUM],
  research  : [Constant.Buildings.ACADEMY, Constant.Buildings.WORKSHOP, Constant.Buildings.TEMPLE],
  diplomacy : [Constant.Buildings.EMBASSY],
  trading   : [Constant.Buildings.WAREHOUSE, Constant.Buildings.DUMP, Constant.Buildings.TRADING_PORT, Constant.Buildings.TRADING_POST, Constant.Buildings.BLACK_MARKET],
  military  : [Constant.Buildings.WALL, Constant.Buildings.HIDEOUT, Constant.Buildings.BARRACKS, Constant.Buildings.SHIPYARD],
  production: [Constant.Buildings.FORESTER, Constant.Buildings.WINERY, Constant.Buildings.STONEMASON, Constant.Buildings.GLASSBLOWER, Constant.Buildings.ALCHEMISTS_TOWER],
  reducton  : [Constant.Buildings.CARPENTER, Constant.Buildings.VINEYARD, Constant.Buildings.ARCHITECT, Constant.Buildings.OPTICIAN, Constant.Buildings.FIREWORK_TEST_AREA],
  piracy    : [Constant.Buildings.PIRATE_FORTRESS]
};
Constant.compBuildingOrder = {
  growth    : [Constant.Buildings.TOWN_HALL, &#39;colonyBuilding&#39;, Constant.Buildings.PALACE, Constant.Buildings.GOVERNORS_RESIDENCE, Constant.Buildings.TAVERN, Constant.Buildings.MUSEUM],
  research  : [Constant.Buildings.ACADEMY, Constant.Buildings.WORKSHOP, Constant.Buildings.TEMPLE],
  diplomacy : [Constant.Buildings.EMBASSY],
  trading   : [Constant.Buildings.WAREHOUSE, Constant.Buildings.DUMP, Constant.Buildings.TRADING_PORT, Constant.Buildings.TRADING_POST, Constant.Buildings.BLACK_MARKET],
  military  : [Constant.Buildings.WALL, Constant.Buildings.HIDEOUT, Constant.Buildings.BARRACKS, Constant.Buildings.SHIPYARD],
  production: [Constant.Buildings.FORESTER, &#39;productionBuilding&#39;, Constant.Buildings.WINERY, Constant.Buildings.STONEMASON, Constant.Buildings.GLASSBLOWER, Constant.Buildings.ALCHEMISTS_TOWER],
  reducton  : [Constant.Buildings.CARPENTER, Constant.Buildings.VINEYARD, Constant.Buildings.ARCHITECT, Constant.Buildings.OPTICIAN, Constant.Buildings.FIREWORK_TEST_AREA],
  piracy    : [Constant.Buildings.PIRATE_FORTRESS]
};
Constant.unitOrder = {
  army_front_line: [Constant.Military.HOPLITE, Constant.Military.SPARTAN, Constant.Military.STEAM_GIANT],
  army_flank     : [Constant.Military.SPEARMAN, Constant.Military.SWORDSMAN],
  army_ranged    : [Constant.Military.SLINGER, Constant.Military.ARCHER, Constant.Military.MARKSMAN],
  army_seige     : [Constant.Military.RAM, Constant.Military.CATAPULT, Constant.Military.MORTAR],
  army_air       : [Constant.Military.GYROCOPTER, Constant.Military.BALLOON_BOMBADIER],
  army_support   : [Constant.Military.COOK, Constant.Military.DOCTOR],
  navy_front_line: [Constant.Military.FLAME_THROWER, Constant.Military.STEAM_RAM],
  navy_flank     : [Constant.Military.RAM_SHIP],
  navy_ranged    : [Constant.Military.BALLISTA_SHIP, Constant.Military.CATAPULT_SHIP, Constant.Military.MORTAR_SHIP],
  navy_seige     : [Constant.Military.SUBMARINE, Constant.Military.ROCKET_SHIP],
  navy_air       : [Constant.Military.PADDLE_SPEEDBOAT, Constant.Military.BALLOON_CARRIER],
  navy_support   : [Constant.Military.TENDER]
};

/***********************************************************************************************************************
 * Main Init
 **********************************************************************************************************************/
    if(debug) {
        delete unsafeWindow.console;
        unsafeWindow.empire = {
            s       : empire,
            db      : database,
            ikariam : ikariam,
            render  : render,
            events  : events,
            utils   : Utils,
            Constant: Constant,
            $       : $,
            get tip(){return $(&#39;.breakdown_table&#39;).text().replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;).replace(/\s\s/g,&#39; &#39;)}
        }
    }

empire.Init();
$(function() {
  var bgViewId = $(&#39;body&#39;).attr(&#39;id&#39;);
  if(!(bgViewId === &#39;city&#39; || bgViewId === &#39;island&#39; || bgViewId === &#39;worldmap_iso&#39; || !$(&#39;backupLockTimer&#39;).length)) {
    return false
  }

  (function init(model, data, local, ajax){
    var mod, dat, loc, aj;
    mod = !!unsafeWindow.ikariam &amp;&amp; !!unsafeWindow.ikariam.model;
    dat = !!unsafeWindow.ikariam &amp;&amp; !!unsafeWindow.ikariam.model.relatedCityData;
    loc = !!unsafeWindow.LocalizationStrings;
    aj = !!unsafeWindow.ikariam.controller &amp;&amp; !!unsafeWindow.ikariam.controller.executeAjaxRequest &amp;&amp; !!unsafeWindow.ajaxHandlerCallFromForm;
    if (dat &amp;&amp; !data){
      events(Constant.Events.CITYDATA_AVAILABLE).pub();
    }
    if (mod &amp;&amp; dat &amp;&amp; !model &amp;&amp; !data){
      events(Constant.Events.MODEL_AVAILABLE).pub()
    }
    if (loc &amp;&amp; !local){
      events(Constant.Events.LOCAL_STRINGS_AVAILABLE).pub()
    }
   if (aj &amp;&amp; !ajax){
     unsafeWindow.ajaxHandlerCallFromForm = function(ajaxHandlerCallFromForm) {
       return function cAjaxHandlerCallFromForm(form) {
         events(&#39;formSubmit&#39;).pub(form);
         return ajaxHandlerCallFromForm.apply(this, arguments);
       };
     }(unsafeWindow.ajaxHandlerCallFromForm);

     unsafeWindow.ikariam.controller.executeAjaxRequest = function(execAjaxRequest) {
       return function cExecuteAjaxRequest() {
         var args = $.makeArray(arguments);
         args.push(undefined);
         if(!args[1]) {
           args[1] = function customAjaxCallback(responseText) {
             var responder = unsafeWindow.ikariam.getClass(unsafeWindow.ajax.Responder, responseText);
             unsafeWindow.ikariam.controller.ajaxResponder = responder;
             events(&#39;ajaxResponse&#39;).pub(responder.responseArray);
             unsafeWindow.response = responder
           }
         }
         var ret = execAjaxRequest.apply(this, args)
       };
     }(unsafeWindow.ikariam.controller.executeAjaxRequest);
   }
    if (!(mod &amp;&amp; loc &amp;&amp; dat &amp;&amp; aj)){
    events.scheduleAction(init.bind(null, mod, loc, dat, aj),1000);
    }
    else {
      var initialAjax = [];
      $(&#39;script&#39;).each(function(index, script) {
        var match = /ikariam.getClass\(ajax.Responder, (.*)\);/.exec(script.innerHTML);
        if(match) {
          events(&#39;ajaxResponse&#39;).pub(JSON.parse(match[1] || []));
          return false;
        }
      });
    }
  })();
});

/**************************************************************************
*  for IkaLogs
***************************************************************************/

function addScript(src) {
    var scr = document.createElement(&#39;script&#39;);
    scr.type = &#39;text/javascript&#39;;
    scr.src  = src;
    document.getElementsByTagName(&#39;body&#39;)[0].appendChild(scr);
}
})(jQuery);</pre>

</div>
<div class='clear'></div>
<div id='root_footer'></div>
</div>
</div>
<div id='footer'>
<div id='footer-content'>
<div class='col la'>
<p>
<strong class='disclaim'>
Because it's your web
</strong>
</p>
</div>
<div class='col ra'>
<p class='credit'>
Powered by
<em>monkeys and unicorns</em>
with the help of many
<a href="/users/contributers" rel="nofollow">friends</a>
</p>
<p id='policies'>
Policy &amp; Guidelines:
<a href="/about/dmca" rel="nofollow">DMCA</a>
<a href="/about/privacy" rel="nofollow">Privacy Policy</a>
</p>
</div>
</div>
</div>
<script src="/javascripts/bottom.js?1397513839" type="text/javascript"></script>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-50927-4']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
<!-- Quantcast Tag --> 
<script type="text/javascript">
var _qevents = _qevents || [];
(function() {
var elem = document.createElement('script');
elem.src = (document.location.protocol == "https:" ? "https://secure" : "http://edge") + ".quantserve.com/quant.js";
elem.async = true;
elem.type = "text/javascript";
var scpt = document.getElementsByTagName('script')[0];
scpt.parentNode.insertBefore(elem, scpt);  
})();
_qevents.push( { qacct:"p-6eWjYgYdo7Su6"} );
</script>
<noscript><div style="display: none;"><img src="//pixel.quantserve.com/pixel/p-6eWjYgYdo7Su6.gif" height="1" width="1" alt="Quantcast"/></div></noscript>
<script type="text/javascript">
  var a2a_onclick = 1;
  var a2a_linkname = "Empire Overview";
  var a2a_linkurl = "http://userscripts.org/scripts/show/138078";
</script>
<script type="text/javascript" src="http://static.addtoany.com/menu/page.js"></script>


</body>
</html>