There are 9 previous versions of this script.
the source is over 100KB, syntax highlighting in the browser is too slow
// ==UserScript==
// @name Travian: Village Manager
// @version 1.94
// @description Bookmark your preferred villages in a draggable table available on every page! Fast links to your farms, safehouses, targets etc.
// @author dbKiller
// @email user9999@gmail.com
// @date 2009-08-05
// @namespace travian
// @source http://userscripts.org/scripts/show/25524
// @identifier http://userscripts.org/scripts/source/25524.user.js
// @include http://*.travian*.*/*
// @exclude http://board.travian*.*
// @exclude http://forum.travian*.*
// @exclude http://help.travian*.*/*
// @exclude http://shop.travian*.*
// @exclude http://www.travian*.*/*
// @exclude http://*.travian*.*/activate.php*
// @exclude http://*.travian*.*/ad/*
// @exclude http://*.travian*.*/ajax.php*
// @exclude http://*.travian*.*/anleitung.php*
// @exclude http://*.travian*.*/anmelden.php*
// @exclude http://*.travian*.*/chat/*
// @exclude http://*.travian*.*/geschichte.php*
// @exclude http://*.travian*.*/gutscheine.php*
// @exclude http://*.travian*.*/hilfe.php*
// @exclude http://*.travian*.*/impressum.php*
// @exclude http://*.travian*.*/index.php*
// @exclude http://*.travian*.*/links.php*
// @exclude http://*.travian*.*/log*.php*
// @exclude http://*.travian*.*/manual.php*
// @exclude http://*.travian*.*/spielregeln.php*
// @exclude http://*.travian*.*/support.php*
// @exclude http://*.travian*.*/tutorial.php*
// ==/UserScript==
/*****************************************************************************
* Copyright 2008, 2009 dbKiller (user9999@gmail.com)
*
* This is free software; you can redistribute it and/or modify it under the
* terms of the GNU General Public License as published by the Free Software
* Foundation; either version 3 of the License, or (at your option) any later
* version.
*
* This is distributed in the hopes that it will be useful, but WITHOUT ANY
* WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
* FOR A PARTICULAR PURPOSE. See the GNU Public License for more details
*
* To obtain a copy of the GNU General Public License, please see
* <http://www.gnu.org.licenses/>
*****************************************************************************/
//set global variables
var SCRIPT = {
url: 'http://userscripts.org/scripts/source/25524.user.js',
version: '1.94'
};
var server = location.hostname;
var suffix;
var lang = new Array();
var image = new Array();
var colsNumber = 11;
var colsDefaultWidth = '20, 180, 140, 140, 140, 80, 50, 50, 20, 20, 20';
var colsDefaultVisibility = ',,none,none,none,none,none,none,none,none,none';
var listDefaultPosition = '42px_4px'; //top_left
var activeVillageCoords = '';
var defaultTags = ',farm,my village,reinforcements,safehouse,target';
var defaultFilterTag = '';
var defaultPlayerTribe = 'romans';
var defaultTournamentLevel = 0;
var defaultSpeedServer = false;
var defaultLinkedTags = false;
var defaultSorting = '1_down';
//_@_settingname||tagfilter||colsvis||colswidth||tribe||tournament||speed||hidepopups||sort
var defaultSettings = '_@_default||||,,none,none,none,none,none,none,none,none,none||20, 180, 140, 140, 140, 80, 50, 50, 20, 20, 20||romans||0||false||false||1_down';
var mymousePos = null;
var reload = false;
var dom = new DOMUtils();
var isKarte = location.pathname == '/karte.php';
var isLandPage = isKarte && (location.search.indexOf('d=') != -1);
var isMap = isKarte && !isLandPage;
//launch main function after doc is loaded
window.addEventListener('load', main, false);
//main function
function main()
{
var html = document.body.innerHTML;
if (html.indexOf(' <!-- ERROR ITEM CONTAINER') != -1) window.location.reload();
//create unique suffix
var ownerId = getOwnerId();
if (ownerId) suffix = server+'_'+ownerId;
else return;
//get language
loadLanguage();
//load images
loadImage();
//create "add village" option
if (isLandPage) {
createVMLink();
}
//create list
createVMList();
}
//create option to add villages to list
function createVMLink()
{
var tbody = dom.xs('//div[@id="map_details_actions"]/table/tbody');
if (!tbody) var tbody = dom.xs('//table[@id="options"]/tbody');
if (!tbody) return;
var addOption = dom.cn('a', '\u00BB ' + lang['ADD_VILLAGE']+' '+lang['VILLAGE_MANAGER']);
addOption.href = 'javascript:void(0)';
addOption.addEventListener('click', addToVillageList, true);
var row = dom.cn('tr');
var cell = dom.cn('td');
cell.style.border = '0px none';
cell.appendChild(addOption);
row.appendChild(cell);
tbody.appendChild(row);
}
//create the list
function createVMList()
{
//get current list width
var listWidth = getListVisibleWidth();
//create list-wrapper div
var listDiv = dom.cn('div');
listDiv.id = 'listDiv_'+suffix;
listDiv.style.zIndex = 666;
listDiv.style.clear = 'both';
listDiv.style.position = 'relative';
listDiv.style.width = listWidth+'px';
listDiv.style.backgroundColor = '#FFFFFF';
listDiv.style.border = '1px solid #C0C0C0';
//create title div
var titleDiv = dom.cn('div');
titleDiv.style.height = '18px';
titleDiv.style.width = (listWidth-12)+'px'; //-12px minDiv width
titleDiv.style.cssFloat = 'left';
titleDiv.style.fontWeight = 'bold';
titleDiv.style.fontSize = '10';
titleDiv.style.textAlign = 'center';
titleDiv.style.borderBottom = '1px solid #C0C0C0';
titleDiv.style.backgroundColor = '#FFFFFF';
titleDiv.style.backgroundImage = 'url(img/un/a/c2.gif)';
titleDiv.style.backgroundRepeat = 'repeat-x';
titleDiv.title = lang['DRAG'];
titleDiv.style.cursor = 'move';
titleDiv.style.MozUserSelect = 'none';
titleDiv.appendChild(dom.ct( lang['VILLAGE_MANAGER'] ));
makeDraggable(listDiv, titleDiv);
//create minimize/maximize list div
var minDiv = dom.cn('div');
minDiv.style.height = '18px';
minDiv.style.width = '12px';
minDiv.style.cssFloat = 'left';
minDiv.style.borderBottom = '1px solid #C0C0C0';
minDiv.style.backgroundColor = '#FFFFFF';
minDiv.style.backgroundImage = 'url(img/un/a/c2.gif)';
//append bar divs
listDiv.appendChild(titleDiv);
listDiv.appendChild(minDiv);
//create table
var listTable = dom.cn('table');
listTable.id = 'listTable';
listTable.setAttribute('cellspacing', '1');
listTable.setAttribute('cellpadding', '1');
listTable.style.borderCollapse = 'collapse';
listTable.style.width = '100%';
listTable.style.cssFloat = 'left';
listTable.style.clear = 'both';
listTable.style.position = 'relative';
listDiv.appendChild(listTable);
//get list data
var villageList = getListData();
//create list
if (villageList == '') {
//EMPTY LIST
var listIsEmpty = true;
//create tbody
var tableBody = dom.cn('tbody');
var tbodyRow = dom.cn('tr');
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.setAttribute('colspan', colsNumber);
var cell = dom.cn('div', lang['NO_VILLAGES']);
cell.style.textAlign = 'center';
cell.style.color = '#C0C0C0';
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
tableBody.appendChild(tbodyRow);
//import/export list data
var tbodyRow = dom.cn('tr');
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.setAttribute('colspan', colsNumber);
tbodyCell.style.textAlign = 'center';
var opt = dom.cn('a', lang['I_DATA']);
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo3 = function(){showImportExportTable();this.blur();}, false);
tbodyCell.appendChild(opt);
tbodyCell.appendChild(dom.cn('br'));
//create hidden textarea
var table = dom.cn('table');
table.id = 'importExportTable';
table.width = '100%';
table.style.display = 'none';
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
var textArea = dom.cn('textarea', GM_getValue('villages_'+suffix));
textArea.id = 'txtArea';
textArea.setAttribute('cols', '999');
textArea.setAttribute('rows', '8');
textArea.style.width = '100%';
textArea.style.color = '#C0C0C0';
textArea.style.border = '1px solid #71D000';
textArea.addEventListener('keydown', foo4 = function(){resize_textarea(this);}, false);
textArea.addEventListener('keyup', foo5 = function(){resize_textarea(this);}, false);
textArea.addEventListener('change', foo6 = function(){resize_textarea(this);}, false);
td.appendChild(textArea);
tr.appendChild(td);
var td = dom.cn('td');
td.style.border = '0px none';
//save
var img = document.createElement('img');
img.title = lang['SAVE'];
img.style.width = '14px';
img.style.height = '14px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['save'];
img.addEventListener('click', bar2=function(){setListData();}, false);
td.appendChild(img);
tr.appendChild(td);
table.appendChild(tr);
tbodyCell.appendChild(table);
tbodyRow.appendChild(tbodyCell);
tableBody.appendChild(tbodyRow);
//append tbody
listTable.appendChild(tableBody);
} else {
//NORMAL LIST
var listIsEmpty = false;
//create thead
var tableHead = createTableHeader();
//append thead
listTable.appendChild(tableHead);
//create tbody
var tableBody = createTableBody(villageList);
//append tbody
listTable.appendChild(tableBody);
//create tfoot
var tableFoot = createTableFooter(listTable);
//append tfoot
listTable.appendChild(tableFoot);
}
//update list position
var listCoords = GM_getValue(listDiv.id, listDefaultPosition).split('_');
var cox = listCoords[0];
var coy = listCoords[1];
listDiv.style.top = cox;
listDiv.style.left = coy;
listDiv.style.position = 'absolute';
listDiv.style.zIndex = 666;
//minimize/maximize list
var listIsMinimized = GM_getValue('minimize_'+suffix);
if (!listIsMinimized) {
listIsMinimized = false; //default value
GM_setValue('minimize_'+suffix, listIsMinimized);
}
if (listIsMinimized) {
listTable.style.display = 'none';
var img = makeEventMaximize(titleDiv);
minDiv.appendChild(img);
resizeList(listTable, true);
//remove bar bottom border
titleDiv.style.borderBottom = 'none';
minDiv.style.borderBottom = 'none';
} else {
listTable.style.display = '';
var img = makeEventMinimize(titleDiv);
minDiv.appendChild(img);
resizeList(listTable, false);
}
//show/hide options
var optionsAreVisible = GM_getValue('options_'+suffix);
if (!optionsAreVisible) {
optionsAreVisible = false; //default value
GM_setValue('options_'+suffix, optionsAreVisible);
}
if (!listIsEmpty) {
if (optionsAreVisible) {
tableFoot.childNodes[1].style.display = '';
var img = makeEventHideOptions();
} else {
tableFoot.childNodes[1].style.display = 'none';
if (!listIsMinimized) listDiv.style.borderBottom = 'none';
var img = makeEventShowOptions();
}
img.src = 'data:image/png;base64,'+image['options'];
img.style.width = '18px';
img.style.height = '14px';
img.style.paddingTop = '6px';
img.style.paddingLeft = '2px';
img.style.cursor = 'pointer';
//append img to optionsDiv
tableFoot.childNodes[0].firstChild.firstChild.appendChild(img);
}
//add list to page
document.body.appendChild(listDiv);
//sort table
if (!listIsEmpty) {
//make list sortable
ts_makeSortable(listTable);
//read sort data
var sorting = GM_getValue('sort_'+suffix);
if (!sorting) {
restoreDefaultSorting();
}
var sortingArray = sorting.split('_');
var sortCol = sortingArray[0];
var sortDir = sortingArray[1];
//sort
var lnk = dom.xs('//table[@id="listTable"]//a[@column="'+sortCol+'"]');
ts_resortTable(lnk, sortCol, sortDir);
}
//reload list if necessary (for compatibility with v<1.6)
if (reload==true) {
reload = false;
reloadVillageList();
}
}
//create table header
function createTableHeader()
{
//get columns visibility and width arrays
var colsVis = getColsVisibility();
var colsWidth = getColsWidth();
//create thead
var tableHead = dom.cn('thead');
//create headers row
var theadRow = dom.cn('tr');
//column 0: delete
var theadCell = dom.cn('td');
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[0]+'px';
theadCell.style.display = (colsVis[0]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 1: village
var theadCell = dom.cn('td', lang['VILLAGE']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[1]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['VILLAGE'].toLowerCase();
theadCell.style.display = (colsVis[1]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 2: player
var theadCell = dom.cn('td', lang['PLAYER']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[2]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['PLAYER'].toLowerCase();
theadCell.style.display = (colsVis[2]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 3: ally
var theadCell = dom.cn('td', lang['ALLY']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[3]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['ALLY'].toLowerCase();
theadCell.style.display = (colsVis[3]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 4: tag
var theadCell = dom.cn('td', lang['TAG']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[4]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['TAG'].toLowerCase();
theadCell.style.display = (colsVis[4]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 5: distance
var theadCell = dom.cn('td', lang['DISTANCE']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[5]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['DISTANCE'].toLowerCase();
theadCell.style.display = (colsVis[5]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 6: village type
var theadCell = dom.cn('td', lang['TYPE']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[6]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['VILLAGE_TYPE'].toLowerCase();
theadCell.style.display = (colsVis[6]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 7: tribe
var theadCell = dom.cn('td', lang['TRIBE']);
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[7]+'px';
theadCell.title = lang['SORT_BY']+' '+lang['TRIBE'].toLowerCase();
theadCell.style.display = (colsVis[7]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 8: send troops
var theadCell = dom.cn('td');
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[8]+'px';
theadCell.style.display = (colsVis[8]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 9: send resources
var theadCell = dom.cn('td');
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[9]+'px';
theadCell.style.display = (colsVis[9]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//column 10: notes
var theadCell = dom.cn('td');
theadCell.style.border = '0px none';
theadCell.setAttribute('align', 'center');
theadCell.style.borderBottom = '1px solid #C0C0C0';
theadCell.width = colsWidth[10]+'px';
theadCell.style.display = (colsVis[10]=='none') ? 'none' : '';
theadRow.appendChild(theadCell);
//append headers row
tableHead.appendChild(theadRow);
return tableHead;
}
//create table body
function createTableBody(villageList)
{
//get filtering tag
var filterByTag = GM_getValue('tagfilter_'+suffix);
if (!filterByTag) {
restoreDefaultFilterTag();
filterByTag = GM_getValue('tagfilter_'+suffix);
}
//get columns visibility and width arrays
var colsVis = getColsVisibility();
var colsWidth = getColsWidth();
//get active village name
var activeVillageName = getActiveVillageName();
if (!activeVillageName||activeVillageName=='') activeVillageName = lang['YOUR_VILLAGE'];
//get active village coords
getActiveVillageCoords();
var activeX = activeVillageCoords.split(',')[0];
var activeY = activeVillageCoords.split(',')[1];
//create tbody
var tableBody = dom.cn('tbody');
//populate tbody (iterate over village entries)
var counter = 0;
for (i=1; i<=villageList.length-1; i++)
{
//get data
villageList[i] = villageList[i].split('||');
var villageName = villageList[i][0];
var villageId = villageList[i][1];
var coordsArray = villageList[i][2];
var coordX = coordsArray.split(',')[0];
var coordY = coordsArray.split(',')[1];
var playerName = villageList[i][3];
var playerId = villageList[i][4];
var allyName = villageList[i][5];
var allyId = villageList[i][6];
var cValue = villageList[i][7];
var playerTribe = villageList[i][8];
var villageType = villageList[i][9];
var villageTag = villageList[i][10];
var villageNote = villageList[i][11];
//for compatibility with v<1.6
if (typeof(villageNote)=='undefined' || villageNote=='undefined') {
villageNote = '';
updateNote(villageNote, villageId);
reload = true;
}
//filter by tag
if (filterByTag!='') {
if (villageTag != filterByTag) continue;
}
//create row
var tbodyRow = dom.cn('tr');
//add background highlighting
tbodyRow.addEventListener('mouseover',bar=function(){this.style.backgroundColor='lightYellow';this.childNodes[4].firstChild.childNodes[1].style.backgroundColor='lightYellow';}, false);
tbodyRow.addEventListener('mouseout', foo=function(){this.style.backgroundColor='#FFF';this.childNodes[4].firstChild.childNodes[1].style.backgroundColor='#FFF';}, false);
//column 0: delete
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[0]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.cssFloat = 'left';
cell.style.width = colsWidth[0]+'px';
cell.style.height = '20px'; //height of row!
cell.appendChild( makeEventDelete(villageId, villageName) );
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 1: village
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[1]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[1]+'px';
if (villageName == '') {
cell.innerHTML = '---';
cell.style.color = '#C0C0C0';
} else {
cell.appendChild( makeEventVillageStats(villageName, villageId, cValue, coordX, coordY) );
}
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 2: player
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[2]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[2]+'px';
if (playerName == '') {
cell.innerHTML = '---';
cell.style.color = '#C0C0C0';
} else {
cell.appendChild( makeEventPlayerStats(playerName, playerId) );
}
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 3: ally
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[3]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[3]+'px';
if (allyName == '') {
cell.innerHTML = '---';
cell.style.color = '#C0C0C0';
} else {
cell.appendChild( makeEventAllyStats(allyName, allyId) );
}
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 4: tag
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[4]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[4]+'px';
if (!villageTag||villageTag=='') {
//hidden span for sorting
var celltxt = dom.cn('span', '_');
celltxt.style.display = 'none';
cell.appendChild(celltxt);
//select
cell.appendChild( makeEventChangeTag('', villageId) );
} else {
//hidden span for sorting
var celltxt = dom.cn('span', villageTag);
celltxt.style.display = 'none';
cell.appendChild(celltxt);
//select
cell.appendChild( makeEventChangeTag(villageTag, villageId) );
}
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 5: distance
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.color = '#C0C0C0';
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[5]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[5]+'px';
if (!activeX||!activeY||activeX=='NaN'||activeY=='NaN') {
var celltxt = dom.cn('span', '---');
cell.appendChild(celltxt);
} else {
var strDistance = coordDistXYtoXY(activeX, activeY, coordX, coordY);
cell.appendChild( makeEventTimeOfTravel(strDistance, activeVillageName) );
}
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 6: village type
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[6]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[6]+'px';
//hidden span for sorting
switch (villageType) {
case 'f1'://f1 = 9crops
var celltxt = dom.cn('span', 'a5');
break;
case 'f2'://f2 = +iron
var celltxt = dom.cn('span', 'a4');
break;
case 'f3'://f3 = normal
var celltxt = dom.cn('span', 'a1');
break;
case 'f4'://f4 = +clay
var celltxt = dom.cn('span', 'a2');
break;
case 'f5'://f5 = +lumber
var celltxt = dom.cn('span', 'a3');
break;
case 'f6'://f6 = 15crops
var celltxt = dom.cn('span', 'a6');
break;
default:
var celltxt = dom.cn('span', villageType);
break;
}
celltxt.style.display = 'none';
cell.appendChild(celltxt);
cell.appendChild( makeEventVillageType(villageType, villageId) );
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 7: tribe
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[7]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[7]+'px';
if (playerTribe) {
//hidden span for sorting
var celltxt = dom.cn('span', String(playerTribe));
celltxt.style.display = 'none';
cell.appendChild(celltxt);
cell.appendChild( makeEventPlayerTribe(playerId, playerTribe) );
} else {
cell.innerHTML = '--';
cell.style.color = '#C0C0C0';
}
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 8: send troops
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[8]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[8]+'px';
cell.appendChild( makeEventSendTroops(villageId) );
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 9: send resources
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[9]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[9]+'px';
cell.appendChild( makeEventSendResources(villageId) );
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//column 10: notes
var tbodyCell = dom.cn('td');
tbodyCell.style.border = '0px none';
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyCell.style.display = (colsVis[10]=='none') ? 'none' : '';
var cell = dom.cn('div');
cell.style.width = colsWidth[10]+'px';
cell.appendChild( makeEventShowNote(villageNote, villageId, villageName) );
tbodyCell.appendChild(cell);
tbodyRow.appendChild(tbodyCell);
//append row
tableBody.appendChild(tbodyRow);
counter++;
}
//if list is empty because of filtering
if (counter==0) {
var tbodyRow = dom.cn('tr');
var tbodyCell = dom.cn('td', lang['NO_TAG']+' "'+filterByTag+'"');
tbodyCell.style.border = '0px none';
tbodyCell.setAttribute('colspan', colsNumber);
tbodyCell.style.textAlign = 'center';
tbodyCell.setAttribute('align', 'center');
tbodyCell.style.color = '#C0C0C0';
tbodyCell.style.borderBottom = '1px solid #C0C0C0';
tbodyRow.appendChild(tbodyCell);
tableBody.appendChild(tbodyRow);
}
return tableBody;
}
function removeHTMLTags(strInputCode)
{
var re = /(<([^>]+)>)/gi;
return strInputCode.replace(re, '');
}
//display note
function displayNotePopup(villageId, villageName)
{
//if notediv editor exists, return
var noteDiv = dom.id('noteDiv');
if (noteDiv) return;
//remove old noteDiv
hideNotePopup();
//create shadow div
var noteDiv = dom.cn('div');
noteDiv.id = 'noteDivPopup';
noteDiv.style.zIndex = 999;
noteDiv.style.width = '350px';
noteDiv.style.position = 'absolute';
noteDiv.style.top = (mymousePos.y+40)+'px';
winX = window.innerWidth;
if (mymousePos.x > winX-334) noteDiv.style.left = (mymousePos.x-314)+'px';
else noteDiv.style.left = (mymousePos.x)+'px';
noteDiv.style.background = 'transparent url(data:image/png;base64,'+image['shadow']+') repeat scroll 0% 50%';
noteDiv.style.margin = '4px 0px 0px 5px';
document.body.appendChild(noteDiv);
//create inner div
var innerDiv = dom.cn('div');
innerDiv.style.position = 'relative';
innerDiv.style.left = '-5px';
innerDiv.style.top = '-5px';
innerDiv.style.backgroundColor = '#F5F5F5';
innerDiv.style.border = '2px solid green';
noteDiv.appendChild(innerDiv);
//create note
var table = dom.cn('table');
table.style.width = '346px';
//village name
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.height = '10px';
td.style.backgroundColor = 'green';
var div0 = dom.cn('div', villageName);
div0.style.width = '340px';
div0.style.cssFloat = 'left';
div0.style.textAlign = 'center';
div0.style.fontWeight = 'bold';
div0.style.fontSize = '8pt';
div0.style.color = 'lightYellow';
div0.style.cursor = 'move';
div0.style.paddingBottom = '2px';
makeDraggable(noteDiv, div0);
td.appendChild(div0);
//append
tr.appendChild(td);
table.appendChild(tr);
//note body
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
var div = dom.cn('div', getNote(villageId));
div.style.width = '338px';
div.style.border = '1px solid #71D000';
div.style.backgroundColor = '#FFF';
td.appendChild(div);
tr.appendChild(td);
table.appendChild(tr);
//append
innerDiv.appendChild(table);
}
//display note with editor
function displayNoteEditor(villageId, villageName)
{
//remove old noteDivs
hideNote();
hideNotePopup();
//create shadow div
var noteDiv = dom.cn('div');
noteDiv.id = 'noteDiv';
noteDiv.style.zIndex = 999;
noteDiv.style.width = '350px';
noteDiv.style.position = 'absolute';
noteDiv.style.top = (mymousePos.y+40)+'px';
winX = window.innerWidth;
if (mymousePos.x > winX-334) noteDiv.style.left = (mymousePos.x-314)+'px';
else noteDiv.style.left = (mymousePos.x)+'px';
noteDiv.style.background = 'transparent url(data:image/png;base64,'+image['shadow']+') repeat scroll 0% 50%';
noteDiv.style.margin = '4px 0px 0px 5px';
document.body.appendChild(noteDiv);
//create inner div
var innerDiv = dom.cn('div');
innerDiv.style.position = 'relative';
innerDiv.style.left = '-5px';
innerDiv.style.top = '-5px';
innerDiv.style.backgroundColor = '#F5F5F5';
innerDiv.style.border = '2px solid green';
noteDiv.appendChild(innerDiv);
//create iFrame
var table = dom.cn('table');
table.style.width = '346px';
//village name
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.height = '10px';
td.style.backgroundColor = 'green';
var div0 = dom.cn('div', villageName);
div0.style.width = '325px';
div0.style.cssFloat = 'left';
div0.style.textAlign = 'center';
div0.style.fontWeight = 'bold';
div0.style.fontSize = '8pt';
div0.style.color = 'lightYellow';
div0.style.cursor = 'move';
div0.style.paddingBottom = '2px';
makeDraggable(noteDiv, div0);
td.appendChild(div0);
//close X
var div1 = dom.cn('div', 'X');
div1.style.width = '15px';
div1.style.cssFloat = 'right';
div1.title = lang['CLOSE'];
div1.style.textAlign = 'center';
div1.style.fontWeight = 'bold';
div1.style.fontSize = '8pt';
div1.style.color = 'lightYellow';
div1.style.cursor = 'pointer';
div1.style.paddingBottom = '2px';
div1.addEventListener('mouseover', foo=function(){div1.style.color = 'red';}, false);
div1.addEventListener('mouseout', foo=function(){div1.style.color = 'lightYellow';}, false);
div1.addEventListener('click', foo=function(){hideNote();}, false);
td.appendChild(div1);
tr.appendChild(td);
table.appendChild(tr);
//NOTE TOOLS
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.width = '338px';
td.style.backgroundColor = 'lightgray';
//start/stop editing tool
var img = document.createElement('img');
img.id = 'startStopEditing';
img.title = lang['EDIT'];
img.style.cssFloat = 'left';
img.style.width = '16px';
img.style.height = '16px';
img.style.padding = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['note'];
img.addEventListener('click', foo=function(){editableNote();}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//save tool
var img = dom.cn('img');
img.title = lang['SAVE'];
img.style.cssFloat = 'left';
img.style.width = '14px';
img.style.height = '14px';
img.style.padding = '3px 3px 4px 3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['save'];
img.addEventListener('click', foo=function(){saveNote(villageId);}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//delete tool
var img = dom.cn('img');
img.title = lang['DELETE'];
img.style.cssFloat = 'left';
img.style.width = '12px';
img.style.height = '12px';
img.style.padding = '4px 7px 5px 3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['delete'];
img.addEventListener('click', bar2=function(){delNote(villageId);}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//undo tool
var img = dom.cn('img');
img.title = 'Undo';
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.paddingLeft = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['undo'];
img.addEventListener('click', foo=function(){execCmdNote('undo');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//redo tool
var img = dom.cn('img');
img.title = 'Redo';
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['redo'];
img.addEventListener('click', foo=function(){execCmdNote('redo');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//link tool
var img = dom.cn('img');
img.title = lang['ADD']+' link';
img.style.cssFloat = 'left';
img.style.width = '22px';
img.style.height = '22px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['link'];
img.addEventListener('click', foo=function(){addNoteLink();}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//unlink tool
var img = dom.cn('img');
img.title = lang['REMOVE']+' link';
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.paddingLeft = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['unlink'];
img.addEventListener('click', foo=function(){execCmdNote('unlink');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//image tool
var img = dom.cn('img');
img.title = lang['ADD']+' '+lang['IMAGE'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['image'];
img.addEventListener('click', foo=function(){execCmdNote('insertimage');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//bold tool
var img = dom.cn('img');
img.title = lang['BOLD'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['bold'];
img.addEventListener('click', foo=function(){execCmdNote('bold');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//italic tool
var img = dom.cn('img');
img.title = lang['ITALIC'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['italic'];
img.addEventListener('click', foo=function(){execCmdNote('italic');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//underline tool
var img = dom.cn('img');
img.title = lang['UNDERLINE'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['underline'];
img.addEventListener('click', foo=function(){execCmdNote('underline');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//delimiter (TODO: try to envelop in nobr...)
// var span = dom.cn('span');
// span.style.backgroundColor = 'buttonface';
// span.style.borderTop = '1px solid buttonshadow';
// span.style.borderLeft = '1px solid buttonshadow';
// span.style.borderBottom = '1px solid buttonhighlight';
// span.style.borderRight = '1px solid buttonhighlight';
// span.style.width = '2px';
// span.style.cursor = 'default';
// td.appendChild(span);
//justify left tool
var img = dom.cn('img');
img.title = lang['JLEFT'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['left'];
img.addEventListener('click', foo=function(){execCmdNote('justifyleft');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//justify center tool
var img = dom.cn('img');
img.title = lang['JCENTER'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['center'];
img.addEventListener('click', foo=function(){execCmdNote('justifycenter');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//justify right tool
var img = dom.cn('img');
img.title = lang['JRIGHT'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['right'];
img.addEventListener('click', foo=function(){execCmdNote('justifyright');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//justify full tool
var img = dom.cn('img');
img.title = lang['JFULL'];
//img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['full'];
img.addEventListener('click', foo=function(){execCmdNote('justifyfull');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//strikethrough tool
var img = dom.cn('img');
img.title = lang['STRIKET'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['striket'];
img.addEventListener('click', foo=function(){execCmdNote('strikethrough');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//superscript tool
var img = dom.cn('img');
img.title = lang['SUPERS'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['supers'];
img.addEventListener('click', foo=function(){execCmdNote('superscript');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//subscript tool
var img = dom.cn('img');
img.title = lang['SUBS'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['subs'];
img.addEventListener('click', foo=function(){execCmdNote('subscript');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//ordered list tool
var img = dom.cn('img');
img.title = lang['OLIST'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['olist'];
img.addEventListener('click', foo=function(){execCmdNote('insertorderedlist');}, false);
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
td.appendChild(img);
//unordered list tool
var img = dom.cn('img');
img.title = lang['ULIST'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['ulist'];
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
img.addEventListener('click', foo=function(){execCmdNote('insertunorderedlist');}, false);
td.appendChild(img);
//horizontal rule tool
var img = dom.cn('img');
img.title = lang['HRULE'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['hrule'];
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
img.addEventListener('click', foo=function(){execCmdNote('inserthorizontalrule');}, false);
td.appendChild(img);
//indent tool
var img = dom.cn('img');
img.title = lang['INDENT'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['indent'];
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
img.addEventListener('click', foo=function(){execCmdNote('indent');}, false);
td.appendChild(img);
//outdent tool
var img = dom.cn('img');
img.title = lang['OUTDENT'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['outdent'];
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
img.addEventListener('click', foo=function(){execCmdNote('outdent');}, false);
td.appendChild(img);
//html tool
var img = dom.cn('img');
img.title = 'html';
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['html'];
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
img.addEventListener('click', foo=function(){execCmdNote('inserthtml');}, false);
td.appendChild(img);
//remove format tool
var img = dom.cn('img');
img.title = lang['UNFORMAT'];
img.style.cssFloat = 'left';
img.style.width = '21px';
img.style.height = '21px';
img.style.cursor = 'pointer';
img.src = 'data:image/gif;base64,'+image['unformat'];
img.addEventListener('mouseover', foo=function(){this.style.backgroundColor = '#F5F5F5';}, false);
img.addEventListener('mouseout', foo=function(){this.style.backgroundColor = 'lightgray';}, false);
img.addEventListener('click', foo=function(){execCmdNote('removeformat');}, false);
td.appendChild(img);
//text color tool
var colors = ['black','darkslategrey','grey','maroon','red','deeppink','purple','violet','darkblue','blue','aqua','skyblue','teal','green','lime','springgreen','olive','orange','yellow','darkgoldenrod'];
var select = dom.cn('select');
select.title = lang['COLOR_TXT'];
select.style.cssFloat = 'left';
select.style.backgroundColor = 'black';
select.style.width = '40px';
select.style.height = '17px';
select.style.marginTop = '2px';
for (var i=0; i<colors.length; i++) {
var option = dom.cn('option');
option.style.backgroundColor = colors[i];
option.value = colors[i];
option.title = colors[i];
select.appendChild(option);
}
select.addEventListener('change', bar=function(){execCmdNote('forecolor',this.options[this.selectedIndex].value);}, false);
td.appendChild(select);
//background color tool
var colors = ['black','darkslategrey','grey','maroon','red','deeppink','purple','violet','darkblue','blue','aqua','skyblue','teal','green','lime','springgreen','olive','orange','yellow','darkgoldenrod'];
var select = dom.cn('select');
select.title = lang['COLOR_BGR'];
//select.style.cssFloat = 'left';
select.style.backgroundColor = 'white';
select.style.width = '40px';
select.style.height = '17px';
select.style.marginTop = '2px';
select.style.marginLeft = '4px';
for (var i=0; i<colors.length; i++) {
var option = dom.cn('option');
option.style.backgroundColor = colors[i];
option.value = colors[i];
option.title = colors[i];
select.appendChild(option);
}
select.addEventListener('change', bar=function(){execCmdNote('hilitecolor',this.options[this.selectedIndex].value);}, false);
td.appendChild(select);
//font family tool
var fonts = ['Font', 'Arial', 'Comic Sans MS', 'Courier', 'Georgia', 'Times New Roman', 'Verdana'];
var select = dom.cn('select');
select.title = lang['FONT_TYPE'];
select.style.cssFloat = 'left';
select.style.width = '100px';
select.style.height = '19px';
select.style.marginTop = '2px';
select.style.marginLeft = '4px';
for (var i=0; i<fonts.length; i++) {
var option = dom.cn('option', fonts[i]);
option.value = fonts[i];
option.style.fontFamily = fonts[i];
select.appendChild(option);
}
select.addEventListener('change', bar=function(){execCmdNote('fontname',this.options[this.selectedIndex].value);}, false);
td.appendChild(select);
//font size tool
var size = ['Size', '1', '2', '3', '4', '5', '6', '7'];
var select = dom.cn('select');
select.title = lang['FONT_SIZE'];
select.style.cssFloat = 'left';
select.style.width = '50px';
select.style.height = '19px';
select.style.marginTop = '2px';
select.style.marginLeft = '4px';
for (var i=0; i<size.length; i++) {
var option = dom.cn('option', size[i]);
option.value = size[i];
switch (i) {
case 1: option.style.fontSize = '8pt'; break;
case 2: option.style.fontSize = '10pt'; break;
case 3: option.style.fontSize = '12pt'; break;
case 4: option.style.fontSize = '14pt'; break;
case 5: option.style.fontSize = '18pt'; break;
case 6: option.style.fontSize = '24pt'; break;
case 7: option.style.fontSize = '36pt'; break;
}
select.appendChild(option);
}
select.addEventListener('change', bar=function(){execCmdNote('fontsize',this.options[this.selectedIndex].value);}, false);
td.appendChild(select);
//saving message
var span = dom.cn('span', 'saving...');
span.id = 'spanSaving';
span.style.color = '#000000';
span.style.cssFloat = 'right';
span.style.backgroundColor = '#FAD163';
span.style.padding = '0px 4px 2px 4px';
span.style.margin = '4px 2px 0px 4px';
span.style.fontSize = '8pt';
span.style.display = 'none';
td.appendChild(span);
//append
tr.appendChild(td);
table.appendChild(tr);
//note body
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
var iframe = dom.cn('iframe');
iframe.id = 'noteIframe';
iframe.style.width = '338px';
iframe.style.height = '200px';
iframe.style.border = '1px solid #71D000';
iframe.style.backgroundColor = '#FFF';
td.appendChild(iframe);
tr.appendChild(td);
table.appendChild(tr);
//append
innerDiv.appendChild(table);
//get note data from store
var noteTxt = getNote(villageId);
//add note to iframe
var iframeDoc = dom.id('noteIframe');
iframeDoc.contentDocument.open();
iframeDoc.contentDocument.write(noteTxt);
iframeDoc.contentDocument.close();
//set key shortcuts
iframeDoc.contentDocument.addEventListener("keypress", rteHandler, false);
//start editing mode
// iframeDoc.contentDocument.designMode = 'on';
// iframeDoc.contentWindow.focus();
}
//from http://forums.delphiforums.com/GoFirefox
function rteHandler(event) {
if (event.type == "keypress" && event.ctrlKey) {
var sel = null;
var range = null;
var key = String.fromCharCode(event.charCode).toLowerCase();
var cmd = null;
var value = null;
switch (key) {
// simple key commands follow
case 'a': cmd = "selectall"; break;
case 'b': cmd = "bold"; break;
case 'i': cmd = "italic"; break;
case 'u': cmd = "underline"; break;
case 's': cmd = "strikethrough"; break;
case 'z': cmd = "undo"; break;
case 'y': cmd = "redo"; break;
case 'v': cmd = "paste"; break;
}
if (cmd) {
// execute simple command
this.execCommand(cmd, false, value);
event.preventDefault();
event.stopPropagation();
}
}
}
//execute command in editor
function execCmdNote(cmd, value)
{
var iframeDoc = dom.id('noteIframe');
if (iframeDoc.contentDocument.designMode != 'on') {
alert(lang['START_EDITING']);
} else {
if (cmd == 'insertimage') {
var myLink = prompt('URL:', 'http://');
if (myLink != null) {
iframeDoc.contentWindow.document.execCommand(cmd, false, myLink);
}
} else if (cmd == 'inserthtml') {
var myHTML = prompt('HTML:');
if (myHTML != null) {
iframeDoc.contentWindow.document.execCommand(cmd, false, myHTML);
}
} else {
if (value == 'Font' || value == 'Size') return;
iframeDoc.contentWindow.document.execCommand(cmd, false, value);
}
//set focus
iframeDoc.contentWindow.focus();
}
}
//create show note event
function makeEventShowNote(villageNote, villageId, villageName)
{
var img = dom.cn('img');
img.id = villageId;
img.name = villageName;
img.style.width = '16px';
img.style.height = '16px';
img.style.paddingTop = '1px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['note'];
img.addEventListener('mouseover', foo1=function(ev){mymousePos=mouseCoords(ev);}, false);
img.addEventListener('click', foo2=function(){displayNoteEditor(this.id, this.name);}, false);
if (villageNote == '' || villageNote=='<br>' || villageNote=='<br/>') {
img.style.opacity = '0.3';
img.title = lang['ADD']+' '+lang['NOTE'].toLowerCase();
} else {
img.style.opacity = '1';
var hidePopups = getHidePopups();
if (hidePopups==false) {
img.addEventListener('mouseover', bar1=function(){displayNotePopup(this.id, this.name);}, false);
img.addEventListener('mouseout', bar2=function(){hideNotePopup();}, false);
} else {
img.title = removeHTMLTags(villageNote);
}
}
return img;
}
//get hidePopups value from store
function getHidePopups()
{
var hidePopups = GM_getValue('hidepopups_'+suffix);
if (!hidePopups) {
hidePopups = false; //default value
GM_setValue('hidepopups_'+suffix, hidePopups);
}
return hidePopups;
}
//get village note
function getNote(id)
{
var villageList = new Array();
villageList = GM_getValue('villages_'+suffix, '').split('_@_');
for (i=1; i<=villageList.length-1; i++)
{
villageList[i] = villageList[i].split('||');
villageId = villageList[i][1];
if (villageId == id) {
var villageNote = villageList[i][11];
if (!villageNote||villageNote=='') villageNote = '';
}
}
return villageNote;
}
//set village note
function saveNote(villageId)
{
var iframeDoc = dom.id('noteIframe');
if (iframeDoc.contentDocument.designMode != 'on') {
alert(lang['START_EDITING']);
} else {
//show saving message
dom.id('spanSaving').style.display = '';
setTimeout( "document.getElementById('spanSaving').style.display = 'none'", 1500);
//stop editing
iframeDoc.contentDocument.designMode = 'off';
//save into store
var noteTxt = iframeDoc.contentDocument.body.innerHTML;
noteTxt = transformGeneric_replaceAllCoordsByLink(noteTxt);
noteTxt = cleanStr(noteTxt);
updateNote(noteTxt, villageId);
//enable edit button
dom.id('startStopEditing').style.opacity = '1';
//refresh
reloadVillageList();
//iframeDoc.contentWindow.focus();
}
}
//create web link
function addNoteLink()
{
var iframeDoc = dom.id('noteIframe');
if (iframeDoc.contentDocument.designMode != 'on') {
alert(lang['START_EDITING']);
} else {
var url = prompt('URL', 'http://');
if (!url.match('(^(http|https|ftp|ftps)://)')) {
url = 'http://'+url;
}
var sel = iframeDoc.contentWindow.getSelection();
if (sel.toString().length > 0) {
iframeDoc.contentWindow.document.execCommand('inserthtml', false, '<a href="' + url + '" target="_blank">' + sel + '</a>');
} else {
iframeDoc.contentWindow.document.execCommand('inserthtml', false, '<a href="' + url + '" target="_blank">' + url + '</a>');
}
iframeDoc.contentWindow.focus();
}
}
//delete village note
function delNote(villageId)
{
var iframeDoc = dom.id('noteIframe');
if (iframeDoc.contentDocument.designMode != 'on') {
alert(lang['START_EDITING']);
} else {
iframeDoc.contentDocument.open();
iframeDoc.contentDocument.write('');
iframeDoc.contentDocument.close();
editableNote();
}
}
//replace functions (mod from QP)
function transformGeneric_replaceUriByLink(str) {
var res = str.replace(/\w+:\/\/[^\s<]+/g, replaceUriByLink);
return res;
}
function replaceUriByLink(match)
{
return '<a href="' + match + '" target="_blank">' + match + '</a>';
}
function transformGeneric_replaceAllCoordsByLink(str) {
var res = str.replace(/-?\d+\|-?\d+/g, replaceCoordsByLink);
return res;
}
function replaceCoordsByLink(match) {
var arrMatch = match.split("|", 2);
var coord = coordsXYToZ(parseInt(arrMatch[0]), parseInt(arrMatch[1]));
return '<a href="karte.php?z=' + coord + '" target="_blank">' + match + '</a>';
}
function coordsXYToZ(x, y) {
var coordZ = (x + 401) + ((400 - y) * 801);
return coordZ;
}
//set village note as editable
function editableNote()
{
var iframeDoc = dom.id('noteIframe');
iframeDoc.contentDocument.designMode = 'on';
iframeDoc.contentWindow.focus();
//gray-out edit button
dom.id('startStopEditing').style.opacity = '0.3';
}
//set village note as uneditable
function uneditableNote()
{
var iframeDoc = dom.id('noteIframe');
iframeDoc.contentDocument.designMode = 'off';
iframeDoc.contentWindow.focus();
}
//update village note in firefox store
function updateNote(newNote, id)
{
var villageListAfter = '';
var villageListBefore = new Array();
villageListBefore = GM_getValue('villages_'+suffix, '').split('_@_');
villageListBefore.sort();
for (i=1; i<=villageListBefore.length-1; i++)
{
villageListBefore[i] = villageListBefore[i].split('||');
var villageName = villageListBefore[i][0];
var villageId = villageListBefore[i][1];
var villageCoords = villageListBefore[i][2];
var playerName = villageListBefore[i][3];
var playerId = villageListBefore[i][4];
var allyName = villageListBefore[i][5];
var allyId = villageListBefore[i][6];
var cValue = villageListBefore[i][7];
var playerTribe = villageListBefore[i][8];
var villageType = villageListBefore[i][9];
var villageTag = villageListBefore[i][10];
var villageNote = villageListBefore[i][11];
if (villageId != id) {
villageListAfter = villageListAfter+'_@_'+villageName+'||'+villageId+'||'+villageCoords+'||'+playerName+'||'+playerId+'||'+allyName+'||'+allyId+'||'+cValue+'||'+playerTribe+'||'+villageType+'||'+villageTag+'||'+villageNote;
} else {
villageListAfter = villageListAfter+'_@_'+villageName+'||'+villageId+'||'+villageCoords+'||'+playerName+'||'+playerId+'||'+allyName+'||'+allyId+'||'+cValue+'||'+playerTribe+'||'+villageType+'||'+villageTag+'||'+newNote;
}
}
GM_setValue('villages_'+suffix, villageListAfter);
}
//hide note popup
function hideNotePopup()
{
var noteDiv = dom.id('noteDivPopup');
if (noteDiv) {
noteDiv.parentNode.removeChild(noteDiv);
}
}
//hide note
function hideNote()
{
var noteDiv = dom.id('noteDiv');
if (noteDiv) {
noteDiv.parentNode.removeChild(noteDiv);
}
}
//create table footer
function createTableFooter(listTable)
{
//get columns visibility and width arrays
var colsVis = getColsVisibility();
var colsWidth = getColsWidth();
//create tfoot element
var tableFoot = dom.cn('tfoot');
tableFoot.style.backgroundColor = '#F5F5F5';
tableFoot.style.color = '#5C5C5C';
//CREATE FILTER+SHOW/HIDE OPTIONS ROW
var tfootRow = dom.cn('tr');
tfootRow.id = 'VMfilter_'+suffix;
var tfootCell = dom.cn('td');
tfootCell.style.border = '0px none';
tfootCell.setAttribute('colspan', colsNumber);
tfootCell.style.textAlign = 'left';
tfootCell.setAttribute('align', 'left');
tfootCell.style.fontSize = '8pt';
tfootCell.style.borderBottom = '1px solid #C0C0C0';
//create show/hide options div
var optionsDiv = dom.cn('div');
optionsDiv.id = 'VMoptionsDiv';
optionsDiv.style.height = '18px';
optionsDiv.style.width = '20px';
optionsDiv.style.cssFloat = 'right';
optionsDiv.style.backgroundColor = '#F5F5F5';
tfootCell.appendChild(optionsDiv);
//filter list by tags
var filterDiv = dom.cn('div', lang['FILTER']+': ');
filterDiv.style.cssFloat = 'left';
filterDiv.style.marginLeft = '2px';
filterDiv.style.paddingTop = '5px';
filterDiv.style.cursor = 'default';
tfootCell.appendChild(filterDiv);
//get tags from store
var tagsList = GM_getValue('tags_'+suffix);
if (!tagsList) {
restoreDefaultTags();
tagsList = GM_getValue('tags_'+suffix);
}
tagsList = tagsList.split(',');
//get current filtering tag
var filterByTag = GM_getValue('tagfilter_'+suffix);
//create select field
var select = dom.cn('select');
select.style.border = '1px solid #71D000';
select.style.color = '#71D000';
select.style.width = '120px';
select.style.margin = '2px';
for (var i=0; i<tagsList.length; i++) {
var option = dom.cn('option', tagsList[i]);
option.style.color = '#71D000';
option.value = tagsList[i];
select.appendChild(option);
if (tagsList[i]==filterByTag) select.selectedIndex = i;
}
select.addEventListener('change', bar=function(){ changeFilterTag(this.options[this.selectedIndex].value);}, false);
tfootCell.appendChild(select);
//append first row
tfootRow.appendChild(tfootCell);
tableFoot.appendChild(tfootRow);
//CREATE OPTIONS ROW
var tfootRow = dom.cn('tr');
tfootRow.id = 'VMoptions_'+suffix;
var tfootCell = dom.cn('td');
tfootCell.style.border = '0px none';
tfootCell.setAttribute('colspan', colsNumber);
tfootCell.style.textAlign = 'left';
tfootCell.setAttribute('align', 'left');
tfootCell.style.fontSize = '8pt';
//create TAGS section
var fieldset = dom.cn('fieldset');
fieldset.style.MozBorderRadius = '10px';
fieldset.style.border = '1px solid #C0C0C0';
fieldsetlegend = dom.cn('legend', lang['TAG']);
fieldsetlegend.style.cursor = 'default';
fieldset.appendChild(fieldsetlegend);
//tags label | X
for (var i=1; i<tagsList.length; i++) {
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.border = '1px solid #71D000';
div.style.backgroundColor = '#71D000';
div.style.MozBorderRadius = '4px';
div.style.marginTop = '3px';
div.style.marginRight = '3px';
div.style.marginBottom = '3px';
div.style.paddingBottom = '1px';
var span = dom.cn('span', tagsList[i]);
span.id = tagsList[i];
span.title = lang['FILTER']+' '+lang['TAG'].toLowerCase()+' "'+tagsList[i]+'"';
span.style.color = '#FFF';
span.style.display = 'inline';
span.style.margin = '4px';
span.style.cursor = 'pointer';
span.addEventListener('click', bar=function(){changeFilterTag(this.id);}, false);
div.appendChild(span);
var span = dom.cn('span', '|');
span.style.color = '#FFF';
span.style.display = 'inline';
span.style.cursor = 'default';
div.appendChild(span);
var span = dom.cn('span', 'X');
span.style.color = '#FFF';
span.style.display = 'inline';
span.style.margin = '4px';
span.style.cursor = 'pointer';
span.title = lang['DELETE']+' '+lang['TAG'].toLowerCase()+' "'+tagsList[i]+'"';
span.id = tagsList[i];
span.addEventListener('mouseover', foo1=function(){this.style.color = 'red';}, false);
span.addEventListener('mouseout', foo2=function(){this.style.color = '#FFF';}, false);
span.addEventListener('click', bar=function(){delTag(this.id);}, false);
div.appendChild(span);
fieldset.appendChild(div);
}
//add new tags
var table = dom.cn('table');
table.style.cssFloat = 'left';
table.style.clear = 'both';
table.setAttribute('cellspacing', '0');
table.setAttribute('cellpadding', '0');
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.textAlign = 'left';
td.style.width = '10%';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.setAttribute('size', '15');
textbox.setAttribute('maxlength', '25');
textbox.id = 'newTag_'+suffix;
textbox.value = '';
textbox.addEventListener('keypress', foo=function(e){if(e.keyCode==13||e.which==13)makeEventSaveTag();}, false);
td.appendChild(textbox);
tr.appendChild(td);
var td = dom.cn('td');
td.style.border = '0px none';
td.style.textAlign = 'left';
//save
var img = document.createElement('img');
img.title = lang['SAVE'];
img.style.width = '14px';
img.style.height = '14px';
img.style.paddingTop = '3px';
img.style.paddingLeft = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['save'];
img.addEventListener('click', bar=function(){makeEventSaveTag();}, false);
td.appendChild(img);
tr.appendChild(td);
table.appendChild(tr);
fieldset.appendChild(table);
//append fieldset
tfootCell.appendChild(fieldset);
//create SETTING PROFILES section
//get settings from store
var settingsList = GM_getValue('settings_'+suffix, '');
if (!settingsList) {
settingsList = defaultSettings; //default value
GM_setValue('settings_'+suffix, settingsList);
}
settingsList = settingsList.split('_@_');
var fieldset = dom.cn('fieldset');
fieldset.style.MozBorderRadius = '10px';
fieldset.style.border = '1px solid #C0C0C0';
fieldsetlegend = dom.cn('legend', lang['SETTING_PROFILES']);
fieldsetlegend.style.cursor = 'default';
fieldset.appendChild(fieldsetlegend);
//profiles label | X
for (var i=1; i<settingsList.length; i++) {
settingsList[i] = settingsList[i].split('||');
var profileName = settingsList[i][0];
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.border = '1px solid #71D000';
div.style.color = '#71D000';
div.style.backgroundColor = '#FFF';
div.style.MozBorderRadius = '4px';
div.style.marginTop = '3px';
div.style.marginRight = '3px';
div.style.marginBottom = '3px';
div.style.paddingBottom = '1px';
var span = dom.cn('span', profileName);
span.id = profileName;
span.style.color = '#71D000';
span.style.display = 'inline';
span.style.margin = '4px';
span.style.cursor = 'pointer';
span.addEventListener('click', bar=function(){ loadSettingProfile(this.id);reloadVillageList(); }, false);
div.appendChild(span);
var span = dom.cn('span', '|');
span.style.color = '#71D000';
span.style.display = 'inline';
span.style.cursor = 'default';
div.appendChild(span);
var span = dom.cn('span', 'X');
span.style.color = '#71D000';
span.style.display = 'inline';
span.style.margin = '4px';
span.style.cursor = 'pointer';
span.title = lang['DELETE']+' "'+profileName+'"';
span.id = profileName;
span.addEventListener('mouseover', foo1=function(){this.style.color = 'red';}, false);
span.addEventListener('mouseout', foo2=function(){this.style.color = '#71D000';}, false);
span.addEventListener('click', bar=function(){ delProfile(this.id); }, false);
div.appendChild(span);
fieldset.appendChild(div);
}
//add new profiles
var table = dom.cn('table');
table.style.cssFloat = 'left';
table.style.clear = 'both';
table.setAttribute('cellspacing', '0');
table.setAttribute('cellpadding', '0');
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.textAlign = 'left';
td.style.width = '10%';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.setAttribute('size', '15');
textbox.setAttribute('maxlength', '25');
textbox.id = 'newProfile_'+suffix;
textbox.value = '';
textbox.addEventListener('keypress', foo=function(e){if(e.keyCode==13||e.which==13) makeEventSaveSettingProfile();}, false);
td.appendChild(textbox);
tr.appendChild(td);
var td = dom.cn('td');
td.style.border = '0px none';
td.style.textAlign = 'left';
//save
var img = document.createElement('img');
img.title = lang['SAVE'];
img.style.width = '14px';
img.style.height = '14px';
img.style.paddingTop = '3px';
img.style.paddingLeft = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['save'];
img.addEventListener('click', bar=function(){ makeEventSaveSettingProfile() }, false);
td.appendChild(img);
tr.appendChild(td);
table.appendChild(tr);
//get linked tags value from store
var linkedTags = GM_getValue('linkedTags_'+suffix);
if (!linkedTags) {
restoreDefaultLinkedTags();
}
//link with tags
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.setAttribute('colspan', '2');
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
div.style.cursor = 'default';
var input = dom.cn('input');
input.type = 'checkbox';
input.checked = linkedTags;
input.addEventListener('click', foo=function(){ GM_setValue('linkedTags_'+suffix, this.checked);reloadVillageList(); }, false);
div.appendChild(input);
var textnode = dom.ct( lang['LINK_TAGS'] );
div.appendChild(textnode);
td.appendChild(div);
tr.appendChild(td);
table.appendChild(tr);
fieldset.appendChild(table);
//append fieldset
tfootCell.appendChild(fieldset);
//create COLUMNS VISIBILITY section
var fieldset = dom.cn('fieldset');
fieldset.style.MozBorderRadius = '10px';
fieldset.style.border = '1px solid #C0C0C0';
fieldsetlegend = dom.cn('legend', lang['SHOW']+'/'+lang['HIDE']+' '+lang['COLUMNS']);
fieldsetlegend.style.cursor = 'default';
fieldset.appendChild(fieldsetlegend);
//create visibility checkboxes
for (var i=0; i<colsVis.length; i++) {
switch(i) {
//case 0: //delete
//break;
//case 1: //village
//break;
case 2: //player
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['PLAYER'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 3: //ally
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['ALLY'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 4: //tag
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['TAG'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 5: //distance
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['DISTANCE'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 6: //village type
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['VILLAGE_TYPE'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 7: //tribe
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['TRIBE'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 8: //send troops
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['SEND_TROOPS'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 9: //send resources
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['SEND_RESOURCES'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 10: //notes
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
if (colsVis[i] == 'none') div.appendChild( makeEventShowCol(i) );
else div.appendChild( makeEventHideCol(i) );
var textnode = dom.ct( lang['NOTE'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
}
}
//append fieldset
tfootCell.appendChild(fieldset);
//create COLUMNS WIDTH section
var fieldset = dom.cn('fieldset');
fieldset.style.MozBorderRadius = '10px';
fieldset.style.border = '1px solid #C0C0C0';
fieldsetlegend = dom.cn('legend', lang['WIDTH']+' '+lang['COLUMNS']);
fieldsetlegend.style.cursor = 'default';
fieldset.appendChild(fieldsetlegend);
//create width textboxes
for (var i=0; i<colsWidth.length; i++) {
switch(i) {
//case 0: //delete
//break;
case 1: //village
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.size = '2';
textbox.maxlength = '4';
textbox.id = 'village_'+suffix;
textbox.value = colsWidth[1];
textbox.style.margin = '2px';
textbox.addEventListener('change', bar=function(){makeEventSaveColsWidth();}, false);
div.appendChild(textbox);
var textnode = dom.ct( lang['VILLAGE'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 2: //player
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.size = '2';
textbox.maxlength = '4';
textbox.id = 'player_'+suffix;
textbox.value = colsWidth[2];
textbox.style.margin = '2px';
textbox.addEventListener('change', bar=function(){makeEventSaveColsWidth();}, false);
div.appendChild(textbox);
var textnode = dom.ct( lang['PLAYER'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 3: //ally
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.size = '2';
textbox.maxlength = '4';
textbox.id = 'ally_'+suffix;
textbox.value = colsWidth[3];
textbox.style.margin = '2px';
textbox.addEventListener('change', bar=function(){makeEventSaveColsWidth();}, false);
div.appendChild(textbox);
var textnode = dom.ct( lang['ALLY'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 4: //tag
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.size = '2';
textbox.maxlength = '4';
textbox.id = 'tag_'+suffix;
textbox.value = colsWidth[4];
textbox.style.margin = '2px';
textbox.addEventListener('change', bar=function(){makeEventSaveColsWidth();}, false);
div.appendChild(textbox);
var textnode = dom.ct( lang['TAG'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
case 5: //distance
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
var textbox = dom.cn('input');
textbox.type = 'text';
textbox.size = '2';
textbox.maxlength = '4';
textbox.id = 'distance_'+suffix;
textbox.value = colsWidth[5];
textbox.style.margin = '2px';
textbox.addEventListener('change', bar=function(){makeEventSaveColsWidth();}, false);
div.appendChild(textbox);
var textnode = dom.ct( lang['DISTANCE'] );
div.appendChild(textnode);
div.style.cursor = 'default';
fieldset.appendChild(div);
break;
// case 6: //village type
// break;
// case 7: //tribe
// break;
// case 8: //send troops
// break;
// case 9: //send resources
// break;
// case 10: //notes
// break;
}
}
tfootCell.appendChild(fieldset);
//create TIME OF TRAVEL section
//get player's tribe from store
var playerTribe = GM_getValue('tribe_'+suffix);
if (!playerTribe) {
restoreDefaultTribe();
}
//create fieldset
var fieldset = dom.cn('fieldset');
fieldset.style.MozBorderRadius = '10px';
fieldset.style.border = '1px solid #C0C0C0';
fieldsetlegend = dom.cn('legend', lang['TOT']);
fieldsetlegend.style.cursor = 'default';
fieldset.appendChild(fieldsetlegend);
//gauls
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.paddingBottom = '5px';
var radio = dom.cn('input');
radio.type = 'radio';
radio.name = 'radioTribe';
if (playerTribe == 'gauls') radio.checked = 'checked';
else radio.checked = ''
radio.addEventListener('click', bar=function(){GM_setValue('tribe_'+suffix, 'gauls');reloadVillageList();}, false);
var label = dom.cn('label');
label.style.display = 'inline';
label.style.cssFloat = 'none';
label.style.padding = '0px';
var textnode = dom.ct( lang['GAULS'] );
label.appendChild(radio);
label.appendChild(textnode);
div.appendChild(label);
fieldset.appendChild(div);
//romans
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.paddingBottom = '5px';
var radio = dom.cn('input');
radio.type = 'radio';
radio.name = 'radioTribe';
if (playerTribe == 'romans') radio.checked = 'checked';
else radio.checked = ''
radio.addEventListener('click', bar=function(){GM_setValue('tribe_'+suffix, 'romans');reloadVillageList();}, false);
var label = dom.cn('label');
label.style.display = 'inline';
label.style.cssFloat = 'none';
label.style.padding = '0px';
var textnode = dom.ct( lang['ROMANS'] );
label.appendChild(radio);
label.appendChild(textnode);
div.appendChild(label);
fieldset.appendChild(div);
//teutons
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.paddingBottom = '5px';
var radio = dom.cn('input');
radio.type = 'radio';
radio.name = 'radioTribe';
if (playerTribe == 'teutons') radio.checked = 'checked';
else radio.checked = ''
radio.addEventListener('click', bar=function(){GM_setValue('tribe_'+suffix, 'teutons');reloadVillageList();}, false);
var label = dom.cn('label');
label.style.display = 'inline';
label.style.cssFloat = 'none';
label.style.padding = '0px';
var textnode = dom.ct( lang['TEUTONS'] );
label.appendChild(radio);
label.appendChild(textnode);
div.appendChild(label);
fieldset.appendChild(div);
//get tournament square level from store
var tournamentLevel = GM_getValue('tournament_'+suffix);
if (!tournamentLevel) {
restoreDefaultArena();
}
//create select field
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '150px';
div.style.paddingBottom = '5px';
var select = dom.cn('select');
select.style.marginLeft = '5px';
select.style.paddingLeft = '5px';
for (i=0; i<=20; i++) {
var option = dom.cn('option', String(i));
option.value = i;
select.appendChild(option);
}
select.selectedIndex = tournamentLevel;
select.addEventListener('change', bar=function(){GM_setValue('tournament_'+suffix, this.options[this.selectedIndex].value);reloadVillageList();}, false);
div.appendChild(select);
var span = dom.cn('span', lang['TOURNAMENT']);
span.style.paddingLeft = '5px';
span.style.cursor = 'default';
div.appendChild(span);
fieldset.appendChild(div);
//get speed value from store
var speed = GM_getValue('speed_'+suffix);
if (!speed) {
restoreDefaultSpeedServer();
}
//create speed option
var div = dom.cn('div');
div.style.cssFloat = 'left';
div.style.width = '120px';
div.style.paddingLeft = '1px';
var input = dom.cn('input');
input.type = 'checkbox';
input.checked = speed;
input.addEventListener('click', foo=function(){GM_setValue('speed_'+suffix, this.checked);reloadVillageList();}, false);
div.appendChild(input);
var span = dom.cn('span', lang['SPEED']);
span.style.paddingLeft = '5px';
span.style.cursor = 'default';
div.appendChild(span);
fieldset.appendChild(div);
//append fieldset
tfootCell.appendChild(fieldset);
//create OTHER OPTIONS section
var fieldset = dom.cn('fieldset');
fieldset.style.MozBorderRadius = '10px';
fieldset.style.border = '1px solid #C0C0C0';
fieldsetlegend = dom.cn('legend', lang['OTHER_OPTIONS']);
fieldsetlegend.style.cursor = 'default';
fieldset.appendChild(fieldsetlegend);
//delete all villages
var opt = dom.cn('a', '\u00BB ' + lang['DELETE_ALL']);
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo1=function(){delAllVillages();this.blur();}, false);
fieldset.appendChild(opt);
fieldset.appendChild(dom.cn('br'));
//restore defaults
var opt = dom.cn('a', '\u00BB ' + lang['RESTORE']);
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo2=function(){restoreDefaults();reloadVillageList();}, false);
fieldset.appendChild(opt);
fieldset.appendChild(dom.cn('br'));
//check for updates
var opt = dom.cn('a', '\u00BB ' + lang['UPDATE_CHECK']);
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo3=function(){updateScript(SCRIPT);this.blur();}, false);
fieldset.appendChild(opt);
fieldset.appendChild(dom.cn('br'));
//hide/show popups
var hidePopups = GM_getValue('hidepopups_'+suffix);
if (!hidePopups) {
hidePopups = false; //default value
GM_setValue('hidepopups_'+suffix, hidePopups);
}
if (hidePopups==false) {
var opt = dom.cn('a', '\u00BB '+lang['HIDE']+' '+lang['POPUPS'].toLowerCase());
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo4=function(){GM_setValue('hidepopups_'+suffix, true);reloadVillageList();}, false);
} else {
var opt = dom.cn('a', '\u00BB '+lang['SHOW']+' '+lang['POPUPS'].toLowerCase());
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo5=function(){GM_setValue('hidepopups_'+suffix, false);reloadVillageList();}, false);
}
fieldset.appendChild(opt);
fieldset.appendChild(dom.cn('br'));
//import/export list data
var opt = dom.cn('a', '\u00BB ' + lang['IE_DATA']);
opt.href = 'javascript:void(0)';
opt.addEventListener('click', foo3 = function(){showImportExportTable();this.blur();}, false);
fieldset.appendChild(opt);
fieldset.appendChild(dom.cn('br'));
//create hidden textarea
var table = dom.cn('table');
table.id = 'importExportTable';
table.width = '100%';
table.style.display = 'none';
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
var textArea = dom.cn('textarea', GM_getValue('villages_'+suffix));
textArea.id = 'txtArea';
textArea.setAttribute('cols', '999');
textArea.setAttribute('rows', '8');
textArea.style.width = '100%';
textArea.style.color = '#C0C0C0';
textArea.style.border = '1px solid #71D000';
textArea.addEventListener('keydown', foo4 = function(){resize_textarea(this);}, false);
textArea.addEventListener('keyup', foo5 = function(){resize_textarea(this);}, false);
textArea.addEventListener('change', foo6 = function(){resize_textarea(this);}, false);
td.appendChild(textArea);
tr.appendChild(td);
var td = dom.cn('td');
td.style.border = '0px none';
//save
var img = document.createElement('img');
img.title = lang['SAVE'];
img.style.width = '14px';
img.style.height = '14px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['save'];
img.addEventListener('click', bar2=function(){setListData();}, false);
td.appendChild(img);
//append
var img = document.createElement('img');
img.title = lang['APPEND'];
img.style.width = '14px';
img.style.height = '14px';
img.style.paddingTop = '5px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['append'];
img.addEventListener('click', bar2=function(){appendListData();}, false);
td.appendChild(img);
tr.appendChild(td);
table.appendChild(tr);
fieldset.appendChild(table);
//append fieldset
tfootCell.appendChild(fieldset);
//append row
tfootRow.appendChild(tfootCell);
tableFoot.appendChild(tfootRow);
return tableFoot;
}
//show import/export textarea
function showImportExportTable()
{
var ieTable = dom.id('importExportTable');
if (ieTable.style.display == 'none') {
ieTable.style.display = '';
var txtArea = dom.id('txtArea');
resize_textarea(txtArea);
txtArea.focus();
txtArea.select();
} else {
ieTable.style.display = 'none';
}
}
//resize import/export textarea automatically
function resize_textarea(txtBox)
{
nCols = txtBox.cols;
sVal = txtBox.value;
nVal = sVal.length;
nRowCnt = 1;
for (var i=0; i<nVal; i++) {
if (sVal.charAt(i).charCodeAt(0) == 10) {
nRowCnt += 1;
}
}
if (nRowCnt < (nVal / nCols)) {
nRowCnt = 1 + (nVal / nCols);
}
if (nRowCnt<5) nRowCnt=5;
txtBox.rows = nRowCnt;
}
//resize listDiv & titleDiv
function resizeList(listTable, listIsMinimized)
{
if (listIsMinimized) {
//get minimum width
var colsWidth = getColsWidth();
var listMinWidth = parseInt(colsWidth[0])+parseInt(colsWidth[1]);
//resize
listTable.parentNode.style.width = (listMinWidth+4)+'px'; //+4px for missing borders
listTable.parentNode.firstChild.style.width = ((listMinWidth-12)+2)+'px'; //-12px minimize icon, +2px for missing borders
} else {
//get current width
var listWidth = getListVisibleWidth();
//resize
listTable.parentNode.style.width = listWidth+'px';
listTable.parentNode.firstChild.style.width = (listWidth-12)+'px'; //-12px minimize icon
}
}
//get list data
function getListData()
{
listDataStr = GM_getValue('villages_'+suffix, '');
//for compatibility with v<1.6
if (listDataStr.indexOf('\n') == 0) {
listDataStr = listDataStr.replace('\n', '_@_', 'g');
GM_setValue('villages_'+suffix, listDataStr);
}
//create array
var listData = new Array();
listData = listDataStr.split('_@_');
//initial sort by village name
listData.sort();
return listData;
}
//retrieve owner id
function getOwnerId()
{
var user = dom.xs('//div[@id="side_navi"]//a[starts-with(@href, "spieler.php?uid=")]');
var id = (user) ? getParamFromUrl(user.href, 'uid') : '';
return id;
}
//retrieve name of the active village
function getActiveVillageName()
{
var z = dom.xs('//a[@class="active_vl"]');
if (!z || z.snapshotLength == 0) return false;
activeVillageName = z.textContent;
activeVillageName = cleanStr(activeVillageName);
return activeVillageName;
}
//retrieve coordinates of your active village
function getActiveVillageCoords()
{
var activeVillageLink = dom.xo('//td[@class="dot hl"]');
if (activeVillageLink.snapshotLength > 0) {
//multi village account
var cox = dom.xo('//td[@class="dot hl"]/../td[3]/div[1]');
var x = parseInt(cox.snapshotItem(0).innerHTML.replace("(", ""));
var coy = dom.xo('//td[@class="dot hl"]/../td[3]/div[3]');
var y = parseInt(coy.snapshotItem(0).innerHTML.replace(")", ""));
activeVillageCoords = x+','+y;
} else {
//single village account
var singleVillageCoords = GM_getValue('singleVillageCoords_'+suffix, '');
if (!singleVillageCoords||singleVillageCoords==''||singleVillageCoords==',') {
//grab coordinates for the first time
getSingleVillageCoords();
} else {
activeVillageCoords = singleVillageCoords;
}
}
}
//retrieve coordinates for single village account
function getSingleVillageCoords()
{
var url = document.URL;
url = url.substring(0, url.lastIndexOf('/')+1);
url = url+'karte.php';
GM_xmlhttpRequest({
method: 'GET',
url: url,
onload: function (responseDetails)
{
if (responseDetails.status != 200) return;
var div = dom.cn('div', responseDetails.responseText);
var ansDoc = document.implementation.createDocument('', '', null);
ansDoc.appendChild(div);
var x = ansDoc.getElementById('x').firstChild.nodeValue;
var y = ansDoc.getElementById('y').firstChild.nodeValue;
var singleVillageCoords = x+','+y;
GM_setValue('singleVillageCoords_'+suffix, singleVillageCoords);
activeVillageCoords = singleVillageCoords;
}
});
}
//retrieve village id
function getVillageId()
{
var html = dom.xs('//div[@id="map_details_actions"]//a[starts-with(@href, "karte.php?z=")]');
if (!html) var html = dom.xs('//table[@id="options"]//a[starts-with(@href, "karte.php?z=")]');
var villageId = (html) ? getParamFromUrl(html.href, 'z') : '';
return villageId;
}
//retrieve village type
function getVillageType()
{
var typeObject = dom.xs('//div[@class="village_map"]//img');
if (typeObject) {
var villageType = typeObject.id;
return villageType;
}
var typeObjectEmptyValley = dom.xs('//div[@class="village_map empty_valley"]//img');
if (typeObjectEmptyValley) {
var villageType = typeObjectEmptyValley.id;
return villageType;
}
var typeObjectNew = dom.xs('//div[@id="content"]//img');
if (typeObjectNew) {
var villageType = typeObjectNew.className;
return villageType;
}
}
//retrieve village c value
function getVillageCvalue()
{
var url = document.location.href;
var cValue = getParamFromUrl(url, 'c');
return cValue;
}
//retrieve village coordinates
function getVillageCoords()
{
var villageNameObject = dom.xs('//div[@id="content"]//h1');
var title = villageNameObject.innerHTML;
title = title.replace(/^[\s( )]+/g,'').replace(/[\s( )]+$/g,'');
var coords = title.substring(title.lastIndexOf('('));
coords = coords.replace(/[\(\)]/g, '').split('|').join(',');
return coords;
}
//retrieve village name
function getVillageName()
{
var villageNameObject = dom.xs('//div[@id="content"]//h1');
if (!villageNameObject.firstChild.hasChildNodes()) {
var title = villageNameObject.innerHTML;
var villageName = title.substring(0, title.lastIndexOf('(')).replace(/^\s+|\s+$/g,'');
} else {
var title = dom.xs('//div[@id="content"]//h1//div');
var villageName = title.innerHTML;
}
villageName = cleanStr(villageName);
villageName = C2E(villageName);
return villageName;
}
//retrieve player's name
function getPlayerName()
{
var user = dom.xs('//div[@id="map_details_info"]//a[starts-with(@href, "spieler.php?uid=")]');
if (!user) var user = dom.xs('//table[@id="village_info"]//a[starts-with(@href, "spieler.php?uid=")]');
var playerName = (user) ? user.innerHTML.replace(/\<\/?b>/gi, '') : '';
playerName = C2E(cleanStr(playerName));
return playerName;
}
//retrieve player's tribe
function getPlayerTribe()
{
var playerTribe = '';
var playerTribeObject = dom.xs('//div[@id="map_details_info"]/table/tbody/tr/td[2]/b');
if (!playerTribeObject) var playerTribeObject = dom.xs('//table[@id="village_info"]/tbody/tr/td');
if (playerTribeObject) {
playerTribe = playerTribeObject.textContent;
}
playerTribe = cleanStr(playerTribe.toLowerCase());
playerTribe = C2E(playerTribe);
return playerTribe;
}
//retrieve player's ID
function getPlayerId()
{
var user = dom.xs('//div[@id="map_details_info"]//a[starts-with(@href, "spieler.php?uid=")]');
if (!user) var user = dom.xs('//table[@id="village_info"]//a[starts-with(@href, "spieler.php?uid=")]');
var playerId = (user) ? getParamFromUrl(user.href, 'uid') : '';
return playerId;
}
//retrieve ally name
function getAllyName()
{
var ally = dom.xs('//div[@id="map_details_info"]//a[starts-with(@href, "allianz.php?aid=")]');
if (!ally) var ally = dom.xs('//table[@id="village_info"]//a[starts-with(@href, "allianz.php?aid=")]');
var allyName = (ally) ? ally.innerHTML.replace(/\<\/?b>/gi, '') : '' ;
allyName = C2E(cleanStr(allyName));
return allyName;
}
//retrieve ally ID
function getAllyId()
{
var ally = dom.xs('//div[@id="map_details_info"]//a[starts-with(@href, "allianz.php?aid=")]');
if (!ally) var ally = dom.xs('//table[@id="village_info"]//a[starts-with(@href, "allianz.php?aid=")]');
var allyId = (ally) ? getParamFromUrl(ally.href, 'aid') : '';
return allyId;
}
//add village to the list
function addToVillageList()
{
var villageName = getVillageName();
var villageId = getVillageId();
var villageCoords = getVillageCoords();
var playerName = getPlayerName();
var playerId = getPlayerId();
var allyName = getAllyName();
var allyId = getAllyId();
var cValue = getVillageCvalue();
var playerTribe = getPlayerTribe();
var villageType = getVillageType();
var villageTag = '';
var villageNote = '';
if (checkVillageId(villageId) == false) {
setVillage(villageName+'||'+villageId+'||'+villageCoords+'||'+playerName+'||'+playerId+'||'+allyName+'||'+allyId+'||'+cValue+'||'+playerTribe+'||'+villageType+'||'+villageTag+'||'+villageNote);
reloadVillageList();
} else {
if (confirm(capFirst(E2C(getVillageName()))+' '+lang['ALREADY_LIST']+'!\n\n'+lang['UPDATE_NOW']+'?\n'))
{
delVillage(villageId);
addToVillageList();
}
}
}
//insert new tag into Firefox preference store
function setTag(newTag)
{
var tagsList = GM_getValue('tags_'+suffix);
tagsList = tagsList+','+newTag;
GM_setValue('tags_'+suffix, tagsList);
}
//insert new setting profile into Firefox preference store
function saveSettingsProfile(profileName)
{
//_@_settingname||tagfilter||colsvis||colswidth||tribe||tournament||speed||hidepopups||sort
var tagfilter = GM_getValue('tagfilter_'+suffix, '');
var colsvis = GM_getValue('colsVis_'+suffix, '');
var colswidth = GM_getValue('colsWidth_'+suffix, '');
var tribe = GM_getValue('tribe_'+suffix, '');
var tournament = GM_getValue('tournament_'+suffix, '');
var speed = GM_getValue('speed_'+suffix, '');
var hidepopups = GM_getValue('hidepopups_'+suffix, '');
var sort = GM_getValue('sort_'+suffix, '');
var newProfile = profileName+'||'+tagfilter+'||'+colsvis+'||'+colswidth+'||'+tribe+'||'+tournament+'||'+speed+'||'+hidepopups+'||'+sort;
var settingsList = GM_getValue('settings_'+suffix, '');
settingsList = settingsList+'_@_'+newProfile;
GM_setValue('settings_'+suffix, settingsList);
}
//load setting profile from Firefox preference store
function loadSettingProfile(profileName)
{
var settingsList = new Array();
settingsList = GM_getValue('settings_'+suffix, '').split('_@_');
for (i=1; i<=settingsList.length-1; i++)
{
settingsList[i] = settingsList[i].split('||');
var settingname = settingsList[i][0];
if (settingname == profileName) {
var tagfilter = settingsList[i][1];
GM_setValue('tagfilter_'+suffix, tagfilter);
var colsvis = settingsList[i][2];
GM_setValue('colsVis_'+suffix, colsvis);
var colswidth = settingsList[i][3];
GM_setValue('colsWidth_'+suffix, colswidth);
var tribe = settingsList[i][4];
GM_setValue('tribe_'+suffix, tribe);
var tournament = settingsList[i][5];
GM_setValue('tournament_'+suffix, tournament);
var speed = settingsList[i][6];
GM_setValue('speed_'+suffix, speed);
var hidepopups = settingsList[i][7];
GM_setValue('hidepopups_'+suffix, hidepopups);
var sort = settingsList[i][8];
GM_setValue('sort_'+suffix, sort);
}
}
}
//insert village into Firefox preference store
function setVillage(data)
{
var villageList = GM_getValue('villages_'+suffix, '');
villageList = villageList+'_@_'+data;
GM_setValue('villages_'+suffix, villageList);
}
//import list data
function setListData()
{
var txtArea = document.getElementById('txtArea');
var data = txtArea.value;
if (confirm('This will overwrite your old data.\n\nProceed?\n'))
{
GM_setValue('villages_'+suffix, data);
reloadVillageList();
}
}
//append list data
function appendListData()
{
var txtArea = document.getElementById('txtArea');
var newData = txtArea.value;
var oldData = GM_getValue('villages_'+suffix, '');
GM_setValue('villages_'+suffix, oldData+newData);
reloadVillageList();
}
//check if village is already in the list
function checkVillageId(id)
{
var villageList = new Array();
villageList = GM_getValue('villages_'+suffix, '').split('_@_');
for (i=1; i<=villageList.length-1; i++)
{
villageList[i] = villageList[i].split('||');
villageId = villageList[i][1];
if (villageId == id) return true;
}
return false;
}
//remove village from list
function delVillage(id)
{
var villageListAfter = '';
var villageListBefore = new Array();
villageListBefore = GM_getValue('villages_'+suffix, '').split('_@_');
villageListBefore.sort();
for (i=1; i<=villageListBefore.length-1; i++)
{
villageListBefore[i] = villageListBefore[i].split('||');
var villageName = villageListBefore[i][0];
var villageId = villageListBefore[i][1];
var villageCoords = villageListBefore[i][2];
var playerName = villageListBefore[i][3];
var playerId = villageListBefore[i][4];
var allyName = villageListBefore[i][5];
var allyId = villageListBefore[i][6];
var cValue = villageListBefore[i][7];
var playerTribe = villageListBefore[i][8];
var villageType = villageListBefore[i][9];
var villageTag = villageListBefore[i][10];
var villageNote = villageListBefore[i][11];
if (villageId != id) {
villageListAfter = villageListAfter+'_@_'+villageName+'||'+villageId+'||'+villageCoords+'||'+playerName+'||'+playerId+'||'+allyName+'||'+allyId+'||'+cValue+'||'+playerTribe+'||'+villageType+'||'+villageTag+'||'+villageNote;
}
}
GM_setValue('villages_'+suffix, villageListAfter);
//if list is empty, restore column visibility to default
var villageList = getListData();
if (villageList == '') {
restoreDefaultVisibility();
}
//refresh list
reloadVillageList();
}
//delete all villages
function delAllVillages()
{
if (confirm(lang['CONFIRM'])) {
//delete
GM_setValue('villages_'+suffix, '');
//list is empty, restore column visibility to default
restoreDefaultVisibility();
//refresh list
reloadVillageList();
}
}
//delete tag
function delTag(tagName)
{
var tagListAfter = '';
var tagListBefore = new Array();
tagListBefore = GM_getValue('tags_'+suffix).split(',');
for (var i=1; i<tagListBefore.length; i++) {
if (tagListBefore[i] != tagName) tagListAfter = tagListAfter+','+tagListBefore[i];
}
GM_setValue('tags_'+suffix, tagListAfter);
//refresh list
reloadVillageList();
}
//delete setting profile
function delProfile(profileToDelete)
{
var profileListAfter = '';
var profileListBefore = new Array();
profileListBefore = GM_getValue('settings_'+suffix).split('_@_');
for (var i=1; i<profileListBefore.length; i++) {
profileListBefore[i] = profileListBefore[i].split('||');
var profileName = profileListBefore[i][0];
if (profileName != profileToDelete)
profileListAfter = profileListAfter+'_@_'+profileListBefore[i][0]+'||'+profileListBefore[i][1]+'||'+profileListBefore[i][2]+'||'+profileListBefore[i][3]+'||'+profileListBefore[i][4]+'||'+profileListBefore[i][5]+'||'+profileListBefore[i][6]+'||'+profileListBefore[i][7]+'||'+profileListBefore[i][8];
}
GM_setValue('settings_'+suffix, profileListAfter);
//refresh list
reloadVillageList();
}
//reload list
function reloadVillageList()
{
var oldList = dom.id('listDiv_'+suffix);
if (oldList) {
oldList.parentNode.removeChild(oldList);
}
createVMList();
}
//restore defaults
function restoreDefaults()
{
if (confirm(lang['CONFIRM'])) {
restoreDefaultVisibility();
restoreDefaultPosition();
restoreDefaultWidth();
restoreDefaultFilterTag();
restoreDefaultTribe();
restoreDefaultArena();
restoreDefaultSpeedServer();
restoreDefaultLinkedTags();
restoreDefaultTags();
hideOptions();
}
}
//restore default visibility values
function restoreDefaultVisibility()
{
GM_setValue('colsVis_'+suffix, colsDefaultVisibility);
}
//restore default position value
function restoreDefaultPosition()
{
GM_setValue('listDiv_'+suffix, listDefaultPosition);
}
//restore default width values
function restoreDefaultWidth()
{
GM_setValue('colsWidth_'+suffix, colsDefaultWidth);
}
//restore default filter tag value
function restoreDefaultFilterTag()
{
GM_setValue('tagfilter_'+suffix, defaultFilterTag);
}
//restore default tribe value
function restoreDefaultTribe()
{
GM_setValue('tribe_'+suffix, defaultPlayerTribe);
}
//restore default arena value
function restoreDefaultArena()
{
GM_setValue('tournament_'+suffix, defaultTournamentLevel);
}
//restore default speed server value
function restoreDefaultSpeedServer()
{
GM_setValue('speed_'+suffix, defaultSpeedServer);
}
//restore default linked tags value
function restoreDefaultLinkedTags()
{
GM_setValue('linkedTags_'+suffix, defaultLinkedTags);
}
//restore default tags value
function restoreDefaultTags()
{
GM_setValue('tags_'+suffix, defaultTags);
}
//restore default sorting value
function restoreDefaultSorting()
{
GM_setValue('sort_'+suffix, defaultSorting);
}
//get list width
function getListVisibleWidth()
{
var colsVis = getColsVisibility();
var colsWidth = getColsWidth();
var listWidth = 0;
for (var i=0; i<colsVis.length; i++) {
if (colsVis[i] != 'none') {
listWidth = listWidth + parseInt(colsWidth[i]) + 2; //+2px cell borders width
}
}
return listWidth;
}
//load columns visibility array
function getColsVisibility()
{
var colsVis = GM_getValue('colsVis_'+suffix, '');
if (!colsVis || colsVis=='' || colsVis.split(',').length<colsNumber) {
restoreDefaultVisibility();
colsVis = GM_getValue('colsVis_'+suffix, '');
}
colsVis = colsVis.split(',');
return colsVis;
}
//load columns width array
function getColsWidth()
{
var colsWidth = GM_getValue('colsWidth_'+suffix, '');
if (!colsWidth || colsWidth=='' || colsWidth.split(',').length<colsNumber) {
restoreDefaultWidth();
colsWidth = GM_getValue('colsWidth_'+suffix, '');
}
colsWidth = colsWidth.split(',');
return colsWidth;
}
//calculate globe distance
function globeDistance(a, b)
{
var dist1 = (a > b) ? Math.abs(a-b) : Math.abs(b-a);
var dist2 = (a > b) ? (Math.abs(400-a)+Math.abs(-400-b)) : (Math.abs(400-b)+Math.abs(-400-a));
var distFinal = (dist1 < dist2) ? dist1 : dist2;
return distFinal;
}
//calculate distance between two villages
function coordDistXYtoXY(x1, y1, x2, y2)
{
var distX = globeDistance(x1, x2);
var distY = globeDistance(y1, y2);
var dist = Math.sqrt((distX*distX) + (distY*distY));
dist = trimNumber(dist, 2);
return dist;
}
//encode characters to HTML safe code (by Alberto Biamino)
function C2E(str)
{
str = str.replace(/&/g, '&');
str = str.replace(/'/g, ''');
str = str.replace(/"/g, '"');
str = str.replace(/\\/g, '\');
var acc = '';
for (var i = 0; i < str.length; i++) {
if (str.charCodeAt(i) > 31 && str.charCodeAt(i) < 127) acc += str.charAt(i)
else acc += '&#' + str.charCodeAt(i) + ';';
}
return acc;
}
//decode HTML safe code to characters (by Alberto Biamino)
function E2C(str)
{
str = str.replace(/(&#[0-9]+;)/g, '\n$1\n');
str = str.replace(/\n\n/g, '\n');
spl = str.split('\n');
for (var i = 0; i < spl.length; i++) {
if (spl[i].charAt(0) == '&') {
spl[i] = spl[i].replace(/&#([0-9]+);/g, '$1');
spl[i] = String.fromCharCode(spl[i]);
}
}
str = spl.join('');
return str;
}
//capitalize first char
function capFirst(str)
{
str = str.substr(0, 1).toUpperCase() + str.substr(1);
return str;
}
//create show options event
function makeEventShowOptions()
{
var img = dom.cn('img');
img.title = lang['SHOW']+' '+lang['OPTIONS'];
img.style.opacity = '0.5';
img.addEventListener('click', foo=function(){showOptions();}, false);
return img;
}
//create hide options event
function makeEventHideOptions()
{
var img = dom.cn('img');
img.title = lang['HIDE']+' '+lang['OPTIONS'];
img.style.opacity = '1.0';
img.addEventListener('click', foo=function(){hideOptions();}, false);
return img;
}
//hide options
function hideOptions()
{
GM_setValue('options_'+suffix, false);
reloadVillageList();
}
//show options
function showOptions()
{
GM_setValue('options_'+suffix, true);
reloadVillageList();
}
//create minimize event
function makeEventMinimize(titleDiv)
{
var img = dom.cn('img');
img.title = lang['MINIMIZE'];
img.style.width = '12px';
img.style.height = '12px';
img.style.paddingTop = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['minimize'];
img.addEventListener('click', foo=function(){minimizeList();}, false);
titleDiv.addEventListener('dblclick', bar=function(){minimizeList();}, false);
return img;
}
//create maximize event
function makeEventMaximize(titleDiv)
{
var img = dom.cn('img');
img.title = lang['MAXIMIZE'];
img.style.width = '12px';
img.style.height = '12px';
img.style.paddingTop = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['maximize'];
img.addEventListener('click', foo=function(){maximizeList();}, false);
titleDiv.addEventListener('dblclick', bar=function(){maximizeList();}, false);
return img;
}
//minimize list
function minimizeList()
{
GM_setValue('minimize_'+suffix, true);
reloadVillageList();
}
//maximize list
function maximizeList()
{
GM_setValue('minimize_'+suffix, false);
reloadVillageList();
}
//create delete event
function makeEventDelete(villageId, villageName)
{
var img = dom.cn('img');
img.title = lang['DELETE']+' '+E2C(villageName);
img.style.width = '12px';
img.style.height = '12px';
img.style.paddingTop = '4px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['delete'];
img.addEventListener('click', bar=function(){delVillage(villageId);}, false);
return img;
}
//create send troops event
function makeEventSendTroops(villageId)
{
var img = dom.cn('img');
img.title = lang['SEND_TROOPS'];
img.style.width = '14px';
img.style.height = '14px';
img.style.paddingTop = '3px';
img.style.paddingRight = '2px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['troops'];
img.addEventListener('click', bar=function(){sendTroopsPage(villageId);}, false);
return img;
}
//go to send troops page
function sendTroopsPage(villageId)
{
window.location = 'a2b.php?z='+villageId;
}
//create show map page event
function makeEventShowMap(villageId, coordX, coordY)
{
var img = dom.cn('img');
img.title = lang['MAP']+' ('+coordX+'|'+coordY+')';
img.style.width = '25px';
img.style.height = '14px';
img.style.paddingTop = '3px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['map'];
img.addEventListener('click', bar=function(){showMapPage(villageId);}, false);
return img;
}
//go to map page
function showMapPage(villageId)
{
window.location = 'karte.php?z='+villageId;
}
//create send resources event
function makeEventSendResources(villageId)
{
var img = dom.cn('img');
img.title = lang['SEND_RESOURCES'];
img.style.width = '16px';
img.style.height = '16px';
img.style.paddingTop = '1px';
img.style.cursor = 'pointer';
img.src = 'data:image/png;base64,'+image['market'];
img.addEventListener('click', bar=function(){sendResourcesPage(villageId);}, false);
return img;
}
//go to send resources page
function sendResourcesPage(villageId)
{
window.location = 'build.php?z='+villageId+'&gid=17';
}
//create village stats event
function makeEventVillageStats(villageName, villageId, cValue, coordX, coordY)
{
var celltxt = dom.cn('a', villageName);
celltxt.href = 'karte.php?qplinks=false&d='+villageId+'&c='+cValue;
celltxt.title = lang['VILLAGE_PROFILE']+' ('+coordX+'|'+coordY+')';
var hidePopups = getHidePopups();
if (hidePopups==false) {
//add stats popup
celltxt.addEventListener('mouseover', bar=function(ev){mymousePos = mouseCoords(ev);}, false);
celltxt.addEventListener('mouseover', bar1=function(){showStats('village', villageId);}, false);
celltxt.addEventListener('mouseout', foo=function(){hideStats();}, false);
}
return celltxt;
}
//create player stats event
function makeEventPlayerStats(playerName, playerId)
{
var celltxt = dom.cn('a', playerName);
celltxt.href = 'spieler.php?uid='+playerId;
celltxt.title = lang['PLAYER_PROFILE'];
var hidePopups = getHidePopups();
if (hidePopups==false) {
//add stats popup
celltxt.addEventListener('mouseover', bar=function(ev){mymousePos = mouseCoords(ev);}, false);
celltxt.addEventListener('mouseover', bar1=function(){showStats('player', playerId);}, false);
celltxt.addEventListener('mouseout', foo=function(){hideStats();}, false);
}
return celltxt;
}
//create ally stats event
function makeEventAllyStats(allyName, allyId)
{
var celltxt = dom.cn('a', allyName);
celltxt.href = 'allianz.php?aid='+allyId;
celltxt.title = lang['ALLY_PROFILE'];
var hidePopups = getHidePopups();
if (hidePopups==false) {
//add stats popup
celltxt.addEventListener('mouseover', bar=function(ev){mymousePos = mouseCoords(ev);}, false);
celltxt.addEventListener('mouseover', bar1=function(){showStats('ally', allyId);}, false);
celltxt.addEventListener('mouseout', foo=function(){hideStats();}, false);
}
return celltxt;
}
//create change Tag event
function makeEventChangeTag(villageTag, villageId)
{
//get tags from store
var tagsList = GM_getValue('tags_'+suffix);
if (!tagsList) {
restoreDefaultTags();
tagsList = GM_getValue('tags_'+suffix);
}
tagsList = tagsList.split(',');
//create select field
var select = dom.cn('select');
select.style.border = '1px solid #71D000';
select.style.color = '#71D000';
select.style.width = '120px';
for (var i=0; i<tagsList.length; i++) {
var option = dom.cn('option', tagsList[i]);
option.style.color = '#71D000';
option.value = tagsList[i];
select.appendChild(option);
if (tagsList[i]==villageTag) select.selectedIndex = i;
}
select.addEventListener('change', bar=function(){updateVillageTag(this.options[this.selectedIndex].value, villageId);this.blur();}, false);
return select;
}
//change filter tag
function changeFilterTag(tagName)
{
//check if tags are linked with setting profiles
var linkedTags = GM_getValue('linkedTags_'+suffix);
if (linkedTags==true) {
var settingsList = new Array();
settingsList = GM_getValue('settings_'+suffix, '').split('_@_');
for (i=1; i<=settingsList.length-1; i++)
{
settingsList[i] = settingsList[i].split('||');
var profileName = settingsList[i][0];
//if profile = tag
if (profileName == tagName) {
//change setting profile
loadSettingProfile(tagName);
}
}
}
//change filter tag
GM_setValue('tagfilter_'+suffix, tagName);
//refresh
reloadVillageList();
}
//update village tag in firefox store
function updateVillageTag(newVillageTag, id)
{
var villageListAfter = '';
var villageListBefore = new Array();
villageListBefore = GM_getValue('villages_'+suffix, '').split('_@_');
villageListBefore.sort();
for (i=1; i<=villageListBefore.length-1; i++)
{
villageListBefore[i] = villageListBefore[i].split('||');
var villageName = villageListBefore[i][0];
var villageId = villageListBefore[i][1];
var villageCoords = villageListBefore[i][2];
var playerName = villageListBefore[i][3];
var playerId = villageListBefore[i][4];
var allyName = villageListBefore[i][5];
var allyId = villageListBefore[i][6];
var cValue = villageListBefore[i][7];
var playerTribe = villageListBefore[i][8];
var villageType = villageListBefore[i][9];
var villageTag = villageListBefore[i][10];
var villageNote = villageListBefore[i][11];
if (villageId != id) {
villageListAfter = villageListAfter+'_@_'+villageName+'||'+villageId+'||'+villageCoords+'||'+playerName+'||'+playerId+'||'+allyName+'||'+allyId+'||'+cValue+'||'+playerTribe+'||'+villageType+'||'+villageTag+'||'+villageNote;
} else {
villageListAfter = villageListAfter+'_@_'+villageName+'||'+villageId+'||'+villageCoords+'||'+playerName+'||'+playerId+'||'+allyName+'||'+allyId+'||'+cValue+'||'+playerTribe+'||'+villageType+'||'+newVillageTag+'||'+villageNote;
}
}
GM_setValue('villages_'+suffix, villageListAfter);
}
//create Time of travel event
function makeEventTimeOfTravel(strDistance, activeVillageName)
{
var celltxt = dom.cn('span', strDistance);
celltxt.title = lang['DISTANCE_VILLAGE']+' '+activeVillageName;
var hidePopups = getHidePopups();
if (hidePopups==false) {
celltxt.addEventListener('mouseover', bar=function(ev){mymousePos = mouseCoords(ev);}, false);
celltxt.addEventListener('mouseover', bar1=function(){showTimeOfTravel(strDistance);}, false);
celltxt.addEventListener('mouseout', foo=function(){hideTimeOfTravel();}, false);
}
return celltxt;
}
//create tribe event
function makeEventPlayerTribe(playerId, playerTribe)
{
var img = dom.cn('img');
img.style.width = '16px';
img.style.height = '16px';
img.style.paddingTop = '1px';
img.style.cursor = 'pointer';
var romans = lang['ROMANS'].toLowerCase();
var teutons = lang['TEUTONS'].toLowerCase();
var gauls = lang['GAULS'].toLowerCase();
playerTribe = E2C(playerTribe);
switch (playerTribe) {
case romans:
img.title = lang['ROMANS'];
img.src = 'data:image/png;base64,'+image['romans'];
img.addEventListener('click', foo1=function(){return location.href="javascript:void(Popup(1, 2))";}, false);
break;
case teutons:
img.title = lang['TEUTONS'];
img.src = 'data:image/png;base64,'+image['teutons'];
img.addEventListener('click', foo2=function(){return location.href="javascript:void(Popup(2, 2))";}, false);
break;
case gauls:
img.title = lang['GAULS'];
img.src = 'data:image/png;base64,'+image['gauls'];
img.addEventListener('click', foo3=function(){return location.href="javascript:void(Popup(3, 2))";}, false);
break;
default:
img.title = 'Nataren???';
img.src = 'data:image/png;base64,'+image['natar'];
return img;
break;
}
return img;
}
//show statistics (modified from Travissimo)
function showStats(type, id)
{
//remove old statsDiv
hideStats();
//create wrapper div
var statsDiv = dom.cn('div');
statsDiv.id = 'VMstats';
statsDiv.style.zIndex = 666;
statsDiv.style.width = '198px';
statsDiv.style.position = 'absolute';
statsDiv.style.top = (mymousePos.y+40)+'px';
winX = window.innerWidth;
if (mymousePos.x > winX-234) statsDiv.style.left = (mymousePos.x-214)+'px';
else statsDiv.style.left = (mymousePos.x)+'px';
statsDiv.style.background = 'transparent url(data:image/png;base64,'+image['shadow']+') repeat scroll 0% 50%';
statsDiv.style.margin = '4px 0px 0px 5px';
document.body.appendChild(statsDiv);
//create wait image div
var innerDiv = dom.cn('div');
innerDiv.id = 'waitImage';
innerDiv.style.position = 'relative';
innerDiv.style.left = '-5px';
innerDiv.style.top = '-5px';
innerDiv.style.color = '#C0C0C0'
innerDiv.style.fontSize = '8pt';
innerDiv.style.backgroundColor = '#F5F5F5';
innerDiv.style.border = '2px solid green';
innerDiv.style.height = '22px';
var img = dom.cn('img');
img.src = 'data:image/png;base64,'+image['wait'];
img.style.cssFloat = 'left';
img.style.paddingLeft = '5px';
var span = dom.cn('span', 'travian.ping-timeout.de');
span.style.cssFloat = 'left';
span.style.paddingTop = '4px';
span.style.paddingLeft = '5px';
innerDiv.appendChild(img);
innerDiv.appendChild(span);
statsDiv.appendChild(innerDiv);
//get data from travian.ping-timeout.de
switch(type) {
case 'village':
var href = 'http://travian.ping-timeout.de/travissimo/dorf.php?domain='+server+'&d='+id
break;
case 'player':
var href = 'http://travian.ping-timeout.de/travissimo/travissimo.php?domain='+server+'&uid='+id;
break;
case 'ally':
var href = 'http://travian.ping-timeout.de/travissimo/allianzen.php?domain='+server+'&aid='+id;
break;
}
GM_xmlhttpRequest({
method: 'GET',
url: href,
onload: function (responseDetails)
{
if (responseDetails.status != 200) return;
//remove wait image div
var innerDiv = dom.id('waitImage');
if (innerDiv) innerDiv.parentNode.removeChild(innerDiv);
else return;
//get values from xml
var parser = new DOMParser();
var doc = parser.parseFromString(responseDetails.responseText, "text/xml");
var stats = doc.getElementsByTagName('stats')[0];
if (!stats) {
//create inner div with 'server down' message
var innerDiv = dom.cn('div', lang['SERVER_DOWN']);
innerDiv.style.position = 'relative';
innerDiv.style.left = '-5px';
innerDiv.style.top = '-5px';
innerDiv.style.fontSize = '8pt';
innerDiv.style.color = '#C0C0C0'
innerDiv.style.backgroundColor = '#F5F5F5';
innerDiv.style.border = '2px solid green';
innerDiv.style.padding = '5px'
innerDiv.style.paddingLeft = '10px'
statsDiv.appendChild(innerDiv);
return;
}
switch(type) {
case 'village':
var spielerinfos = doc.getElementsByTagName('spielerinfos')[0];
var name = spielerinfos.getElementsByTagName('dorf')[0].firstChild.data;
break;
case 'player':
var spielerinfos = doc.getElementsByTagName('spielerinfos')[0];
var name = spielerinfos.getElementsByTagName('username')[0].firstChild.data;
break;
case 'ally':
var allianzinfos = doc.getElementsByTagName('allianzinfos')[0];
var name = allianzinfos.getElementsByTagName('name')[0].firstChild.data;
break;
}
var historie = doc.getElementsByTagName('historie')[0];
var dbInfos = historie.getElementsByTagName('DBInfo');
var calc = doc.getElementsByTagName('calc')[0].firstChild.data;
var values = new Array();
var dates = new Array();
for (var i=0; i<dbInfos.length; i++){
var einwohner = dbInfos[i].getElementsByTagName('einwohner')[0];
if (!einwohner.firstChild) values[i] = '0';
else values[i] = parseInt(einwohner.firstChild.data);
var datum = dbInfos[i].getElementsByTagName('datum')[0];
if (!datum.firstChild) dates[i] = '0000-00-00';
else dates[i] = datum.firstChild.data;
}
//get max & min
var min = 5000000;
var max = 0;
for (var i=0; i<values.length; i++){
var anz = values[i];
if (anz > max) max = anz;
if (anz < min) min = anz;
}
if (max == min) var factor = 150;
else var factor = 150/(max-min);
//create inner div
var innerDiv = dom.cn('div');
innerDiv.style.position = 'relative';
innerDiv.style.left = '-5px';
innerDiv.style.top = '-5px';
innerDiv.style.backgroundColor = '#F5F5F5';
innerDiv.style.border = '2px solid green';
statsDiv.appendChild(innerDiv);
//create table
var boxTable = dom.cn('table');
boxTable.id = 'vboxTable';
boxTable.style.border = 'collapse';
innerDiv.appendChild(boxTable);
//create headers
//username
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.setAttribute('colspan', '2');
td.style.height = '10px';
td.style.backgroundColor = 'green';
var div0 = dom.cn('div', name);
div0.style.textAlign = 'center';
div0.style.fontWeight = 'bold';
div0.style.fontSize = '8pt';
div0.style.color = 'lightYellow';
div0.style.paddingBottom = '2px';
td.appendChild(div0);
tr.appendChild(td);
boxTable.appendChild(tr);
//date
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.width = '30px';
td.style.height = '10px';
var div1 = dom.cn('div', lang['DATE']);
div1.style.textAlign = 'center';
div1.style.fontWeight = 'bold';
div1.style.fontSize = '8pt';
div1.style.color = 'green';
td.appendChild(div1);
tr.appendChild(td);
//population
var td = dom.cn('td');
td.style.border = '0px none';
td.style.width = '140px';
td.style.height = '10px';
var div2 = dom.cn('div', lang['POPULATION']);
div2.style.textAlign = 'center';
div2.style.fontWeight = 'bold';
div2.style.fontSize = '8pt';
div2.style.color = 'green';
td.appendChild(div2);
tr.appendChild(td);
//append headers
boxTable.appendChild(tr);
//create chart
for (var i=0; i<values.length; i++)
{
var date = dates[i].substring(dates[i].indexOf('-')+1, dates[i].length);
var width = Math.round((max-values[i])*factor);
var mywidth = 150-width; //totbarwidth=150px
var label = String(values[i]);
//create row
var tr = dom.cn('tr');
//create date
var td = dom.cn('td');
td.style.border = '0px none';
td.style.height = '10px';
var div = dom.cn('div');
div.style.textAlign = 'center';
div.style.fontWeight = 'bold';
div.style.fontSize = '6pt';
//append date
div.appendChild(dom.ct(date));
td.appendChild(div);
tr.appendChild(td);
//create population
var td = dom.cn('td');
td.style.border = '0px none';
td.setAttribute('colspan', '2');
td.style.height = '10px';
var div = dom.cn('div');
div.style.backgroundColor = 'lightYellow';
div.style.fontWeight = 'bold';
div.style.border = '1px solid #B1D632';
div.style.padding = '1px';
var span = dom.cn('span');
span.style.display = 'block';
span.style.textAlign = 'center';
span.style.fontSize = '6pt';
span.style.width = String(mywidth)+'px';
//bars color
if (i < values.length-1 && values[i] < values[i+1]) {
span.style.backgroundColor = 'red';
if (mywidth == 0) span.style.color = 'red';
} else if (i < values.length-1 && values[i] > values[i+1]) {
span.style.backgroundColor = 'green';
} else if (i < values.length-1 && values[i] == values[i+1]) {
span.style.backgroundColor = 'yellow';
} else {
span.style.backgroundColor = 'green';
if (mywidth == 0) span.style.color = 'green';
}
//append population
span.appendChild(dom.ct(label));
div.appendChild(span);
td.appendChild(div);
tr.appendChild(td);
//append row
boxTable.appendChild(tr);
}
//travian.ping-timeout.de
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.setAttribute('colspan', '2');
td.style.height = '8px';
var div = dom.cn('div', 'travian.ping-timeout.de ('+calc+'s)');
div.style.paddingLeft = '1px';
div.style.fontSize = '6pt';
div.style.fontWeight = 'bold';
div.style.color = '#5d5d5d'
td.appendChild(div);
tr.appendChild(td);
boxTable.appendChild(tr);
}
});
}
var simpleEncoding = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
function simpleEncode(valueArray,maxValue) {
var chartData = ['s:'];
for (var i = 0; i < valueArray.length; i++) {
var currentValue = valueArray[i];
if (!isNaN(currentValue) && currentValue >= 0) {
chartData.push(simpleEncoding.charAt(Math.round((simpleEncoding.length-1) * currentValue / maxValue)));
} else {
chartData.push('_');
}
}
return chartData.join('');
}
//hide statistics
function hideStats()
{
var statsDiv = dom.id('VMstats');
if (statsDiv) {
statsDiv.parentNode.removeChild(statsDiv);
}
}
//show troops time
function showTimeOfTravel(strDistance)
{
//remove old troopsTimeDiv
hideTimeOfTravel();
//create shadow div
var troopsTimeDiv = dom.cn('div');
troopsTimeDiv.id = 'troopsTimeDiv';
troopsTimeDiv.style.zIndex = 666;
troopsTimeDiv.style.width = '236px';
troopsTimeDiv.style.position = 'absolute';
troopsTimeDiv.style.top = (mymousePos.y+40)+'px';
winX = window.innerWidth;
if (mymousePos.x > winX-234) troopsTimeDiv.style.left = (mymousePos.x-214)+'px';
else troopsTimeDiv.style.left = (mymousePos.x)+'px';
troopsTimeDiv.style.background = 'transparent url(data:image/png;base64,'+image['shadow']+') repeat scroll 0% 50%';
troopsTimeDiv.style.margin = '4px 0px 0px 5px';
document.body.appendChild(troopsTimeDiv);
//create inner div
var innerDiv = dom.cn('div');
innerDiv.style.position = 'relative';
innerDiv.style.left = '-5px';
innerDiv.style.top = '-5px';
innerDiv.style.backgroundColor = '#F5F5F5';
innerDiv.style.border = '2px solid green';
troopsTimeDiv.appendChild(innerDiv);
//create table
var troopsTimeTable = dom.cn('table');
troopsTimeTable.id = 'troopsTimeTable';
troopsTimeTable.style.border = 'collapse';
innerDiv.appendChild(troopsTimeTable);
//create headers
//troops type
var tr = dom.cn('tr');
var td = dom.cn('td');
td.style.border = '0px none';
td.style.width = '40px';
td.style.height = '10px';
var div = dom.cn('div', lang['TROOPS']);
div.style.textAlign = 'center';
div.style.fontWeight = 'bold';
div.style.fontSize = '8pt';
div.style.color = 'green';
td.appendChild(div);
tr.appendChild(td);
//time of travel
var td = dom.cn('td');
td.style.border = '0px none';
td.style.width = '70px';
td.style.height = '10px';
var div = dom.cn('div', lang['TIME']);
div.style.textAlign = 'center';
div.style.fontWeight = 'bold';
div.style.fontSize = '8pt';
div.style.color = 'green';
td.appendChild(div);
tr.appendChild(td);
//arrival time
var td = dom.cn('td');
td.style.border = '0px none';
td.style.width = '120px';
td.style.height = '10px';
var div = dom.cn('div', lang['ARRIVAL']);
div.style.textAlign = 'center';
div.style.fontWeight = 'bold';
div.style.fontSize = '8pt';
div.style.color = 'green';
td.appendChild(div);
tr.appendChild(td);
//append headers
troopsTimeTable.appendChild(tr);
//troops velocity
//get player's tribe from store
var playerTribe = GM_getValue('tribe_'+suffix);
if (playerTribe == 'gauls') {
var velocityMap = {'g01':7, 'g02':6, 'g03':17, 'g04':19, 'g05':16, 'g06':13, 'g07':4, 'g08':3, 'g09':5, 'g10':5};
} else if (playerTribe == 'romans') {
var velocityMap = {'r01':6, 'r02':5, 'r03':7, 'r04':16, 'r05':14, 'r06':10, 'r07':4, 'r08':3, 'r09':4, 'r10':5};
} else if (playerTribe == 'teutons') {
var velocityMap = {'t01':7, 't02':7, 't03':6, 't04':9, 't05':10, 't06':9, 't07':4, 't08':3, 't09':4, 't10':5};
}
//get tournament square level from store
var tournamentLevel = GM_getValue('tournament_'+suffix);
//get speed server option from store
var speed = GM_getValue('speed_'+suffix);
if (speed==false) var speedFactor = 1;
else var speedFactor = 2;
for (var key in velocityMap) {
//create row
var tr = dom.cn('tr');
//troop type
var td = dom.cn('td');
td.style.border = '0px none';
var img = dom.cn('img');
img.src = 'data:image/gif;base64,'+image[key];
img.style.paddingLeft = '12px';
td.appendChild(img);
tr.appendChild(td);
//time of travel
var td = dom.cn('td');
td.style.border = '0px none';
var timeOfTravel = seconds_to_string(time_quotient_tournament(parseFloat(strDistance),velocityMap[key]*speedFactor, tournamentLevel));
var div = dom.cn('div', timeOfTravel);
div.style.textAlign = 'center';
div.style.fontSize = '8pt';
div.style.color = 'gray';
td.appendChild(div);
tr.appendChild(td);
//arrival time
var td = dom.cn('td');
td.style.border = '0px none';
var arrivalTime = time_noyear(addsubtime(getDateTime(), time_quotient_tournament(parseFloat(strDistance),velocityMap[key]*speedFactor, tournamentLevel)/3600, 1));
var div = dom.cn('div', arrivalTime);
div.style.textAlign = 'center';
div.style.fontSize = '8pt';
div.style.color = 'gray';
td.appendChild(div);
tr.appendChild(td);
//append row
troopsTimeTable.appendChild(tr);
}
/************************** from http://www.javaschubla.de/2006/travian/wegerechner/wegerechner-t3i.html *****************************/
function zeropad(num)
{
return num<10?"0"+num:num;
}
//time of travel functions
function seconds_to_string(time_in_seconds)
{
var h = Math.floor(time_in_seconds/3600);
time_in_seconds = time_in_seconds - h*3600;
var m = Math.floor(time_in_seconds/60);
time_in_seconds = time_in_seconds - m*60;
var s = Math.round(time_in_seconds);
return h+":"+zeropad(m)+":"+zeropad(s);
}
function time_quotient(distance, speed)
{
var q = Math.round(distance * 3600 / speed); // time in seconds
return q;
}
function time_quotient_tournament(distance, speed, tournament_level)
{
var limit = 30;
if (distance <= limit || tournament_level == 0) return time_quotient(distance, speed);
var time_to_limit_in_seconds = Math.round(limit * 3600/speed);
var restaway = distance - limit;
var tournament_speed = speed * (1 + tournament_level / 10);
var time = Math.round(3600 * restaway / tournament_speed);
var totaltime = time_to_limit_in_seconds + time;
return totaltime;
}
//arrival time functions
function addsubtime(startendzeit, zeitspanne_in_stunden, plusminus)
{
return new Date(startendzeit.getTime() + plusminus * zeitspanne_in_stunden * 3600000);
}
function time_noyear(date)
{
var now = new Date();
var today = zeropad(now.getDate());
if (zeropad(date.getDate())==today) return zeropad(date.getHours())+":"+zeropad(date.getMinutes())+":"+zeropad(date.getSeconds());
else return zeropad(date.getDate())+"."+zeropad(date.getMonth()+1)+". "+zeropad(date.getHours())+":"+zeropad(date.getMinutes())+":"+zeropad(date.getSeconds());
}
function getDateTime()
{
var now = new Date();
var day = zeropad(now.getDate());
var month = zeropad(now.getMonth()+1);
var year = now.getFullYear();
var hours = zeropad(now.getHours());
var minutes = zeropad(now.getMinutes());
var seconds = zeropad(now.getSeconds());
var startendzeit = new Date(year, month-1, day, hours, minutes, seconds);
return startendzeit;
}
/************************** end http://www.javaschubla.de/2006/travian/wegerechner/wegerechner-t3i.html *****************************/
}
//hide troops time
function hideTimeOfTravel()
{
var troopsTimeDiv = dom.id('troopsTimeDiv');
if (troopsTimeDiv) {
troopsTimeDiv.parentNode.removeChild(troopsTimeDiv);
}
}
//create village type icon + show map event
function makeEventVillageType(vt, vid)
{
var img = dom.cn('img');
img.style.width = '18px';
img.style.height = '16px';
img.style.paddingTop = '1px';
img.style.cursor = 'pointer';
img.addEventListener('click', bar=function(){showMapPage(vid);}, false);
switch(vt) {
//VILLAGES
case 'f1': //f1 = 9crops
img.title = lang['F1'];
img.src = 'data:image/png;base64,'+image['f1'];
break;
case 'f2': //f2 = +iron
img.title = lang['F2'];
img.src = 'data:image/png;base64,'+image['f2'];
img.style.height = '12px';
img.style.paddingTop = '4px';
break;
case 'f3': //f3 = normal
img.title = lang['F3'];
img.src = 'data:image/png;base64,'+image['map'];
img.style.height = '14px';
img.style.width = '25px';
break;
case 'f4': //f4 = +clay
img.title = lang['F4'];
img.src = 'data:image/png;base64,'+image['f4'];
img.style.height = '12px';
img.style.paddingTop = '4px';
break;
case 'f5': //f5 = +lumber
img.title = lang['F5'];
img.src = 'data:image/png;base64,'+image['f5'];
img.style.height = '12px';
img.style.paddingTop = '4px';
break;
case 'f6': //f6 = 15crops
img.title = lang['F6'];
img.src = 'data:image/png;base64,'+image['f6'];
break;
//OASES
case 'w1': //w1 = +25% lumber per hour
img.title = lang['W1'];
img.src = 'data:image/png;base64,'+image['w1'];
break;
case 'w2': //w2 = +25% lumber per hour
img.title = lang['W2'];
img.src = 'data:image/png;base64,'+image['w2'];
break;
case 'w3': //w3 = +25% lumber per hour, +25% crop per hour
img.title = lang['W3'];
img.src = 'data:image/png;base64,'+image['w3'];
break;
case 'w4': //w4 = +25% clay per hour
img.title = lang['W4'];
img.src = 'data:image/png;base64,'+image['w4'];
break;
case 'w5': //w5 = +25% clay per hour
img.title = lang['W5'];
img.src = 'data:image/png;base64,'+image['w5'];
break;
case 'w6': //w6 = +25% clay per hour, +25% crop per hour
img.title = lang['W6'];
img.src = 'data:image/png;base64,'+image['w6'];
break;
case 'w7': //w7 = +25% iron per hour
img.title = lang['W7'];
img.src = 'data:image/png;base64,'+image['w7'];
break;
case 'w8': //w8 = +25% iron per hour
img.title = lang['W8'];
img.src = 'data:image/png;base64,'+image['w8'];
break;
case 'w9': //w9 = +25% iron per hour, +25% crop per hour
img.title = lang['W9'];
img.src = 'data:image/png;base64,'+image['w9'];
break;
case 'w10': //w10 = +25% crop per hour
img.title = lang['W10'];
img.src = 'data:image/png;base64,'+image['w10'];
break;
case 'w11': //w11 = +25% crop per hour
img.title = lang['W11'];
img.src = 'data:image/png;base64,'+image['w11'];
break;
case 'w12': //w12 = +50% crop per hour
img.title = lang['W12'];
img.src = 'data:image/png;base64,'+image['w12'];
break;
}
return img;
}
//create hide column event
function makeEventHideCol(colIndex)
{
var inputElem = dom.cn('input');
inputElem.type = 'checkbox';
inputElem.checked = true;
inputElem.title = lang['HIDE'];
inputElem.addEventListener('click', foo=function(){ hideColumn(colIndex); }, false);
return inputElem;
}
//create show column event
function makeEventShowCol(colIndex)
{
var inputElem = dom.cn('input');
inputElem.type = 'checkbox';
inputElem.checked = false;
inputElem.title = lang['SHOW'];
inputElem.addEventListener('click', foo=function(){ showColumn(colIndex); }, false);
return inputElem;
}
//hide a column
function hideColumn(colIndex)
{
setColumnVisibility(colIndex, 'none');
reloadVillageList();
}
//show a column
function showColumn(colIndex)
{
setColumnVisibility(colIndex, '');
reloadVillageList();
}
//update column visibility value in Firefox preference store
function setColumnVisibility(index, value)
{
var colsVis = getColsVisibility();
colsVis.splice(index, 1, value);
var columnsAfter = new Array;
for (i=0; i<=colsVis.length-1; i++) {
columnsAfter = (i==colsVis.length-1) ? columnsAfter+colsVis[i] : columnsAfter+colsVis[i]+",";
}
GM_setValue('colsVis_'+suffix, columnsAfter);
}
//create save tag event
function makeEventSaveTag()
{
//checks
var newTag = dom.id('newTag_'+suffix).value;
if (newTag == '') return;
var tagList = GM_getValue('tags_'+suffix).split(',');
for (var i=1; i<tagList.length; i++) {
if (tagList[i] == newTag) {
alert(lang['ALREADY_TAG']);
return;
}
}
//save
setTag(newTag);
//refresh list
reloadVillageList();
}
//create save setting profile event
function makeEventSaveSettingProfile()
{
//checks
var newProfile = dom.id('newProfile_'+suffix).value;
if (newProfile == '') return;
var settingsList = GM_getValue('settings_'+suffix).split('_@_');
for (var i=1; i<settingsList.length; i++) {
settingsList[i] = settingsList[i].split('||');
var profileName = settingsList[i][0];
if (profileName == newProfile) {
alert(lang['ALREADY_PROFILE']);
return;
}
}
//save
saveSettingsProfile(newProfile);
//refresh list
reloadVillageList();
}
//create save column width event
function makeEventSaveColsWidth()
{
var villageColWidth = dom.id('village_'+suffix).value;
if (parseInt(villageColWidth)<170) setColumnWidth(1, '170');
else setColumnWidth(1, villageColWidth);
var playerColWidth = dom.id('player_'+suffix).value;
if (parseInt(playerColWidth)<80) setColumnWidth(2, '80');
else setColumnWidth(2, playerColWidth);
var allyColWidth = dom.id('ally_'+suffix).value;
if (parseInt(allyColWidth)<80) setColumnWidth(3, '80');
else setColumnWidth(3, allyColWidth);
var tagColWidth = dom.id('tag_'+suffix).value;
if (parseInt(tagColWidth)<120) setColumnWidth(4, '120');
else setColumnWidth(4, tagColWidth);
var distanceColWidth = dom.id('distance_'+suffix).value;
if (parseInt(distanceColWidth)<70) setColumnWidth(5, '70');
else setColumnWidth(5, distanceColWidth);
reloadVillageList();
}
//update column width value in Firefox preference store
function setColumnWidth(index, value)
{
var colsWidth = getColsWidth();
colsWidth.splice(index, 1, value);
var columnsAfter = new Array;
for (i=0; i<=colsWidth.length-1; i++) {
columnsAfter = (i==colsWidth.length-1) ? columnsAfter+colsWidth[i] : columnsAfter+colsWidth[i]+",";
}
GM_setValue('colsWidth_'+suffix, columnsAfter);
}
//clean string
function cleanStr(str)
{
//replace special chars
str = str.replace(/\|/g, '│').replace('_@_', '_ @ _', 'g');
//remove white spaces
str = trim(str);
return str;
}
//load images
function loadImage()
{
image['troops'] = 'iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAACaklEQVQokW2Rz0uTARjHP+9c7J2/' +
'MjWc6fyxQtNCplEZKWWWJ0VohzYPQdqtURf/gIIgkEAIEekaHqz0ooK8NihbgjlNbUtUmKyczop8' +
'Jy0nok+H0ND63J7D9/t8n++j+Hw+CYfD6LqOxWKhrq5O4T/oui6apgGQmpqKYWBgAJvNhsPhIDMz' +
'k4WFBTkoikajMjY2RkNDA9XV1YRCIQwtLS1omkYgEKC0tJRgMMji4uI+8cjICFVVVUQiETweDzab' +
'DUSESCQira2tEggEZGtrSzRNk4mJCVlfX5f29nZZW1uTlZUV6ezslI6ODhERFJE/5lNTU9Lf34/T' +
'6SQvLw+Px4OqqtjtdkQEr9dLLBajqalJATDsxrHb7UpjYyPj4+MsLy9TU1OD3+9nZ2eH6elp4vE4' +
'LpdrL/7exl2Gh4dlbm6O+vp6TCYTPT09GI1G3G73vrYNHCAajWK1WhkdHWV7exu3201iYuI/71FW' +
'lz+LPtPNt81U1JxKMBgpPllCx5N2cnJzqa29higJ+N6PospPSszzbFrqMCrbMeZ9Q+hrOmlHB6l1' +
'3CE4/gmr5QgFecfwe19ypqyIcnWSt4PPmElLJ/9K8d8bX/V1ydXjUVZn3xBeCjGzXkCy2YSi+zlX' +
'nIH1dC2vP/7grLONpKRkRRERel88FyYfknXYSGKFm7JLN7jruojF8IXbj4Y4ZE6h9/FNLhfG6Fuq' +
'4N79LpTutmY5lRIitjpHpOgB113NCkA8viG/YjHSMzIVgNBiUN49dXE+6ysfNsoxJmx+Jy1bxZRU' +
'yQXnrb3WVNWsqKp5b84vtCmz2Sck4XAa2aqB3zOsEfFtFdmBAAAAAElFTkSuQmCC';
image['delete'] = 'iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAABSklEQVQokXWSwUoCYRSFv98JIZnZ' +
'BiMEQfBDCzf6ND6A+QDzANYD+AL/Ph/AeYB0r+4VoiCcoSgSZwqShtOmGRTpwl2cw/0u58JFEpL4' +
'Xq/1cnenn+1WpVf223isZa+nz+VSJwDvcazn4ZAiz9lMJljnKP3EOXZpStBu07DW1HZJovc4pshz' +
'ALLFgtfRSLsk0dPtLbs05dRaLodDAIwkABLnlP5t9nyfhrVkiwWe79OKY7wgMAcAwEMUaTOdVtrz' +
'faxzNKw1pVdjry5ubvB8v9JBp3MwfAR4QWAa1lZ6M52Szef6F0icU5l7LyZFlukI2Ewm1dHnUUQ9' +
'DAEo8pxlv19BRhJfq5VW19cUeU49DGnFscnmc636/f0AtMZjakWWVcNBu815FJUHm7NuF4B6GHI1' +
'GlFvNg0f9/d6HAy0nc2OXkIS29ns4F1+AXRj1R+Rb6hBAAAAAElFTkSuQmCC';
image['minimize']='R0lGODlhDAAMAIAAAGBgYP///yH5BAEAAAEALAAAAAAMAAwAAAINjI+py+0PG5hU0RrzKwA7';
image['maximize']='R0lGODlhDAAMAIAAAGBgYP///yH5BAEAAAEALAAAAAAMAAwAAAIVjI+pCe2N3osKUHZzsPhwLTnL' +
'SBoFADs%3D';
image['options']= 'R0lGODlhEgAOANUkAP///2ZmZtra2jU1Nezs7Ovr6zIyMuTk5GdnZ8nJyTQ0NGVlZT4+PtXV1Tg4' +
'OEdHR+jo6Dw8PFZWVklJSVxcXOnp6UhISGNjY9TU1DMzM8HBwUxMTFRUVOXl5V1dXVNTU01NTcrK' +
'yldXV2JiYv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAACQALAAAAAASAA4AAAZ3QJJw' +
'SCwWA0gkIoBYBowXgHRKJYyKHyoASeUUKVsIYBGAVAwGgKco2QbIgkPncACIihMpUiPoKwYAFkUg' +
'AH19SIYAG0UPWw0CSA0YGWkPRQxuiIYCAAxFEXoBfQkJIQkFEUUOUgQFrQSwrg5GA38Dt7h/Rru8' +
'QkEAOw%3D%3D';
image['market'] = 'R0lGODlhEAAQAOYAAAAAAP///xx6BESSLEyWNFyiRJTChDSGFJzGjCx+BFyePESOHGSiRDyKDESS' +
'FDyGDIS2ZJzChKTKjEySHFSaJHSqTIy6bKTGjKzOlFyaLGSeNHyuVKzKlISyXGSeLGyiNHSmPLTO' +
'lPz+9Pz65Pz21PTu1Pz23PTmtPzuvPzyzNy2TNSyVNy+ZPzehNS6dOTKhPzinPzmpNzKlOzapPzq' +
'tPTmvPzuxPzy1Pz25PS+POy+TNSqRNSuTNy2VPzWdNy+dOTGfOzOhPTWjPzelOzSlOzWnPzqvOze' +
'vPzuzOSyROy6TPTCVNyyVNSuVPTKbOS+bPzWfNy6bPTOfPzajOzOjPTWlPTerPzmtPTq1OSyTNyu' +
'VNSqVPTOhOTCfOzKhPzalNzCjOTKlPzirMyaPNSmVNyyZNy2dOzGhNy6fPzanOzWrOzexMyOLMSK' +
'LMySNMyWPNSmXOzavPzqzNSiXMyORP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5' +
'BAEAAHUALAAAAAAQABAAAAffgHWCg3UvXTeEiYJFPUUvTUSKgyxEODhWJz8raolAQCUiIkhaUGJV' +
'ZWWCRCozWEcyYC5RVVJpYl5kaCsjckRBT0xuSCZGQz4xLW49IzdXXFJSWWI0MD45SUJvPTg3N0ZT' +
'TllTUyAaOkpUbkw4JClIRl9LSzkfGxlZXm483CkoNCAfPnjYgKGCgzNsdowwYcNIjA8hMHDgYEEC' +
'gwNtfqCpwTCGBgwWLEDoACGCggSCtnRBkiKDBAkXEEAwwGABoTBjulCY4KCBApoDJKFhQ8UMnQcF' +
'CEgStAbOnDgHBBAKBAA7';
image['map'] = 'R0lGODlhGQAOAPcAAAAAAP////qyuv7Dyf2+yP/B1P7B1P3a5/ru9P/T6vzZ7vzi/vr0+/f5//X/' +
'/+b/+KO9s+P/8+n/9LL61ND749n/6anFs7Llw5nCp7/yz7ncw6a7rLLfvrHcvIqdj+/z8LPLuOT/' +
'6a/StN3/4pe9m9H/1rz1vsf1xarJqeH/4K/Jqqm/paPglrvpsK3Xo5i4kcLnuo2ficT4tqPHmpvL' +
'irvYsZS1h6DBlNjn0rfoo7DaneTy3tz/y/j+9f3//JW4gt3m17fansbqq/X88Pn99rfbm6XGjOX4' +
'1vj99MDfpOn33anAkNbgzMDHufT77fb78fn99f7//f3+/NTvstDqr8PTr+n12tHtqtLtq9TqtsTc' +
'n6Syj93txczmoNHmrd7vwsLgitDopN3qwt7rxMTdieP1ucvdmOn6tq25hbrGkrzPcr3PesjZiM7c' +
'lcTUfcLSfMvYkczWmLfDaL/Ld8fRgM/YhaOof5KWT77EbsLId77DZr/EZ7/CZqOmbrS2gsTGd7Gw' +
'dO7sq+vqyaynVsrHkLyyJtjOU4KAZK6mWcGxN9PDWX13SsW7dse+gMG5gdrZ0tTHeMK2buXhycqq' +
'D8muJ8agAPvgc8e0Zci3cr+xcsecAMScDOXERdG1TL+YLZeBRMy2eM24ft7Vu8CMAserYsqxcJGF' +
'Z8alWLmbW8iqaruPNKOBQNG6jcynZsmnaNOgVMubVOjNpKN9S6+JV9Grd9exgNe2idGjafLiz8uX' +
'XOXJquvg1dyyjtWccN+tiOnUxei3mZ47AOXFstR1Q+ajf9+iieqwmeKnkee7qvHHt/Cyo+a7su6m' +
'muzW0/CzrfGtqfbIxvm4uP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAANIALAAAAAAZAA4A' +
'AAj/AAMIHEjQSRtYYXwQXMiQ4JVSzBToOoWlocUAXxgV+5DiBA4EwCIduThwDJ5aySBpqXHDhgsm' +
'uF6tGWLxiRpeBCosUQUIQ6FKd4wYEtTsFhgiBJHsASXggQwUKhBNStRJUaM0q/xQeOQs1RSBc3ol' +
'cDAiCwwQOupw8sQqVpVBlLZoELKDgbBcZvKQ+nUgQhIaEH6csRTIUbBZfUbZ6UAlRAMDw+QIjIOp' +
'ABAWM5pk0rRp0SFUhGShMSHhGS03PQhC4WNrQJkiHmJ8MmVhw4ogPJAdI6PEohU9vpZNuCCCxAsO' +
'GUQRe8OFpEAxf5TtKpGjhSRjrbw4XwgnVLQF0C51DImynaETOq7YSCEZEAA7';
image['romans'] = 'R0lGODlhEAAQAPeVAP7+/vz8/Pb39quRf4YvL0hcKYVBJ0lbJO7Boa+DcqmQf6EcHeKtlePi4IkT' +
'GHpGL404O8CbhvLy8dGdhXdOLfr6+rGNeKqQgc+agfb19MKSfYNfPe2zm+mxlu/x7+3w6ktiMffT' +
'tJ4aHY4gHOHk4dmli9qhir+9usvFwN3Z2cqVgIQaHryvpqmhl6GnlHhzRfL09LAXHNbTz9fHxqJl' +
'Zb3DtJMbHribi9TT1qg3Nk1lJKOBedSsl9K9rlZqONKLObEkIHZMMefl37vAwYNmY4x9cY1iQf/F' +
'Rebp6HwzH2h2QuXp4auBbY+cgvn5+eCslf39/b61rq+UgvGzmL/AvOaul3QmJoosL8jHxz5XKfS2' +
'nPz8+7rCuHtgVYcREqQbHadEP9LCwrBlZaeVhcmfiN3f3YaUjNyjh6IjHdvS0sKZgsPKvLyzrqxb' +
'W7aNfPj5+Ku1l6+Fg4CJdpSDZY4SGKYYGbuciMaNes3EvLWFN72NdZwTFLunocqjjHhbTtOfPnOB' +
'X3SAc9Wiitaiia+HdNSfiUJZH6wWFoZVPNqmjb2CN7OSgcS5tPDw8cnOx9/Ry5RAOcLHvKgaG2Jz' +
'Vn5ZPP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAAAQABAA' +
'AAjKACsJHEiwoEGBADy4gLMkwMEPkUg08WFIhxyHBtdMKnAAhJI5WHAAMFgjUJYXF/gkGIPEIABH' +
'Zlr4KcLIgoI3BhsB4vKICZlBep4IOVjmBIxFU0xgKMTiYCUqKAhpOVNCUBSnQ26o4DChCh4BBbdA' +
'qSRggAY3DOxIMCimzYwMUhKp6cPGCcEKYSDs8bKDR4cIRK7QaDAwjQ1JX+isuIMgRI8ch6ykENjl' +
'ASIKin4kIQAJDBARDuIIDGKE0oY8R/6MiFFnARoDMgQGBAA7';
image['teutons']= 'R0lGODlhEAAQAPewAPT19v///52dnW5tbSgoKDM4PTk9Pjs8Pp6cnePj43F8hJGFfjlDS7u7uebm' +
'5ebm5hkaG7u6uZGaoZCbokJDQ7O/yVJQUNvc3Pf4+ZmZm5iYmUhLT9zc23J3eXBsand2d2BsdfHx' +
'8Ts6OdDQz+rs7k9WW05RVurd0evu70RJTmFVU4SEg1JUVllgZjg+Qz4/QtvPwS8uL5+nsyYpLu7t' +
'7N3e3lFSU+zu77i5uGVlZ9rZ2O3v8fv7/FBTWNTU0/Hw7jVARoiFgu/w8Xx7epKcphMQD7i4t/Xx' +
'7bOztFVaYTQ2O2pvc6KipJidp6yrqENMV5CQj5ahqeHj5dXV1UM2LtHR0llZWDxJUr3H09PU1G5t' +
'bvn6+5ydnXaEjDU1NTI4PSIiIllYWDs9QHB8gvX19Z6rtfn6+vLy8r++vpCRkE5PUkpLUUNFSkdH' +
'SFFUWGhxd66tq2t0ezlCR4qKiYiIiouLi1VXXu7p5YiTmmJnbr/Av1lcXbG3u2hmZa+yua+5wnl5' +
'eZiYlqmmpNjW1oeHhjg7QYqKiiopKTI1N7nEyqq1vCImKztFTJKQkFlcYCQmJvb4+DA4Q399e8vG' +
'wVxaWIuXnkpMUWBiacbHxqKhoZ6dnV9hY4iQlh0dH2BpcWBlajQ+RURBQBcaH8zMzMHBxQ4RFB0d' +
'Hr29vF9fYqampxISFPz8/J6QgywrLF9eXXF0eP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALAALAAAAAAQABAA' +
'AAjoAGHBUuQmhRwglSAJXLiQU6kBmB5IajTGDEOBfFRB0ZNhEJcGXhLBEgJgoZ0VZxxMWQMI1Z4o' +
'nlwUUoACViRXqU5RIAXLT5IZFnT8oMRohwlNAThYYSKQjZMLaWqg6dMFiY05OCIooZMDgpEQZESE' +
'gQMKAwNBhFoZuNSpzqhACEq8KSIK1gQCGywtaYLIR4Ash/DAugICgKNPMrD8kSAmk4YPMZ6s2iLw' +
'CAxWWohUYDGiiqEDX25chEUjyKYeQwS0AbOIxGiBk0Ll6aDmUQEerwXeUVHmlak4uReeoNLihZTg' +
'Cxd4SMAwIAA7';
image['gauls'] = 'R0lGODlhEAAQAPfCAP7+/v+OAP39/fHx8f+PADqNItV2CLS9x5BfK8G1pO18ANd2BHp2b7J6NqZl' +
'FrEAF91zAOp9Af/Xoty1io2FfjMzM/2IAYiFfy0jFzokDb6BOG40HrSjj+7GmZ1fGLiiey9zHP//' +
'/4YoLYBOFN93AJyEZtF0C5NQAJxqL/+KAJF/auCUO//ToPeCAJd/ZIh0Wp0AHK2rqv2HAJ+kqLFa' +
'ALuceGxLIMFwE5sMI9avhaIAHLfDzlRUVNZuAP/Tnvr6+nxbCZiDaON4AaJ7Xi2XI7+bdJaboJ2d' +
'nbSXdZ99Wd64j6F6S5KTln9hQfuFAJyHbZiCZsCQWaWlpYl/cJmFao57YnIwHmFTKaGVh/fy63sD' +
'HJyHa6d0OKaPc46TmOjo6K+xtHYuHqpcAqdjGzo7PMjIyNV3CmZmZvz8/IRtU0JfFN+3iv/bpcip' +
'f6NzPP/YpKBaB//Uoih7HL2hfMXM0oeHiJRmMf+KAzefJZF7XzKWIurq6oOJj11dXct1FNrb2rAA' +
'HLqyp9GcYP3Qo5qFanJjUcC/vcF6KK+vr/3Wp9Swh29hTea/kx1FEriegP/nrzdnFSFsGKKTf6lb' +
'AbB6Oo2NjZpaE2VjYv7NnJyCZcvLy/Dw8DmPI2NLE/z7+fvPm7rH1YOCgf+IAPiCAIluT8BlANzC' +
'kmVIH6F8UjBzHIJDBMjIybq6utnZ2pOPisida2NVQ4wmN4GGjD+CJZV2T87OzcCGRPf29s1tAqdZ' +
'A957CmxeRntMF62KYoBqUOnq6KuGWuaBDf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMIALAAAAAAQABAA' +
'AAj3AIUJ7HNGgMCDCA+WqXBECphVXwAkPFiJRwhNRuh4YTIgoUQ0ZBDVkgVqx4wLrAwK3BOKwiU+' +
'BwK94rIFQx2EsOCQKPUEiyUnBl4s6niQV4QUKxi18dUjWI0pPxCisiBKQyEoS0bpQhIkwS+JwsQE' +
'WOCmRJVDAfw4UvQpB4c/wk44SJNoDZUbQqIIsjWIhY8ihjLs+vBoQq9cI7rgMqEkDiYJLrTgEDHE' +
'FDAaKCjJaGGnwxs2eWDoAPQgFoJJpMwQuEPL1ZxMMTbYOGUljCoPSRRAaCDJU6tNwiLJwaOHCJBO' +
'V8Y0YZAFYapGIApwUgNpFiEVtxIGBAA7';
image['natar'] = 'R0lGODlhEAAQAOZnADQeAFwkANq2Jdm3Ji4cBrBzAI1mTaiHWmg+AG5NBrB2AOrm1mhLDHNHAG8z' +
'AEctCuLbvH1HAI1eEfDDkUYjAPj111QxAF0xAO/WOnxgFyUfE5+HHuzXjNSzOryeaPDjxce7svzz' +
'zdCyfLeOEf/lOZ19EebLmt1yAK+HHWo5ALuohvXpxqh7EbqQTP/tnPWFNOm8GueAJffrsigeDP/l' +
'5TMaAEMtFC0bAM6cE144CVQrAP8RA+rOkXNgGlNAD/XXLZlcDKqHV9dmDVgtApuATkooBfzyx/PV' +
'ae3m3NijEeTMf9/LpP+VLPWVULiEJlkjANmwNPXgfeFwK6B6Is6wdu/it+zRNlchAJFuGOvWl/fv' +
'1+rLveHCjtmoTEcuBL+TYfgrFuzNreyyk8KbHevk1/nrpt+kF////wAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5' +
'BAEAAGcALAAAAAAQABAAAAeFgGeCg4SCVWFbNIWLJmYvYGKLhV0RTFITkoNkVgkWUzyLRi4yFRg4' +
'XkQqi2VRPyRNSQ8gkhAZAwInOzESmSsXWCM3QhsomWcFFDYlPR1KmUstAUU+LGMcklxfDlc1OQwG' +
'IYtHHilPAFrGZwowOgRI6SJDQFAf6VRBDTNOWekHCBoL0gkKBAA7';
image['crop'] = 'R0lGODlhEgAMAOYAAIhNJfn05+LHqcyogumqOqKFYuGRKvvlxLp3Jt+ybP///+DEicSISODQwPHp' +
'3+GqY+vGj821ncORQ/j39OGfT+CpUPHIdu7Xr/HavNx7GujHnPPo1cWgbtezjfG6W6JSFtvBpvfw' +
'6NiBKv778LiQZ+zdw/DXs96+oPKWI+urUOjUtuy8Qfvq0//13ujRhPjIbOW2ctS1g//mxfzx4d7F' +
'n8mMWuzRn82NNvbbqfrt0vHNgObYvNq9jP/89uiULvTZvOfNlv/55vz59ezgtv/x5evbzPbq2Y1V' +
'Jfjsxt7FlPfm3vLGefTAXd69pfCyVeTKivG3dvvo0f///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5' +
'BAUUAFIALAAAAAASAAwAAAeCgFKCUkIhg4KFh4obMTlGIBsbJyo9ij0BQTQ8NkkcAxdAFwIHAYMB' +
'Q0gLC086LzAQHT8CKqWDPTsRGC4eK0wWF0QNIFGHMyVFRjhOBChLI4rQUgESCB8k0dATBUcANZXY' +
'gyMPIhk+LeCDQlApBhQs6IINCRU3DBrf4A4HJiYltYeBAAA7';
image['wait'] = 'R0lGODlhFgAWAPfoAP39/fz8/Pv7+/r6+vDw8Pb29vn5+fHx8fj4+Pf39/T09PPz8/Ly8u/v7+Xl' +
'5ebm5vX19e3t7e7u7uvr6+fn5+jo6NbW1tPT09TU1OTk5Nvb29XV1ezs7MTExOPj4+np6dzc3AAA' +
'AOrq6t3d3djY2OLi4sjIyNfX18nJyc7OzsrKyt/f39LS0tDQ0Lq6uoiIiMPDw729vcXFxdra2s/P' +
'z9nZ2ba2tqysrMvLy97e3r+/v76+voyMjMfHx3Fxcc3NzczMzNHR0bi4uLW1tbKyspKSkoqKiqCg' +
'oOHh4XR0dMHBwZOTk4mJieDg4IuLi8DAwLS0tLu7u5WVlbm5uWhoaHp6eqSkpLGxsZeXl8bGxpub' +
'm7Ozs5aWlpSUlG9vb3JycpCQkHNzc4KCgllZWW1tbWBgYE9PTzs7O4eHh4+Pj7y8vGtra8LCwmlp' +
'aTc3N3BwcJiYmIaGhmpqalhYWGNjY6amplxcXHl5eVRUVH5+fnx8fKioqEFBQUZGRjw8PLe3t4SE' +
'hHV1dYWFhZmZmV1dXVVVVVtbW42NjVdXV1FRUYODg5qamktLS0BAQKGhoS4uLoGBgUVFRbCwsD4+' +
'PpGRkUJCQq2trRwcHCcnJ6Kioqurqx8fH5ycnE5OTmxsbGRkZFZWVqOjox0dHWFhYSsrK1NTUzU1' +
'NSgoKJ6engEBAWZmZp+fnwwMDEdHR6qqqjIyMoCAgB4eHiAgIBkZGS8vLzg4OCQkJEpKSo6OjiIi' +
'ImVlZZ2dnSUlJXt7exUVFUlJST8/PykpKaWlpW5ubjo6Ojk5OX19fampqa6urqenp15eXnZ2dgUF' +
'Ba+vrz09PURERBoaGgkJCTMzMyYmJgQEBBAQEFJSUkNDQxEREWdnZzExMX9/f3h4eFBQUBISEiws' +
'LAcHB01NTUxMTDAwMCMjIyEhIf7+/v///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEA' +
'AAAh+QQJCgDoACwAAAAAFgAWAAAI/wDRCRxIMAAAgggTIpTgQKFDcxPOCeRhRyK6AeYcDgz3R+Kt' +
'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' +
'wv8QBQQAOw==';
//f1 = 9crops
image['f1'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAM2SURBVHjaVJPLb9t0' +
'AMd/tn9O4iRu4iVum8Z5rk4f65q2abuyajBBL9ukAtIQhx05bBND/AW7cUAIECdOvHYbQkLisU0g' +
'YB1DRdnaLF27NEnjPpKmeTlx4iR27DzMoQiV7+V7+Xxu3y+iaRo4Ebl+gGm1zYL4fG/7zZlpDWDG' +
'U9NoT8Wh7iSGHGtqF6wn18dsFaDEZQWIzcOyDLz9/gEKiWQKH/94X+al2+98Pnd28VhDj6tRzx8m' +
'vhFzd+tNpYeRLis22d+FWDublX5/+kdTS996+8qND1/+5M7tk1pLrq68vjDp9pxBOwc2bIcweRsd' +
'sqyq0bx+zHNt0bmMN065bM4Hj8KFvAwAQGpl4fFP73nHPQYTXSunCHMgmd9xDRiC7GvxZG3zzxUh' +
'szZx/ipvdbjoMbTd6iLaXOgC2pQyeqNcazaPcruKoqFQJ8Lp7WyrpDY6+/G+h3cdJmKCNXkRUcZx' +
'Z7+yl1lbjYSRFv+1niQ6HQS2EsA435bzBQGuJ/VSesXuDxLFLFJNW84ux3MlwxCtk9jw1oPAuBmq' +
'0n6lNCjyQrweYQbxEZqMhFO0M9Tz+fnqoTIURHwjQk+GdoZL7gQDLOudwPEimqgwYuHvtszZLR4n' +
'WWw1OBm6TBTjD13yuk67Db1ENjYT6OLgybPdpEn3YmmByJaPkNTePcYQbsNRc58IpHquOoTjjeSB' +
'8iJdTu3GzCQzFfIBVN3ewjGqx9iaOf6p0hlEMQ1WhBphIKtFgSu2dQbVTjdytY37sXvBmcAPT776' +
'/pdf05yRdRQuj0qI1k0eaW+cvwlN1pcS0d8OhEfckVGIrVOU2Tl+IZKCRrJ6cWpqNRrICPo5j2PC' +
'XSQsvmFqa/b0u353EKUpkmZvba7B7rd3qEZ5xLuA5HFeLSf2uWufXbfhs0tCtbL7HTEwxlf41S3e' +
'Zjnz70pGGPdby1dZ3yBDWWcZGNv7ALryX974op9y+LHSuUmfsp3hYuE4Fx0Yft9icQIA4PHGrN7Q' +
'9Ed/pX7+NJWWZf+SlI4+60VLfEFj7JOLr8DD4SoWHJ0/R/dR/3vAf2kC0FHEjcjK442HtM02zwbt' +
'mp6cetWCwJPYPwMAUFSFEtYm3DUAAAAASUVORK5CYII=';
//f2 = +iron
image['f2'] = 'R0lGODlhEgAMAOYAAA4SDOvhzaaOdXZrXM/EtFJKPv///7Ozqj05NIR5aPDu62VXT+jeyTAkFYZu' +
'XKWXkV9JM5yEb9nSynZuaCQiG8y/r+3n45N8bGlUQ6OSgVZTTd/f3Ec4MYtzZPr38q6bkSEbGMK1' +
'pW5XSD8xItvOxIuFepmGeOXXvH5zcHpnVGZWRkxBMrWjlK+bj2lkVOTe1/LlyF1JOYBxXMO2raCL' +
'cz0rGCkhGUM5Mt3TyaORe3VwZurl4HxtXPn49/bx7JRzY0dEPYt7amZfUpaCbsvGv7+3sDInHJqF' +
'cR4hH3JVQ1NRUK6gmpmJfHZjUPDmzVlLRYFzZEJCMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA' +
'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5' +
'BAUUAAYALAAAAAASAAwAAAeFgAaCg4SFhocWPoeLGxo6BAEMAYceOEsPSkgALicwToUKFSEVHxw2' +
'FFEFMzgHhAoJPBAtLCkqIUcrQAVChEUYTTEdOQIXDwsNHAMjhDNJPEFQCUMiIDc1ND8OhDsdHSso' +
'CAMZRkwXIYczDilPICsyQjMkiwoZESYTJUQ9PYuCPS8S+PULBAA7';
//f3 = normal
image['f3'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAANASURBVHjaXJNLbNN2' +
'AMb/duy8m9jNo0uTNGnzapWlKYWGrNq6TZsmHoKhje2wXXgctkoTEgcOSNyQJg0kmIS4IFUIcULT' +
'HmIDwcQGW7cKaGmSkrrJErdJk5AmTuwkjp26JvYO1bZq3+X7Dr/v9n2QLMtgh6r1+uPEbJurAV33' +
'QDgiSUDXuwuSBSWi2okh/yYZiCe/PLB3KCh1+SsPrl86dkYtaRGYiy3/ePH2Xb7KnTtxNTo2tQ3D' +
'2xZLrM7FFlCpm0z/oTa1D0Y+CjmHmgJdpcRf5n/l5cKpTw5PX3jzq5mzQP6nVim3cGWRpdYm/IdN' +
'+uHkCvj4tROtXCcxm1jakIOeY6873kdZ3G113Z+d3yhzAACoI0h34t+qpAy5Tq/Va8ePnMbypTrx' +
'nSXgZYn6Istw5efB6IcU9orTPKwQBRFIkT1TSKNJug3xTIEesGNHo2MySAov2zyRKsBYnwXDf76p' +
'C/iCXm2u1mRRNICzjxYTW5AS4irXlLCE6HGwuQKgUUGkczSUy2mgjRiw+zSVItwoGEOHUi8otd2i' +
'7PifJO95h7VId7NI8bZWmkyxcYdNFejVpxdXMeceqb+PYQpi/ygYHGakDmJ1kplM2O/zu19F0Qqc' +
'YRzNypzIZ809LruuyrfJjsJu7LEFxvcNOjwOFUiVlsf9Mio/WcymtCjxblRTrJeg7NpPDs1TUTGi' +
'NzQBx5Zb/SjS/isvEAWaJAmdwRkedwN4k0iiCCY7LFy5ttDZssIKGaHppkatZ6oMSYlKlWA2s+XW' +
'0h3ibmi3/4enM9/fv5fP6rw2av8ID6RuuiQdmZxGtMbJ9NqDfOM38oWusfwMw3X24BuxrEKjp98K' +
'j/4Z864zyojbFhqoqg1uH768e+hzj2sMtvb2mH1fPJ9HpFs3jG3K74rCZSUl1NK57Kdff2ZCJt5r' +
'tOjVb9R9I3SDmVuizIYgtL2SEafr6KEPvC7rAIZPOFFi9bzCWZ2ZnrFi/R6kFg0Nba0USWKeyCxY' +
'fKcwfOC/KeODE+GLs+Tty+Q6z3ne6eTjcSlO1SuywxKanFKUPA3FaCASsRpN2zz0v+NwAIhCc+nZ' +
'o98TD82m3qhvzAzUPeG3jTC6E/t7AGGggry6qvqHAAAAAElFTkSuQmCC';
//f4 = +clay
image['f4'] = 'R0lGODlhEgAMAOYAAJBcMPHWwMahh7R4VMdQHP727ci6sNt6VqtlPsltT+rl48JrQtivpbaIZ96F' +
'XI9YSOjGr+m1iNphNrxqPvPr3dGomc14VOVsSZxxSeCeduPHvPB8S9u+sqFWLubhwLteNP///8iw' +
'lNJpRcmKacldMNdrNeSJY9JuS6VkT+17U9CCWt62l92HTcl5Wvjz8PjdxeDEvLxwUfTQsKZhPNep' +
'hfHg2JNhROrYz9jCs8OWduFpKtW3pZtzWu/mz8xvS/B+W8lyQOzMsfR+Q+qDVqxmTPDHp/fy6+Zr' +
'QMyZZrdtS+R1U86betSunNh9WeaWaNFgK9uzo7+Pcei0kp5bOtdxOeR6S869tNBZF//69o9jVu6B' +
'PqVbN8SRZvKQYOJ2SeHRx61jQeTPvfDh29a2qs1ySs2DYNh+Uu6GVMxyQpNaOPLWxdBrP7eLdOa1' +
'jORmN+ZzSr9jNNCslNyynMOAXfb19PTjyaRmQevYzqN1V+aLVb1rSv///wAAAAAAAAAAAAAAACH5' +
'BAUUAHsALAAAAAASAAwAAAeygHuCglhYg4eIg3Q5RWFhAS8FiYcKAxF4KAlmQZOCODtsNHMnKV1F' +
'nXsCMhQhZSYZEVxxapKDYndLIzwDJGQ2aWA+DhCHVnUQIxNUWiwICwcpVSuHBh49UWhvZ05JTUpK' +
'XipyhntWGA0qJVMAM3pAWw9EC2ZSRntfHXAlQjN2FiJVwGRp8WNDnhp7bnwgcEUHmglrJLghE+PJ' +
'kQtDEGIZU4EJkzAcGDBgogEGFCgMOLgIBAA7';
//f5 = +lumber
image['f5'] = 'R0lGODlhEgAMAOYAAP/////+/v/++/38+/369/v6+fHt6e/p4+7n4u/f1OPc1tjUz9rTy9zRyNrQ' +
'xfzIi/fEnvTEkdLGvfa/i+/BcO6+btK9pPSzgOe1g9e4lu+0b+u1dvGxiNe4ht60eOqwdeSxd/qr' +
'adCxguinb+WnatOnh9+mdOGked6jfuCmU9CnZrSqnuWgcNyicdija+aeYrukkdqgVNGbctGadeOX' +
'ZM+afNibVuOXXLeeitGaXNWaVLWcjtKUd9qXSKmckK+bibWYfr+UedCUSN6OWteSQbWVft2NRdqJ' +
'RtyKOsSLV6qPbMWKRL6HZ8GKRZ6MgbuJU8qDTKiJb72CVNZ+NLaBadt7OcF8T8l5SMZ1W8Z4Qq96' +
'UsdyPqx1UrB3PbB1P7BxTLtpMaNnPKRkO3tiTptQKHpYM5BSLoxOOGNRSIBJNoFIOHNKKnk7Kmw7' +
'LGc7H10zGk4yJ0M0KEUzJ1YsIlArFEUuH0wlEjgiGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5' +
'BAUUAAAALAAAAAASAAwAAAeRgACCg4SCChYIAYqFgytOPzUnTFRDVg6MAAtRJRA5ZW0xWGoEjEVa' +
'LDdgb2wbPHMGjDMtLhdpcF80WXE7jEo9HSAyZ1wjV2hAhQVjKFVINlBiEVtudweDA0EmE09hdHY6' +
'Lw9mcoUJRykfFV51FBgqQms+hQ1TRhxNTRJEIRokMJg4kpDxwABABildRAjAxLBhIAA7';
//f6 = 15crops
image['f6'] = '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';
//w1 = +25% lumber per hour
image['w1'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMcSURBVHjaVJNdbFNl' +
'HId/73vec3rWrittN+e0oEJkCRcG3FSiwtwCBmQjRDKFxIwLkuEM8TMYP4hoTPTCC2KIIUG50Ghw' +
'KMaQgHxEMWPgwDWjZSvb2AbLVunWr21tT09Pz3v+XmgWeK6f393vYUSEe5nNJGKTQ7GpG40rH18V' +
'qleFy+WqBLtXoru4NtbfN/L7xdgp9izwMN4/9hYRne4/fvrqz0RkFs1FUyzu/+z/revLva3rtgR0' +
'P1mADsdG31DPJ99/Ueev0QRveazFNBzdXQFAAChb1kL+nzd/2Dc8MJFe+NGturVHNF7kzpzc81VX' +
'NBJDBQuPRve0dWxbu3VV6AmmcA5A1cTl2KVIeAgrkJxPJmhGz+nBQDB2aySairElCnSaik/v3/9Z' +
'JD7AFA5AxCYGPT47m87xInMqmbhflJ2yaqipRObU2FnxgGYXLJjgIeGo9sFvj6gFrblxi+JZXfnu' +
'4Q+mZxMZ17xMmghwWYIsSils5lHEAn/tpV3bG5uGRkfMoJyejP/UfZI8pLAV/Hrv4ATdNlFkJgvJ' +
'gCp4QSuRJgkOpenTzvc6Wt++cft6uGfA9aAu5+2SanOjaKIGcOAvuIPL78vDMsmq1WseqlimMdWp' +
'cg4e/xqAvQRUBhkELwwYfO3S1cjC5/N92NL1aO3SdGEuj5J0pNfSFTC4UOX3RsIXu8/9guWwUiVY' +
'2PHMVkzdubVt95oDh1/Nl1IX/u6ubw+xFo5mKJuUp99o6Ni3sXf8TN/AH3geaELdBv83xz6yrTyI' +
'KDJ8/ma8p0Az5UKq4fU1WA80c2zEKx+/eOLXQxveeW48NXjg6N6mnfUnrxw15Ky0CURUKlvjqWsG' +
'xXv7z/DNKtqAp1Ddpn939siOz3eiCp2HdpPM3py8cMcYzsyl/z+XJlS3UzOTSvprqzY1rPsrfOnl' +
'9vbWlU82rd+ckwtjL1yp9XlL3PFWL0Ne91cHALDFAjLZtC2M0eGr0ejl7bs6vcKfzCU8QpvPzmou' +
'n1niAb0uGKj+T2Z3hyPLjmHlijJnmnnicBxbcM3rDlCZV1b4VE1ZNP8dAIcLlNu3u2RsAAAAAElF' +
'TkSuQmCC';
//w2 = +25% lumber per hour
image['w2'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMySURBVHjaTJNLbBtV' +
'GIXveF6djD22x66fTe0aaJyEiDzaNCHCoiiFPkAqLKDApmIJCzawAIRYdM8CxKqV2EBVsWkpLZVo' +
'kQKpCm4UGhJsxaS2Y9eOOx577BnPy565c1lEKjmbcxbf0b/5D4YQAntkDyBB4Wtbfzwo3WVoJjN1' +
'OkBFLQjdbvdejHiSTKMv682+rX959dO7lescGbCAUdHWPz75dafXaNZrcf4QzdC7sGvXdE2vSYUh' +
'D1lWHywVbhAq+4w6GqOS3y9d/OLyhwDRgZBHVlvA2XvNAaL8yOfxeajI0ubNQ7G02VLaZkEVCBpy' +
'N7OXSKL61vMXNozf5A393ZlP9nlxDCGUL5VuCRdkRzhozN258/NhNrjlqm+4ZbELj4LAmeOot++x' +
'UUqu6cVHpHiGO/f5ye8Io73+69rbV7bzwA2GPfdpI9RtwW1cN3nKaWlqHK7cazsAMHxNLCAPGw0f' +
'SzkI4rOnwE8rt+j2mF10ysuw0R4s4/UarTkFZdamKhpxdvyDIc2TVYtRLtLXNZ8nOhKfIG78Xd/o' +
'8OMcFWbp+cVBp+O6fTs42KYW513vn+jfb/DjsRE5bDZFZBWqslnPS9mOLOKvv/oiY+M8hKOLO09N' +
'qjZwQRlN8rNTPtgLwgRr1ct/1jurmYM+vxrqxQ162qQQSRwZWZg8uhDrPr6c+/bHX8p2D8OQlnpW' +
'WTdRtaonCe+YUk0kcEG53mDCW9ogd0048EIRkwypIm8Wr3xFJWd/KF7LCff8+LBklGMT4ciwr886' +
'9kOHXJZjoRmWMhjfaK0hvHPuI8JL+dr1xg5DTh2IzaBMbeX3MaplpV/2Wkkpvy4qpS4pzyVOv5E5' +
'H5qfzq1eTe+kjk0uEC4XNjdyIpp8OuLnQ+kpqlLxl3P/jgZ70Xw4xyVap+j9ocNjqX/E7HE9zg5F' +
'E0eeAwBgu68stgXRKAeDgX7P+ubie0tkFg4B2Aeved/87PwlyWq2ewLQ0TA/wXm4/2sAgE5XUvqi' +
'qGyXa/lmU9pczfrTyVcyZ6N8GFoYBViO2u/387swtnc49gCqpkKyNDTaD/9aTk2/hFxIkRWG5ALe' +
'CE5iT8j/BgD2QplKmDyYIAAAAABJRU5ErkJggg==';
//w3 = +25% lumber per hour, +25% crop per hour
image['w3'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAANJSURBVHjaXJNfbBN1' +
'AMd/96+96/Xvtb2Wtavtev2z/tmaMTe2SQqxjEXCvwR9MfIiEXnxhcQHE+ODiQ+gIYEXiCY6EkOC' +
'M+oURBZDXJg43dYWxsIqo7Su4+7W23pt6b/d9XyAyOL37Zt8vvm+fL+Qoihgm1pSc37pD6neEMps' +
'JNjPdIQBDCRJRjFkO4ZuN2JJfPvinr/5lA1xqOyyZz0srat6ArFE5HUdbjGSNE6on5HQs7aSzF75' +
'69NCtpBaTuoUCnFXq66MFjHMTPKPZ8DVM5cOvHIkt5rrMPkNesPzWIktv3d5b5JYkFdBr3W4AW9W' +
'aptOJMhVMjTuTnS/Fezf6fQwkpgTN+seS5TUalEAwFcrpx9uLehzHVajrbftnK2yoQa+yxhh6Zi/' +
'd2h07xvT507WaSvz5vskVFgTs148jOb55OXpLyg/RlvNp8fG7flkcOPlBqqul7hYdCgW8rOlOzRD' +
'CGsPWuJDAlZLalWzKSGe3fqpid/dSvDU6AXp/t1fv/+EJLw6Zl9ibIR/MFvL/xywFIgdto5wF7a+' +
'aITWko9m8kIF6dvv44s5q2urp5+srsM1WQsZsM7uMCqmPGSmyNfaAJhNehTCYQlMFme/fjoOwwja' +
'EptYV51HS5/fPhOyuo6+M2XX2mviY34F8kQj5qeZTPaJo9OFYEBot7+7n04J9VAAwKRTx/FNyyNm' +
'/ibILmv4ny6tTpzvovzFtu7Lm9e8bkNiKCoURUgpEzDrzxoS3NF99An0UM8JYeKbIKwZiX8Ue21w' +
'/MJJI+7Opcw/Vs6yGmHpt+wp30GPTX8vncwKlpH4u6W1Je9LXrSPGVjoeXVx/tsPj13/5Z8riypJ' +
'q/Cpax8YtRalqflBmHM8cQ0HurlWXzh+WIY277aauEoPKYqS5wr3lm/Edx+6OPkZl14AGokZOjKw' +
'5b89dz0U3wNXOYrZtcPhkBobFbHspXeiCPJ8XA2lnS38CRlNcvpWafqW/fjHHLeo1OqBgeHVlaTV' +
'FdmS6rVyjVJ32mnniynjEGwjfTCBz7DsePoqPJUk2la3PmzZ8FGd0Yq4gci4XeunTOb/P4AymYEM' +
'ugePD+rglfyc1+Bzmr2YQmJNlRl3UzoawaD/4H8HADMQb3Dmz/46AAAAAElFTkSuQmCC';
//w4 = +25% clay per hour
image['w4'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAALeSURBVHjaXJPLbxtV' +
'GMW/+5iZ63n4EXvsxiVx4ySt0waSBVRdUQRCYsGCHf8eqy5ZI2VRqaJqKiht0wCBunkpDrHj2ON5' +
'+M7jPlhQRRVnczbnJ53FOUhrDR8oVzpOZyIPhcoIMUERkzCHeaZpfRhD11hWiEl8EfSfqZNXppgT' +
'LXK/yT75UpOKFtqmlQWvdQ3T/yxKwqvJq9FPP4T7b9aXbqRRUAA1hwupJKUH3yJCUhmcTcKmt+w6' +
'ZQDAAJDw+DI6NEhYXazfXFmaxunPe/0Xb89RLhSf8yQDQAhjaulhfDznyfuSO092sJX31ltYRnh6' +
'EL89/HPnSbu30tm6M/M3X/bl3Y/XSjaTSlFCdE6XGrdp/3w/MU4/8jpapAAoDHIAemuzhwzS3/+7' +
'fo896PpKDUDdNFUKfFTkWWyW6CwaZTBqNzcIVoPdx+Onu5str85YEszDs0EWFcjxnppXJ03je2PD' +
'jmKVz8M2R0fnr5mNIf0n+P23wY+PfL8VJfPp4J2mVm/7M69Ei7SYEvzH+Ko8HDFVGG6tuvUFLZQm' +
'WhlKO1W7+83XZDA0Z9HZLCuE0EpFXLjMaGlUctwXxZRbtptE+ekROr44UJRjLSkSVnFRnO3lg8vg' +
'+a/zTHRW1zhPTWoYFAPSidBKahtlcu0hNTGLiykz7Vzik6HddG97G3Vbg4iTieV4iBzgOcPQPo9V' +
'GisNQ9tpb39F65XF+HIiQBFCE57/NSttbX9eaj90j3bFqA+NLjPLmSrkipLHbwgzSWV94cZdpLW+' +
'Ci7H/ISVGEaIIMRnF+Lgl/rhayHUNOHJ/e8Cp3Ont4h0KtK8VlqteA0KAPWqL2URpkPKTKx59vjR' +
'9OXeaTJr+E3v0/vV9W7Nqikhixx7xnLFa7wfFwA0623fuaU44oKy1a1Ks8GpixzX7N4zyi1QSqbY' +
't5dbC4v/fwAASKnCJIj5WIzfGcClYelyxyCObZXLTo0QfJ38dwDmF43HaQvrfgAAAABJRU5ErkJg' +
'gg==';
//w5 = +25% clay per hour
image['w5'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAL8SURBVHjaXJNBbNtU' +
'HIf/z+/Zju0Xx0lTmiZZ13XqmnUwJLZVCA0khJiEhLRJ3HdCXBF3TtwRSNxASDtwASGQyoWxjkpo' +
'HR1jFWMrm1jEQpqmsKZxbMd+fs/Oe9ymjd/5+27fDyml4ImxOIl4rHRNEiVBEamjHCgxbcd6EkOP' +
'Nc7Eo2AnkWOkS5J29GQfFJnQEtAGj20LOzOlpmmZT2lRFO76bc2CgmWY0f1k4/J4665t6iOR2S+c' +
'qJy7GGTlyZg3vGOu6wKABgBJwvpB23SRTiwdE0vjFOHuzsHNrQe0WMHYmORgmdQuGb3RvTiOAYBM' +
'JOzzgVfzBMuwhjv/CC1vnnxlZUFH0Tg78sZLSeHEkFcxj5WUtGJIYACOBpxt3v30/S/fOYiHnkOT' +
'v37eWft64+NLpSBvKHlv436ieYRgUHnBQMN+eunqJ3e6m2Swu3Ho+g9vDqKp2rqfPTzcvjw/GCSA' +
'yyzECt+68l00MVvn3x1LaTvuH/3VW521lcXT6NfNz8wfvzpCin2/E7oV1/Sa1VK7P1hbXV1cPna0' +
'Utrzg6UPPiK1ZznnmUo87GoJJvmD9nD7t4PG8e/Xt+erpbcuvB7lOeeCTbWoVSzMLaetKv/lW2T9' +
'ZIFepq44+XLqHEJ/rn6IbnxBphY60WTONesEejErmDrb6xUON9PTLxqzM9GVdb7dZv4OZ6nz/HP0' +
'1bc1++yFg6VW7gfLlrQtdc0R0kb7POlGXdFq1VcuCnL8hnuG1ZuTlIdCwe2bbqohpdSdrc+Ta9/U' +
'Mn1vYfb3Oj1jLNW9oj07E4hppdEojnI2nGYP9Ud9ItkgK82/9h5SSoXxqPvvVQtLYpZNo2FWnun0' +
'elHAFo/W2NjXCTENO8dYYBEG4VzllIcQAQDX8aar50bib9CVpmk4DUQ4SvwgF1TXTSUVE0kmc8Hk' +
'TGHOQ+iplP3RaJjsChUhDMUiNQw9HnOEQGRCcGEArdJm2av8/wEAMMmUH+2zLMxBEIInMlcSETAs' +
'wy3Taayjx+R/AwAykY0CTY6IIQAAAABJRU5ErkJggg==';
//w6 = +25% clay per hour, +25% crop per hour
image['w6'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMNSURBVHjaXJO/bxt1' +
'AMW/v+6+9v3w+YfOOTshjtuSJikNrdQOIUiIIeqSii5FQmJhQGz8AZU6szKgLkjMVNAtEKiISFCr' +
'REBSiTitYqekdlP7fNi+8519Z9+vL0OjqvCWt7yP3vIeZIyB1xRHUd9zgHco0L7vEwB5RFRIzwkJ' +
'/HoMvsLGI9+wGs1et2sPlrQNkbPtsQqZJyXZINQseE1VF1KJU4y8NNvuG4MjD8D9w2Yh1ZEEKQ5I' +
'LpP3Q0CxQ1EPDO4ZjUegsJqSldM21/PckRUn0djZT4X7MhnZnkhwaDuDpKilhGHoDxkgcTR0PEWe' +
'/EwQZAQAqOuVuwdf/P5sx2nUFFpDigyxGEbYNDscMCALwjAmBGG+IFLDaX8XRAC1rX6rXTFaNYwd' +
'E85+c7fdelpV8naS65eKYuD1EInEYi7woygYEk7LCDUONWH9722Sjofjs77XyZeVysGzzuF9KT32' +
'Qx5heeiDJLIWi4NyuRSHUhR7w271xHkbf76Ao/2NnZZNBDpR1Kbyxewbc3vf/6xazpvKhAZpx+Kr' +
'fbHbPclSUyyeefD1vcqvj0nlcU3TK5dmTooXPrWfOJ3N9XSSX3i+k1dEVRgLwMe6eTyzPJr94P6j' +
'zeral2KhvPLeJ6S4slp/WFs6fzGkGbi7JTaewFR6cXlZb57o1V0z5nLT86O1r6btp7mPbgW18yCM' +
'0nOXiHr1hpFPCBdXtra/5fc2L2jnUAL2B6O1h5XG4fPyWXVVnbp85YquH2Pz6ObSx9u7P3m2DcOI' +
'6a4uS9IP67eVrfV30fwv9YP5xXmRSn+8sK5OiTyFwZnL/PJ1LyYsdDHjC/IswggkAmz3muW5dzam' +
'2R3uT0lLqimualRyez/6lA7e/9B7aynks4iFju1IcILjuNNNtv55waB30P3rN33ruivGRvuBY64m' +
'JtPXbriK5hh1ZWLGtfpZOq3lJ/8z5a7ZYSigBFnQgcw7PurR0mQpzQ+6ZhgyMI5VuZTN5P7/AABA' +
'FDDTNtzYZRhgGPn+CDDIQZrkUhlZxRx8lfx3AFiEjF34k/R2AAAAAElFTkSuQmCC';
//w7 = +25% iron per hour
image['w7'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMUSURBVHjaXJPJbxtV' +
'AIffm832LB6Pxx574rhZWqdx2qSqQEJNG1RA3EBIgNRDJW5ceuTEH8ANLhw4U4Q4ISFOHKBlV1tC' +
'aKkJOImTuPHS8T6exW/2eRxAVeF3/r7b94MYY/DUHORazpRkoghHYRATgCAhzSVElmOfxuATLQ7A' +
'aKphyosTqFY7IEiiurboOR4EpOfEHJ1RxHIylfiPNrPQ7uMf0znu7sHX68oWS2ZJSGUVHjkoiAKB' +
'5wzTjD04l1kR0yIAgAAA2LY9nLXGQefjn97b3X/ARJnyYsEiuphyu039/p2TMAgFThRzXM9qWJYF' +
'AKCiMNamTT4PL/JXrMdYEpcHmq0UAgfoO79awUjJsOXJwFk8kzo+GhEUHs1abLJKGPaYSbvjgXn7' +
'q9oZ+aUkrfg+7PSbKrWCtHQildq4UMW+0O70EJoZU4fmw1mgUyHhtDvde98dFsVzhmlmxXzEP2oZ' +
'9d/uSOcql4QMDSCemaDXsK9cXZHFzL5W180WvLvzi2H4yPYstycUw8lwdtytldTiMvsaL6QkOWM7' +
'+mDYVZWFcVxneLtfE3lBoBKUlOYxl/TtR05veP/zbz7cvLzZt9DB3kdL82sVWAlZDcmjabL3yc/v' +
'j3XtWvmDslQg37rxervbsq0pRcPlpfmNi2eFhPrwj4fbjS8Wqpm19XIArb7bLublPKdEPlBV4dKF' +
'LdjU/uzoDTW3IGW5oWa2TyaRlwQxieiD0xvpm5/dHA0m79x496ihKVJRzvKGgc6WnqVOydUI+gkB' +
'/7V7VNseri4+oxREP/TXxef2Dm8pc8qbL7x9SjzvpAWaoNXCXIpELCNCjLHj2r83f/j21k6OWY05' +
'HQN8ee3llt38cvvT66+8+uLqGyeTeoplMBENexNVqMhS/t+4RpPBYa/mIBeyTuSS9/ZvG2yz5F7d' +
'2ni+tCR5XhDjCNmOxMyryjwAgPonzVxW4dhN3WtDiNOcdGw8qO99f36FUAvFmTPyUETiZJGrZCX5' +
'/w8AAEQBmJh9FBoSL7d7xxGDStJp20JsQswKCknDJ+TfAwAS/pXt2bIF7AAAAABJRU5ErkJggg==';
//w8 = +25% iron per hour
image['w8'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMFSURBVHjaXJNLc9tU' +
'AIXvvbIkS7L1sK0oqWOSJiGZ0jYJTsuUaQoLWHSm6bY7FvwE/gK/gDUL9izYkEynTGb6mgHaacmb' +
'unk0dhw/Jct6WZb1vCzaoYWzPt+czXcgxhh8kDAKDFNPUIhxQpIkACAJYIYRWY79sAb/xaIoOKpW' +
'RrGlTApDLyBJ0h26Iy8QsnwUADYlKEKJZui3ZfSOSdyT5kGzbekqOj+1JF4kaeLB81/bDUPgxYxA' +
'B4SpOXXHGbxfi5Pgt6cbDD1xZaF8dHzUbqlZKVy8Nh1FcZwkaZoiUMr2zEP1eYlZnJNXGJZBOAE7' +
'e7sMmgJ+1ug5oiCUSuN6Cz15/Od2/REvZKy+12g2QYLMFgqxN0haAADY6h9vHb7IM/P7r16OKTlF' +
'WNBV2xv63fDZobmp1by1m9/OT5VdC3C05CVGz67dKn+ZUodVoFT7rllagoDsGK590Nvf2PxFFLN3' +
'1+5oEBKhAuI0RRGjyPd9eHYQ5emzlNPKDGxZnoZZRorCJGa80px0K7jOM7ksOfbZF7cHfaJysiUr' +
'vMQrjjXAcmPz/GEqdCj38GJN39gx16+Iq+WFGzyXm535BLM+6hZrjj41U5ynlmEqCHBvZXU609W0' +
'Hof4Qpwe1yxfZ2lp4cLnu6/3Qh98Kq+92P7r9/r9FEC1WpWkKa3rnNfVv48qxczlOyvfwL7d7gVV' +
'EJMslHKSXOk8Y0juknLtVHu1dfLHBFwOfBIjkE5TXbXN8mEmD2cKy4ijcsBPF+S8NTTuP1xn3blh' +
'R3rTq8zIsxAzx+1OLj8ucHnb9EY2sbdz3m0bSmEyRdFUjpnsqXWSS870nbPOydLVstEc6HrjtHlQ' +
'NZr8hJ31i6f2dpoWGRYtXVxFCL5zsqO1zKBBcdj29Cwrjhz884Mf+QJ1eXbRHlpqt3/96k2JLfLw' +
'wsTYR/9RuW/optdFVILIBEfE1v7ux/OTPz353h153339AwHpYm6WZbn/PwAAEIfYcFQ3sCLsE5AW' +
'MuLT1+skSn916R5NkYB4f5x/BgDBsY+vp1TMfgAAAABJRU5ErkJggg==';
//w9 = +25% iron per hour, +25% crop per hour
image['w9'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMKSURBVHjaVJNLbxtV' +
'AIXvnYd95z0ee+yJm2TsummerZpASUJBSCxQiwpSV12Vv8FfYM0GhISoxC8AhASolAgoUmgbKoSx' +
'HQc7HVup67E7nqfn4ZlhQQThrM7ik77NOTBNU3AmluEePvu94x5cXXyzxM+P7AFPCzydwzDyLEac' +
'6bFuPD3sa/cffllg8Ab9owNXcrTwZ6c787HzVVURqwR5ysN/bJZlfXR3q6BIr17/sP5oX/Lsr729' +
'NxbeK5JLUSgzLMKZHkXBsrDOMhwAAAMApEn8Vf1junCFhtf1RmZZvvEEM9bk18RwaaTT07BXkNH0' +
'hdJqngzsVhRFp7bH9QfauLtS2Ykt2nIsjADjwcRP+himUoSuu7dhXBGpT+ZKF8JMU1HEqnKJONa0' +
'nuYquZdtPUGCGXtmXzNIyHSfdcWi7+kHxihB/NSW71NKhFj74PhhBrBEb+iZRixQHkeyvp1YVtpz' +
'HsfI3mt8P3rQevedO5n+zfKltc0b2wOtHqLIj4J2t4Pf3lFmVMIo+cbJfr19uFgsnVtMxZy+oMyV' +
'1ctbV9YrtfkExyIYzWaJ2RZzyUsiV4A/3fuMX1mxTBfgQzZpqHxCQhGHFJXDHnX8n9tetSYd/dX4' +
'rvNpTdi9Bt7nikiSETG/sRbo35zD2bJIZQURhFHo0ziWAX5/Q5B+cKX9J81br9yM8TCDCDIYx1k8' +
'X67B0PoVM+8CdDGOgjSdZelMmlKD4ZCheAxSkCVeJKXpdNnuMRHZC9DYGp9cXb9GALRlGb/ksAku' +
'FcHMGGp9Y2KDJOXVGlOQQdR0tHYzBgEWdo/qS6sLyxc2BVSBaZr6rjY+/qD/POjrCOfUfKEaR6PU' +
'6ZrxkesIJLx4eXcbiRIOE9eM5rhVgeMJAABiFifwzt4fX6ir2zuv71r+UxJuzKZvnbS+ZUsLFTGP' +
'iBiHyDFMKTsvcPx/mwQAeGEycTtu5Nz77XOVKm9uvk2z+SCYOL4X+DEWQplTpVz+f1M+vUCUjq1B' +
'DMDzQQsxWU6UoyAkQBaRXI6TcRL+S/49AEw6efZwFG6nAAAAAElFTkSuQmCC';
//w10 = +25% crop per hour
image['w10'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMGSURBVHjaXJNbb9tk' +
'HIf/r89ObMdxTs15LVmzdQe6rZo2xBXsHq4Q04S0r8CH2FfYBeJ62g2TJigCUSYNwRBdOw1Gmx4S' +
'qiRL0jSp48SH2K/t11yApsHv+nnunh+KogjemmM7tjsLwGNYikIMCQghIAtaLC6+jaE3mjfHx0bb' +
'I5YqJRGPbNtvjl7EOGFl4fpQ74l0IqdWeJH7jzadTfv6vpxKAhtsHT5hHJfFHEY4oomkpldqHwTu' +
'fHo6LWnnEkoCACgAcN15V99LLCi+0361uf7qtw3XYBZSl1V5DZFCp9l6tvHFeNLOlUpdfce2LABA' +
'oR/+0XyeLAiBRz3deHT12qery3UPAAF4AAQgwDDsbf25u546U1qu3sRTcia7QjmOQyGk8MnD4XbL' +
'GC4v1XdH/c2Dv8wQZIC5A8MJAWltDJmvfvlSEVQf2RNzjJ42Hk9I+9Y7dwbOwb2Hn2uw+P71SzhE' +
'+kldZrAzP9IYQhFbrSRpvpZPX6CZGe1L9Mef3WoMtleKa5pYWq2tHXReTAZRuZzLkucZ2Kpn8eUK' +
'e6UWWyoyZcbqjU5lrRoGIWoP9mUlhsE/dV6/Hh1eyn+oW4Fv7V0Qf2SrZ8GgMcYcRza395aKEmKl' +
'A3yjlF+kgsh3wMTOrNVofvf9+lHrZV6NWKnwzU7myddbrtXnYoE5swSBjxDdGkuMIDERg0xr9tPh' +
'w0Zj972Ld69dfHdsTR88uK/EuY8+ufv7y5+No/XVslepnhWKebez/+vwavXcFcEVUOiTve5m09iJ' +
'MJcQys+Ovs0w6Rvnb6az2bisNbv9buOHFH3CwNTC/MLqbZGWi0oNRVE0NQ3d7XAi0vWR5ViL5TrD' +
'8n7gQkjFRcUKyaDXGfWaaq6QVBIZvqIlM//GNRz3dbcbV8QYr3ie5+H5ybERMjYw/mLmPLCI5njb' +
'MMUwkc+WAQHzT5q5dIE1+NNZz0bHLE9znMDzrBmEFAq9YO5aLk3EtFTS0qn/PwAAQj+azE6cwAwj' +
'HIvzCNHEB8/DcU5NyhmaRW/IvwcAoCGKmPbarn0AAAAASUVORK5CYII=';
//w11 = +25% crop per hour
image['w11'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMMSURBVHjaXJNLb9xU' +
'AEbvvX6MH/Frxs5M40ymoSEJpALaRohKtJQKqQhYtCsWiA1ISGz4JfwC1lVBQogFAoEUVQ0BWgXl' +
'1YRMmLRNmmkynbHHj7E9tse+vuyqlm99zu58kBACnluWkSC1/dBSZT1J4gIXLOJEThFE4XkMPtNG' +
'aRbkdj70V7Z/+XHph4/f/ezi5UsUEZ7220UOJFavaY0Sx76ghVFw7Dz4feXOEPc+uPYlXbCO5XS9' +
'ez7fv7JwQ+HVvt8NvGhCeVlVNQAAAgB4A7cfPZE1cbo+3QuCP5oroqi5pY5PhXxG37n37e3VWx27' +
'pdbkbnwYhREAABY5edTZfZLu1JT6rL6we7LZOTmWK+X7/y6dKc/Pm5f+OdrqRT4LMgEV9ZkzE/q5' +
'Cl+l+35XFJmN1tr0OEoGuqidvrp4eal5y/XQW1c/H0LwnjmbAeDE4Phoe3311zV09/23P4FHVsvL' +
'wjx8qjJW6ASqJgtaNRwyfzfD2+3vERVev/jV4swVXAAegZ4bHbTuTlWnYOukmQarDeZAGstIAQlk' +
'4gSL0pg3Un5uedt7tj08+OKjr2VWgWw+V9XbBbBOHsCl1d8W9HUJhuu79ptvVBGjjvAYRzlUaQiE' +
'CwNXcaLRN8vfNSpzhjDNYm25e5OlYtg83u8c/nTO6A1SVC4bWRIRxMsSwqMQAYpmKFjCfx1a6sSn' +
'CiXs7G/yPJKYU3Rdn9x7aCTZ46mzc9jjaFJwMAEsolmapGycUQLrvCbNPk65DWfFNOt1bZbBMi3Q' +
'XMOc/3N35yVrTZOVfbe73N17lXv9/KlxQ0eVcW5749Bm5qVGv0QEU53pO+5p3YSEkCgOt9qbnvWQ' +
'yrIBDdwMn508T1L3/t5NZcTw6uKFdz7kIcYg71kdU3qlUjYgIQQQ4Pi2D2xGYKts9ZG15YcDOtPR' +
'GMQJMnSVodNhHCXDtFKaqo1PvpCy6zl20AYMtqJ2kQO1VDOqZQJIGA3iYcIhuSKaZa3y/wcAAHAG' +
'+oMOARijFFEkG+U5LmjA8oysSQbFwGfkfwMAgcyOomwoRfcAAAAASUVORK5CYII=';
//w12 = +50% crop per hour
image['w12'] = 'iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAIAAACUZLgLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAA' +
'IGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAMPSURBVHjaXJPNb9Nm' +
'AMbf1/br13YSO2kap3U6UgpdYYgxgpCYRBFoh0p8bENC2oFpl104oJ124B9AnOCOBEjjhMRpp607' +
'FBBVUYvogH4IWgipk9VNXNv5cPwR+827A1L5eC7P5fe7PQ+klIKP0nKp13mNmS1AexAwLMIB+SKZ' +
'1CSJ/xiDO5rXAzXL6Xdm8miWYSBiC4ihsL9aDk74wskRScwO5Hc07n1ZraBhPkhivTBYZ0SNuOL0' +
'i2nTrv1w+JSWhVsAPDOfUqM5deDnD5rbdfz67YLYFTgcRwgSwiZShh4YjTY5Nib07CL+eyt4d39x' +
'acMxfzl+WQAIUkpt/Y4EF/vsfpaNGOD5fk/ODxhvHEIYdddYFLYTw1akew/ffnfrz0tjB3df/fUf' +
'rtNax8wy5EYhiEjkY0lAOTkyNpUUQVhEnMELZGF6ZbVRmDxXvD5884m+0HRb8N69i+NqpXTqUmCY' +
'gpIAwebs/LuKnWOxwsMuJB0KYY/dU5o8PZSTQ7s7t3K/zUBurdbzTbV0yBbUfm1leWUj2U6c2XdE' +
'1mS71Qk2Ny1RyU+UvjettuFyqLw8f/tGYuoifLQ498fsNaX974niVAPKLZo7uufoyW9egk47ZgY5' +
'3geo70e51xvI8+KM9lXZ0XV9iRMi/uvxgyHdq2kXhodTT2buCM4MCQa7HhfBSIaYem0Eq4eGJD/w' +
'47icHj22K/MTLFfXOSFWswU79kNjYbRQAxD2TN4PDNjvykMDgBAQMt0AMiwWVWfuoaMUr8A4it80' +
'ngtJDsJ0eekv3Hw09uUIifqNbS8GCS8gmRTVBlE2PwTY6NnTpZe1w+fP/gYppZbdqPvltJLcquqv' +
'1izTe6yI4oj6bSY/wXNo9dW8WVkr5lyMfcMf//HM74qIIKUUUGA0qs3oPx4zSEh3glDCiYKsPli8' +
'K6ZzR3ZPres1o17BiC1NTKYl6ZMpW/Z2M6jHTJfHSJRSVrWyVnuuFidGs+NR7POMnMaaJIqfPwAA' +
'EPeI09kOiRv3wxiE6WSOEuB6bhJnBlIqi+AO+f8AR/GJ1vfx6CgAAAAASUVORK5CYII=';
image['save'] = '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' +
'QmCC';
image['append']= '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' +
'RU5ErkJggg==';
image['note'] = 'iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0' +
'U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAK5SURBVBgZBcFPaJZ1HADwz+95n3e6uTnR' +
'EGdljRKtGCYiHTLxkIUmQeeCOnXzVnQIoi5BQV08TMo6GIiHiKI6ZEWgszzEmtpqSDP7s9ycm9NN' +
'977vnuf37fNJEWH/G6df6l676vki2YXVSCAhEpFVOU8uzMX36daNV88MH+oApIhw8O2zZz45vOuh' +
'okjrgoYAIALC7NKKEz8vmP67fee3XyfWjwwfakMJRSNt6yob68avaRQpkYhMHVlVheWV2r6tffYP' +
'jNi4eLyncWCodf7jI1Jr6sUSUkq9EdHoajQkIZALZOpEIWlPf27r4jndQy/oH9xp4c9tJk4de7eE' +
'IEGBlAgJREqKRP/yKXVcsH7r4+Ynf9eVOvrWbtK7YUt/CRBB2SBJIiW5Doqkd3nEllWj+gef1r56' +
'UldP8tfYhJt3UhTtuR0FRBAoU6FISYFGkaxePG1LfKv/gYNa/30oNW9o9vbpzvOOXj+wsvvwZ5cK' +
'CGSkRJGSIiWtK19af/uU/gef1ZoaVjRXdG7db+bMed173zJVD2QoIFdEkBG4fflrPYs/2vjIMzrT' +
'xzS6QvvWfWZGRs3tGZY2bFdnoICcQ0QQTI+e1L3wk5W82dWLR2Qtt+fvNnNuwuLeo1LvgNXNpK4C' +
'FFBn6iAysxc/8vCel636Z8SlL84a+2be+Hdjlh57R9WzWaDZKFSdCpSQq5AjvPlLx9DkrM74VwZ3' +
'POHm7JzJsUk/7PvU9Sv3yipwYlPTSjuDEqqqVtcMrG0a/+Oa9z8Ytnv7oOXNOyw9edyjffeIIIIL' +
'1yqRw0qrAiVU7ZyrnKNTS+te/9flFCYlkJdIS5UcRJEUOSnLlKs6V1DCSqueWdPVuOu1oc6aiCgE' +
'GdDfXYIIuptJSnKzkRbrKk9BCSnFe0+9cvq5lNLOED0AgkAIIEAr5zxaFk7A/5IUWNTkV3l/AAAA' +
'AElFTkSuQmCC';
image['shadow'] = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAABGdBTUEAAK/INwWK6QAAABl0RVh0' +
'U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAAlSURBVHjaYmRgYHBgQAMAAcSITRAggLAK' +
'AgQQVkGAAMIqCBBgAEtkAUah+HSWAAAAAElFTkSuQmCC';
//gauls
image['g01'] = 'R0lGODlhEAAQAOZ6APr6+vb29vv7/Hx/Z8nJyfT09Pz8/PLy8urq6urr63x8fPX19L/Bvnp9bIWGd1RXSlJTTHl5bFVWSW1vaKWllfj59/Pz8zs8OvLy866uq62trfz8/enp6oKCeWlraYGEcbGwsd3d3czMzLe5tnBwcaSln7e3uM/RurCxoWRmV4SId9jY2M7O0Nrb2IeHh7q6u1lZWby8r5aXl9rdzsjIyCEhIGJkWvLy8cvLzENGQNLVyMDApmptZQsLCYGFcPj4+aGhoVhbUbi6ooyMjJeXhIuMiX5+f9HR0YCBf4OGc15eVN3e3d/f37S1scHDwH+CdXV1YqOlnWhrXJCQf7CxmsXGqLm6opGRkZiXmoCAb56gmPHy8NfX11tbUKWql/j4+KCgoNTU1O/v76enp36AfNbW156ei5OUkpubiWlqYpqej+Pj5KutrP39/Xd6aZKWg9nZ28/Pz6Kho7S0n9fX02FhYPHx8YyNdPv7+6anmv///wAAAAAAAAAAAAAAAAAAACH5BAEAAHoALAAAAAAQABAAAAejgHqCg4IGbRklhIQCFTpOLCB5M4qCAWsraVlCVBRRCZRiNGNGEURmcycoWi2EFgRDdVM7VVYdMU1bhAFxLl1KDR8OZHAbigciVzA5SU9oZwcAigVhYCQQbjJ0C5R6ACEaHileZRjcel9HWCpSDAIG5ggvSBJqP+bdXHI8PiP3eggmJgwIsuReARxFHkB5w8EcHiZALtwZwOaeHQIKavSwceNeIAA7';
image['g02'] = 'R0lGODlhEAAQAOZuAN/f3/j4+KGhoZubm1JSUlFRUWlpaYwVAISEhJmZmdHQ0OTj4piYmP///owaAJeXl/Ly8vr29O3t7e/t7ZgsAMGwlbOzssLCwMDAwJaWlsaaQLmgadOrWc7O0r3AycWbRJ+fn+Hg4Lqqh/Dw8ZyIWJtcKfv39ebg062trbGztM7Fwqqpqcyzfurq6qFrUMmpbIsXAOHk6tza2UtLS8rQ1caPH9TV19PT04wXAGpqapNUNd/LosTExNrJwfHy9mFhYePl5svN0PPz852dnfv685JQLpAbAJMrBqiprqKiocqcQtvEk/7//8fO0PT29rZwEoWFhUhMVH1+fvTx6cnJyaers3FxcdHR0YqKiqdXLnFxclRUVMKiYdC+mbSfhrx/GsTHyvv48mNjY7JtSOfn55qampeBT7zDxpNUNtDU1W5ubpU8FZGRkfr6+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAG4ALAAAAAAQABAAQAeSgG6Cg4SDbUIQZEEiNS8eUjNqQ4WUhAoCYlZlglcoRUY4a14aSkuVp4M3AlAggiM+TII8bAQGA4QBAGBVJU9mSECVTS5HYyZObidEqMxuCysWzRgZCAmoVAxbPw+DuR1dOzEXWAU5t4QtNhUbHyRRWkmVE2kpaA4UXywSUw2FZzoHYGRRQYMLhzCUQsjoEaGZm0AAOw%3D%3D';
image['g03'] = 'R0lGODlhEAAQAPe6AP/+/ry8vP39/V9fX/T09Ka8zUZJUGNjY19fXsrY3iMsPPHx8TM8QSUrNQQFCtbX1v7//MfS2kNDQzA+SOLi4p2qs5KSlEdGRmuKm8/U2t/l532KjzhHS8jHxzJBR4GBgf///nRzdJCPj32er7e3uHl4d6ysrFJpfFdvfeHh4vz9/JOerXKUoFF0jo2jq2uHkcvLy6Cgn2l8hmd8j3SMlXOIkd/g39TT1e3x8ZeYmszR04WEhOjp5klMTf39+8PExW6DjIqktri0sIaGgZ2dnbG/wnGIj72/wIefrlhYV8C+vrrHyouLi46eor+/v2yIj7K/x32Unebm5WhoaGFqbtXf5M3Ly+/z9vv8+7y6uAoHBUVbbyMoKa2urURJUY6OjoKCgsC/v9bW1V5eXvX09Hx8fPDw8OPj42+Qrebl5r29vWyKnoCeunmbr7a6vXCPmf7+/n6JjHN2erXH01d4lN7e3fz8/HaUn2iHlevt8rCurWiFjDw8O+Ln5G+Oovv7+3Z4el5mbOnp6a26vpyprp2yv4yMjH+MmYmMirO+v2JiYuzs7GeLsY+Pj////crKypmYl7CwsG+FjldmbePp63KRqZSUlIaeuUlaYoKctsrNzra+x2iDjfr6+b/N17nDxZqip6Kos0xMTPn5+fj4+HGQmvz9/TU1Ne7u7nOMlPf396urq3x8ds7OzqKion5+fXSOnG2Gk+bt8LfGzfv9/amsrunq7cLJzgAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALoALAAAAAAQABAAAAj/AHUJHCjQRy4sm67k+kOwoS4cgVbkStNJlyobP9zkKMFqCCIqCkABCiWwVRcLBhzgarClBZ1DXmbIAqArUZEomCacQHOJDaMEtjJAoLlhkgcUbSoVuNEnk6dcWXgIxIWLAaw1UHLpEZJn0AMrO+zo0sJhBIYKjkCASZHLDIIYhgjo4vLCDxIyucQwycX3SK0wqHRxYoFnFt9IX3LRyhVhTp0Auu6UekMpl4AFA0ioyFUoiBRIo2g8cWEKQK4ABxQlkSMpVhUlBFLtWZILDqlTJnSJ6BGHkKYyMGoY0cD3jARBAl/xCdFhygcgMm7xDTBgoBNRF1wRWfWpiQ6+j8YICRi4yFIjNRQCAgA7';
image['g04'] = 'R0lGODlhEAAQAOZZAP//AKuiffr5/v/+ANzXAL+9Ffn5AOvp9Oro8bu4CPr4ALu4Adva5pyUUc3MB8jEuN3dfMrKAqKYPsjAS6CcNMO9gbW0Tujn8Pf2+J+cWPPz+7SwkLW0F9DPzurqAPz7+f39/+fn7tbU5Oro38XCveDgv9fWncPBAK6qVbGxarm3PZ2WgtbQP+fn8Pj4AL+8E7+8rdnXAOjn78W9ApiVVb+5ct7d5fHv9aWjPL69A/f3/rmxB/Lx6ezp5bq2cN3fANnVC8XCDq6lINPTCeTh3/v7/720JMTEF8nCvp6aHvn4+uDfAH1zZvr6952bctjW1ezsAMfGqv7+/7y8VpWGQvr5//38/MzLuq+lPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFkALAAAAAAQABAAQAd5gFmCg4QBNYSIWVcnKSCJiURCCgAGQRMVI4RFGxFJIo+JGBIxLzMuGS2gVj1RDg1GK6BZTzkoArJKTlA/MLKIHyYlCEg7EL4MWAMAAEtHUw+JN1QsQx4ETFKyGioFFzxNsjoWCR2+WVU+CyTmNhwAOCG+MjRAFAeygQA7';
image['g05'] = 'R0lGODlhEAAQAPe6AP/+/ry8vP39/V9fX/T09Ka8zUZJUGNjY19fXsrY3iMsPPHx8TM8QSUrNQQFCtbX1v7//MfS2kNDQzA+SOLi4p2qs5KSlEdGRmuKm8/U2t/l532KjzhHS8jHxzJBR4GBgf///nRzdJCPj32er7e3uHl4d6ysrFJpfFdvfeHh4vz9/JOerXKUoFF0jo2jq2uHkcvLy6Cgn2l8hmd8j3SMlXOIkd/g39TT1e3x8ZeYmszR04WEhOjp5klMTf39+8PExW6DjIqktri0sIaGgZ2dnbG/wnGIj72/wIefrlhYV8C+vrrHyouLi46eor+/v2yIj7K/x32Unebm5WhoaGFqbtXf5M3Ly+/z9vv8+7y6uAoHBUVbbyMoKa2urURJUY6OjoKCgsC/v9bW1V5eXvX09Hx8fPDw8OPj42+Qrebl5r29vWyKnoCeunmbr7a6vXCPmf7+/n6JjHN2erXH01d4lN7e3fz8/HaUn2iHlevt8rCurWiFjDw8O+Ln5G+Oovv7+3Z4el5mbOnp6a26vpyprp2yv4yMjH+MmYmMirO+v2JiYuzs7GeLsY+Pj////crKypmYl7CwsG+FjldmbePp63KRqZSUlIaeuUlaYoKctsrNzra+x2iDjfr6+b/N17nDxZqip6Kos0xMTPn5+fj4+HGQmvz9/TU1Ne7u7nOMlPf396urq3x8ds7OzqKion5+fXSOnG2Gk+bt8LfGzfv9/amsrunq7cLJzgAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALoALAAAAAAQABAAAAj/AHUJHCjQRy4sm67k+kOwoS4cgVbkStNJlyobP9zkKMFqCCIqCkABCiWwVRcLBhzgarClBZ1DXmbIAqArUZEomCacQHOJDaMEtjJAoLlhkgcUbSoVuNEnk6dcWXgIxIWLAaw1UHLpEZJn0AMrO+zo0sJhBIYKjkCASZHLDIIYhgjo4vLCDxIyucQwycX3SK0wqHRxYoFnFt9IX3LRyhVhTp0Auu6UekMpl4AFA0ioyFUoiBRIo2g8cWEKQK4ABxQlkSMpVhUlBFLtWZILDqlTJnSJ6BGHkKYyMGoY0cD3jARBAl/xCdFhygcgMm7xDTBgoBNRF1wRWfWpiQ6+j8YICRi4yFIjNRQCAgA7';
image['g06'] = 'R0lGODlhEAAQAPe6AP/+/ry8vP39/V9fX/T09Ka8zUZJUGNjY19fXsrY3iMsPPHx8TM8QSUrNQQFCtbX1v7//MfS2kNDQzA+SOLi4p2qs5KSlEdGRmuKm8/U2t/l532KjzhHS8jHxzJBR4GBgf///nRzdJCPj32er7e3uHl4d6ysrFJpfFdvfeHh4vz9/JOerXKUoFF0jo2jq2uHkcvLy6Cgn2l8hmd8j3SMlXOIkd/g39TT1e3x8ZeYmszR04WEhOjp5klMTf39+8PExW6DjIqktri0sIaGgZ2dnbG/wnGIj72/wIefrlhYV8C+vrrHyouLi46eor+/v2yIj7K/x32Unebm5WhoaGFqbtXf5M3Ly+/z9vv8+7y6uAoHBUVbbyMoKa2urURJUY6OjoKCgsC/v9bW1V5eXvX09Hx8fPDw8OPj42+Qrebl5r29vWyKnoCeunmbr7a6vXCPmf7+/n6JjHN2erXH01d4lN7e3fz8/HaUn2iHlevt8rCurWiFjDw8O+Ln5G+Oovv7+3Z4el5mbOnp6a26vpyprp2yv4yMjH+MmYmMirO+v2JiYuzs7GeLsY+Pj////crKypmYl7CwsG+FjldmbePp63KRqZSUlIaeuUlaYoKctsrNzra+x2iDjfr6+b/N17nDxZqip6Kos0xMTPn5+fj4+HGQmvz9/TU1Ne7u7nOMlPf396urq3x8ds7OzqKion5+fXSOnG2Gk+bt8LfGzfv9/amsrunq7cLJzgAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALoALAAAAAAQABAAAAj/AHUJHCjQRy4sm67k+kOwoS4cgVbkStNJlyobP9zkKMFqCCIqCkABCiWwVRcLBhzgarClBZ1DXmbIAqArUZEomCacQHOJDaMEtjJAoLlhkgcUbSoVuNEnk6dcWXgIxIWLAaw1UHLpEZJn0AMrO+zo0sJhBIYKjkCASZHLDIIYhgjo4vLCDxIyucQwycX3SK0wqHRxYoFnFt9IX3LRyhVhTp0Auu6UekMpl4AFA0ioyFUoiBRIo2g8cWEKQK4ABxQlkSMpVhUlBFLtWZILDqlTJnSJ6BGHkKYyMGoY0cD3jARBAl/xCdFhygcgMm7xDTBgoBNRF1wRWfWpiQ6+j8YICRi4yFIjNRQCAgA7';
image['g07'] = 'R0lGODlhEAAQANUwAPPy8+PBrMWHXOPJt/jfy8uWdP76+reAYE4/RWA/NBQGDm9RTOzq6/zy6atXJ+/Xx9O3qQAAAJlmZsxmM/vu5pmZZmYzM00wLf339vjm1N/a2syZZjMzM/v7+2ZmZszMzH5oY5kzM8yZma2qsP///rGoqfr7/P/9+/39/vPUvuewhPHKrO3AnPjq3NWpjpmZmf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADAALAAAAAAQABAAAAaXQJhwSCwahQbD8dhoZQgto6FFJRBYqhRFulKtCKeCi9U4DsYpUiGwwphdgQdMMGBRGqnoMABJPVoCLi4qGxspQgAAgl0TDg5rGW4wDAsLCRMHKgcOdSkAQwwIFyEiBCsrBQMCFhwjQxULAgEVCQUqLBIKFh4oiC8uBwoKHAIHCREXJUYvERIgEBofLy8mRqEIGktFHZ9LQQA7';
image['g08'] = 'R0lGODlhEAAQAPfHAIl6YGxjSpGKbevWsqGVeLq0o6GRdtrIp9DEo62Wd5uDY7OacdHEosa3mYZ5XoV7XLKac5uOdbesl3pwXJ6Yf4JoSbmljbaigbCgg8q1kZOCabSggMa4l+/hwLqihKOSbqeUbqSUeLijh5eGabSfhc26nLeph5WHaNLDo4FwWoZpSZiPbFpPOsi9pIRyWbqoip6GZLusiLGlir2ujbuvkZyNb52ObN3GpMWxi8Gke+LOrOXYvNW9laGPbIh4XXt0VWpcR7WjfNO7lJ+RddfEoZCAYZOGZbqqh6uUbrGigZ2Pesq6lK6igGdeRa6PZcKsiqWHX8aofsavjop/Y97LqaqZeKubf7Cdedm7lYBsUqaYgX9oSbOihNzWxZOLdLemjJ2LctG9m6eXf8Gzj5KEbm1hSZGFb6OUfqiVePHiwHxvWObVsrerlYt7YcS3mX1yWquVd5GDZ5yKZJyHa6KFXZZ5V7eulpSHa9LBoIN0XNjFodHCnlZHMr6xlt7Sr5V6WKefgJmJaZV/X4+FaL2tia2acdK+l+DTsp6Rc4x/ZKOYd72oiMCujHx1ZcOwk5OFaKeTdp+Oda+cf3dsS5yDX7ymgKKQdYh6YJKLbtnJp7ajeqyghsetgZmEat/Rrm1hRpmOd7+wkbqee6eNaLypkJqQb9rQtp6PbZ6Mb62khsG0kZeKaMCxl9XGpbmojK6chL2mh9PAm62adpqDYWVeTqeVe8izkNvLo9/UtXJgSJ+XdqSScXRpUJ+KZtXGosy9ntrSvZuNcH5uWK6nisa5osKph7ugegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMcALAAAAAAQABAAQAj5AI8JFFhMhagSFgYOhPSnSBJPikr1yCXoRS0NBsC8Elhn1AE9fnyFmkEk0w0RZwTKsYHoUpk4BIJZ6pRlAq0CCo0tyKCDWBdgLRJEUjgripA1YxgMcYOCiiRYi6Sw+QAiiIlHS26dCFQJVQofI+BIEJhq1Yofk4xMyUNGyyaFA51AyfGkT4MLrOAeg4HkSIdWv3aYwhPG0RyFdHrxuEKIhgwEaQZgIeFKYAVKhg7h2oMjli0MVjZw8SAGAidZMap80vWAzxYFQIS1QUNql6ZCqt7UYOQgEYcvLlioASWQyalBAZrwugMgQggzShrpPUZhGCABmLzYURgQADs%3D';
image['g09'] = 'R0lGODlhEAAQAPfCAP7+/v+OAP39/fHx8f+PADqNItV2CLS9x5BfK8G1pO18ANd2BHp2b7J6NqZlFrEAF91zAOp9Af/Xoty1io2FfjMzM/2IAYiFfy0jFzokDb6BOG40HrSjj+7GmZ1fGLiiey9zHP///4YoLYBOFN93AJyEZtF0C5NQAJxqL/+KAJF/auCUO//ToPeCAJd/ZIh0Wp0AHK2rqv2HAJ+kqLFaALuceGxLIMFwE5sMI9avhaIAHLfDzlRUVNZuAP/Tnvr6+nxbCZiDaON4AaJ7Xi2XI7+bdJaboJ2dnbSXdZ99Wd64j6F6S5KTln9hQfuFAJyHbZiCZsCQWaWlpYl/cJmFao57YnIwHmFTKaGVh/fy63sDHJyHa6d0OKaPc46TmOjo6K+xtHYuHqpcAqdjGzo7PMjIyNV3CmZmZvz8/IRtU0JfFN+3iv/bpcipf6NzPP/YpKBaB//Uoih7HL2hfMXM0oeHiJRmMf+KAzefJZF7XzKWIurq6oOJj11dXct1FNrb2rAAHLqyp9GcYP3Qo5qFanJjUcC/vcF6KK+vr/3Wp9Swh29hTea/kx1FEriegP/nrzdnFSFsGKKTf6lbAbB6Oo2NjZpaE2VjYv7NnJyCZcvLy/Dw8DmPI2NLE/z7+fvPm7rH1YOCgf+IAPiCAIluT8BlANzCkmVIH6F8UjBzHIJDBMjIybq6utnZ2pOPisida2NVQ4wmN4GGjD+CJZV2T87OzcCGRPf29s1tAqdZA957CmxeRntMF62KYoBqUOnq6KuGWuaBDf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAMIALAAAAAAQABAAAAj3AIUJ7HNGgMCDCA+WqXBECphVXwAkPFiJRwhNRuh4YTIgoUQ0ZBDVkgVqx4wLrAwK3BOKwiU+BwK94rIFQx2EsOCQKPUEiyUnBl4s6niQV4QUKxi18dUjWI0pPxCisiBKQyEoS0bpQhIkwS+JwsQEWOCmRJVDAfw4UvQpB4c/wk44SJNoDZUbQqIIsjWIhY8ihjLs+vBoQq9cI7rgMqEkDiYJLrTgEDHEFDAaKCjJaGGnwxs2eWDoAPQgFoJJpMwQuEPL1ZxMMTbYOGUljCoPSRRAaCDJU6tNwiLJwaOHCJBOV8Y0YZAFYapGIApwUgNpFiEVtxIGBAA7';
image['g10'] = 'R0lGODlhEAAQAPexAIYbAH8eAMQwBXscANPM2HYYAIdHTsUsAKQlAK0lAH4YAJIkAIseAKglAKUmAO9NHu5OH/Hz+IceAJohA5sjAHomFKojAKQ2ImwXAngkEaaKnaE1IpdseZEmCMgtALwrAL8oANY7D87S5q4mAPpiPIQdALsrAMXN4684IYQqGnQbAMopAHwcAJZMSIkYAIMgAJQyIrYqALIoAKxTS31ZbtY4CI4gAL64zdNEIO5pU28wKZMdAJMiAODf5+zr8qkpBKs4IqAkANjd6uXh56aVqrFPRI5FSK1OTIZFRaIvDN9BEotibXsVAK6FkupIGIggALG1zt06CIldaLYsA5iQpdxOLeFaP5wwD/tqT/b3+uPl74tUWasiAI4hAH8YAIEaAKCRqXUYAIIhB5MnDKguEIkfALstA7gnAH0YALomAMssALgqAWIVAH4dANMxAaE+L9EzA768zZhLQvr7/WkqI/hcM/NaNv7+/rezyaMhALu81dra594+D6tIQcQpAOLm8+zv9+rv+MEsAOlVM602Hak3Ip8oAnE7PIMbAHQYAMQzC4UgAKMlAMYuAMYsALgkAJZcXddOL8bO5YMdAPz8/urv95UoD8UtALYnAHsZAPhWJ3cYAKomANk6C88xAtk6Cu3v94siAnxfa7SlspU6LZ6Wq9hCHuZhSrgpAJNZX2gTAG4zMsCktp4oCpuPp3dIU34aAP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALEALAAAAAAQABAAAAjoAGMJHEhQoCQaR/oULBgBzJs1IOQsHHhiywg/K1oImUgJD6lHjtQU2TPxDhVLaTy4MTNqYiwirc4c6BSFTJyCWoaUGoOpEZ8HcCBlGfjH1So6YhII+qTJiQVRcwRCOVRAVSIEHzxBqBOCi44eAl+hYdGmjIlLSkgMEhAEgxQfsYwM6BKDB6cadrCYQmWDTZgllQwEeMHIwRQcp6woavBExaYMBDR0QCSBwY9IOaoIkEEhQKYKBEBxmABgUolQV5IYWrBoABMkgGIFYkUozw4AXhTA+gLARYobBEU0mYECSKELG2Ck0iMwIAA7';
//romans
image['r01'] = 'R0lGODlhEAAQAIcAACAtITJONTNVNzpUOz9UQEJHQkxbTERoS0tnUFVqWGdsaGZwZnl8eVmCXmeEaGaPamiAbHCFcXWXeI2ajouTlI6YmJCPj5icnIKhh4qkjZujo5+uoKWwsKywsLK2trW5ubq+vrbItrnAubvIvLzAwL7Gxr/Hx8PLy8PMzMbMzcbNzcnWy83V1c/U1NDR0tDW1tXf1dDY2NHZ2dLZ2dTZ2dne3t3i4uHm4eru7uzy7Ozw8PDz8/fz9/T4+PX4+Pj5+fv9/fz//P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAMAAEIALAAAAAAQABAAAAh6AIUIHEhwIA4bNQoqFHKwBoeFBHHIUMGBB0SBPVio0ODiohAdMUpU8OARCA0TFEh49DEDBQUQHoW8OEGhg8cfLVx+WLhjA4wfNVJQuADxRgICEDBYIOpxxYMDAiKI8BgiwIQgBgpAzJFhAIOYIyQ0ABBTyAIHCBSUDQgAOw%3D%3D';
image['r02'] = 'R0lGODlhEAAQAOZYAP7//+SVnurb3rRQXbqMkuvb3eCiqeKiq/v7+9jBxIlTWfj395FLU7FRXeScpZtPWOOutK2Ymua+xMRdaa13fvnz9OaRm7KQlL2sruKnrtzV1uepsbqys6een8uKk9h+iYw1P40vO7hUYd2kq+KGkebi4uWPmemMl+HFydOaoc5WZfv5+dFmdMK3uPDe4N2mrcelqLyKkOSXoKiYmtezuLpBUM5mc6+MkPj09N3GyaJlbWRMT/Hm59mts+vt7ZwyP6xWYNxwfeKkq9Fmc8g7TZVpb6BGUKxeZ/v//+vN0JAqN/z7+9mgp5mLjaWBhr2jprFKVq1KVrVocfb29olZXs5pdeTb3OKSm////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFgALAAAAAAQABAAAAd6gFiCg4SCODFANIWLKz0bJx6LhEsSBxZGLZKCAEkGJCIcmlgAKEImUU2iWC4ZARMzqgUvASwXqjwjV0NOqgJMMjY3kiUECT4QDkFFCJJWDyBHH1UUqgA5KjU/OhiiSClKTxUMO5oaUiEdggtTkjADRAqqglRQDRHyWIEAOw%3D%3D';
image['r03'] = 'R0lGODlhEAAQAOZWAP3///X29/7//4IRDIQQDejp6G8QC+TFt3pQUHZqSa6Sk9uGbMaimIEIBO7x8bFuauXk4764n/v8/cS+tbm5m9vS0oIWE95/Zu7w8LqtgfT49bKunvz9/saflZUvKuDFuaeXYItjY+/u6+WMcrdHOc2Oh9ivpN1nVZBkZNR8a7m5p76mp/z9+7CIiff6+unp6IUNCbW1rKCDYtqIbfz+/+HCtPf39fv+/nVsS4c2KJSRc/zy8IIvIeeaf5VDNtnJy6CSc/n49fXbz+/z6vr+/peRdXl1R+/Z0duOc5NzcmxAN9S3qvf5+tnY1Obh4nUPCbRUS6B4eLOcgIMTDuZwWodjY////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFYALAAAAAAQABAAAAd4gFaCg4SEOyWFiVYSRykPioQ0HzMeFZCCHEJITwqXVgFLPQZJApcCNQtTVUSXDgcjBC0AiS8QVkwdFwNRkE0bNyZUMCiziiwUDCcNCC6XQ1IkFiEYnioZOUoanj8yRgk6ESKQTlA+MQUBQTaKRUA8K56COCAT8YKBADs%3D';
image['r04'] = 'R0lGODlhEAAQAPe6AP/+/ry8vP39/V9fX/T09Ka8zUZJUGNjY19fXsrY3iMsPPHx8TM8QSUrNQQFCtbX1v7//MfS2kNDQzA+SOLi4p2qs5KSlEdGRmuKm8/U2t/l532KjzhHS8jHxzJBR4GBgf///nRzdJCPj32er7e3uHl4d6ysrFJpfFdvfeHh4vz9/JOerXKUoFF0jo2jq2uHkcvLy6Cgn2l8hmd8j3SMlXOIkd/g39TT1e3x8ZeYmszR04WEhOjp5klMTf39+8PExW6DjIqktri0sIaGgZ2dnbG/wnGIj72/wIefrlhYV8C+vrrHyouLi46eor+/v2yIj7K/x32Unebm5WhoaGFqbtXf5M3Ly+/z9vv8+7y6uAoHBUVbbyMoKa2urURJUY6OjoKCgsC/v9bW1V5eXvX09Hx8fPDw8OPj42+Qrebl5r29vWyKnoCeunmbr7a6vXCPmf7+/n6JjHN2erXH01d4lN7e3fz8/HaUn2iHlevt8rCurWiFjDw8O+Ln5G+Oovv7+3Z4el5mbOnp6a26vpyprp2yv4yMjH+MmYmMirO+v2JiYuzs7GeLsY+Pj////crKypmYl7CwsG+FjldmbePp63KRqZSUlIaeuUlaYoKctsrNzra+x2iDjfr6+b/N17nDxZqip6Kos0xMTPn5+fj4+HGQmvz9/TU1Ne7u7nOMlPf396urq3x8ds7OzqKion5+fXSOnG2Gk+bt8LfGzfv9/amsrunq7cLJzgAAAP///////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALoALAAAAAAQABAAAAj/AHUJHCjQRy4sm67k+kOwoS4cgVbkStNJlyobP9zkKMFqCCIqCkABCiWwVRcLBhzgarClBZ1DXmbIAqArUZEomCacQHOJDaMEtjJAoLlhkgcUbSoVuNEnk6dcWXgIxIWLAaw1UHLpEZJn0AMrO+zo0sJhBIYKjkCASZHLDIIYhgjo4vLCDxIyucQwycX3SK0wqHRxYoFnFt9IX3LRyhVhTp0Auu6UekMpl4AFA0ioyFUoiBRIo2g8cWEKQK4ABxQlkSMpVhUlBFLtWZILDqlTJnSJ6BGHkKYyMGoY0cD3jARBAl/xCdFhygcgMm7xDTBgoBNRF1wRWfWpiQ6+j8YICRi4yFIjNRQCAgA7';
image['r05'] = 'R0lGODlhEAAQAPcAAP////7+/qCJYgAAAKeRbc6/pf7+/aOMZquWdaSNabGefq2Zd7Gdfa+be6aQbK+bektALfz8+6mSbYl7Y4t7YqCUgauVc6uVdJiNelxSQKqVcndsWHdtW6SOaqeci/v6+Lijgp2HY56JaL6rjMKymb2ulIyGe6yXdLSeez0zI4NwUltQQKiSbnNkS66aeqmUcqqUcfHu55aDZKSMZzswH/Xx7qGLZf79/JiIbqyWdHFlUmZUNqeRbNDEsvTx62laQ8i+rbScdXptWLqxoayVcOzo4HJoWv/8+KWTdIR7bI2Cb6iRbrGnk725sY6IfaWPa+fk33tsUi8oHY1+Y7mmiKeRbqWQb5mGZ5OFbpqFY19QNsu+qdHIuPb08KWPbJB9XJ2Vh21jU6eYf7Kefa+aeLemiczCsZiHbZWCZK6YdraliQwIAZyGZPDt5qWOaYB7cq6ZeJ2Mb6aSc5+HYaSOacKyl7Gef2BROZWBX7SdeKiSb/39/IRzWaCYipGEcLCcfI5/Z66ZeZuJa6CReqeQbKSVfa2YdaiRbbqumgkHBaqbgV9PNbWjhLKiiHhvX414VvDs5rKdfZSMgLGdfp6McK2YdqeQa6mSb6KLZMTAuaSNaJ+Mbq6Zd6+ZePv7+byqjfj49fr49u7q5NPHs/n49qeQba+kkbOefqWOaLKde6mTcHFhRufi2GFSOaCJY6iTbrCadVBFM6ybfriigIB6cdnRwVxRP1FELqWQbEc+LXtyY6qUbqiTcNbPwuHZyrKfgLCZdId3W6OUeqCOcKWOagAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAQAj/AAEIBBBgYAQAR8x0AXBQSpZdhBIQsIKDAbFIgiiNqQGgQAEkPyBEAYaCzIk6o3wZEIhpjhdVh4jcaXIDzA46D2QF60WKFZctHmi9MSFpQwomSRAVHDAg15NXDy5tGkZFzS85GPYAkKApgQMXcCS0ODMLxB8FkxR5EiCAV4NOV3QRBJCp1aJBcYYM3CvQhxFTAIp8AFCLhBgtawbQWPXoizBbgCAJdKIDgoogsGAEstNgAYMSbQQmipWHh4MlOSjgYpEqzBQ/oADgsXSgiptTaCqM0PAizScEPQIccNWhVCVDbCZwyCAkBCoFjUIJsEHAgh4EK0QJVHJLRhk+WBjND7iwgJMIRysFxuhTCAiUgAA7';
image['r06'] = 'R0lGODlhEAAQAPcAAP///wAAANOsauXCivDQmfDOmNqzdtixcf//29+6feK7fenHjuzKlOzKk924e0MxESwbAOTAhXZdNv/ks9qzdK+Uatq1eMmlbP/lsYRpO//xx9+4fZSFbNu4exQIANCxguzauv///efCifXMiuzJj72lfrGnlNu9ie7JioduQ+S/fufKmY+AZeXAh8KibrOggGVMIE04EunFitu4gPDfvb+xnY59XvPQmd27h///8/3dquvFjPjbrLWqmP/w1V5MMfHOlNCsdMCgbv//4riYYP/xxKSUe4RvT4V0XbWbc+vHkZR7T/vWndq1dsqseeK/hfbYpOTKn/DOmdOsbGBNL+vHjj0tEcWpfZ2ThOC9gtGpafvYoOvHj+C7ftu1duK7gPHWqtGxfigWAKyUbPHOmNO1gvXOj457Wd/Mr+K9guXAiaSHW9+4e+fAgv//+9+4ebqkgs6xgP//6c6pbOfEiZN9Wdqxc+vJk/DQm+zHj7OPVvHRnX1sUcenc3FTIJ2UhdO6k/HQmNavbv//8eC7gMynbu7HieC6ft+6ftu2e2BPMdu2ecWqft/Fm8CfZfrdrKmOXtrAmNWvb+nFjGlPJeC6fWdNJf//8P/rye7Mlt+6e9u1ePXQlOS/hLOZbOC9fs7AqdO/n9i/k0w5G6KCT//98NPFrsWzk2VKHv/rv9u1dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAQAjxAAEIHEgQwCWCHi6oYGMgwQxGBTaRcfIhkEAECE5IeLDEECcSdIrkIChIS6I0ldpYKgUAlJ8mDVZAGuhmCBosf0zUOAOBhhFMAgMEsLLoU4MvYcro4LEHxymBCigYcHCHi4IUV5hsyURAShQAAgRkYZCnD4eBISihAhTHR8GCSEAU1NAIhlAxGfQQEUUlycAeRx6QGoGikxI8DBYUSDUwwCgzmhwcElGhQxcgfDzBEejozQFEXm4ICYUhwpMdEwYMAnBgioUNk2QUGmNDUZ05qgiAASspQQtCA34MfBHDxaM1JaDYUbOgShAWBU1FkgMgIAA7';
image['r07'] = 'R0lGODlhEAAQANUwAPPy8+PBrMWHXOPJt/jfy8uWdP76+reAYE4/RWA/NBQGDm9RTOzq6/zy6atXJ+/Xx9O3qQAAAJlmZsxmM/vu5pmZZmYzM00wLf339vjm1N/a2syZZjMzM/v7+2ZmZszMzH5oY5kzM8yZma2qsP///rGoqfr7/P/9+/39/vPUvuewhPHKrO3AnPjq3NWpjpmZmf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADAALAAAAAAQABAAAAaXQJhwSCwahQbD8dhoZQgto6FFJRBYqhRFulKtCKeCi9U4DsYpUiGwwphdgQdMMGBRGqnoMABJPVoCLi4qGxspQgAAgl0TDg5rGW4wDAsLCRMHKgcOdSkAQwwIFyEiBCsrBQMCFhwjQxULAgEVCQUqLBIKFh4oiC8uBwoKHAIHCREXJUYvERIgEBofLy8mRqEIGktFHZ9LQQA7';
image['r08'] = 'R0lGODlhEAAQAOZRAP/EAP/OAP/KAP+sAP/AAP/FAP/JAP+zAP++AP+5AP/TAP/PAP+QAP+1AP+ZAP+rAP+NAP+0AP/GAP/CAP/kAP/QAP/dAP/nAP+eAP/UAP+gAP+cAP/BAP+uAP+bAP+pAP+3AP/jAP+IAP+9AP/DAP/HAP+PAP+fAP9UAP/mAP9bAP+kAP+DAP/bAP+jAP+BAP/IAP/XAP+hAP+WAP+7AP/lAP9gAP/fAP+yAP+EAP+6AP/RAP/cAP+2AP/LAP+SAP+CAP/NAP+TAP+/AP/VAP/pAP+nAP9cAP+LAP+4AP/ZAP/MAP+UAP/WAP+aAP+vAP+wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAFEALAAAAAAQABAAQAe5gFGCg4SFggICJQ1COTYoEEgyICQBgxg7PDFGHg0jBCQAAIUmOh0OMwgTAC1KhlEXFDUVJidODYUGPgsTGhs/QCIeBBISMIIOHxwECQcPAy7IBRWVhSEpQRkUIa6DRRcLCAEJ3BYUCgYIT809JYQbAwpEBxpQDxE4NAX6ggaIBEwMVBxhAWFFBAACBC2RAGDEAQgvRGBgMCBAgAWDOgzhkCRCghMMJgQwoMAQiAwABlS40cQCt5eDAgEAOw%3D%3D';
image['r09'] = 'R0lGODlhEAAQAPeVAP7+/vz8/Pb39quRf4YvL0hcKYVBJ0lbJO7Boa+DcqmQf6EcHeKtlePi4IkTGHpGL404O8CbhvLy8dGdhXdOLfr6+rGNeKqQgc+agfb19MKSfYNfPe2zm+mxlu/x7+3w6ktiMffTtJ4aHY4gHOHk4dmli9qhir+9usvFwN3Z2cqVgIQaHryvpqmhl6GnlHhzRfL09LAXHNbTz9fHxqJlZb3DtJMbHribi9TT1qg3Nk1lJKOBedSsl9K9rlZqONKLObEkIHZMMefl37vAwYNmY4x9cY1iQf/FRebp6HwzH2h2QuXp4auBbY+cgvn5+eCslf39/b61rq+UgvGzmL/AvOaul3QmJoosL8jHxz5XKfS2nPz8+7rCuHtgVYcREqQbHadEP9LCwrBlZaeVhcmfiN3f3YaUjNyjh6IjHdvS0sKZgsPKvLyzrqxbW7aNfPj5+Ku1l6+Fg4CJdpSDZY4SGKYYGbuciMaNes3EvLWFN72NdZwTFLunocqjjHhbTtOfPnOBX3SAc9Wiitaiia+HdNSfiUJZH6wWFoZVPNqmjb2CN7OSgcS5tPDw8cnOx9/Ry5RAOcLHvKgaG2JzVn5ZPP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJUALAAAAAAQABAAAAjKACsJHEiwoEGBADy4gLMkwMEPkUg08WFIhxyHBtdMKnAAhJI5WHAAMFgjUJYXF/gkGIPEIABHZlr4KcLIgoI3BhsB4vKICZlBep4IOVjmBIxFU0xgKMTiYCUqKAhpOVNCUBSnQ26o4DChCh4BBbdAqSRggAY3DOxIMCimzYwMUhKp6cPGCcEKYSDs8bKDR4cIRK7QaDAwjQ1JX+isuIMgRI8ch6ykENjlASIKin4kIQAJDBARDuIIDGKE0oY8R/6MiFFnARoDMgQGBAA7';
image['r10'] = 'R0lGODlhEAAQAPebAD09PTk5OUVFRTU1NVhYWFtbWzc3N4mSoLnD0lJSUkJCQjw8PDc6QEFOYjk4OFdXV0VEQzU1NGdnZ5+tw0ZGRkdQXDIxL39/fzg3NHJyciYqMEBDSF5eXlFOSWFhYeft905bcEpSXebt9snU5MrV5WxsbDE3Py0zPVNgdMzW5FVgcEBAQENCQFppfzk4N01TXT4+Pj49PJGguKazyDMyMikpKK+80TAyM8PM2rTC1lRTUTMyMVBccEhGRVpaWuHp9GR1jYCAgG5ubnx8fDc3NsXQ4HBwcEVRYsfR4igtNEFAP4CMnqi0xzIxMXmGmTA2QSopJzMxMCooJ0lHRktLSysrKklRXjo6OneDlE9PT1lZWTEwLIeRnkpKSjI4QFFQUNni7d/n8kRCQD9KW0NOXqe1ykVTZ9Xe7UxMTHt7eycmJKWyw05NS+bs9bvI3khJSn5+frjBzuPq9lBQT1ZWVoGBgTU0M0NMWYqVpjEwMDIxLjk9RDQ0NE5OTmNjYsfR4V5rf3h4eFNSUXOBlignJTg+RoaQnT5AQ0JIUo6dtElJSUhISDExMDk6OlVVVb/K2U1QVXNzczQ9S0pYbGZmZnZ2dtff7TU0MoiXro+Pj11cWv///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAJsALAAAAAAQABAAAAjbADcJHEhwoBsEcQoqHOEkBKQKCgnKuAOhA6I1ETf9GMSAjY4XMzIWaaBAEIE3eDIiISPmSwE/GyYobPNoDIsEHIxoUvGBYBkQkrwomVOgUqQePAaKAKJBDZQYfRyVqENpypMUAm2Y0HNlAJoEHoLA0SKgxhEwmxDssdOFwgoCgTIJyQKjCiEzYXIUugRAgCIJF4b4WASAj4UkODYB2kIkAAA6aTI8oKJgQJQTfzaRQNEIgwMDARYsCGAggpQWBDFZOeSCRpM8jHbcmGSp4BkmSw4c4GIISyI5AgMCADs%3D';
//teutons
image['t01'] = 'R0lGODlhEAAQAOZgAP39/TElMTAmMoJ5eF1VYIJ4eTUlMDEiLhgaJ9jY2eTg3jIgH0gzPCwcD0AsNEE9QsjAv8G3tNDIxx4WIy4fLbCpqCYbJaugnVhOV/Hv725iZlFLU0gtGlE4Hvby8tvT0ZSLikI4QkIwPN3W1MS4uT4zOmdaXD8yQGNRVyMUEE9BTff19Ly0s0s2NNjNtpSGhjosOpF5ZUo1PjUfJSYjM2E/TEAyP0k8RDMkKv38/KSSi4R6ekQ2PVNNT1A2ISobIf79/cK9vTYtL2tbWxgPFkw2QYNvXTQtPOjg3VVCSDYjGyUhMTAsNuTg3yIhMHBjYMjAwO3q6ezo5+rm5aOWmUUqMSMgMEInLjcnMzIiJVQ6RU49Q5SPkTkrM5eOj8DAwP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGAALAAAAAAQABAAAAeFgGCCg2AALF8PIE2EjABcMw48XVkjjINBOF8oW183O5aCFTJFBCoiGBCgYBFfNl8hAV6qUk8CRxtMJVOqCkIITktfJlGqH0RWNBYSqoIvFCcTUMxgSAsMBwUAzBlGHT4tHtM6HEoNMUDTVFgwKS7TJFdaBkM50z1VNT8X02AJGkkDVjALBAA7';
image['t02'] = 'R0lGODlhEAAQAOZkAP38/fr3+O7m6piJlaaVsP37/PXw8qWVsu7s7Pbx86ubpe/q7X51hvn4+cTD0qqZoXxsfp2Lm6qUnpiLmKSVn1FNYHxrfN7Q16iUpf79/ZeRl3FgfWBAS5qIksO1vOrl6MOxvZN/izo1PUI2SV48R8q2wMSyvNzP1s/Ey8nAwtbI0IeMk5+Pp49+jINuioN0gp2Zpenh5bOdpn5zg5COoJmJloBrilI3Qv38/JWCkINud9PIzcq6wbats/fy9XxwfLurs5OCmfDp7FVTXvf09XdleYeDk4qAmV5CSbWlroh2gu3m6oJthnpnfcK2u6aUrse4wMu5xZ2NkqWToGZaavv6+ry9yY58mIRuhsCttt7T2nhofOXa4f7+/pSJlot/h0gxP8S1vX5pdpSFlP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGQALAAAAAAQABAAAAeJgGSCg4SFhoJZPIeHEjoAGQWLgkQyUk4BIUk+izsaXjlkCjQvBodCY1cgMVhHVhSGFw9hNkxbBCwONThkAFxRGEMVIy5PUy0bBxFkJUpUTRYQRR4oRlBkA0FaZAIJVQBdgx8ME2QnKpJkDTMwC+iDPytA7oJfIh3zZD1gYvgpJBxL5iFAcsPEoEAAOw%3D%3D';
image['t03'] = 'R0lGODlhEAAQAOZqAIeFi4iKm2RojT0/SPv8/IF/gG5tdYB/gnp8kXp/kGlBEYaFi19fblpfaeHh4m5tfWY7Bujp68jIyMrKy5KRlqagmI18ZVY2EHVzfv79/Zh1TP38/JpzQOfd1Ww+BaysrIWHh6uqraiqsVtjX/Hx8ff4+Jyep5eOq7W1td3Z1Mm/s354enFwclVXb29EE+7p45OTiHZnUMHBw66pqG9uclUpAG9xhWVod2Zlc/v8/VVWZXF0jT84LXFxfnN2imk+DYCAk6+vtd7e4fLw7tTJvKuQb4JdMn9/fu/s6WtSM9LS0Y+PlXRZO8nBxWNlb7q7xXBWOj0/TFxaYpaHd9TSz4OFkYyRnpCQneno6FVZW7GZe/z8+VJVZ5CPk6KmroWJmv///ot2YHl5fcq3oPv7/Ly5vnFLH3N3e2dmdWhrf////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGoALAAAAAAQABAAAAeOgGqCg2obTSdbhIqCGWUgWSszZIuDH1VAA1EtS08RQopYIzoIOFwMNg89GIo5MEk8TmgCO1cLBoodHB4xPjdpASJHXYQvGjUWagkNX14ULEqDREZmKgRqVmcmAFIFg2MuFxWDQWIHNCgkakNaP1BUhBIhMhODRQpTJYpgixBhDpSLmCABuCgFwYMIEyoKBAA7';
image['t04'] = 'R0lGODlhEAAQANU/AOrz5FuGPoKtZGqYSlN8OYyyc/H06vT58qjEk1qEPYWvaPj49E1zNYKla4coK+Tv3v7//pEqLlB0OHCYVXqnXPn8+ExuNFF3N5G9c3GiUJaNWdjUwb6miX2rXlaAOqlSTbJVTm1SMsXatcfcuIClZvLs5tnozqZdU4ivbaPAj5q9gevv4nu0X71vZmyRUnViOZnAflJ5OMrivJm+f8BKTpoxM7KNertMTFqAQZa7fGZFLbLOnn5JM6RuX1qNQP///yH5BAEAAD8ALAAAAAAQABAAAAaBwJ9wSCwaj8aNrXf6tBbIH8jhiNRuq2grQo3QSlEOTxd6aQxRmY9B8LEAUcDAcgkIHtEDhXFJUEZRFQIXMR4dM3hHggwSCQMYOSIAEEUVCgQXBAkZGDAoBSmJPxAqjDgJFx4DCgUoAkQ7FxY4CCkkExMFCIBDJiQuDWgQBweUUVFBADs%3D';
image['t05'] = 'R0lGODlhEAAQAPcAAP///////P///v//9v/+/P///f/++YVsPP/++u3cnu3dne3cnf//+v//9+/gqPPovPDirqyYV+7eo45lJOrdlO7founele7hou7fpI9xO56NVdPIeKWRVe3dn8GjUe/gpmtPHYNdKtPKeKJ6N8e9c7SZXvDirayLTm9MGIJmMd3ajV5FFZJrMYBjOcGkVE43EHNOG4pyQ0A1DJ99O5uETntcJ+7fpZBoJeTYhYBgMpVtOO3doPXryJZ6PtjQgMaycLKaVcS0Z9LCmKyFPMWwaH9gM8+/csq0YIJZJcixYb+xa6eRYfPovsaoU4hkKuHap7ebXbWdWNTSjaGBQvPowMevXYZdKWVGF4hsQqqTWO/ux8mzjYpwO+ffwJ53NqJ+PPLot7aVR+zdlrmmXurbkdzSrZJoLqGFWM/Fderaj2JIFfDlrT0wC9rQdYx0RNbOpmVIGopxPrygUsmzaObjotHFfKeTV/TqxfTpwphwMca/eJR8Se7ipXdTHeDYg31XHn1UJOjcj6+TUe/iqV5TLJmCTu7jpfHktFBEFPHkserin8i+cuXek6uFOohuP+3gm5Z9RMasWcGuXI9mJqB+ScOzdevhoufkosu3l+LWf56LUo55RaR9NZxzNDowC4NlL4tyPvHlte/gp5lyMPDjr2ZIGtrPdaWPUqmRU5J/Spl7OpN7QnZOHaWBRoRsN8u0ZLyfVPXtzK2JRe3fnsvBioJmP6mNVox1P8i0adTDbvHlsW9NF52FVY98S5d+Q8K8fsewY+ffmpyFS6iCPIphItrNdtXTf596Qo5mJtLGe5duNPPpvvbw0KqEPufcjrGRUczFg5h+XJF7Q3BKGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAQAj/AA0gIFCAgQABAAYkrAQmIYAXoPacmiXKVKMECxIckfPqEYA3tJYUAfGJRhY7hYxR8NEgAIAYB/Q8ODRoF6wAzf7MALJBWTJmWrqU2UIpj5cvTlYIYlHCpScZV3xBCmLDQxMyktrkGtEAQK9N0oKRciBmQiQFEsZEcCZLV60W0O7gIYIEgEtcrKY9OwFFIMGDBwHwCWGLiaJlAJ4IwRSNECI1NVxxmdIngyWXZ3LASaFJmJJiOFCh+VAlEAAAbEppWBUFQwVOmRakuRFm2AUAB1LdImHCgYshHRTsELHID7AAbuJwCJUIQhJkk4iNUtVDxZw1WBzRofKAEQwLpzuhFzBjxIqOX7ykxOJRBxCD0wAMtTr241JAADs%3D';
image['t06'] = 'R0lGODlhEAAQAPeyAM7a2gAAAI2VlTw/P8PPzyswMCktMwMCAT5CQkxnboSYoJGYmGBmZjs+PsrY2EdhbUpjakVibFVaWc7a2czY2JGXl1NYWJqxuFFVVI6Wlklrhm1ycXN6eSg8TXV8fK+6uxEVFll2jzVVbh0eHlx4kld4k5ukpD1JTEJYak1pdiYpKUZleI2TkSkrKxsjJ2B+j7vGxrXAv7jEx1Rud77O0a27vaawr01QUcfT01F1iE5ueZ2kpFNYU19nZW58gLW/wI6YmWNpaX6FhZOip4ugo7fDwLXHy7zMzDY5OU1nb4KHhsrS0YiQkUJmikNhZ7C4un+TlztFSsTPzzVNWbrHzcvY12N4fFVkZ7m+v2d4hhonLG+Ch5ers2Vqaj9DQxklLVhdXX2EhElhaV15hzFRaUpqc2tydFR4iFxhXaavrqSsrktsgnuFh5CmsJyqrL3IyJqjo2J9hGRqalZnc5qmp7C7vEZjakNib3B3d6+/wVtgYFleXkVldSEjI3CLmExjbGhubkRYYYmNiTVFS5CYmFRlap+ts4KJiQEBA3WBjBEYIzw/Ps3Z2U5VVxIXHis7QqW5vkprdB8sL0NfaLPDxbG8vElpfK24t7/Ly3mVpoifpkhfZzJIWLjDw4eXoM7a2LO9vSctNMDMzJigoGdtbktuekNHR7/FxXCDjLHBvi0wMKuwr87Z2YqcnsvY2ExTV4agrGFnZwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALIALAAAAAAQABAAQAj+AGUJHEhQlicaA0FEsDRGCoA0DABIBMJmwRtZH2rMePSFkwYSJZpckGFoYAInRAAwwjFCiKwuBa5soWPBhKwlWJ6YwcADTY8Tinw0SiQwQAAXKVYoAKBEEBUoNnboEagjUhlKACiIGsCkCgA/L2JskLUp0BCJAgYMJKSqhQc8YQoSPBIlC4AfAk+tImUAUQBHHciImBMKhRGBhQZpmZJjTSY1qUK0AcCiiMADks7wQfVpwp46ADAt4hCLgKxJpe5okngoCAAHALjAuiRAVhI7cVyxAiDACwIkr8Q8gFSBwB8IeSSCUtFJoIQ+N0aZAtPKihuJcBoQhAFIToZKAQEAOw%3D%3D';
image['t07'] = 'R0lGODlhEAAQANUwAPPy8+PBrMWHXOPJt/jfy8uWdP76+reAYE4/RWA/NBQGDm9RTOzq6/zy6atXJ+/Xx9O3qQAAAJlmZsxmM/vu5pmZZmYzM00wLf339vjm1N/a2syZZjMzM/v7+2ZmZszMzH5oY5kzM8yZma2qsP///rGoqfr7/P/9+/39/vPUvuewhPHKrO3AnPjq3NWpjpmZmf///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAADAALAAAAAAQABAAAAaXQJhwSCwahQbD8dhoZQgto6FFJRBYqhRFulKtCKeCi9U4DsYpUiGwwphdgQdMMGBRGqnoMABJPVoCLi4qGxspQgAAgl0TDg5rGW4wDAsLCRMHKgcOdSkAQwwIFyEiBCsrBQMCFhwjQxULAgEVCQUqLBIKFh4oiC8uBwoKHAIHCREXJUYvERIgEBofLy8mRqEIGktFHZ9LQQA7';
image['t08'] = 'R0lGODlhEAAQAOZgAD8/PxMTEzY2NiQkJDMzMx0dHS0tLRQUFBcXF3JyciEhISwsLDs7O2xsbFdXVxwcHGdnZxUVFSkpKRISEkdHRyYmJkFBQYSEhGBgYH5+fmFhYVZWVoqKimNjYx4eHhgYGCAgIDk5OTAwMCoqKhYWFm9vb5GRkXh4eHl5eZaWljU1NYmJibS0tJqammtra2hoaCgoKA8PD62trXR0dKWlpYCAgCMjIzc3Nzg4OEVFRUJCQn9/f46OjltbW5+fnzIyMmpqaoiIiIyMjKKiolFRUWVlZRoaGouLi4WFhZSUlJOTk2RkZENDQw0NDS8vLzo6OkRERCUlJUhISH19fVxcXHd3d1paWo+PjysrKz4+PnV1dVVVVU5OTh8fHz09PaampgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAGAALAAAAAAQABAAQAfHgGCCg4SFggQbHChQKStUVls2TQo5D4MJJQk8JhcXIRYUAAMBByIdEgEICwIGByQPFYaCXFdJQEIlAlEwHoMLGlkzWjsQEAYVIkYRB14tGTIJDhYjAA4TBgAgE4UHHlgEA7KyBqA/CBEBhg0mRzQuHBA6A04ggyNDJ1M+QUo1RE8bmERAAAZHjwwJbgBogEIDhgcxCghQheRElRcdMFyQIkDCBwZFJIBR0YDFFwoMlihwECJAgQoMBn2YUKAACQUEwHURx5NQIAA7';
image['t09'] = 'R0lGODlhEAAQAPewAPT19v///52dnW5tbSgoKDM4PTk9Pjs8Pp6cnePj43F8hJGFfjlDS7u7uebm5ebm5hkaG7u6uZGaoZCbokJDQ7O/yVJQUNvc3Pf4+ZmZm5iYmUhLT9zc23J3eXBsand2d2BsdfHx8Ts6OdDQz+rs7k9WW05RVurd0evu70RJTmFVU4SEg1JUVllgZjg+Qz4/QtvPwS8uL5+nsyYpLu7t7N3e3lFSU+zu77i5uGVlZ9rZ2O3v8fv7/FBTWNTU0/Hw7jVARoiFgu/w8Xx7epKcphMQD7i4t/Xx7bOztFVaYTQ2O2pvc6KipJidp6yrqENMV5CQj5ahqeHj5dXV1UM2LtHR0llZWDxJUr3H09PU1G5tbvn6+5ydnXaEjDU1NTI4PSIiIllYWDs9QHB8gvX19Z6rtfn6+vLy8r++vpCRkE5PUkpLUUNFSkdHSFFUWGhxd66tq2t0ezlCR4qKiYiIiouLi1VXXu7p5YiTmmJnbr/Av1lcXbG3u2hmZa+yua+5wnl5eZiYlqmmpNjW1oeHhjg7QYqKiiopKTI1N7nEyqq1vCImKztFTJKQkFlcYCQmJvb4+DA4Q399e8vGwVxaWIuXnkpMUWBiacbHxqKhoZ6dnV9hY4iQlh0dH2BpcWBlajQ+RURBQBcaH8zMzMHBxQ4RFB0dHr29vF9fYqampxISFPz8/J6QgywrLF9eXXF0eP///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAALAALAAAAAAQABAAAAjoAGHBUuQmhRwglSAJXLiQU6kBmB5IajTGDEOBfFRB0ZNhEJcGXhLBEgJgoZ0VZxxMWQMI1Z4onlwUUoACViRXqU5RIAXLT5IZFnT8oMRohwlNAThYYSKQjZMLaWqg6dMFiY05OCIooZMDgpEQZESEgQMKAwNBhFoZuNSpzqhACEq8KSIK1gQCGywtaYLIR4Ash/DAugICgKNPMrD8kSAmk4YPMZ6s2iLwCAxWWohUYDGiiqEDX25chEUjyKYeQwS0AbOIxGiBk0Ll6aDmUQEerwXeUVHmlak4uReeoNLihZTgCxd4SMAwIAA7';
image['t10'] = 'R0lGODlhEgASAPfUAC5jKDBlLfr8/j+FO06iSUSQQDFnLkSRQDl5NjFoLi9lKUKNPkOOP0iaQy5hKylWJihUJi5iK0OPP0maQ02iSEqfRUGIPTp6Ni1eKkeLXS9iLD14VEeJVVawUStdJUWSPkSQPkF/UEF9VkB/V3KfoD6EOtvm81GiTNzm8vv8/ixdKTx9OkCEPi9kLEeAcUqRRkGOOEGNOzJpL0GKOTVwLUiYQ1GoTEONPj6DOWiIjj6DOj2COWC3W0V0ckd9aD2AObnK3EV7e1SwTtnk7Z+1xE6BdGa4YkaIVEJ3YS1ZOHehqjl3NUCJOyxYM0J8Wtjj7EmcRWGsXcHV36C71fn7/TdqTkCHPDl7MEORPC9gMi1fJitbJ8jX6EqEctjk5rzN4EGCTypXKPD0+DBnLTyBMjNkPDBpJvf6/TZnUDNtK0KKPSVOHyVOHi1eKS5lK+Lr9E6DhUCKOT1/OD6BQi9mLC9jKkqeRC9lKzdzMzBnLkB9UDBmKy9cOp67z1OrTjVvMl61WarAyUeLVVixU0KOOjZzM9Lf6UWVPEKLPTd1LkGKPdXk7D6GNbrM2kqdRUNzZzVxMuvx+H6rqEaUQU19dy1fKjVoQz1sXWG5XE2NcJi4xS1bKDp4PEiaRO3z+CtZKDJqLDRuLS9jLEWFUyxfKT1+OTBnKCtdJHSeoECJPJ27x87c58bW6idTHzt9N2K0XUKBV0N2fdrm70aYQWm6ZGy+Zzd4LipaIDFpJ1WHe5Wyxa/Gyzd0NC5gKz53VqXB1cXV3TFmLlisU3uhqpCyw0qNY1+dikueRlavUeLp7jd1NC1gKFaZfjBlLjh4LUOJSTVwMbTI2USEU0CHO////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAANQALAAAAAASABIAAAj/AKkJHEhw4JkpQZhlKsiQGisSYAbM0NNwIBVdTsjEgDECSEVqYoZxYsQAS4ZoH7lQWhHnwIdnuz6uQuKMSYEahzYkq2jIx5VUEqBQIJQrUkEUwBo9SjStwDEhduYEIviG2CU+TULhWDBhEDIQWYgM/NJjU6s1dX4ommQDEwE1oHIMjLVsC4YHFywwqMAD0KwSd5JoEuiikgM5haDdaNChlp8Frj6xKaNKQJdeDhDo+LOjgRFajqzgCQPhFponcJpFMKBsSSdhrwggKsVLhgoPlrxIEWEmQDADkF5EOXFgAIIWpE5VGZKiDywae/IkoONmTIIAojS00YJKgMBFxljYHkqjAIB5AApM4Soii6CnX5KKCeJwZJS0EL6UmBAYEAA7';
//button bar
image['undo'] = 'R0lGODlhFgAWAJECAAAAmQAAAP%2F%2F%2FwAAACH5BAEAAAIALAAAAAAWABYAAAIllI%2Bpy%2B0Po5yUgXsfOJnvln2JuGAk55hlqiJd9VbyTNf2jedPAQA7';
image['redo'] = 'R0lGODlhFgAWAJECAAAAmQAAAP%2F%2F%2FwAAACH5BAEAAAIALAAAAAAWABYAAAImlI%2Bpy%2B0Po5z0gHtptsC6rnQbAyZYuaDcmKqnGsLVTNf2jec6VQAAOw%3D%3D';
image['link'] = 'R0lGODlhFgAWALMBAP%2F%2F%2F%2F%2F%2F%2F39%2FfwAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAEALAAAAAAWABYAAAQ%2BMMhJq7046827%2F2AoZsJjmtJpClcJAJP5xmz1wGr%2BpNa93zBJKfDrpXQnXmU4KT1qKSjFmSSqpKOsdsvteiMAOw%3D%3D';
image['unlink']= 'R0lGODlhFQAUAPcEAAAAAJCdsszMzP%2F%2F%2F%2F%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAQALAAAAAAVABQAAAhcAAkIHEiwoMGDCBMqXDjwX8OHDB0SkCiRocWC%2FzJqFKixIkYBA0BSBCnS4D%2BRGTl2LEnw3wCPJgXAPPmyo0qaMCeSfMlxZ86bFDv%2BvLiQIkeLFZMSXcq0qVODAQEAOw%3D%3D';
image['image'] = 'R0lGODlhEgASAKIAAP%2F%2FAAD%2F%2F4CAgICAAACAAIAAAAAAAP%2F%2F%2FyH5BAUUAAcALAAAAAASABIAAANZeLrc%2FlAZQaulhokyuO9gtgiDYZ5oISpbFhwvIB%2BlVr74ASiq1r8CmLA2uh2ClECwN%2BoFWUgiq%2FQ8HilMVqF6Ia2OA8JBTB63fIS0ei0Ff96dL2o%2Bj9jvkAQAOw%3D%3D';
image['table'] = 'R0lGODlhEgASAKIAAP%2F%2F%2F8zMzAAzmQAAAP%2F%2F%2FwAAAAAAAAAAACH5BAUUAAQALAAAAAASABIAAAM%2BSLrc%2FpCMSasdaojNe8eSJ3LgAARAiqrpWZ7tCqtlYN84%2Fsp8vMdAWiZHvP1YSFdmxuTVisTSZTqJWK%2FYbAIAOw%3D%3D';
image['bold'] = 'R0lGODlhFQAUAIABAAAAAP///yH5BAEAAAEALAAAAAAVABQAAAIkjI+py+0Po1Sg2iqt0ZDz52HdJY7AVjrhaaKsSqbTTNf2jR8FADs=';
image['italic']= 'R0lGODlhFQAUAJECAICAgAAAAP///wAAACH5BAEAAAIALAAAAAAVABQAAAIglI+py+0Po3Sh1mkqwAJcrnFewAkhNpanZFnlC8fyDBUAOw==';
image['underline']='R0lGODlhFQAUAJECAICAgAAAAP///wAAACH5BAEAAAIALAAAAAAVABQAAAIplI+py+0Po1ShBmEvrIdHj2mbCD5g6ZyiSa5pAAgA+lrTjWQ6zvf+XQAAOw==';
image['striket']= 'R0lGODlhFQAUAJECAAAAMwAAAAAAAAAAACH5BAEAAAIALAAAAAAVABQAAAIllI%2Bpy%2B0Po2Sh2hAr0pAf3HmTcEnXWZpiA36tI64UOtb2jedCAQA7';
image['supers']= 'R0lGODlhFQAVAJEAAIAAAAAAAP%2F%2F%2FwAAACH5BAEAAAIALAAAAAAVABUAAAIhlI%2Bpy%2B0Po4wATGWvyZr3%2BgSBIV5iqaHmuZKjBsfyTGsFADs%3D';
image['subs'] = 'R0lGODlhFQAVAJEAAAAAgAAAAP%2F%2F%2FwAAACH5BAEAAAIALAAAAAAVABUAAAIglI%2Bpy%2B0Po5y0hmAuvdpi30mdBgAVYp5ptbLlCcfy7BQAOw%3D%3D';
image['left'] = 'R0lGODlhFQAUAIABAAAAAP///yH5BAEAAAEALAAAAAAVABQAAAIfjI+py+0PGZi01oiDtbnrDXoPSIkYuZkNCqjuC8dIAQA7';
image['center']= 'R0lGODlhFQAUAIABAAAAAP///yH5BAEAAAEALAAAAAAVABQAAAIejI+py+0PGZi01oiPtTnvD3QYOIkRyZkPqrbuCy8FADs=';
image['right'] = 'R0lGODlhFQAUAIABAAAAAP///yH5BAEAAAEALAAAAAAVABQAAAIejI+py+0PGZi01oiTtTnuD3QdOIkPyZkeqbbuCycFADs=';
image['full'] = 'R0lGODlhFQAVAPcAAMDAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAVABUAQAg4AAEIHEiwoMGB%2FxIqXLjwoMOHBBlKVHhw4kSIGDNqRGiRYcWODQ2CDLmxpMmTKFOqXMmypUuXAQEAOw%3D%3D';
image['olist'] = 'R0lGODlhFQAUAJECAAAAgAAAAP///wAAACH5BAEAAAIALAAAAAAVABQAAAImlI+py+0PHgPRhIvxlItWDjpUqFTZuZGGp7YI235n1nzh6Oa6WwAAOw==';
image['ulist'] = 'R0lGODlhFQAUAJECAAAAgAAAAP///wAAACH5BAEAAAIALAAAAAAVABQAAAIklI+py+0O4lsRmIBzpnL6DyZVaIyChnIWybZiF5qoprr2jX8FADs=';
image['hrule'] = 'R0lGODlhFQAUAPcDAIiNnYCAgAAAAP%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAMALAAAAAAVABQAAAhIAAcIHEiwoMGDCBMqXMhQYYCGBh8%2BHBCgosWKCC1CJChR4EWNG0OKFPivpMmTJw%2BiXGly5MKJIjtS%2FIjxIMiQMmnCdMmzp8GAADs%3D';
image['indent']= 'R0lGODlhFQAUAJECAAAAgAAAAP///wAAACH5BAEAAAIALAAAAAAVABQAAAIrlI+py63hojyhQovr3AKgjC2AZ4BWMqbcMVKZQ5bvuoWmRjs2lPelDwxGCgA7';
image['outdent']= 'R0lGODlhFQAUAJECAAAAgAAAAP///wAAACH5BAEAAAIALAAAAAAVABQAAAIrlI+py63hojyhQovr3AKgjCmAR4EaMqacMX6ZQxrgyoXmSTc2lPeyDwxGCgA7';
image['unformat']='R0lGODlhFQAUAPcFAJSetcDAwAAAAICAgP%2F%2F%2F%2F%2F%2F%2FwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAUALAAAAAAVABQAAAhdAAsIHEiwoMGDCBMqXMiw4cAB%2FyL%2BGzCg4b8ABDAGCPCP4cWMICEu%2FKiRwMSOCUmCnEgxZUmMLFEeVAmTokyDEDfqjKnwos6NJ0f%2BBHoTIUSJESs6XMq0qdOnSwMCADs%3D';
image['html'] = 'R0lGODlhFQAVAJEAADljwliE3x1ChP///yH5BAEAAAMALAAAAAAVABUAAAIwnI+py+0Po5y0VmGw2AN4PwQJNpAk0KUisnGlgcbhmNWpvB6mLaPBbwkKh8SikVgAADs=';
}
//load language
function loadLanguage()
{
var ext = server.substring(server.lastIndexOf('.')+1);
lang['VILLAGE_MANAGER'] = 'Village Manager';
//English (default)
lang['VILLAGE'] = 'Village';
lang['ALREADY_LIST'] = 'is already in the list';
lang['ADD_VILLAGE'] = 'Add to';
lang['NO_VILLAGES'] = 'No villages in the list!';
lang['MAP'] = 'Map';
lang['PLAYER'] = 'Player';
lang['PLAYER_PROFILE'] = 'Player profile';
lang['ALLY'] = 'Ally';
lang['ALLY_PROFILE'] = 'Ally profile';
lang['DISTANCE'] = 'Distance';
lang['DISTANCE_VILLAGE'] = 'Distance from';
lang['DELETE'] = 'Delete';
lang['SEND_TROOPS'] = 'Send troops';
lang['DRAG'] = 'Drag';
lang['HIDE'] = 'Hide';
lang['SHOW'] = 'Show';
lang['SORT_BY'] = 'Sort by';
lang['MINIMIZE'] = 'Minimize';
lang['MAXIMIZE'] = 'Maximize';
lang['YOUR_VILLAGE'] = 'your village';
lang['COLUMNS'] = 'columns';
lang['OPTIONS'] = 'options';
lang['SEND_RESOURCES'] = 'Send resources';
lang['VILLAGE_PROFILE'] = 'Village profile';
lang['OTHER_OPTIONS'] = 'Other options';
lang['DELETE_ALL'] = 'Delete all villages';
lang['RESTORE'] = 'Default settings';
lang['CONFIRM'] = 'Are you sure?';
lang['LUMBER'] = 'lumber';
lang['CLAY'] = 'clay';
lang['IRON'] = 'iron';
lang['CROP'] = 'crop';
lang['TRIBE'] = 'Tribe';
lang['ROMANS'] = 'Romans';
lang['GAULS'] = 'Gauls';
lang['TEUTONS'] = 'Teutons';
lang['UPDATE_CHECK'] = 'Check for updates';
lang['LAST_VERSION'] = 'You have the last version available';
lang['NEW_VERSION'] = 'A new version is available';
lang['UPDATE_NOW'] = 'Update now';
lang['DATE'] = 'Date';
lang['POPULATION'] = 'Population';
lang['SERVER_DOWN'] = 'Stats server is not responding, please retry later...';
lang['CLOSE'] = 'Close';
lang['TYPE'] = 'Type';
lang['VILLAGE_TYPE'] = 'Type of village';
lang['F1'] = '9 crop (3-3-3-9)';
lang['F2'] = '+iron (3-4-5-6)';
lang['F3'] = 'normal (4-4-4-6)';
lang['F4'] = '+clay (4-5-3-6)';
lang['F5'] = '+lumber (5-3-4-6)';
lang['F6'] = '15 crop (1-1-1-15)';
lang['W1'] = '+25% lumber per hour';
lang['W2'] = '+25% lumber per hour';
lang['W3'] = '+25% lumber & +25% crop per hour';
lang['W4'] = '+25% clay per hour';
lang['W5'] = '+25% clay per hour';
lang['W6'] = '+25% clay & +25% crop per hour';
lang['W7'] = '+25% iron per hour';
lang['W8'] = '+25% iron per hour';
lang['W9'] = '+25% iron & +25% crop per hour';
lang['W10'] = '+25% crop per hour';
lang['W11'] = '+25% crop per hour';
lang['W12'] = '+50% crop per hour';
lang['WIDTH'] = 'Width of';
lang['SAVE'] = 'Save';
lang['TROOPS'] = 'Troops';
lang['TIME'] = 'Time';
lang['ARRIVAL'] = 'Arrival';
lang['TOT'] = 'Time of travel';
lang['TOURNAMENT'] = 'Arena level';
lang['SPEED'] = 'Speed server';
lang['POPUPS'] = 'Popups';
lang['TAG'] = 'Tag';
lang['NO_TAG'] = 'No villages with tag';
lang['FILTER'] = 'Filter by';
lang['ADD'] = 'Add';
lang['REMOVE'] = 'Remove';
lang['NOTE'] = 'Note';
lang['EDIT'] = 'Edit';
lang['START_EDITING'] = 'Start editing first!';
lang['IMAGE'] = 'Image';
lang['BOLD'] = 'Bold';
lang['ITALIC'] = 'Italic';
lang['UNDERLINE'] = 'Underline';
lang['STRIKET'] = 'Strikethrough';
lang['SUPERS'] = 'Superscript';
lang['SUBS'] = 'Subscript';
lang['JLEFT'] = 'Justify left';
lang['JCENTER'] = 'Justify center';
lang['JRIGHT'] = 'Justify right';
lang['JFULL'] = 'Justify full';
lang['OLIST'] = 'Ordered list';
lang['ULIST'] = 'Unordered list';
lang['HRULE'] = 'Horizontal rule';
lang['INDENT'] = 'Indent';
lang['OUTDENT'] = 'Outdent';
lang['UNFORMAT'] = 'Remove format';
lang['COLOR_TXT'] = 'Text color';
lang['COLOR_BGR'] = 'Background color';
lang['FONT_TYPE'] = 'Font type';
lang['FONT_SIZE'] = 'Font size';
lang['IE_DATA'] = 'Import/Export data';
lang['I_DATA'] = 'Import data';
lang['APPEND'] = 'Append to list';
lang['ALREADY_TAG'] = 'This tag already exist!';
lang['ALREADY_PROFILE'] = 'This profile already exist!';
lang['SETTING_PROFILES'] = 'Setting profiles';
lang['LINK_TAGS'] = 'Link with tags';
switch(ext) {
case 'it': //Italian, translation by dbKiller
lang['VILLAGE'] = 'Villaggio';
lang['ALREADY_LIST'] = 'è già nella lista';
lang['ADD_VILLAGE'] = 'Aggiungi a';
lang['NO_VILLAGES'] = 'Nessun villaggio nella lista!';
lang['MAP'] = 'Mappa';
lang['PLAYER'] = 'Giocatore';
lang['PLAYER_PROFILE'] = 'Profilo giocatore';
lang['ALLY'] = 'Alleanza';
lang['ALLY_PROFILE'] = 'Profilo alleanza';
lang['DISTANCE'] = 'Distanza';
lang['DISTANCE_VILLAGE'] = 'Distanza da';
lang['DELETE'] = 'Cancella';
lang['SEND_TROOPS'] = 'Invia truppe';
lang['DRAG'] = 'Trascina';
lang['HIDE'] = 'Nascondi';
lang['SHOW'] = 'Mostra';
lang['SORT_BY'] = 'Ordina per';
lang['MINIMIZE'] = 'Riduci';
lang['MAXIMIZE'] = 'Ingrandisci';
lang['YOUR_VILLAGE'] = 'tuo villaggio';
lang['COLUMNS'] = 'colonne';
lang['OPTIONS'] = 'opzioni';
lang['SEND_RESOURCES'] = 'Invia risorse';
lang['VILLAGE_PROFILE'] = 'Profilo villaggio';
lang['OTHER_OPTIONS'] = 'Altre opzioni';
lang['DELETE_ALL'] = 'Cancella tutti i villaggi';
lang['RESTORE'] = 'Impostazioni di default';
lang['CONFIRM'] = 'Sei sicuro?';
lang['LUMBER'] = 'legno';
lang['CLAY'] = 'argilla';
lang['IRON'] = 'ferro';
lang['CROP'] = 'grano';
lang['TRIBE'] = 'Tribù';
lang['ROMANS'] = 'Romani';
lang['GAULS'] = 'Galli';
lang['TEUTONS'] = 'Teutoni';
lang['UPDATE_CHECK'] = 'Cerca aggiornamenti';
lang['LAST_VERSION'] = 'Hai l\'ultima versione disponibile';
lang['NEW_VERSION'] = 'E\' disponibile una nuova versione';
lang['UPDATE_NOW'] = 'Aggiornare adesso';
lang['DATE'] = 'Data';
lang['POPULATION'] = 'Popolazione';
lang['SERVER_DOWN'] = 'Il server delle statistiche non è disponibile, riprova più tardi...';
lang['CLOSE'] = 'Chiudi';
lang['TYPE'] = 'Tipo';
lang['VILLAGE_TYPE'] = 'Tipo di villaggio';
lang['F1'] = 'pulcino (3-3-3-9)';
lang['F2'] = '+ferro (3-4-5-6)';
lang['F3'] = 'normale (4-4-4-6)';
lang['F4'] = '+argilla (4-5-3-6)';
lang['F5'] = '+legno (5-3-4-6)';
lang['F6'] = 'canarino (1-1-1-15)';
lang['W1'] = '+25% legno ogni ora';
lang['W2'] = '+25% legno ogni ora';
lang['W3'] = '+25% legno & +25% grano ogni ora';
lang['W4'] = '+25% argilla ogni ora';
lang['W5'] = '+25% argilla ogni ora';
lang['W6'] = '+25% argilla & +25% grano ogni ora';
lang['W7'] = '+25% ferro ogni ora';
lang['W8'] = '+25% ferro ogni ora';
lang['W9'] = '+25% ferro & +25% grano ogni ora';
lang['W10'] = '+25% grano ogni ora';
lang['W11'] = '+25% grano ogni ora';
lang['W12'] = '+50% grano ogni ora';
lang['WIDTH'] = 'Larghezza';
lang['SAVE'] = 'Salva';
lang['TROOPS'] = 'Truppe';
lang['TIME'] = 'Tempo';
lang['ARRIVAL'] = 'Arrivo';
lang['TOT'] = 'Tempo di percorrenza';
lang['TOURNAMENT'] = 'Livello arena';
lang['SPEED'] = 'Speed server';
lang['POPUPS'] = 'Popups';
lang['TAG'] = 'Tag';
lang['NO_TAG'] = 'Nessun villaggio ha il tag';
lang['FILTER'] = 'Filtra per';
lang['ADD'] = 'Aggiungi';
lang['REMOVE'] = 'Rimuovi';
lang['NOTE'] = 'Nota';
lang['EDIT'] = 'Avvia modalità editor';
lang['START_EDITING'] = 'Devi avviare la modalità editor!';
lang['IMAGE'] = 'Immagine';
lang['BOLD'] = 'Grassetto';
lang['ITALIC'] = 'Corsivo';
lang['UNDERLINE'] = 'Sottolineato';
lang['STRIKET'] = 'Barrato';
lang['SUPERS'] = 'Apice';
lang['SUBS'] = 'Pedice';
lang['JLEFT'] = 'Allinea a sinistra';
lang['JCENTER'] = 'Allinea al centro';
lang['JRIGHT'] = 'Allinea a destra';
lang['JFULL'] = 'Giustificato';
lang['OLIST'] = 'Elenco numerato';
lang['ULIST'] = 'Elenco puntato';
lang['HRULE'] = 'Riga orizzontale';
lang['INDENT'] = 'Aumenta rientro';
lang['OUTDENT'] = 'Riduci rientro';
lang['UNFORMAT'] = 'Rimuovi formattazione';
lang['COLOR_TXT'] = 'Colore del testo';
lang['COLOR_BGR'] = 'Colore sfondo';
lang['FONT_TYPE'] = 'Tipo carattere';
lang['FONT_SIZE'] = 'Dimensione carattere';
lang['IE_DATA'] = 'Importa/Esporta dati';
lang['I_DATA'] = 'Importa dati';
lang['APPEND'] = 'Aggiungi alla lista';
lang['ALREADY_TAG'] = 'Questo tag esiste già!';
lang['ALREADY_PROFILE'] = 'Questo profilo esiste già!';
lang['SETTING_PROFILES'] = 'Profili opzioni';
lang['LINK_TAGS'] = 'Collega ai tags';
break;
case 'sk': //Slovak, translation by remodaboss
lang['VILLAGE'] = 'Dedina';
lang['ALREADY_LIST'] = 'už je v zozname';
lang['ADD_VILLAGE'] = 'Pridať do';
lang['NO_VILLAGES'] = 'Zoznam dedín je prázdny!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Hráč';
lang['PLAYER_PROFILE'] = 'Profil hráča';
lang['ALLY'] = 'Alliancia';
lang['ALLY_PROFILE'] = 'Profil aliancie';
lang['DISTANCE'] = 'Vzdialenosť';
lang['DISTANCE_VILLAGE'] = 'Vzdialenosť od';
lang['DELETE'] = 'Vymazať';
lang['SEND_TROOPS'] = 'Poslať jednotky';
lang['DRAG'] = 'Pretiahni';
lang['HIDE'] = 'Skryť';
lang['SHOW'] = 'Ukázať';
lang['SORT_BY'] = 'Zotriediť podľa';
lang['MINIMIZE'] = 'Minimalizovať';
lang['MAXIMIZE'] = 'Maximalizovať';
lang['YOUR_VILLAGE'] = 'tvoja dedina';
lang['COLUMNS'] = 'stĺpce';
lang['OPTIONS'] = 'nastavenia';
lang['SEND_RESOURCES'] = 'Pošli suroviny';
lang['VILLAGE_PROFILE'] = 'Profil dediny';
lang['OTHER_OPTIONS'] = 'Ostatné možnosti';
lang['DELETE_ALL'] = 'Vymazať všetky dediny';
lang['RESTORE'] = 'Default nastavenia';
lang['CONFIRM'] = 'Si pevne presvedčený, že chceš toto spraviť?';
lang['LUMBER'] = 'drevo';
lang['CLAY'] = 'hlina';
lang['IRON'] = 'železo';
lang['CROP'] = 'obilie';
lang['TRIBE'] = 'Rasa';
lang['ROMANS'] = 'Rimania';
lang['GAULS'] = 'Galovia';
lang['TEUTONS'] = 'Germáni';
lang['UPDATE_CHECK'] = 'Skontrolovať update';
lang['LAST_VERSION'] = 'Máš poslednú verziu skriptu!';
lang['NEW_VERSION'] = 'Je k dispozícií nová verzia';
lang['UPDATE_NOW'] = 'Updatni teraz';
lang['DATE'] = 'Dátum';
lang['POPULATION'] = 'Populácia';
lang['SERVER_DOWN'] = 'Štatistický server neni k dispozícii, skús neskôr...';
lang['CLOSE'] = 'Zavrieť';
lang['TYPE'] = 'Typ';
lang['VILLAGE_TYPE'] = 'Typ dediny';
lang['F1'] = '9 obilie (3-3-3-9)';
lang['F2'] = '+železo (3-4-5-6)';
lang['F3'] = 'normálna (4-4-4-6)';
lang['F4'] = '+hlina (4-5-3-6)';
lang['F5'] = '+drevo (5-3-4-6)';
lang['F6'] = '15 obilie (1-1-1-15)';
lang['W1'] = '+25% dreva za hodinu';
lang['W2'] = '+25% dreva za hodinu';
lang['W3'] = '+25% dreva & +25% obilia za hodinu';
lang['W4'] = '+25% hliny za hodinu';
lang['W5'] = '+25% hliny za hodinu';
lang['W6'] = '+25% hliny & +25% obilia za hodinu';
lang['W7'] = '+25% železa za hodinu';
lang['W8'] = '+25% železa za hodinu';
lang['W9'] = '+25% železa & +25% obilia za hodinu';
lang['W10'] = '+25% obilia za hodinu';
lang['W11'] = '+25% obilia za hodinu';
lang['W12'] = '+50% obilia za hodinu';
lang['WIDTH'] = 'Šírka';
lang['SAVE'] = 'Uložiť';
lang['TROOPS'] = 'Jednotky';
lang['TIME'] = 'Čas';
lang['ARRIVAL'] = 'Príchod';
lang['TOT'] = 'Čas cestovania';
lang['TOURNAMENT'] = 'úroveň Arény';
lang['SPEED'] = 'Speed server';
lang['POPUPS'] = 'Popupy';
lang['TAG'] = 'Tag';
lang['NO_TAG'] = 'Žiadne dediny s týmto tagom';
lang['FILTER'] = 'Filtruj podľa: ';
lang['ADD'] = 'Pridať';
lang['REMOVE'] = 'Odobrať';
lang['NOTE'] = 'Poznámka';
lang['EDIT'] = 'Edituj';
lang['START_EDITING'] = 'Najskôr edituj!';
lang['IMAGE'] = 'Obrázok';
lang['BOLD'] = 'Bold';
lang['ITALIC'] = 'Italic';
lang['UNDERLINE'] = 'Podčiarknuté';
lang['STRIKET'] = 'Prečiarknuté';
lang['SUPERS'] = 'Horný index';
lang['SUBS'] = 'Dolný index';
lang['JLEFT'] = 'Zarovnaj vľavo';
lang['JCENTER'] = 'Zarovnaj na stred';
lang['JRIGHT'] = 'Zarovnaj vpravo';
lang['JFULL'] = 'Celá šírka';
lang['OLIST'] = 'Číslovaný zoznam';
lang['ULIST'] = 'Odrážky';
lang['HRULE'] = 'Horizontálna čiara';
lang['INDENT'] = 'Odsek';
lang['OUTDENT'] = 'Prísek';
lang['UNFORMAT'] = 'Zruš formátovanie';
lang['COLOR_TXT'] = 'Farba textu';
lang['IE_DATA'] = 'Importuj/Export dáta';
break;
case 'pt': //Portuguese (Portugal), translation by Garigou #13
lang['VILLAGE'] = 'Aldeia';
lang['ALREADY_LIST'] = 'A aldeia já está adicionada';
lang['ADD_VILLAGE'] = 'Adicionar à';
lang['NO_VILLAGES'] = 'Nenhuma aldeia na lista!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Jogador';
lang['PLAYER_PROFILE'] = 'Perfil do jogador';
lang['ALLY'] = 'Aliança';
lang['ALLY_PROFILE'] = 'Perfil da aliança';
lang['DISTANCE'] = 'Distancia';
lang['DISTANCE_VILLAGE'] = 'Distancia da';
lang['DELETE'] = 'Apagar';
lang['SEND_TROOPS'] = 'Enviar tropas';
lang['DRAG'] = 'Mover';
lang['HIDE'] = 'Esconder';
lang['SHOW'] = 'Mostrar';
lang['SORT_BY'] = 'Ordenar por';
lang['MINIMIZE'] = 'Minimizar';
lang['MAXIMIZE'] = 'Maximizar';
lang['YOUR_VILLAGE'] = 'A tua aldeia';
lang['COLUMNS'] = 'Colunas';
lang['OPTIONS'] = 'Opções';
lang['SEND_RESOURCES'] = 'Enviar Recursos';
lang['VILLAGE_PROFILE'] = 'Perfil da Aldeia';
lang['OTHER_OPTIONS'] = 'Outras opções';
lang['DELETE_ALL'] = 'Apagar todas as aldeias';
lang['RESTORE'] = 'Opções por defeito';
lang['CONFIRM'] = 'Tem a certeza?';
lang['LUMBER'] = 'Madeira';
lang['CLAY'] = 'Barro';
lang['IRON'] = 'Ferro';
lang['CROP'] = 'Cereal';
lang['TRIBE'] = 'Tribo';
lang['ROMANS'] = 'Romanos';
lang['GAULS'] = 'Gauleses';
lang['TEUTONS'] = 'Teuto~es';
lang['UPDATE_CHECK'] = 'Procurar actualizações';
lang['LAST_VERSION'] = 'Tem a última versão disponivel';
lang['NEW_VERSION'] = 'Está disponível nova actualização';
lang['UPDATE_NOW'] = 'Actualizar agora';
lang['DATE'] = 'Data';
lang['POPULATION'] = 'População';
lang['SERVER_DOWN'] = 'Servidor não responde, tente mais tarde...';
lang['CLOSE'] = 'Fechado';
lang['TYPE'] = 'Tipo';
lang['VILLAGE_TYPE'] = 'Tipo de aldeia';
lang['F1'] = '9 Cereal (3-3-3-9)';
lang['F2'] = '+Ferro (3-4-5-6)';
lang['F3'] = 'Normal (4-4-4-6)';
lang['F4'] = '+Barro (4-5-3-6)';
lang['F5'] = '+Madeira (5-3-4-6)';
lang['F6'] = '15 Cereal (1-1-1-15)';
lang['W1'] = '+25% Madeira por hora';
lang['W2'] = '+25% Madeira por hora';
lang['W3'] = '+25% Madeira & +25% Cereal por hora';
lang['W4'] = '+25% Barro por hora';
lang['W5'] = '+25% Barro por hora';
lang['W6'] = '+25% Barro & +25% Cereal por hora';
lang['W7'] = '+25% Ferro por hora';
lang['W8'] = '+25% Ferro por hora';
lang['W9'] = '+25% Ferro & +25% Cereal por hora';
lang['W10'] = '+25% Cereal por hora';
lang['W11'] = '+25% Cereal por hora';
lang['W12'] = '+50% Cereal por hora';
lang['WIDTH'] = 'Tamanho das';
lang['SAVE'] = 'Guardar';
lang['TROOPS'] = 'Tropas';
lang['TIME'] = 'Tempo';
lang['ARRIVAL'] = 'Chegada';
lang['TOT'] = 'Tempo de viagem';
lang['TOURNAMENT'] = 'Nível da arena';
lang['SPEED'] = 'Velocidade do servidor';
lang['POPUPS'] = 'Popups';
lang['TAG'] = 'Tag';
lang['NO_TAG'] = 'Nenhuma aldeia com tag';
lang['FILTER'] = 'Filtrar por: ';
lang['ADD'] = 'Adicionar';
lang['REMOVE'] = 'Remover';
lang['NOTE'] = 'Nota';
lang['EDIT'] = 'Editar';
lang['START_EDITING'] = 'Editar primeiro!';
lang['LINK'] = 'Link';
lang['IMAGE'] = 'Imagem';
lang['BOLD'] = 'Negrito';
lang['ITALIC'] = 'Italico';
lang['UNDERLINE'] = 'Sublinhado';
lang['STRIKET'] = 'Rasurado';
lang['SUPERS'] = 'Superior à linha';
lang['SUBS'] = 'Inferior à linha';
lang['JLEFT'] = 'Alinhar à esquerda';
lang['JCENTER'] = 'Alinhar ao centro';
lang['JRIGHT'] = 'Alinhar à direita';
lang['JFULL'] = 'Justificar';
lang['OLIST'] = 'Numeração';
lang['ULIST'] = 'Marcas';
lang['HRULE'] = 'Régua horizontal';
lang['INDENT'] = 'Aumentar avanço';
lang['OUTDENT'] = 'Diminuir avanço';
lang['UNFORMAT'] = 'Remover formatação';
lang['COLOR_TXT'] = 'Cor do texto';
lang['IE_DATA'] = 'Importar/Exportar dados';
break;
case 'dk': //Danish, translation by polle1
lang['VILLAGE'] = 'By';
lang['ALREADY_LIST'] = 'Allerede listede';
lang['ADD_VILLAGE'] = 'Tilføj By';
lang['NO_VILLAGES'] = 'Ingen by';
lang['MAP'] = 'Kort';
lang['PLAYER'] = 'Spiller';
lang['PLAYER_PROFILE'] = 'Spiller profil';
lang['ALLY'] = 'Alliance';
lang['ALLY_PROFILE'] = 'Alliance profil';
lang['DISTANCE'] = 'Afstand';
lang['DISTANCE_VILLAGE'] = 'Afstand til by';
lang['DELETE'] = 'Slet';
lang['SEND_TROOPS'] = 'Send tropper';
lang['DRAG'] = 'Træk';
lang['HIDE'] = 'Gem';
lang['SHOW'] = 'Vis';
lang['SORT_BY'] = 'Sorter efter';
lang['MINIMIZE'] = 'Minimer';
lang['MAXIMIZE'] = 'Maksimer';
lang['YOUR_VILLAGE'] = 'Din by';
lang['COLUMNS'] = 'kolone';
lang['OPTIONS'] = 'Muligheder';
lang['SEND_RESOURCES'] = 'Send ressourcer';
lang['VILLAGE_PROFILE'] = 'By profil';
lang['OTHER_OPTIONS'] = 'Andre muligheder';
lang['DELETE_ALL'] = 'Slet alt';
lang['RESTORE'] = 'Genskab';
lang['CONFIRM'] = 'Accepter?';
lang['LUMBER'] = 'Træ';
lang['CLAY'] = 'Ler';
lang['IRON'] = 'Jern';
lang['CROP'] = 'Korn';
lang['TRIBE'] = 'Stamme';
lang['ROMANS'] = 'Romere';
lang['GAULS'] = 'Gallere';
lang['TEUTONS'] = 'Germanere';
lang['UPDATE_CHECK'] = 'Tjek for updates';
lang['LAST_VERSION'] = 'Sidste version';
lang['NEW_VERSION'] = 'Ny version';
lang['UPDATE_NOW'] = 'updater nu';
lang['DATE'] = 'Dato';
lang['POPULATION'] = 'Befolkning'
lang['SERVER_DOWN'] = 'Server nede';
lang['CLOSE'] = 'Luk';
lang['TYPE'] = 'Type';
lang['VILLAGE_TYPE'] = 'By type';
lang['F1'] = '9 korn (3-3-3-9)';
lang['F2'] = '+jern (3-4-5-6)';
lang['F3'] = 'normal (4-4-4-6)';
lang['F4'] = '+ler (4-5-3-6)';
lang['F5'] = '+træ (5-3-4-6)';
lang['F6'] = '15 korn (1-1-1-15)';
lang['W1'] = '+25% træ';
lang['W2'] = '+25% træ';
lang['W3'] = '+25% træ og +25% korn';
lang['W4'] = '+25% ler';
lang['W5'] = '+25% ler';
lang['W6'] = '+25% ler og +25% korn';
lang['W7'] = '+25% jern';
lang['W8'] = '+25% jern';
lang['W9'] = '+25% jern +25% korn';
lang['W10'] = '+25% korn';
lang['W11'] = '+25% korn';
lang['W12'] = '+50% korn';
lang['WIDTH'] = 'Bredde';
lang['SAVE'] = 'Gem';
lang['TROOPS'] = 'Tropper';
lang['TIME'] = 'Tid';
lang['ARRIVAL'] = 'Ankomst';
lang['TOT'] = 'Rejsetid';
lang['TOURNAMENT'] = 'Turneringsplads';
lang['SPEED'] = 'Speed server';
lang['POPUPS'] = 'Popups';
lang['TAG'] = 'Tag';
lang['NO_TAG'] = 'Ingen tag';
lang['FILTER'] = 'Filter';
break;
case 'ba': //bosnian, translation by v3rn
lang['VILLAGE'] = 'Selo';
lang['ALREADY_LIST'] = 'već se nalazi u listi';
lang['ADD_VILLAGE'] = 'Dodaj selo u';
lang['NO_VILLAGES'] = 'Nema nijednog sela u listi!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Igrač';
lang['PLAYER_PROFILE'] = 'Profil igrača';
lang['ALLY'] = 'Alijansa';
lang['ALLY_PROFILE'] = 'Profil alijanse';
lang['DISTANCE'] = 'Udaljenost';
lang['DISTANCE_VILLAGE'] = 'Udaljenost od';
lang['DELETE'] = 'Obriši';
lang['SEND_TROOPS'] = 'Šalji vojsku';
lang['DRAG'] = 'Povuci';
lang['HIDE'] = 'Sakrij';
lang['SHOW'] = 'Pokaži';
lang['SORT_BY'] = 'Sortiranje po';
lang['MINIMIZE'] = 'Minimiziraj';
lang['MAXIMIZE'] = 'Maksimiziraj';
lang['YOUR_VILLAGE'] = 'tvog sela';
lang['COLUMNS'] = 'kolone';
lang['OPTIONS'] = 'opcije';
lang['SEND_RESOURCES'] = 'Šalji resurse';
lang['VILLAGE_PROFILE'] = 'Profil sela';
lang['OTHER_OPTIONS'] = 'Druge opcije';
lang['DELETE_ALL'] = 'Ukloni sva sela';
lang['RESTORE'] = 'Početne postavke';
lang['CONFIRM'] = 'Sigurno?';
lang['LUMBER'] = 'drvo';
lang['CLAY'] = 'glina';
lang['IRON'] = 'željezo';
lang['CROP'] = 'žitarice';
lang['TRIBE'] = 'Pleme';
lang['ROMANS'] = 'Rimljani';
lang['GAULS'] = 'Gali';
lang['TEUTONS'] = 'Teutonci';
lang['UPDATE_CHECK'] = 'Potraži novu verziju';
lang['LAST_VERSION'] = 'Imaš već instaliranu najnoviju verziju';
lang['NEW_VERSION'] = 'Nova verzija je dostupna';
lang['UPDATE_NOW'] = 'Instaliraj novu verziju';
lang['DATE'] = 'Datum';
lang['POPULATION'] = 'Populacija'
lang['SERVER_DOWN'] = 'Server za statistiku je zauzet, molimo pokušajte kasnije...';
lang['CLOSE'] = 'Zatvori';
lang['TYPE'] = 'Tip';
lang['VILLAGE_TYPE'] = 'Tip sela';
lang['F1'] = '9 žitno (3-3-3-9)';
lang['F2'] = '+željezo (3-4-5-6)';
lang['F3'] = 'normalno (4-4-4-6)';
lang['F4'] = '+glina (4-5-3-6)';
lang['F5'] = '+drvo (5-3-4-6)';
lang['F6'] = '15 žitno (1-1-1-15)';
lang['W1'] = '+25% drva po satu';
lang['W2'] = '+25% drva po satu';
lang['W3'] = '+25% drva i +25% žitarica po satu';
lang['W4'] = '+25% gline po satu';
lang['W5'] = '+25% gline po satu';
lang['W6'] = '+25% gline i +25% žitarica po satu';
lang['W7'] = '+25% željeza po satu';
lang['W8'] = '+25% željeza po satu';
lang['W9'] = '+25% željeza i +25% žitarica po satu';
lang['W10'] = '+25% žitarica po satu';
lang['W11'] = '+25% žitarica po satu';
lang['W12'] = '+50% žitarica po satu';
lang['WIDTH'] = 'Širina';
lang['SAVE'] = 'Snimi';
lang['TROOPS'] = 'Vojska';
lang['TIME'] = 'Vrijeme';
lang['ARRIVAL'] = 'Dolazak';
lang['TOT'] = 'Vrijeme dolaska';
lang['TOURNAMENT'] = 'Stepen mejdana';
lang['SPEED'] = 'Speed server';
lang['POPUPS'] = 'Popups';
lang['TAG'] = 'Oznaka';
lang['NO_TAG'] = 'Nema označenih sela';
lang['FILTER'] = 'Filtriraj po';
break;
case 'hu': // Hungarian, translation by [TAJM]Kobra
lang['VILLAGE'] = 'Falu';
lang['ALREADY_LIST'] = 'falu már a listádon van!';
lang['ADD_VILLAGE'] = 'Hozzáadása';
lang['NO_VILLAGES'] = 'Nincs falu a listádon!';
lang['MAP'] = 'Térkép';
lang['PLAYER'] = 'Játékos';
lang['PLAYER_PROFILE'] = 'Játékos profil';
lang['ALLY'] = 'Klán';
lang['ALLY_PROFILE'] = 'Klán profil';
lang['DISTANCE'] = 'Távolság';
lang['DISTANCE_VILLAGE'] = 'Távolságra van';
lang['DELETE'] = 'Törlés';
lang['SEND_TROOPS'] = 'Egységek küldése';
lang['DRAG'] = 'Mozgatás';
lang['HIDE'] = 'Elrejtés';
lang['SHOW'] = 'Mutat';
lang['SORT_BY'] = 'Rendezés';
lang['MINIMIZE'] = 'Minimalizálás';
lang['MAXIMIZE'] = 'Maximalizálás';
lang['YOUR_VILLAGE'] = 'saját falu';
lang['COLUMNS'] = 'oszlopok';
lang['OPTIONS'] = 'Beállítások';
lang['SEND_RESOURCES'] = 'Nyersanyagok küldése';
lang['VILLAGE_PROFILE'] = 'Falu profil';
lang['OTHER_OPTIONS'] = 'Egyéb beállítások';
lang['DELETE_ALL'] = 'Az összes falu törlése';
lang['RESTORE'] = 'Eredeti beálítások';
lang['CONFIRM'] = 'Biztos vagy benne?';
lang['LUMBER'] = 'fa';
lang['CLAY'] = 'agyag';
lang['IRON'] = 'vas';
lang['CROP'] = 'búza';
lang['TRIBE'] = 'Nemzetség';
lang['ROMANS'] = 'Római';
lang['GAULS'] = 'Gall';
lang['TEUTONS'] = 'Germán';
lang['UPDATE_CHECK'] = 'Frissítés keresése';
lang['LAST_VERSION'] = 'A legfrissebb verzióval rendelkezel:';
lang['NEW_VERSION'] = 'Új verzió érhető el';
lang['UPDATE_NOW'] = 'Frissítés';
lang['DATE'] = 'Dátum';
lang['POPULATION'] = 'Lakosság';
lang['SERVER_DOWN'] = 'A státusz szerver nem működik, próbáld később...';
lang['CLOSE'] = 'Bezár';
lang['TYPE'] = 'Tipus';
lang['VILLAGE_TYPE'] = 'Falu tipusa';
lang['F1'] = '9 búzás (3-3-3-9)';
lang['F2'] = '+vas (3-4-5-6)';
lang['F3'] = 'normál (4-4-4-6)';
lang['F4'] = '+agyag (4-5-3-6)';
lang['F5'] = '+fa (5-3-4-6)';
lang['F6'] = '15 búzás (1-1-1-15)';
lang['W1'] = '+25% fa /óra';
lang['W2'] = '+25% fa /óra';
lang['W3'] = '+25% fa & +25% búza /óra';
lang['W4'] = '+25% agyag /óra';
lang['W5'] = '+25% agyag /óra';
lang['W6'] = '+25% agyag & +25% búza /óra';
lang['W7'] = '+25% vas /óra';
lang['W8'] = '+25% vas /óra';
lang['W9'] = '+25% vas & +25% búza /óra';
lang['W10'] = '+25% búza /óra';
lang['W11'] = '+25% búza /óra';
lang['W12'] = '+50% búza /óra';
lang['WIDTH'] = 'Szélesség';
lang['SAVE'] = 'Mentés';
lang['TROOPS'] = 'Egységek';
lang['TIME'] = 'Idő';
lang['ARRIVAL'] = 'Érkezés';
lang['TOT'] = 'Utazási idő';
lang['TOURNAMENT'] = 'Gyakorlótér szintje';
lang['SPEED'] = 'Speed szerver';
lang['POPUPS'] = 'Felugró ablak';
lang['TAG'] = 'Címke';
lang['NO_TAG'] = 'Nincs ilyen címkével falu';
lang['FILTER'] = 'Szűrés';
break;
case 'de': //Deutsch, translation by hanswurst
lang['VILLAGE'] = 'Dorf';
lang['ALREADY_LIST'] = 'ist bereits in der Liste';
lang['ADD_VILLAGE'] = 'Hinzufügen zu';
lang['NO_VILLAGES'] = 'Keine Dörfer in der Liste!';
lang['MAP'] = 'Karte';
lang['PLAYER'] = 'Spieler';
lang['PLAYER_PROFILE'] = 'Spieler Profil';
lang['ALLY'] = 'Ally';
lang['ALLY_PROFILE'] = 'Ally Profil';
lang['DISTANCE'] = 'Distanz';
lang['DISTANCE_VILLAGE'] = 'Distanz von';
lang['DELETE'] = 'löschen';
lang['SEND_TROOPS'] = 'Sende Truppen';
lang['DRAG'] = 'ziehen';
lang['HIDE'] = 'Verstecken';
lang['SHOW'] = 'Zeigen';
lang['SORT_BY'] = 'Sortieren nach';
lang['MINIMIZE'] = 'minimiren';
lang['MAXIMIZE'] = 'maximiren';
lang['YOUR_VILLAGE'] = 'Dein Dorf';
lang['COLUMNS'] = 'Spalten';
lang['OPTIONS'] = 'Optionen';
lang['SEND_RESOURCES'] = 'Sende Ressourcen';
lang['VILLAGE_PROFILE'] = 'Dorf Profil';
lang['OTHER_OPTIONS'] = 'Andere Optionen';
lang['DELETE_ALL'] = 'Lösche alle Dörfer';
lang['RESTORE'] = 'Standardeinstellungen';
lang['CONFIRM'] = 'Sicher?';
lang['LUMBER'] = 'Holz';
lang['CLAY'] = 'Lehm';
lang['IRON'] = 'Eisen';
lang['CROP'] = 'Getreide';
lang['TRIBE'] = 'Volk';
lang['ROMANS'] = 'Römer';
lang['GAULS'] = 'Gallier';
lang['TEUTONS'] = 'Germanen';
lang['UPDATE_CHECK'] = 'Suche nach updates';
lang['LAST_VERSION'] = 'Du besitzt die aktuelle Version';
lang['NEW_VERSION'] = 'Eine neue Version ist verfügbar';
lang['UPDATE_NOW'] = 'Update jetzt';
lang['DATE'] = 'Datum';
lang['POPULATION'] = 'Einwohner';
lang['SERVER_DOWN'] = 'Der Statistik-Server ist zur Ziet nicht erreichbar';
lang['CLOSE'] = 'schließen';
lang['TYPE'] = 'Typ';
lang['VILLAGE_TYPE'] = 'Dorf-Typ';
lang['F1'] = '9er Getreide (3-3-3-9)';
lang['F2'] = '+Eisen (3-4-5-6)';
lang['F3'] = 'Normal (4-4-4-6)';
lang['F4'] = '+Lehm (4-5-3-6)';
lang['F5'] = '+Holz (5-3-4-6)';
lang['F6'] = '15er Getreide (1-1-1-15)';
lang['W1'] = '+25% Holz pro Stunde';
lang['W2'] = '+25% Holz pro Stunde';
lang['W3'] = '+25% Holz & +25% Getreide pro Stunde';
lang['W4'] = '+25% Lehm pro Stunde';
lang['W5'] = '+25% Lehm pro Stunde';
lang['W6'] = '+25% Lehm & +25% Getreide pro Stunde';
lang['W7'] = '+25% Eisen pro Stunde';
lang['W8'] = '+25% Eisen pro Stunde';
lang['W9'] = '+25% Eisen & +25% Getreide pro Stunde';
lang['W10'] = '+25% Getreide pro Stunde';
lang['W11'] = '+25% Getreide pro Stunde';
lang['W12'] = '+50% Getreide pro Stunde';
lang['WIDTH'] = 'Breite';
lang['SAVE'] = 'speichern';
lang['TROOPS'] = 'Truppen';
lang['TIME'] = 'Zeit';
lang['ARRIVAL'] = 'Ankunft';
lang['TOT'] = 'Reisezeit';
lang['TOURNAMENT'] = 'Turnierplatzlevel';
lang['SPEED'] = 'Speed server';
lang['POPUPS'] = 'Popups';
lang['TAG'] = 'Kennzeichnung';
lang['NO_TAG'] = 'Kein Dorf mit Kennzeichungen';
lang['FILTER'] = 'filter nach';
break;
case 'tw': //Chinese (Taiwan)
case 'hk': //Chinese (Hong Kong), translation by locy
lang['VILLAGE'] = '村莊';
lang['ALREADY_LIST'] = '已經在列表中';
lang['ADD_VILLAGE'] = '加入到';
lang['NO_VILLAGES'] = '沒有村莊在這個列表!';
lang['MAP'] = '地圖';
lang['PLAYER'] = '玩家';
lang['PLAYER_PROFILE'] = '玩家資料';
lang['ALLY'] = '聯盟';
lang['ALLY_PROFILE'] = '聯盟資料';
lang['DISTANCE'] = '距離';
lang['DISTANCE_VILLAGE'] = '距離村莊';
lang['DELETE'] = '刪除';
lang['SEND_TROOPS'] = '出兵';
lang['DRAG'] = '拖拉';
lang['HIDE'] = '隱藏';
lang['SHOW'] = '顯示';
lang['SORT_BY'] = '排序';
lang['MINIMIZE'] = '最小值';
lang['MAXIMIZE'] = '最大值';
lang['YOUR_VILLAGE'] = '你的村莊';
lang['COLUMNS'] = '欄';
lang['OPTIONS'] = '選項';
lang['SEND_RESOURCES'] = '運送資源';
lang['VILLAGE_PROFILE'] = '村莊資料';
lang['OTHER_OPTIONS'] = '其他選項';
lang['DELETE_ALL'] = '刪除全部村莊';
lang['RESTORE'] = '恢復預設值';
lang['CONFIRM'] = '您確定?';
lang['LUMBER'] = '木';
lang['CLAY'] = '磚';
lang['IRON'] = '鐵';
lang['CROP'] = '米';
lang['TRIBE'] = '種族';
lang['ROMANS'] = '羅馬人';
lang['GAULS'] = '高盧人';
lang['TEUTONS'] = '條頓人';
lang['UPDATE_CHECK'] = '更新檢查';
lang['LAST_VERSION'] = '已經是新版';
lang['NEW_VERSION'] = '有新版本可用';
lang['UPDATE_NOW'] = '現在更新';
lang['DATE'] = '日期';
lang['POPULATION'] = '人口';
lang['SERVER_DOWN'] = '統計服務器已關閉,請稍後重試...';
lang['CLOSE'] = '關閉';
lang['TYPE'] = '類型';
lang['VILLAGE_TYPE'] = '村莊類型';
lang['F1'] = '9 米 (3-3-3-9)';
lang['F2'] = '+鐵 (3-4-5-6)';
lang['F3'] = '普 (4-4-4-6)';
lang['F4'] = '+磚 (4-5-3-6)';
lang['F5'] = '+木 (5-3-4-6)';
lang['F6'] = '15 米 (1-1-1-15)';
lang['W1'] = '+25% 木';
lang['W2'] = '+25% 木';
lang['W3'] = '+25% 木 & +25% 米';
lang['W4'] = '+25% 磚';
lang['W5'] = '+25% 磚';
lang['W6'] = '+25% 磚 & +25% 米';
lang['W7'] = '+25% 鐵';
lang['W8'] = '+25% 鐵';
lang['W9'] = '+25% 鐵 & +25% 米';
lang['W10'] = '+25% 米';
lang['W11'] = '+25% 米';
lang['W12'] = '+50% 米';
lang['WIDTH'] = '寬度';
lang['SAVE'] = '儲存';
lang['TROOPS'] = '兵種';
lang['TIME'] = '需時';
lang['ARRIVAL'] = '達到';
lang['TOT'] = '時程';
lang['TOURNAMENT'] = '競技場等級';
break;
case 'nl': //Dutch, translation by Bolemeus
lang['VILLAGE'] = 'Dorp';
lang['ALREADY_LIST'] = 'staat al op de lijst';
lang['ADD_VILLAGE'] = 'Voeg toe aan';
lang['NO_VILLAGES'] = 'Geen dorpen in de lijst!';
lang['MAP'] = 'Kaart';
lang['PLAYER'] = 'Speler';
lang['PLAYER_PROFILE'] = 'Speler profiel';
lang['ALLY'] = 'Alliantie';
lang['ALLY_PROFILE'] = 'Alliantie profiel';
lang['DISTANCE'] = 'Afstand';
lang['DISTANCE_VILLAGE'] = 'Afstand vanaf';
lang['DELETE'] = 'Verwijder';
lang['SEND_TROOPS'] = 'Stuur troepen';
lang['DRAG'] = 'Slepen';
lang['HIDE'] = 'Verberg';
lang['SHOW'] = 'Toon';
lang['SORT_BY'] = 'Sorteer op';
lang['MINIMIZE'] = 'Minimaliseer';
lang['MAXIMIZE'] = 'Maximaliseer';
lang['YOUR_VILLAGE'] = 'je dorp';
lang['COLUMNS'] = 'kolommen';
lang['OPTIONS'] = 'opties';
lang['SEND_RESOURCES'] = 'Stuur handelaren';
lang['VILLAGE_PROFILE'] = 'Overzicht van het dorp';
lang['OTHER_OPTIONS'] = 'Andere opties';
lang['DELETE_ALL'] = 'Verwijder alle dorpjes';
lang['RESTORE'] = 'Standaardinstellingen';
lang['CONFIRM'] = 'Weet je het zeker?';
lang['LUMBER'] = 'hout';
lang['CLAY'] = 'klei';
lang['IRON'] = 'ijzer';
lang['CROP'] = 'graan';
lang['TRIBE'] = 'Stam';
lang['ROMANS'] = 'Romeinen';
lang['GAULS'] = 'Galliërs';
lang['TEUTONS'] = 'Germanen';
lang['UPDATE_CHECK'] = 'Controleer op updates';
lang['LAST_VERSION'] = 'Je beschikt al over de meest recente versie';
lang['NEW_VERSION'] = 'Er is een nieuwe versie beschikbaar';
lang['UPDATE_NOW'] = 'Update nu';
lang['DATE'] = 'Datum';
lang['POPULATION'] = 'Populatie';
lang['SERVER_DOWN'] = 'De statistieken server is tijdelijk niet beschikbaar, probeer het later nog eens...';
lang['CLOSE'] = 'Sluiten';
lang['TYPE'] = 'Type';
lang['VILLAGE_TYPE'] = 'Soort dorp';
lang['F1'] = '9 graner (3-3-3-9)';
lang['F2'] = '+ijzer (3-4-5-6)';
lang['F3'] = 'standaard (4-4-4-6)';
lang['F4'] = '+klei (4-5-3-6)';
lang['F5'] = '+hout (5-3-4-6)';
lang['F6'] = '15 graner (1-1-1-15)';
lang['W1'] = '+25% hout/uur';
lang['W2'] = '+25% hout/uur';
lang['W3'] = '+25% hout & +25% graan/uur';
lang['W4'] = '+25% klei/uur';
lang['W5'] = '+25% klei/uur';
lang['W6'] = '+25% klei & +25% graan/uur';
lang['W7'] = '+25% ijzer/uur';
lang['W8'] = '+25% ijzer/uur';
lang['W9'] = '+25% ijzer & +25% graan/uur';
lang['W10'] = '+25% graan/uur';
lang['W11'] = '+25% graan/uur';
lang['W12'] = '+50% graan/uur';
lang['WIDTH'] = 'Breedte van';
lang['SAVE'] = 'Opslaan';
break;
case 'tr': //Turkish, translation by Yns
lang['VILLAGE'] = 'Köy';
lang['ALREADY_LIST'] = 'zaten listende';
lang['ADD_VILLAGE'] = 'Buraya Ekle';
lang['NO_VILLAGES'] = 'Listede köy bulunmuyor!';
lang['MAP'] = 'Harita';
lang['PLAYER'] = 'Oyuncu';
lang['PLAYER_PROFILE'] = 'Oyuncu Profili';
lang['ALLY'] = 'Birlik';
lang['ALLY_PROFILE'] = 'Birlik Profili';
lang['DISTANCE'] = 'Mesafe';
lang['DISTANCE_VILLAGE'] = 'Buradan uzaklık';
lang['DELETE'] = 'Sil';
lang['SEND_TROOPS'] = 'Asker Gönder';
lang['DRAG'] = 'Sürükle';
lang['HIDE'] = 'Gizle';
lang['SHOW'] = 'Göster';
lang['SORT_BY'] = 'Buna göre sırala';
lang['MINIMIZE'] = 'Küçült';
lang['MAXIMIZE'] = 'Büyüt';
lang['YOUR_VILLAGE'] = 'Senin Köyün';
lang['COLUMNS'] = 'Sütunlar';
lang['OPTIONS'] = 'Seçenekler';
lang['SEND_RESOURCES'] = 'Hammadde gönder';
lang['VILLAGE_PROFILE'] = 'Köy Profili';
lang['OTHER_OPTIONS'] = 'Diğer Seçenekler';
lang['DELETE_ALL'] = 'Tüm Köyleri Sil';
lang['RESTORE'] = 'Varsayılan Ayarlar';
lang['CONFIRM'] = 'Emin misiniz?';
lang['LUMBER'] = 'Odun';
lang['CLAY'] = 'Tuğla';
lang['IRON'] = 'Demir';
lang['CROP'] = 'Tahıl';
lang['TRIBE'] = 'Irk';
lang['ROMANS'] = 'Romalı';
lang['GAULS'] = 'Galyalı';
lang['TEUTONS'] = 'Cermen';
lang['UPDATE_CHECK'] = 'Yeni versiyon kontrolü';
lang['LAST_VERSION'] = 'Zaten son sürümü kullanıyorsunuz';
lang['NEW_VERSION'] = 'Yeni versiyon mevcut';
lang['UPDATE_NOW'] = 'Şimdi Güncelle';
lang['DATE'] = 'Tarih';
lang['POPULATION'] = 'Nüfus';
lang['SERVER_DOWN'] = 'İstatistik sunucusu problemi, lütfen daha sonra tekrar deneyiniz...';
lang['CLOSE'] = 'Kapat';
lang['TYPE'] = 'Tür';
lang['VILLAGE_TYPE'] = 'Köy Türü';
lang['F1'] = '9 Tahıl (3-3-3-9)';
lang['F2'] = '+demir (3-4-5-6)';
lang['F3'] = 'normal (4-4-4-6)';
lang['F4'] = '+tuğla (4-5-3-6)';
lang['F5'] = '+odun (5-3-4-6)';
lang['F6'] = '15 Tahıl (1-1-1-15)';
lang['W1'] = '+25% odun/saat';
lang['W2'] = '+25% odun/saat';
lang['W3'] = '+25% odun & +25% tahıl/saat';
lang['W4'] = '+25% tuğla/saat';
lang['W5'] = '+25% tuğla/saat';
lang['W6'] = '+25% tuğla & +25% tahıl/saat';
lang['W7'] = '+25% demir/saat';
lang['W8'] = '+25% demir/saat';
lang['W9'] = '+25% demir & +25% tahıl/saat';
lang['W10'] = '+25% tahıl/saat';
lang['W11'] = '+25% tahıl/saat';
lang['W12'] = '+50% tahıl/saat';
lang['WIDTH'] = 'Genişlik';
lang['SAVE'] = 'Kaydet';
break;
case 'fr': //French
lang['VILLAGE'] = 'Village';
lang['ALREADY_LIST'] = 'est déjà dans la liste';
lang['ADD_VILLAGE'] = 'Ajouter à';
lang['NO_VILLAGES'] = 'Pas de villages dans la liste!';
lang['MAP'] = 'Carte';
lang['PLAYER'] = 'Joueur';
lang['PLAYER_PROFILE'] = 'Profil joueur';
lang['ALLY'] = 'Allié';
lang['ALLY_PROFILE'] = 'Profil allié';
lang['DISTANCE'] = 'Distance';
lang['DISTANCE_VILLAGE'] = 'Distance de';
lang['DELETE'] = 'Supprimer';
lang['SEND_TROOPS'] = 'Envoyer des troupes';
lang['DRAG'] = 'Bouger';
lang['HIDE'] = 'Cacher';
lang['SHOW'] = 'Voir';
lang['SORT_BY'] = 'Trier par';
lang['MINIMIZE'] = 'Réduire';
lang['MAXIMIZE'] = 'Agrandir';
lang['YOUR_VILLAGE'] = 'votre village';
lang['COLUMNS'] = 'colonnes';
lang['OPTIONS'] = 'options';
lang['SEND_RESOURCES'] = 'Envoyer des ressources';
lang['VILLAGE_PROFILE'] = 'Profil village';
lang['OTHER_OPTIONS'] = 'Autres options';
lang['DELETE_ALL'] = 'Supprimer tous les villages';
lang['RESTORE'] = 'Restaurer la liste';
lang['CONFIRM'] = 'Êtes-vous sûr?';
lang['LUMBER'] = 'bois';
lang['CLAY'] = 'terre';
lang['IRON'] = 'fer';
lang['CROP'] = 'céréale';
lang['ROMANS'] = 'Romains';
lang['GAULS'] = 'Gaulois';
lang['TEUTONS'] = 'Germains';
lang['UPDATE_CHECK'] = 'Vérifier les mises à jour';
lang['LAST_VERSION'] = 'Vous avez la dernière version disponible';
lang['NEW_VERSION'] = 'Une nouvelle version est disponible';
lang['UPDATE_NOW'] = 'Mettre à jour maintenant';
break;
case 'ru': //Russian
lang['VILLAGE'] = 'Деревня';
lang['ALREADY_LIST'] = 'уже в списке';
lang['ADD_VILLAGE'] = 'Добавить в';
lang['NO_VILLAGES'] = 'Список пуст!';
lang['MAP'] = 'Карта';
lang['PLAYER'] = 'Игрок';
lang['PLAYER_PROFILE'] = 'Профиль игрока';
lang['ALLY'] = 'Альянс';
lang['ALLY_PROFILE'] = 'Профиль альянса';
lang['DISTANCE'] = 'Расстояние';
lang['DISTANCE_VILLAGE'] = 'Расстояние от';
lang['DELETE'] = 'Удалить';
lang['SEND_TROOPS'] = 'Послать войска';
lang['DRAG'] = 'Перетащить';
lang['HIDE'] = 'Скрыть';
lang['SHOW'] = 'Показать';
lang['SORT_BY'] = 'Сортировать по';
lang['MINIMIZE'] = 'Свернуть';
lang['MAXIMIZE'] = 'Развернуть';
lang['YOUR_VILLAGE'] = 'ваша деревня';
lang['COLUMNS'] = 'колонки';
lang['OPTIONS'] = 'настройки';
lang['SEND_RESOURCES'] = 'Послать ресурсы';
lang['VILLAGE_PROFILE'] = 'Профиль деревни';
lang['OTHER_OPTIONS'] = 'Прочие настройки';
lang['DELETE_ALL'] = 'Удалить все деревни';
lang['RESTORE'] = 'Настройками по умолчанию';
lang['CONFIRM'] = 'Вы уверены?';
lang['LUMBER'] = 'дерево';
lang['CLAY'] = 'глина';
lang['IRON'] = 'железо';
lang['CROP'] = 'зерно';
lang['ROMANS'] = 'Римляне';
lang['GAULS'] = 'Галлы';
lang['TEUTONS'] = 'Германцы';
lang['UPDATE_CHECK'] = 'Проверить обновления';
lang['LAST_VERSION'] = 'У вас самая последняя версия';
lang['NEW_VERSION'] = 'Доступна новая версия';
lang['UPDATE_NOW'] = 'Обновить сейчас';
break;
case 'pl': //Polish
lang['VILLAGE'] = 'Wioska';
lang['ALREADY_LIST'] = 'już jest na liście';
lang['ADD_VILLAGE'] = 'Dodaj do';
lang['NO_VILLAGES'] = 'Brak osad na liście!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Gracz';
lang['PLAYER_PROFILE'] = 'Profil gracza';
lang['ALLY'] = 'Sojusz';
lang['ALLY_PROFILE'] = 'Strona sojuszu';
lang['DISTANCE'] = 'Dystans';
lang['DISTANCE_VILLAGE'] = 'Dystans z';
lang['DELETE'] = 'Usuń';
lang['SEND_TROOPS'] = 'Wyślij jednostki';
lang['DRAG'] = 'Przesuń';
lang['HIDE'] = 'Ukryj';
lang['SHOW'] = 'Pokaż';
lang['SORT_BY'] = 'Sortuj według';
lang['ROMANS'] = 'Rzymianie';
lang['GAULS'] = 'Galowie';
lang['TEUTONS'] = 'Germanie';
break;
case 'net': //Spanish (Spain)
case 'cl': //Spanish (Chile)
lang['VILLAGE'] = 'Aldea';
lang['ALREADY_LIST'] = 'Ya está en la lista!!!';
lang['ADD_VILLAGE'] = 'Agregar al';
lang['NO_VILLAGES'] = 'No hay aldeas!!!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Jugador';
lang['PLAYER_PROFILE'] = 'Perfil jugador';
lang['ALLY'] = 'Alianza';
lang['ALLY_PROFILE'] = 'Perfil alianza';
lang['DISTANCE'] = 'Distancia';
lang['DISTANCE_VILLAGE'] = 'Distancia de';
lang['DELETE'] = 'Borrar';
lang['SEND_TROOPS'] = 'Enviar Tropas';
lang['DRAG'] = 'Mover';
lang['SHOW'] = 'Mostrar';
lang['ROMANS'] = 'Romanos';
lang['GAULS'] = 'Galos';
lang['TEUTONS'] = 'Germanos';
break;
case 'ar': //Spanish (Argentina)
case 'mx': //Spanish (Mexico)
lang['VILLAGE'] = 'Aldea';
lang['ALREADY_LIST'] = 'Ya está en la lista!!!';
lang['ADD_VILLAGE'] = 'Agregar al';
lang['NO_VILLAGES'] = 'No hay aldeas!!!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Jugador';
lang['PLAYER_PROFILE'] = 'Perfil jugador';
lang['ALLY'] = 'Alianza';
lang['ALLY_PROFILE'] = 'Perfil alianza';
lang['DISTANCE'] = 'Distancia';
lang['DISTANCE_VILLAGE'] = 'Distancia de';
lang['DELETE'] = 'Borrar';
lang['SEND_TROOPS'] = 'Enviar Tropas';
lang['DRAG'] = 'Mover';
lang['SHOW'] = 'Mostrar';
lang['ROMANS'] = 'Romanos';
lang['GAULS'] = 'Galos';
lang['TEUTONS'] = 'Teutones';
break;
case 'si': //Slovenian
lang['VILLAGE'] = 'Vas';
lang['ALREADY_LIST'] = 'je že na seznamu';
lang['ADD_VILLAGE'] = 'Dodaj do';
lang['NO_VILLAGES'] = 'Ni farm!!!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Igralca';
lang['PLAYER_PROFILE'] = 'Profil igralca';
lang['ALLY'] = 'Zavezništva';
lang['ALLY_PROFILE'] = 'Profil zavezništva';
lang['DISTANCE'] = 'Razdalja';
lang['DISTANCE_VILLAGE'] = 'Razdalja do';
lang['DELETE'] = 'Izbriši';
lang['SEND_TROOPS'] = 'Pošlji enote';
lang['DRAG'] = 'Premakni';
lang['ROMANS'] = 'Rimljani';
lang['GAULS'] = 'Galci';
lang['TEUTONS'] = 'Tevtoni';
break;
case 'br': //Portuguese (Brazil)
lang['VILLAGE'] = 'Aldeia';
lang['ALREADY_LIST'] = 'A aldeia já esta adicionada';
lang['ADD_VILLAGE'] = 'Adicionar à';
lang['NO_VILLAGES'] = 'Nenhum aldeias!!!';
lang['MAP'] = 'Mapa';
lang['PLAYER'] = 'Jogador';
lang['PLAYER_PROFILE'] = 'Perfil do jogador';
lang['ALLY'] = 'Aliança';
lang['ALLY_PROFILE'] = 'Perfil da aliança';
lang['DISTANCE'] = 'Distância';
lang['DISTANCE_VILLAGE'] = 'Distância da';
lang['DELETE'] = 'Apagar';
lang['SEND_TROOPS'] = 'Enviar Tropas';
lang['DRAG'] = 'Mover';
lang['ROMANS'] = 'Romanos';
lang['GAULS'] = 'Gauleses';
lang['TEUTONS'] = 'Teutões';
break;
case 'ae': //Arabic , translation by Dream1
lang['VILLAGE_MANAGER'] = 'مدير القرى';
lang['VILLAGE'] = 'قرية';
lang['ALREADY_LIST'] = 'تم اضافة هذه القرية الى القائمة';
lang['ADD_VILLAGE'] = 'اضف الى';
lang['NO_VILLAGES'] = 'لا يوجد قرى في القائمة';
lang['MAP'] = 'الخريطة';
lang['DELETE'] = 'مسح';
lang['SEND_TROOPS'] = 'ارسال القوات';
lang['DRAG'] = 'تحريك';
lang['ROMANS'] = 'الرومان';
lang['GAULS'] = 'الإغريق';
lang['TEUTONS'] = 'الجرمان';
lang['PLAYER'] = 'اللاعب';
lang['PLAYER_PROFILE'] = 'وصف اللاعب';
lang['ALLY'] = 'التحالف';
lang['ALLY_PROFILE'] = 'وصف التحالف';
lang['DISTANCE'] = 'المسافة';
lang['DISTANCE_VILLAGE'] = 'المسافة من';
lang['HIDE'] = 'إخفاء';
lang['SHOW'] = 'إظهار';
lang['SORT_BY'] = 'الترتيب حسب';
lang['MINIMIZE'] = 'تصغير';
lang['MAXIMIZE'] = 'تكبير';
lang['YOUR_VILLAGE'] = 'قريتك';
lang['COLUMNS'] = 'الأعمدة';
lang['OPTIONS'] = 'الخيارات';
lang['SEND_RESOURCES'] = ' إرسال موارد';
lang['VILLAGE_PROFILE'] = 'ملف القرية';
lang['OTHER_OPTIONS'] = 'خيارات أخرى';
lang['DELETE_ALL'] = 'مسح كافة القرى';
lang['RESTORE'] = 'الخيارات الإفتراضية';
lang['CONFIRM'] = 'هل أنت متأكد؟';
lang['LUMBER'] = 'الخشب';
lang['CLAY'] = 'الطين';
lang['IRON'] = 'الحديد';
lang['CROP'] = 'القمح';
lang['TRIBE'] = 'القبيلة';
lang['UPDATE_CHECK'] = 'بحث عن تحديثات';
lang['LAST_VERSION'] = 'لديك النسخة الأخيرة';
lang['NEW_VERSION'] = 'يوجد نسخة حديثة متاحة';
lang['UPDATE_NOW'] = 'تحديث الآن';
lang['DATE'] = 'التاريخ';
lang['POPULATION'] = 'السكان';
lang['SERVER_DOWN'] = 'خادم الاحصائيات لا يستجيب ، يرجى إعادة المحاولة في وقت لاحق...';
lang['CLOSE'] = 'إغلاق';
lang['TYPE'] = 'النوع';
lang['VILLAGE_TYPE'] = 'نوع القرية';
lang['F1'] = '9 حقول قمح (3-3-3-9)';
lang['F2'] = '+حديدية (3-4-5-6)';
lang['F3'] = 'عادية (4-4-4-6)';
lang['F4'] = '+طينية (4-5-3-6)';
lang['F5'] = '+خشبية (5-3-4-6)';
lang['F6'] = '15 حقل قمح (1-1-1-15)';
lang['W1'] = '+25% في الساعة';
lang['W2'] = '+25% في الساعة';
lang['W3'] = '+25% خشب & +25% قمح في الساعة';
lang['W4'] = '+25% طين في الساعة';
lang['W5'] = '+25% طين في الساعة';
lang['W6'] = '+25% طين & +25% قمح في الساعة';
lang['W7'] = '+25% حديد في الساعة';
lang['W8'] = '+25% حديد في الساعة';
lang['W9'] = '+25% حديد & +25% قمح في الساعة';
lang['W10'] = '+25% قمح في الساعة';
lang['W11'] = '+25% قمح في الساعة';
lang['W12'] = '+50% قمح في الساعة';
lang['WIDTH'] = 'عرض';
lang['SAVE'] = 'حفظ';
lang['TROOPS'] = 'القوات';
lang['TIME'] = 'الوقت';
lang['ARRIVAL'] = 'الوصول';
lang['TOT'] = 'وقت الوصول';
lang['TOURNAMENT'] = 'مستوى ساحة البطولة';
lang['SPEED'] = 'سيرفر سريع';
lang['POPUPS'] = 'نوافذ منبثقة';
lang['TAG'] = 'المجموعة';
lang['NO_TAG'] = 'لايوجد قرى في المجموعة';
lang['FILTER'] = 'فرز حسب';
lang['ADD'] = 'إضافة';
lang['REMOVE'] = 'إزالة';
lang['NOTE'] = 'المفكرة';
lang['EDIT'] = 'تعديل';
lang['START_EDITING'] = 'اضغط على تعديل أولاً!';
lang['IMAGE'] = 'صورة';
lang['BOLD'] = 'عريض';
lang['ITALIC'] = 'مائل';
lang['UNDERLINE'] = 'تسطير';
lang['STRIKET'] = 'يتوسطه خط';
lang['SUPERS'] = 'نص مرتفع';
lang['SUBS'] = 'نص منخفض';
lang['JLEFT'] = 'محاذاه الى اليسار';
lang['JCENTER'] = 'توسيط النص';
lang['JRIGHT'] = 'محاذاه الى اليمين';
lang['JFULL'] = 'ضبط النص';
lang['OLIST'] = 'قائمة مرقمة';
lang['ULIST'] = 'قائمة منقطة';
lang['HRULE'] = 'خط تسطير أفقي';
lang['INDENT'] = 'تقليص فراغات الاطراف';
lang['OUTDENT'] = 'توسيع فراغات الاطراف';
lang['UNFORMAT'] = 'ازالة تنسيق النص';
lang['COLOR_TXT'] = 'لون النص';
lang['COLOR_BGR'] = 'لون الخلفية';
lang['FONT_TYPE'] = 'نوع الخط';
lang['FONT_SIZE'] = 'حجم الخط';
lang['IE_DATA'] = 'استيراد/تصدير البيانات';
lang['I_DATA'] = 'استيراد البيانات';
lang['APPEND'] = 'أضافة قائمة';
lang['ALREADY_TAG'] = 'هذه المجموعة موجوده بالفعل!';
lang['ALREADY_PROFILE'] = 'هذه الصورة موجودة بالفعل!';
lang['SETTING_PROFILES'] = 'تحديد خيارات معينة';
lang['LINK_TAGS'] = 'روابط للعلامات';
break;
case 'lt': //Lithuanian
lang['VILLAGE'] = 'Miestas';
lang['ALREADY_LIST'] = 'jau saraše';
lang['ADD_VILLAGE'] = 'Įtraukti iki';
lang['NO_VILLAGES'] = 'Fermų nėra!!!';
lang['MAP'] = 'Žemėlapis';
lang['DELETE'] = 'Trinti';
lang['SEND_TROOPS'] = 'Siųsti karius';
lang['DRAG'] = 'Perkelti';
lang['ROMANS'] = 'Romėnai';
lang['GAULS'] = 'Galai';
lang['TEUTONS'] = 'Germanai';
break;
case 'cat': //Catalonia
lang['ROMANS'] = 'Romans';
lang['GAULS'] = 'Gals';
lang['TEUTONS'] = 'Germànics';
break;
case 'fi': //Finland
lang['ROMANS'] = 'Roomalaiset';
lang['GAULS'] = 'Gallialaiset';
lang['TEUTONS'] = 'Teutonit';
break;
case 'gr': //Greece
lang['ROMANS'] = 'Ρωμαίοι';
lang['GAULS'] = 'Γαλάτες';
lang['TEUTONS'] = 'Τεύτονες';
break;
case 'id': //Indonesia
lang['ROMANS'] = 'Romawi';
lang['GAULS'] = 'Galia';
lang['TEUTONS'] = 'Teuton';
break;
case 'il': //Israel
lang['ROMANS'] = 'רומאים';
lang['GAULS'] = 'גאלים';
lang['TEUTONS'] = 'טאוטונים';
break;
case 'my': //Malaysia
lang['ROMANS'] = 'Rom';
lang['GAULS'] = 'Gaul';
lang['TEUTONS'] = 'Teuton';
break;
case 'no': //Norway
lang['ROMANS'] = 'Romere';
lang['GAULS'] = 'Gallere';
lang['TEUTONS'] = 'Germanere';
break;
case 'ro': //Romania
lang['ROMANS'] = 'Romani';
lang['GAULS'] = 'Daci';
lang['TEUTONS'] = 'Barbari';
break;
case 'ua': //Ukrainian, translation by BigGun
lang['VILLAGE'] = 'Поселення';
lang['ALREADY_LIST'] = 'вже у списку';
lang['ADD_VILLAGE'] = 'Додати до';
lang['NO_VILLAGES'] = 'Нема поселень у списку!';
lang['MAP'] = 'Мапа';
lang['PLAYER'] = 'Гравець';
lang['PLAYER_PROFILE'] = 'Профіль гравця';
lang['ALLY'] = 'Альянс';
lang['ALLY_PROFILE'] = 'Подробиці альянсу';
lang['DISTANCE'] = 'Відстань';
lang['DISTANCE_VILLAGE'] = 'Відстань від';
lang['DELETE'] = 'Видалити';
lang['SEND_TROOPS'] = 'Відпр. війська';
lang['DRAG'] = 'Перетягти';
lang['HIDE'] = 'Сховати';
lang['SHOW'] = 'Показати';
lang['SORT_BY'] = 'Сортувати за';
lang['MINIMIZE'] = 'Згорнути';
lang['MAXIMIZE'] = 'Розгорнути';
lang['YOUR_VILLAGE'] = 'ваше поселення';
lang['COLUMNS'] = 'стовпці(в)';
lang['OPTIONS'] = 'опції';
lang['SEND_RESOURCES'] = 'Відпр. ресурси';
lang['VILLAGE_PROFILE'] = 'Подробиці поселення';
lang['OTHER_OPTIONS'] = 'Інщі опції';
lang['DELETE_ALL'] = 'Видалити всі поселення';
lang['RESTORE'] = 'Скинути налаштування';
lang['CONFIRM'] = 'Ви впевнені?';
lang['LUMBER'] = 'деревина';
lang['CLAY'] = 'глина';
lang['IRON'] = 'залізо';
lang['CROP'] = 'зерно';
lang['TRIBE'] = 'Раса';
lang['ROMANS'] = 'Римляни';
lang['GAULS'] = 'Галли';
lang['TEUTONS'] = 'Тевтонці';
lang['UPDATE_CHECK'] = 'Перевірити оновлення';
lang['LAST_VERSION'] = 'У вас остання версія';
lang['NEW_VERSION'] = 'Доступна нова версія';
lang['UPDATE_NOW'] = 'Оновити зараз';
lang['DATE'] = 'Дата';
lang['POPULATION'] = 'Населення';
lang['SERVER_DOWN'] = 'Нема відповіді від серверу статистики, спробуйте пізніше...';
lang['CLOSE'] = 'Закрити';
lang['TYPE'] = 'Тип';
lang['VILLAGE_TYPE'] = 'Тип поселення';
lang['F1'] = '9 зерна (3-3-3-9)';
lang['F2'] = '+залізо (3-4-5-6)';
lang['F3'] = 'нормальне (4-4-4-6)';
lang['F4'] = '+глина (4-5-3-6)';
lang['F5'] = '+деревина (5-3-4-6)';
lang['F6'] = '15 зерна (1-1-1-15)';
lang['W1'] = '+25% деревини щогодини';
lang['W2'] = '+25% деревини щогодини';
lang['W3'] = '+25% деревини & +25% зерна щогодини';
lang['W4'] = '+25% глини щогодини';
lang['W5'] = '+25% глини щогодини';
lang['W6'] = '+25% глини & +25% зерна щогодини';
lang['W7'] = '+25% заліза щогодини';
lang['W8'] = '+25% заліза щогодини';
lang['W9'] = '+25% заліза & +25% зерна щогодини';
lang['W10'] = '+25% зерна щогодини';
lang['W11'] = '+25% зерна щогодини';
lang['W12'] = '+50% зерна щогодини';
lang['WIDTH'] = 'Ширина';
lang['SAVE'] = 'Зберегти';
lang['TROOPS'] = 'Війська';
lang['TIME'] = 'Час';
lang['ARRIVAL'] = 'Прибуття';
lang['TOT'] = 'Час у дорозі';
lang['TOURNAMENT'] = 'Рівень арени';
lang['SPEED'] = 'Швидкісний сервер';
lang['POPUPS'] = 'Спливаючі підказки';
lang['TAG'] = 'Ярлик(и)';
lang['NO_TAG'] = 'Нема поселень з ярликом';
lang['FILTER'] = 'Фільтрувати по';
lang['ADD'] = 'Додати';
lang['REMOVE'] = 'Видалити';
lang['NOTE'] = 'Замітка';
lang['EDIT'] = 'Редагувати';
lang['START_EDITING'] = 'Спочатку почніть редагувати!';
lang['IMAGE'] = 'Зображення';
lang['BOLD'] = 'Жирний';
lang['ITALIC'] = 'Курсив';
lang['UNDERLINE'] = 'Підкреслити';
lang['STRIKET'] = 'Закреслити';
lang['SUPERS'] = 'Верхній індекс';
lang['SUBS'] = 'Нижній індекс';
lang['JLEFT'] = 'Вирівнювання ліворуч';
lang['JCENTER'] = 'Вирівнювання по центру';
lang['JRIGHT'] = 'Вирівнювання праворуч';
lang['JFULL'] = 'Вирівнювання заповнити';
lang['OLIST'] = 'Нумерований список';
lang['ULIST'] = 'Ненумерований список';
lang['HRULE'] = 'Горизонтальна лінія';
lang['INDENT'] = 'Збільшити відступ';
lang['OUTDENT'] = 'Зменьшити відступ';
lang['UNFORMAT'] = 'Видалити форматування';
lang['COLOR_TXT'] = 'Колір тексту';
lang['COLOR_BGR'] = 'Колір фону';
lang['FONT_TYPE'] = 'Тип шрифту';
lang['FONT_SIZE'] = 'Розмір шрифту';
lang['IE_DATA'] = 'Імпорт/Експорт даних';
lang['I_DATA'] = 'Імпорт даних';
lang['APPEND'] = 'Додати до списку';
lang['ALREADY_TAG'] = 'Такий ярлик вже існує!';
lang['ALREADY_PROFILE'] = 'Такий профіль вже існує!';
lang['SETTING_PROFILES'] = 'Налаштування профілів';
lang['LINK_TAGS'] = 'Пов\'язати з ярликами';
break;
case 'se': //Sweden
lang['ROMANS'] = 'Romare';
lang['GAULS'] = 'Galler';
lang['TEUTONS'] = 'Germaner';
break;
case 'cz': //Czech
lang['ROMANS'] = 'Římané';
lang['GAULS'] = 'Galové';
lang['TEUTONS'] = 'Germáni';
break;
case 'bg': //Bulgaria
lang['ROMANS'] = 'Римляни';
lang['GAULS'] = 'Гали';
lang['TEUTONS'] = 'Тевтонци';
break;
case 'ba': //Bosnia
lang['ROMANS'] = 'Rimljani';
lang['GAULS'] = 'Gali';
lang['TEUTONS'] = 'Teutonci';
break;
case 'hr': //Croatia
lang['ROMANS'] = 'Rimljani';
lang['GAULS'] = 'Gali';
lang['TEUTONS'] = 'Teutonci';
break;
case 'jp': //Japan
lang['ROMANS'] = 'ローマン';
lang['GAULS'] = 'ガウル';
lang['TEUTONS'] = 'チュートン';
break;
case 'kr': //Korea
lang['ROMANS'] = '로마';
lang['GAULS'] = '갈리아';
lang['TEUTONS'] = '튜턴';
break;
case 'cn': //China
lang['ROMANS'] = '罗马人';
lang['GAULS'] = '高卢人';
lang['TEUTONS'] = '日尔曼人';
break;
}
}
//trim number
function trimNumber(number, pos)
{
var factor = Math.pow(10, pos)
return Math.round(number*factor)/factor
}
/**
* Javascript trim, ltrim, rtrim
* http://www.webtoolkit.info/
* Without the second parameter, they will trim these characters:
* " " (ASCII 32 (0x20)), an ordinary space.
* "\t" (ASCII 9 (0x09)), a tab.
* "\n" (ASCII 10 (0x0A)), a new line (line feed).
* "\r" (ASCII 13 (0x0D)), a carriage return.
* "\0" (ASCII 0 (0x00)), the NUL-byte.
* "\x0B" (ASCII 11 (0x0B)), a vertical tab.
**/
function trim(str, chars)
{
return trimL(trimR(str, chars), chars);
}
function trimL(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
function trimR(str, chars)
{
chars = chars || "\\s";
return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}
//update the script (by Richard Gibson)
function updateScript(SCRIPT) {
try {
if (!GM_getValue) return;
GM_xmlhttpRequest({
method: 'GET',
url: SCRIPT.url + '?source', // don't increase the 'installed' count just for checking
onload: function(result) {
if (result.status != 200) return;
if (!result.responseText.match(/@version\s+([\d.]+)/)) return;
var theOtherVersion = parseFloat(RegExp.$1);
if (theOtherVersion == parseFloat(SCRIPT.version)) {
alert(lang['LAST_VERSION']+' (v'+SCRIPT.version+')');
return;
} else if (theOtherVersion < parseFloat(SCRIPT.version)) {
alert('You have a beta version (v'+SCRIPT.version+' beta)');
return;
} else {
if (window.confirm(lang['NEW_VERSION']+' (v'+theOtherVersion+')!\n\n'+lang['UPDATE_NOW']+'?\n')) {
GM_openInTab(SCRIPT.url);
}
}
}
});
} catch (ex) {
}
}
/************************ from Drag n drop******************************/
// by Risi http://userscripts.org/
var mouseOffset = null;
var iMouseDown = false;
var lMouseState = false;
var dragObject = null;
var curTarget = null;
function mouseCoords(ev){
return {x:ev.pageX, y:ev.pageY};
}
function getMouseOffset(target, ev){
var docPos = getPosition(target);
var mousePos = mouseCoords(ev);
return {x:mousePos.x - docPos.x, y:mousePos.y - docPos.y};
}
function getPosition(e){
var left = 0;
var top = 0;
while (e.offsetParent){
left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
e = e.offsetParent;
}
left += e.offsetLeft + (e.currentStyle?(parseInt(e.currentStyle.borderLeftWidth)).NaN0():0);
top += e.offsetTop + (e.currentStyle?(parseInt(e.currentStyle.borderTopWidth)).NaN0():0);
return {x:left, y:top};
}
function mouseMove(ev){
var target = ev.target;
var mousePos = mouseCoords(ev);
if (dragObject){
dragObject.style.position = 'absolute';
dragObject.style.top = (mousePos.y - mouseOffset.y) +'px';
dragObject.style.left = (mousePos.x - mouseOffset.x) +'px';
}
lMouseState = iMouseDown;
return false;
}
function mouseUp(ev){
if (dragObject) {
var cox = dragObject.style.left;
var coy = dragObject.style.top;
var coxValue = cox.replace("px", "");
var coyValue = coy.replace("px", "");
if (coyValue < 0) coy = '1px';
if (coxValue < 0) cox = '1px';
setOption(dragObject.id, coy +'_'+ cox);
reloadVillageList();
}
dragObject = null;
iMouseDown = false;
}
function mouseDown(ev){
var target = ev.target;
iMouseDown = true;
if (target.getAttribute('DragObj')){
return false;
}
}
function makeDraggable(parent, item){
document.addEventListener('mousemove', mouseMove, false);
document.addEventListener('mousedown', mouseDown, false);
document.addEventListener('mouseup', mouseUp, false);
if (!parent||!item) return;
item.addEventListener('mousedown',function(ev){
dragObject = parent;
mouseOffset = getMouseOffset(parent, ev);
return false;
}, false);
}
function setOption(key, value) {
GM_setValue(key, value);
}
/************************ end Drag n drop*******************************/
/************************ from Sort table*******************************/
//modified from http://greasemonkey.nakohdo.de/
function ts_makeSortable(table)
{
//get header
headersRow = table.tHead.rows[0];
if (!headersRow) return;
//make headers content clickable (only for columns 1,2,3,4,5,6,7)
for (var i=0; i<headersRow.cells.length; i++)
{
if (i==1 || i==2 || i==3 || i==4 || i==5 || i==6 || i==7) {
var cell = headersRow.cells[i];
var txt = ts_getInnerText(cell);
// The number of the column is safed as a custom attribute for later reference when calling the ts_resortTabel function.
cell.innerHTML = '<a class="sortheader" column="'+i+'" style="cursor: pointer;">'+
txt+'<span class="sortarrow"> </span></a>';
// Get link as object and addEventListener
elmLinks = cell.getElementsByTagName("a")
elmLinks[0].addEventListener('click',
foo=function(event){
var lnk = event.target;
var col = lnk.getAttribute('column');
ts_resortTable(lnk, col); // the call to the original function
}, false)
}
}
}
function ts_resortTable(lnk, col, order)
{
// get the span
var span;
for (var ci=0; ci<lnk.childNodes.length; ci++) {
if (lnk.childNodes[ci].tagName && lnk.childNodes[ci].tagName.toLowerCase() == 'span')
span = lnk.childNodes[ci];
}
var spantext = ts_getInnerText(span);
var td = lnk.parentNode;
var column = td.cellIndex;
var table = getParent(td, 'table');
var tableBody = table.tBodies[0];
if (tableBody.rows.length <= 1) return;
//sort type
if (col == '5') {
sortfn = ts_sort_numeric; //distance column
} else {
sortfn = ts_sort_caseinsensitive; //all other columns
}
// Work out a type for the column
//var itm = ts_getInnerText(tableBody.rows[0].cells[column]);
//if (itm.match(/[\d\.]+/g)) sortfn = ts_sort_numeric;
// if (itm.match(/[€]/g)) sortfn = ts_sort_currency;
// if (itm.match(/\d\d[\/-]\d\d[\/-]\d\d\d\d/g)) sortfn = ts_sort_date;
// if (itm.match(/\d\d[\/-]\d\d[\/-]\d\d/g)) sortfn = ts_sort_date;
SORT_COLUMN_INDEX = column;
//create and populate a new array
var newRows = new Array();
for (j=0; j<tableBody.rows.length; j++) {
newRows[j] = tableBody.rows[j];
}
//sort the array
newRows.sort(sortfn);
//set arrow symbol and update stored value
if (order) {
//called by script
if (order == 'up') {
ARROW = ' ↑';
span.setAttribute('sortdir', 'up');
GM_setValue('sort_'+suffix, col+'_up');
newRows.reverse();
} else {
ARROW = ' ↓';
span.setAttribute('sortdir', 'down');
GM_setValue('sort_'+suffix, col+'_down');
}
} else {
//called by user
if (span.getAttribute("sortdir") == 'down') {
ARROW = ' ↑';
span.setAttribute('sortdir', 'up');
GM_setValue('sort_'+suffix, col+'_up');
newRows.reverse();
} else {
ARROW = ' ↓';
span.setAttribute('sortdir','down');
GM_setValue('sort_'+suffix, col+'_down');
}
}
// We appendChild rows that already exist to the tbody, so it moves them rather than creating new ones
for (i=0; i<newRows.length; i++) {
tableBody.appendChild(newRows[i]);
}
// Delete any other arrows there may be showing
var allspans = document.getElementsByTagName("span");
for (var ci=0;ci<allspans.length;ci++) {
if (allspans[ci].className == 'sortarrow') {
if ( getParent(allspans[ci],"table") == getParent(lnk, "table")) { // in the same table as us?
allspans[ci].innerHTML = ' ';
}
}
}
//add the arrow
span.innerHTML = ARROW;
}
function ts_getInnerText(el)
{
if (typeof el == "string") return el;
if (typeof el == "undefined") { return el };
if (el.innerText) return el.innerText; //Not needed but it is faster
var str = "";
var cs = el.childNodes;
var l = cs.length;
for (var i = 0; i < l; i++) {
switch (cs[i].nodeType) {
case 1: //ELEMENT_NODE
str += ts_getInnerText(cs[i]);
break;
case 3: //TEXT_NODE
str += cs[i].nodeValue;
break;
}
}
return str;
}
function getParent(el, pTagName)
{
if (el == null) return null;
else if (el.nodeType == 1 && el.tagName.toLowerCase() == pTagName.toLowerCase()) // Gecko bug, supposed to be uppercase
return el;
else
return getParent(el.parentNode, pTagName);
}
function ts_sort_date(a,b)
{
// y2k notes: two digit years less than 20 are treated as 20XX, greater than 20 are treated as 19XX
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
aa = aa.replace(/\s/g, '');
if (aa.length == 10) {
yr = aa.substr(6,4);
} else {
yr = aa.substr(6,2);
if (parseInt(yr) < 20) { yr = '20'+yr; } else { yr = '19'+yr; }
}
day = aa.substr(0,2);
month = aa.substr(3,2);
dt1 = yr+month+day;
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
bb = bb.replace(/\s/g, '');
if (bb.length == 10) {
yr = bb.substr(6,4);
} else {
yr = bb.substr(6,2);
if (parseInt(yr) < 20) { yr = '20'+yr; } else { yr = '19'+yr; }
}
day = aa.substr(0,2);
month = aa.substr(3,2);
dt2 = yr+month+day;
if (dt1==dt2) return 0;
if (dt1<dt2) return -1;
return 1;
}
function ts_sort_currency(a,b)
{
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).replace(/[^0-9.]/g,'');
return parseFloat(aa) - parseFloat(bb);
}
function ts_sort_numeric(a,b)
{
aa = parseFloat(ts_getInnerText(a.cells[SORT_COLUMN_INDEX]));
if (isNaN(aa)) aa = 0;
bb = parseFloat(ts_getInnerText(b.cells[SORT_COLUMN_INDEX]));
if (isNaN(bb)) bb = 0;
return aa-bb;
}
function ts_sort_caseinsensitive(a,b)
{
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]).toLowerCase();
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]).toLowerCase();
if (aa==bb) return 0;
if (aa<bb) return -1;
return 1;
}
function ts_sort_default(a,b)
{
aa = ts_getInnerText(a.cells[SORT_COLUMN_INDEX]);
bb = ts_getInnerText(b.cells[SORT_COLUMN_INDEX]);
if (aa==bb) return 0;
if (aa<bb) return -1;
return 1;
}
/************************ end Sort table*******************************/
/************************ from QP Targets*****************************/
// from QP of http://userscripts.org/
/**
* getParamFromUrl
* @param {String} url The string of the URL
* @param {String} urlParam The param being searched in the URL
*/
function getParamFromUrl(url, urlParam) {
var res = "&" + url.substring(url.indexOf("?") + 1); //exclude "?" and before that
var searchStr = "&" + urlParam + "=";
var pos = res.indexOf(searchStr);
if (pos != -1) {
res = res.substring(res.indexOf(searchStr) + searchStr.length);
var endPos = (res.indexOf("&") > res.indexOf("#")) ? res.indexOf("&") : res.indexOf("#");
if (endPos != -1) {
res = res.substring(0, endPos);
}
return res;
} else {
return;
}
}
/************************ end QP Targets *****************************/
/*********************** from Resources++ ****************************/
// get time from the page or use java time
function getTime(){
//the time on the page server
var pagetime;
// is the pagetime 24 or 12 based clock
var military=true;
var servertime = dom.id('tp1').textContent;
if(!servertime) {
var digital = new Date();
pagetime = [digital.getHours(), digital.getMinutes(), digital.getSeconds()];
if (pagetime[0]>12) military=true;
return;
}
pagetime = timeField(servertime);
servertime = pagetime;
if (servertime == -1) {
var digital = new Date();
pagetime = [digital.getHours(), digital.getMinutes(), digital.getSeconds()];
}
if (pagetime[0]>12) military=true;
return pagetime;
// convert a hh:mm:ss time stamp to seconds
function timeField(time) {
var limit = time.split(':');
return (limit.length == 3) ? ([parseInt(limit[0]) , parseInt(limit[1]) , parseInt(limit[2])]) : -1;
}
}
/************************ end Resources++ ****************************/
/************************* from FranMod *****************************/
function DOMUtils(doc, ctxt, html) {
this.cn = function(tag, html) {
var elem = this.document.createElement(tag);
if (html) elem.innerHTML = html;
return elem;
}
this.ct = function(text) {
return this.document.createTextNode(text);
}
this.id = function(id) {
return this.document.getElementById(id);
}
this.tag = function(tag) {
return this.document.getElementsByTagName(tag);
}
this.xs = function(xpath) {
var res = this.document.evaluate(xpath, this.context, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null);
return res.singleNodeValue;
}
this.xa = function(xpath) {
var arr = [];
var xpr = this.document.evaluate(xpath, this.context, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
for (var i = 0; item = xpr.snapshotItem(i); i++)
arr.push(item);
return arr.length == 0? null: arr;
}
this.xo = function(xpath) {
var ret = this.document.evaluate(xpath, this.context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
return ret; //no snapshot
}
if (!doc) doc = document;
if (!ctxt) ctxt = doc;
if (html) {
this.document = doc.implementation.createDocument('', '', null);
this.context = doc.createElement('div');
this.context.innerHTML = html;
ansDoc.appendChild(this.context);
}
else {
this.document = doc;
this.context = ctxt;
}
}
/************************** end FranMod *****************************/
