Saturday, January 22, 2011

Travian resource bar plus


// ==UserScript==
// @name           Travian Resource bar plus
// @namespace      http://userscripts.org/scripts/show/75431
// @description    Shows travian resources
// @author         Serj_LV
// @license        GPL version 3 or any later version; http://www.gnu.org/copyleft/gpl.html

// @include        http://*.travian.*
// @exclude     http://*.travian*.*/hilfe.php*
// @exclude     http://*.travian*.*/log*.php*
// @exclude     http://*.travian*.*/index.php*
// @exclude     http://*.travian*.*/anleitung.php*
// @exclude     http://*.travian*.*/impressum.php*
// @exclude     http://*.travian*.*/anmelden.php*
// @exclude     http://*.travian*.*/gutscheine.php*
// @exclude     http://*.travian*.*/spielregeln.php*
// @exclude     http://*.travian*.*/links.php*
// @exclude     http://*.travian*.*/geschichte.php*
// @exclude     http://*.travian*.*/tutorial.php*
// @exclude     http://*.travian*.*/manual.php*
// @exclude     http://*.travian*.*/manual.php*
// @exclude     http://*.travian*.*/ajax.php*
// @exclude     http://*.travian*.*/ad/*
// @exclude     http://*.travian*.*/chat/*
// @exclude     http://forum.travian*.*
// @exclude     http://board.travian*.*
// @exclude     http://shop.travian*.*
// @exclude     http://*.travian*.*/activate.php*
// @exclude     http://*.travian*.*/support.php*
// @exclude     http://help.travian*.*
// @exclude     *.css
// @exclude     *.js

// @version        2.1.2
// ==/UserScript==

(function allInOneOpera () {
var version = '2.1.2';

var RunTime = [ new Date().getTime() ];

var namespace = 'http://userscripts.org/scripts/show/75431';
var audiofile = 'http://simplythebest.net/sounds/MP3/MP3_files/event_MP3_files/touch_tone.mp3';
var market_all = [];
var market_fc = [];
var market_ftd = [];
var income = [];
var incomepersecond = [];
var iresNow = [];
var resNow = [];
var fullRes = [];
var wfl = false;
var rpFL = false;
var triFL = true;
var raceFL = true;
var timerRB = [];
var timerP = [];
var lastTimerP = [0,0];
var lastTimerB = 0;
var timerB = [];
var timerB3 = [];
var timerF = [];
var timerOv = [];
var villages_id = [];
var village_aid = 0;
var village_aNum = 0;
var villages_count = 0;
var linkVSwitch = [];
var sumPPH = [0,0,0,0];
var merchInWork = 0;
var progressbar_time = 0;
var lastAlert = RunTime[0];
var langs = ['auto','English (en)','عربي (ar)','Български (bg)','Bosanski (bs)','Deutsch (de)','فارسی (fa)','Français (fr)','Hrvatski (hr)','Magyar (hu)','Português (pt)','Русский (ru)','Українська (ua)'];
var allCookies = ['vPPH','mf','next','Dorf1','Dorf2','Dorf11','Dorf12','Dorf13','RBSetup','xy','VV','OV','Mem','Dict','DictFL','DictTR','ln','ln2','src','vHint','tropsI','tropsDic','vList'];
var crtPath = window.location.href;
var lMap = '';
var crtName = crtPath.replace(/.*\/(.*)\/.*/, "$1");
var crtLang = crtName.split('.'); crtLang = crtLang[crtLang.length-1];
var srv = document.title.substring(8);
var speedAK = [0,0.5,1,2];
var bgcolor = ['#66ff66','yellow','red'];
var vHColor = '#777777';
var windowID = []; // 0-Setup, 1-Overview, 2-distanceTips, 3-notes, 4-Reports, 5-links, 6-editLink
var pageElem3 = [
 'side_navi', // 0- left side. include menu, profile etc.
 'content', // 1- main block in center
 'side_info', // 2- right side. include village list, links, quest.
 'mid', // 3- central block. include left menu, main content and right menu
 'llist', // 4- links from plus
 'vlist', // 5- villages list
 'ltimeWrap', // 6- server time
 ];
var pageElem4 = [
 'side_info', // 2- include profile.
 'content', // 1- main block in center
 'side_info', // 2- right side. include village list, links, quest.
 'mid', // 3- central block. include left menu, main content and right menu
 'llist', // 4- links from plus
 'vlist', // 5- villages list
 'betaBox', // 6- server time
 ];
var ver4FL =  $g(pageElem3[0]) ? false: true;
var pageElem = ver4FL ? pageElem4.slice() : pageElem3.slice();

var docDir = ['left', 'right'];
var ltr = true;
if (document.defaultView.getComputedStyle(document.body, null).getPropertyValue("direction") == 'rtl') { docDir = ['right', 'left']; ltr = false; }

var RB = new Object();
 RB.village_dorf1 = [0];
 RB.village_dorf11 = [0];
 RB.village_dorf12 = [0];
 RB.village_dorf13 = [0];
 RB.village_Dorf2 = [0,0,0,0,0];
 RB.village_Var = [0,0];
 RB.village_PPH = [0,0,0,0,0,0,0,0,0,0,0,0,0];
 RB.overview = [-1,'0'];
 RB.wantsMem = [0,0,0,0,0];
//      1  2    3    4   5     6    7   8  9   10  11  12   13, 14 15  16    17    18
 RB.dictionary = [0,'Ally','Merchants','Tournament Square','Duration','resource balance','Rally point','Marketplace','Barracks','Stable','Workshop','Buy','Attacks',0,'at ','Map','Reinforcement','Attack: Normal','Attack: Raid'];
 RB.dictFL = [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];
 RB.dictTR = ['none',
  'Legionnaire','Praetorian','Imperian','Equites Legati','Equites Imperatoris','Equites Caesaris','Battering Ram','Fire Catapult','Senator','Settler',
  'Clubswinger','Spearman','Axeman','Scout','Paladin','Teutonic Knight','Ram','Catapult','Chief','Settler',
  'Phalanx','Swordsman','Pathfinder','Theutates Thunder','Druidrider','Haeduan','Ram','Trebuchet','Chieftain','Settler'];
 RB.market_fi = [0,0,0,0,0,0,0,0,0,0,0,0];
 RB.tropsI = new Array(300);
 RB.XY = [
  200, 10, // 0-Setup
  700, 430, // 1-Resource bar
  200, 100, // 2-Overview
  5, 400, // 3-Links
  400, 50, // 4-Report&Messages
  400, 130, // 5-Notes
  100, 50, // 6-Alerts
  10, 30, // 7-vlist
  10, 250, // 8-BIGicons
  200, 100 // 9-LinkEdit
  ];
 RB.vHint = [];
 RB.vList = [];

DICT = {
 en: {
  // ingame messages
  ok : "Ok",
  cancel : "Cancel",
  close : "Close",
  overview : "overview",
  svers : "script version",
  settings : "settings",
  notes : "notes",
  res90 : "resources to 90% filling",
  refresh : "refresh",
  warehouse : "Warehouse",
  resources : "Resources",
  troops : "Troops",
  links : "Links",
  linkname : "link name",
  linkdel : "delete link",
  name2 : "second name",
  archive : "Archive",
  arena : "Tournament Square",
  addcur : "add current",
  del : "delete",
  edit : "edit",
  total : "Total",
  noplace : "There is no place!",
  hunger : "hunger",
  duration : "duration",
  deficit : "deficit",
  // settings
  none : 'None',
  info : "Information",
  yourrace : "Your race",
  speedart : "Speed artefact",
  racelist : ['Romans','Teutons','Gauls'],
  cranny : "yellow level of cranny (percent)",
  crannyh : 'normal 80, 70 for classic or artefact plunder',
  builtin : "Built-in tools",
  builtinh : 'for normalize of production: red color - most need resources, green - less need resources',
  normalize : 'normalize of production',
  normal : "normal",
  banalyze : "built-in analyzer of Battle",
  cropfind : "built-in crop finder",
  onallp : "All pages",
  dontwrap : "Don't wrap pages",
  dontwraph : 'If the list of villages jumps down',
  buildand : "Show building countdown and attack",
  buildandh : 'In the list of villages',
  sendres : "Show «send resource/troops» icons",
  sendmess : "Show «send message» icons",
  analyzer : "World analyzer",
  bigicon : "Show BIG icons",
  addvtable : "Show additional village table",
  addvtableh : 'for travian4',
  paranoid : "Paranoid mode",
  paranoidh : 'Hide job if detected changes in downloadable from the server Travian scripts.',
  opennote : "Automatically open notes",
  resbar : "Resource bar",
  showres : "Show resource bar in window",
  redbl : "red (in hours)",
  yellowbl: "yellow (in hours)",
  marketpl : "Market place",
  mfilter : "filter",
  mfiltero : ['off','only rate','only filter','full'],
  npcsum : "summary for NPC",
  npcsumh : 'in market place and buildings',
  bidinc : "bid increment",
  bidinch : 'for auctions travian4',
  rpandmp : "Rally point and Market place",
  incomres : "incoming resource info",
  incomreso : ['off','on','with summary','WW mode'],
  troopsI : "Information about the troops",
  troopsIo : ['off','on','scan help'],
  defRP : "default action for rally point",
  showls : "Show links",
  showlso : ['off','on','in window'],
  savedls : "saved links",
  savedd : "saved data",
  saveddh : 'including Links and Second name. If an Account deleted, or not your computer.',
  savedelall : "delete all saved data",
  savedelallh : 'You sure you want to delete all data, including the links and the second name?',
  scrlang : "Script language",
  youlang : "your language",
  notifi : "notification",
  notification : "notification after construction",
  method : "method",
  audiourl : "URL of audio file",
  audiotest : "test audio"
 },
 ru: {
  // ссобщения в игре
  cancel : "Отмена",
  close : "Закрыть",
  overview : "обзор",
  svers : "версия скрипта",
  settings : "настройки",
  notes : "заметки",
  res90 : "к 90% заполнения склада",
  refresh : "обновить",
  warehouse : "Склады",
  resources : "Запасы",
  troops : "Войска",
  links : "Ссылки",
  linkname : "название ссылки",
  linkdel : "удалить ссылку",
  name2 : "второе имя",
  archive : "Архив",
  arena : "Арена",
  addcur : "добавить эту деревню",
  del : "удалить",
  edit : "изменить",
  total : "Всего",
  noplace : "Нет места!",
  hunger : "наступление голода",
  duration : "продолжительность",
  deficit : "дефицит",
  // настройки
  none : 'нет',
  info : "Общая информация",
  yourrace : "Ваш народ",
  speedart : "Артефакт скорости",
  racelist : ['Римляне','Германцы','Галлы'],
  cranny : "желтый уровень занятости тайника (проценты)",
  crannyh : 'норма - 80, 70 для классического сервера или для артефакта грабителя',
  builtin : "Встроенные инструменты",
  builtinh : 'для нормального производства: красный цвет - самый необходимый ресурс, зелёный - лишнее производство',
  normalize : 'нормальное производство',
  normal : "ресурсы",
  banalyze : "встроенный анализатор боя",
  cropfind : "встроенный поиск хлебных клеток",
  onallp : "На всех страничках",
  dontwrap : "Не давать сворачивать страничку",
  dontwraph : 'если список деревень прыгает вниз или перекашивается',
  buildand : "Показывать таймер построек и атаки",
  buildandh : 'отображается как часики в списке деревень',
  sendres : "Показывать иконки «отослать ресурсы/войска»",
  sendmess : "Показывать иконки «отослать сообщение»",
  analyzer : "Анализатор мира",
  bigicon : "Показывать БОЛЬШИЕ иконки",
  addvtable : "Показывать дополнительную таблицу деревень",
  addvtableh : 'для травиан версии 4',
  paranoid : "Параноидальный режим",
  paranoidh : 'Скрывает работу, если с сервера Травиан загружены новые скрипты.',
  opennote : "Автоматически открывать заметки",
  resbar : "Таблица ресурсов",
  showres : "Показывать таблицу ресурсов в окне",
  redbl : "красный (in hours)",
  yellowbl: "желтый (in hours)",
  marketpl : "Рынок",
  mfilter : "фильтр предложений",
  mfiltero : ['нет','только рейтинг','только фильтр','полный'],
  npcsum : "сумма ресурсов для NPC",
  npcsumh : 'на рынке и стройках',
  bidinc : "шаг ставки",
  bidinch : 'для аукционов травиан версии 4',
  rpandmp : "Пункт сбора и рынок",
  incomres : "информация о поступающих ресурсах",
  incomreso : ['нет','есть','с итогами','Чудо режим'],
  troopsI : "Информация о войсках",
  troopsIo : ['нет','да','перечитать справку'],
  defRP : "действие по умолчанию для пункта сбора",
  showls : "Показывать ссылки",
  showlso : ['нет','да','в окне'],
  savedls : "сохранённые ссылки",
  savedd : "сохранённые данные",
  saveddh : 'включая Ссылки и Второе имя деревень. Если учетная запись удаляется или это не ваш компьютер.',
  savedelall : "удалить все данные",
  savedelallh : 'Вы уверены, что хотите удалить все данные, включая Ссылки и Второе имя деревень?',
  scrlang : "Язык скрипта",
  youlang : "Ваш язык",
  notifi : "напоминания",
  notification : "оповищение после строительства",
  method : "метод",
  audiourl : "URL звукового файла",
  audiotest : "проверить звук"
 },
 ua: { fb : "ru",
  archive : "Архів",
  racelist : ['Римляни','Тевтонці','Галли']
 },
 hu: { // Hungarian language. thx mrzed :)
  // ingame messages
  cancel : "Mégse",
  close : "Bezár",
  overview : "áttekintés",
  svers : "szkript verzó",
  settings : "beállítások",
  notes : "jegyzetek",
  res90 : "nyersanyagokat 90%-ig feltölteni",
  refresh : "frissít",
  warehouse : "Raktárépület",
  resources : "Nyersanyagok",
  troops : "Csapatok",
  links : "Linkek",
  linkname : "link név",
  linkdel : "link törlése",
  name2 : "második név",
  archive : "Archívum",
  arena : "Gyakorlótér",
  total : "Összesen",
  // settings
  none : "Nincs",
  info : "Információk",
  yourrace : "Nép",
  speedart : "Sebesség ereklye",
  racelist : ['Római','Germán','Gall'],
  onallp : "Minden oldal",
  dontwrap : "Ne tömörítse az oldalakat",
  dontwraph : 'Ha a faluk listája leugrik',
  buildand : "Visszaszámlálók megjelenítése",
  buildandh : 'A faluk listájában (építkezések, csapatmozgások)',
  sendres : "Nyersanyag-/csapatküldés ikonok megjelenítése",
  sendmess : "Üzenetküldés ikonok megjelenítése",
  bigicon : "Nagy ikonok megjelenítése",
  paranoid : "Paranoiás mód",
  paranoidh : 'Elrejti a szkript működését a szerver elől.',
  opennote : "Jegyzetek automatikus megnyitása",
  resbar : "Nyersanyagkijelző",
  showres : "Nyersanyagkijelző külön ablakban",
  redbl : "piros (órában)",
  yellowbl: "sárga (órában)",
  marketpl : "Piactér",
  mfilter : "szűrő",
  mfiltero : ['nincs','csak arány','csak szűrő','teljes'],
  rpandmp : "Gyülekezőtér és piactér",
  incomres : "Információ az érkező nyersanyagokról",
  incomreso : ['ki','be','összefoglaló','WW mode'],
  troopsI : "Csapatinformációk",
  showls : "Linkek megjelenítése",
  showlso : ['ki','be','ablakban'],
  savedls : "Mentett linkek",
  scrlang : "Szkript nyelve",
  youlang : "Az Ön nyelve"
  //version = verzió
  //Rally point = Gyülekezőtér
 },
 fa: { // Persian, thx Reza Moghadam
  // ingame messages
  ok : "موافقم",
  cancel : "لغو",
  close : "بستن",
  overview : "مرور کلی",
  svers : "ورژن اسکریپت",
  settings : "تنظیمات",
  notes : "متن",
  res90 : "90% منابع پر است",
  warehouse : "انبار",
  resources : "منابع",
  troops : "لشکریان",
  links : "لینک ها",
  archive : "آرشیو",
  arena : "میدان تمرین",
  // settings
  info : "اطلاعات",
  yourrace : "دسته ی شما",
  speedart : "سرعت مصنوعی",
  racelist : ['رومی ها','توتن ها','گل ها'],
  onallp : "همه ی صفحات",
  dontwrap : 'کشیده نشدن صفحه',
  dontwraph : "اگر لیست روستاه پایین رفت",
  buildand : "نمایش شمارش معکوس ساختمان و حمله",
  buildandh : 'در لیست روستا ها',
  sendres : "نمایش آیکون های ارسال منابع/سربازان",
  sendmess : "نمایش آیکون های ارسال پیام",
  bigicon : "نمایش آیکون های بزرگ",
  paranoid : "حالت پارانوئید",
  paranoidh : 'وظایف مخفی شود ، اگر تغیرات در سرور اسکریپت تراوین دریافت شد.',
  opennote : "بازشدن خودکار متن ها",
  resbar : "نوار منابع",
  showres : "نمایش نوار منابع در پنجره",
  redbl : "قرمز (در ساعت)",
  yellowbl: "زرد (در ساعت)",
  marketpl : "بازار",
  mfilter : "فیلتر",
  mfiltero : ['خاموش','تنها ارزیابی','فقط خاموش','کامل'],
  rpandmp : "اردوگاه و بازار",
  incomres : "دریافت اطلاعات منابع",
  incomreso : ['خاموش','روشن','خلاصه','WW mode'],
  showls : "نمایش لیننک ها",
  showlso : ['خاموش','روشن','در پنجره'],
  savedls : "ذخیره سازی لینک ها",
 },
 ar: { // Arabic, thx ww_start_t
  // ingame messages
  overview : "نظرة عامة",
  svers : "الأصدار",
  settings : "الأعدادات",
  notes : "الدفتر",
  res90 : "الحد الأقصى 90% من الموارد",
  refresh : "تحديث",
  warehouse : "المخزن",
  resources : "الموارد",
  troops : "القوات",
  links : "الروابط",
  linkname : "اسم الرابط",
  linkdel : "حذف الرابط",
  name2 : "الأسم التالي",
  archive : "الأرشيف",
  // settings
  info : "المعلومات",
  yourrace : "القبيلة",
  speedart : "سرعة السيرفر",
  racelist : ['الرومان','الجرمان','الأغريق'],
  onallp : "كل الصفحات",
  dontwrap : "تخفيف الصفحة عن",
  dontwraph : 'اذا كانت قائمة القرى في الأسفل',
  buildand : "عرض المباني والهجمات على قائمة القرى",
  buildandh : 'في قائمة القرى',
  sendres : "عرض ايقونات ارسال موارد/جيش",
  sendmess : "عرض ايقونة ارسال رسالة",
  bigicon : "عرض قائمة المباني",
  paranoid : "النمط المرتب",
  paranoidh : 'إخفاء العمل إذا كشف عن التغييرات في تحميلها من مخطوطات خادم ترافيان.',
  opennote : "فتح الدفتر تلقائيا",
  resbar : "شريط الموارد",
  showres : "عرض شريط الموارد في نافذة",
  redbl : "الأحمر (في الساعات)",
  yellowbl: "الأصفر (في الساعات)",
  marketpl : "السوق",
  mfilter : "الفلتر",
  mfiltero : ['ايقاف','عرض العناوين','عرض الفلتر','الكل'],
  rpandmp : "نقطة التجمع و السوق",
  incomres : "معلومات عن الموارد القادمة",
  incomreso : ['ايقاف','تشغيل','مع المعلومات','WW mode'],
  showls : "عرض الروابط",
  showlso : ['ايقاف','تشغيل','في نافذة'],
  savedls : "الروابط المحفوظة",
 },
 fr: { // French translation , thx azukae09
  // ingame messages
  ok : "Ok",
  cancel : "Annuler",
  close : "Fermer",
  overview : "Résumé",
  svers : "Version du script",
  settings : "configuration",
  notes : "notes",
  res90 : "Ressources à 90% de la capacité",
  refresh : "rafraichir",
  warehouse : "Entrepôt",
  resources : "Ressources",
  troops : "Troupes",
  links : "Liens",
  linkname : "nom du lien",
  linkdel : "supprimer lien",
  name2 : "deuxième nom",
  archive : "Archive",
  arena : "Place du tournoi",
  addcur : "ajouter celui présent",
  del : "supprimer",
  edit : "éditer",
  total : "Total",
  // settings
  none : 'Aucun',
  info : "Information",
  yourrace : "Votre peuple",
  speedart : "Artefact de vitesse",
  racelist : ['Romains','Germains','Gaulois'],
  onallp : "Toutes les pages",
  dontwrap : "Pas de justification des pages",
  dontwraph : 'Si la liste des villages disparait',
  buildand : "Montrer le compte à rebours pour les constructions et les attaques",
  buildandh : 'Dans la liste des villages',
  sendres : "Afficher les icônes «envoyer ressources/troupes»",
  sendmess : "Afficher les icônes «envoyer message»",
  analyzer : "Outils et statistiques",
  bigicon : "Afficher de GRANDES icônes",
  paranoid : "Mode paranoïaque",
  paranoidh : 'Cacher les tâches si les changements sont détectables depuis les scripts du serveur Travian.',
  opennote : "Ouvrir automatiquement les notes",
  resbar : "Barre des ressources",
  showres : "Montrer la barre des ressources dans une fenêtre",
  redbl : "Rouge (en heures)",
  yellowbl: "Jaune (en heures)",
  marketpl : "Place du marché",
  mfilter : "Filtre",
  mfiltero : ['aucun','que le taux','que les filtres','tout'],
  rpandmp : "Place du rassemblement et place du marché",
  incomres : "Info sur les ressources arrivant",
  incomreso : ['Non','Oui','Avec résumé','WW mode'],
  showls : "Afficher les liens",
  showlso : ['Non','Oui','Dans une fenêtre'],
  savedls : "Sauver les liens",
  scrlang : "Choix de la langue",
  youlang : "Langue du navigateur"
 },
 hr: { // Croatian translation, thx semiRocket
  // ingame messages
  ok : "U redu",
  cancel : "Odustani",
  close : "Zatvori",
  overview : "Pregled",
  svers : "Verzija skripte",
  settings : "Postavke",
  notes : "Zabilješke",
  res90 : "Resursi do 90% ispunjenja",
  refresh : "Osvježi",
  warehouse : "Skladište",
  resources : "Resursi",
  troops : "Vojska",
  links : "Poveznice",
  linkname : "Ime poveznice",
  linkdel : "Izbriši poveznicu",
  name2 : "Drugi naziv",
  archive : "Arhiva",
  arena : "Arena",
  addcur : "Dodaj trenutno",
  del : "Izbriši",
  edit : "Uredi",
  total : "Ukupno",
  // settings
  info : "Informacije",
  yourrace : "Tvoja jedinica",
  speedart : "Artifakt za brzinu",
  racelist : ['Rimljani','Teutonci','Gali'],
  onallp : "Sve stranice",
  dontwrap : "Onemogući prijelom stranica",
  dontwraph : 'Ako lista naselja skoči dolje',
  buildand : "Prikaži odbrojavanje izgradnje i napada",
  buildandh : 'U listi naselja',
  sendres : "Prikaži ikonice «šalji resurse/vojska»",
  sendmess : "Prikaži ikonicu «šalji poruku»",
  analyzer : "Analizator svijeta",
  bigicon : "Prikaži VELIKE ikone",
  paranoid : "Paranoja mod",
  paranoidh : 'Prikriva rad ako su prepoznate promjene u skriptama s poslužitelja Traviana.',
  opennote : "Automatski otvori zabilješke",
  resbar : "Grafikon resursa",
  showres : "Prikaži grafikon u zasebnom prozoru",
  redbl : "Crveno (u satima)",
  yellowbl: "Žuto (u satima)",
  marketpl : "Tržnica",
  mfilter : "Filter",
  mfiltero : ['Isključeno','Samo omjer','Samo filter','Potpuno'],
  rpandmp : "Arena i Tržnica",
  incomres : "Informacije o dolazećim resursima",
  incomreso : ['Isključeno','Uključeno','S kratkim pregledom','WW mode'],
  showls : "Prikaži poveznice",
  showlso : ['Isključeno','Uključeno','U zasebnom prozoru'],
  savedls : "Spremljene poveznice",
  scrlang : "Jezik skripte",
  youlang : "Tvoj jezik"
 },
 bs: { fb : "hr", // Bosnian
  arena : "Mejdan",
  marketpl : "Pijaca",
  rpandmp : "Mejdan i Pijaca",
 },
 de: { // German language, thx proll007
  // ingame messages
  ok : "Ok",
  cancel : "Abbrechen",
  close : "Schliessen",
  overview : "Ueberblick",
  svers : "Script Version",
  settings : "Einstellungen",
  notes : "Notizen",
  res90 : "Ressourcen zu 90% gefuellt",
  refresh : "Refresh",
  warehouse : "Warenhaus",
  resources : "Ressourcen",
  troops : "Einheiten",
  links : "Links",
  linkname : "Linkname",
  linkdel : "Link loeschen",
  name2 : "Zweiter Name",
  archive : "Archiv",
  arena : "Arena",
  addcur : "aktuelle hinzufuegen",
  del : "loeschen",
  edit : "bearbeiten",
  total : "Total",
  // settings
  info : "Information",
  yourrace : "Deine Rasse",
  speedart : "Geschwindigkeitsartefakt",
  racelist : ['Roemer','Teutonen','Gaulier'],
  onallp : "Alle Seiten",
  dontwrap : "Keine Seitenumbrueche (slow)",
  dontwraph : 'Wenn die Liste der Doerfer nach unten springt',
  buildand : "Zeige den Countdown fuer Gebaeude und Einheiten",
  buildandh : 'In der Liste der Doerfer',
  sendres : "Zeige «sende Ressourcen/Truppen» Icons",
  sendmess : "Zeige «sende Nachricht» Icons",
  analyzer : "World-Analyzer",
  bigicon : "Zeige grosse Icons",
  paranoid : "Paranoid Mode",
  paranoidh : 'Verstecke Job, wenn Veraenderungen in den downloadbaren Scripten vom Travian-Server entdeckt werden.',
  opennote : "Oeffne Notizen automatisch",
  resbar : "Ressourcenleiste",
  showres : "Zeige Ressourcenleiste im Fenster",
  redbl : "Rot (in Stunden)",
  yellowbl: "Gelb (in Stunden)",
  marketpl : "Marktplatz",
  mfilter : "Filter",
  mfiltero : ['aus','nur Rate','nur Filter','voll'],
  rpandmp : "Versammlungsplatz und Marktplatz",
  incomres : "eingehende Ressourceninfo",
  incomreso : ['aus','an','mit Summe','WW mode'],
  showls : "Zeige Links",
  showlso : ['aus','an','im Fenster'],
  savedls : "Gespeicherte Links",
  scrlang : "Scriptsprache",
  youlang : "Deine Sprache"
 },
 pt: { // Portuguese  language, thx Herzer Duca
 // mensagens no jogo
 //traduzido por Yabadabaduca - server ptx5
  ok : "Ok",
  cancel : "Cancelar",
  close : "Fechar",
  overview : "Resumo",
  svers : "Versão do Script",
  settings : "Definições",
  notes : "notas",
  res90 : "90% de recursos para encher",
  refresh : "atualizar",
  warehouse : "Armazém",
  resources : "Recursos",
  troops : "Tropas",
  links : "Links",
  linkname : "nome do link",
  linkdel : "apagar link",
  name2 : "segundo nome",
  archive : "Arquivo",
  arena : "Praça de Torneios",
  addcur : "adicionar atual",
  del : "apagar",
  edit : "editar",
  total : "Total",
  // definições
  info : "Informação",
  yourrace : "Sua raça",
  speedart : "Velocidade do artefato",
  racelist : ['Romanos','Teutões','Gauleses'],
  onallp : "Todas as páginas",
  dontwrap : "Não rolar páginas (lento)",
  dontwraph : 'Se a lista das aldeias pular para baixo',
  buildand : "Mostrar construção em contagem regressiva e atacar",
  buildandh : 'Na lista das aldeias',
  sendres : "Mostrar ?Enviar reforços/tropas? icons",
  sendmess : "Mostrar ?Enviar mensagem? icons",
  analyzer : "World analyzer",
  bigicon : "Mostrar ícones grandes",
  paranoid : "Modo Paranoid",
  paranoidh : 'esconder o job se as alterações forem detectadas em download a partir do servidor de scripts Travian.',
  opennote : "Abrir notas automaticamente",
  resbar : "Barra de Recursos",
  showres : "Mostrar barra de recursos na janela",
  redbl : "vermelho (em horas)",
  yellowbl: "amarelo (em horas)",
  marketpl : "Mercado",
  mfilter : "filtro",
  mfiltero : ['desligado','taxa única','somente filtro','cheio'],
  rpandmp : "Ponto de encontro e Mercado",
  incomres : "informações de recursos recebidos",
  incomreso : ['desligado','ligado','com sumário','WW mode'],
  showls : "Mostrar links",
  showlso : ['desligado','ligado','na janela'],
  savedls : "links salvos",
  scrlang : "Idioma do Script",
  youlang : "seu idioma"
 },
 bg: { // Bulgarian language, thx Mitko
  // ingame messages
  ok : "ок",
  cancel : "Отказ",
  close : "Затвори",
  overview : "Преглед",
  svers : "Версия на Скрипа",
  settings : "Опции",
  notes : "Бележки",
  res90 : "ресурси на 90% пълни",
  refresh : "Рефреш",
  warehouse : "Склад",
  resources : "Ресурси",
  troops : "Войници",
  links : "Връзки",
  linkname : "Име на връзката",
  linkdel : "Изтрий връзката",
  name2 : "второ име",
  archive : "Архив",
  arena : "Арена",
  addcur : "Добави кординати",
  del : "Изтрий",
  edit : "редактирай",
  total : "Общо",
  noplace : "Няма място!",
  hunger : "Глад",
  duration : "продължителност",
  deficit : "дефицит",
  // settings
  none : 'Никой',
  info : "Информация",
  yourrace : "Твоята раса",
  speedart : "Скорост на артефакта",
  racelist : ['Римляни','Тевтонци','Гали'],
  onallp : "Всички страници",
  dontwrap : "Не сменяй страници",
  dontwraph : 'Списъка на селата скача долу',
  buildand : "Покажи отброяване за сгради и атаки",
  buildandh : 'Във списъка на селата ',
  sendres : "Виж? изпрати ресурс / войска?",
  sendmess : "Виж? изпрати съобщение?",
  analyzer : "Световната анализатор",
  bigicon : "Покажи големи икони",
  paranoid : "Параноен режим",
  paranoidh : 'Скрий работа, ако откриват промени, както за сваляне от сървъра Travian скриптове.',
  opennote : "Автоматично отваряне на бележки",
  resbar : "Ресурсен бар",
  showres : "Покажи ресурсния бар в прозорец",
  redbl : "червено (във часове)",
  yellowbl: "жълт (във часове)",
  marketpl : "Пазар",
  mfilter : "Филтери",
  mfiltero : ["изключено", "само курс", "само филтър", "пълно"],
  rpandmp : "Сборен пунк и Пазар",
  incomres : "входящи ресурси информация",
  incomreso : ["изключено", "включено ","обобщена", "WW режим"],
  troopsI : "Информация за войници",
  troopsIo : ["изключено", "включено ","сканиране помощ"],
  showls : "Покажи връзки",
  showlso : ["изключено", "включено ","в прозореца"],
  savedls : "запазени връзки",
  scrlang : "Език на скрипта",
  youlang : "Твоят език",
  notification : "уведомление след строителство",
  method : "метод",
  audiourl : "URL на аудио файл",
  audiotest : "Тест"
 }
}

var img_igm = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAAIAQMAAAAV9pfLAAAAAXNSR0IArs4c6QAAAAZQTFRFAPBTf39/A1tvJwAAAAF0Uk5TAEDm2GYAAAAfSURBVAjXY6g/wHAggWHBAoaJCgyzFRiWLABx6w8AAGi2CK/Y99oaAAAAAElFTkSuQmCC";
var img_car = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAMCAMAAABYzB2OAAAAAXNSR0IArs4c6QAAAEVQTFRFAAApq5lj4NSvyrqKiXhFYlMo8unM/Pv1+fTmwLaX1s2zy8Kp1M687ObV3NO629CwtamGua+R29XC5N3Ip5pw+vft5+TaHnB6ZAAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAY0lEQVQI113NVw6AQAgE0B2avZf7H1XQNW6chJ+XAVLyjBDlIRWhEEw/IoZASiOowvX8zEyfZv/KYSSMoCVLZUYOQbI+VBs5+ADSfEQ3ie55kW+Iks752AYOcNHufdkiwCVOXeVTAjD1v/82AAAAAElFTkSuQmCC";
var img_def = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAMCAYAAABvEu28AAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAASxJREFUKM+1kD1Iw1AUhb+ICCVDVxGDHSpC/QHJkMnBwYKZioJbXF2DYEcHRwuSNYOL3YRKl7aDYwkSaBG0gsEMFZduBUeX5/Bo02hMBfHC41we5333vKswUe5NXRi6ztWJppBSh5U34Xe7HO2Vxr6ZSYOh6/iuBiDSju9qGLoeg8cmHx8gVvKyzy9LXV2X+vQoNXyRGoRwcU1yor/U/4AWFpd+/fCrdwy6q8Du9itBOB0ShNI76ER3s6Om7cEWkFWng7IqvD9D4zIhUbkObQ+lWCA1VRBCsSC95foPOzItW7S99FRZVaY3LVsk7qhXs0Wz6mBaNpkhNFrfIY0WZIZgWjbNqkOvFsEUgNvTHPcPfWFaNmv7jgJwXoLBHLGp8x/Rd0aDNzdyys5Zn0/GSWQNYduyJQAAAABJRU5ErkJggg==";
var img_att = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAMCAMAAABYzB2OAAAAAXNSR0IArs4c6QAAAF1QTFRF9OKZvM7Q/9IAgZeZ5Mum1K1w8vf3RFJTlHhN1cSowtTW6PDx0KVjprS23sBcho2OeouN5Mdcv9LUhVEAwbKZ5dKZu34gr8LEZT4Ama6w47YA3urrvY4AcYiK0OHjex9A+wAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAaUlEQVQI11WLWQ6AIBBDy2JcSEwMgjDMcP9jSuKCvq/2NQUaquKmqicYdwVn3nG5Yu2mXaWVIgofDinFHPghRvK3B2qvLKDQFeuaZdTcFSIToDl2M/jERJz862xMwLoBydtbzdMz7jNwAmmnBejV54RhAAAAAElFTkSuQmCC";
var img_pref = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMBAMAAACZySCyAAAAAXNSR0IArs4c6QAAACFQTFRFmZlmADNmMzOZM2aZZmbMZpnMmZmZmcyZzMyZzMzM////Mir4+AAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAXklEQVQI1x2MvQ2AIBhEH5hQQ2MiFQ0uYFzAETT00pA4Do07wJTyedXl3Q8oZ8HcwFLhKSh8xbzgXa+UEaje2ywNnBuZSK+5WTHxzD/SaQ9KULwO5IGYwpgONG3/1H5oFA+SSflBcAAAAABJRU5ErkJggg==";
var img_refr = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAAXNSR0IArs4c6QAAACFQTFRFAAAAK1WAK1WqK4CqVYCqVYDUgICqgKqqgKrUqqrUqtTUrKrIrgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAcklEQVQI1yWMQQqDMBBF/7QXyASLXWroRRqC1N5KkNLsszCeoHrK/iFZDI/PywOg6mBPQooOZP+YvgtH8ern+iLoAJ9Pwm0A7plg/ntvH9UKwtsytdjM5bcAl5VwbIrrk1Dq2uSx/6QwUnbSxUCfQbHAH5rAEJvdKXN3AAAAAElFTkSuQmCC";
var img_view = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAQAAADIBVVwAAAAAXNSR0IArs4c6QAAAPBJREFUGNNtkbEuBFEYhb+ZSHYjSgoFQaFbmSdQiWSbfYN5HYVWo9No9IqNeINtRYNssjRsITFEYu3/KWbGDNlTneLcc+/9DgCquZlL7zzl/he1yhgeh2pfxi4KV2ZyrRGqZmaqdt21Y31D1bfvV4QaGjdBkctboX56WEUpO47qOkNdn/N6Oi/9ZdWPajo9//OigcRLeTAe3JiqprQk8FjZFZ4Bki6xDJAC7K1OUEgYsUmf22B2wI53wJi1JthjyDcCJ8DQ+4+8M5qRFIYX9BqKNR49EzFTM7e8clB95ZdkDTzcbgHPG4rtbcoJMxfuwg8RxTrpF3oYEQAAAABJRU5ErkJggg==";
var img_del = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMAQMAAABRKa/CAAAAAXNSR0IArs4c6QAAAAZQTFRFAPBT/wAAinN9MwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2gcHFRUv1g/LlgAAACpJREFUCNdjsGBgsOFhkJNgYDdgYHzAwHiAgfkBiM0nwSDHwyDDwiDBAABSdgQyFhEKhwAAAABJRU5ErkJggg==";
var img_edit = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMAgMAAAAWidUSAAAAAXNSR0IArs4c6QAAAAxQTFRFAAAA////cdAAdXxtY+NXkgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAOUlEQVQI12NgYLBnAIJ3BxgYmHdtYGDge/WBgcF6NZBltw4o9no3UPLVG6DkKqA483sgj/8DiABiAO0ND57GNPlIAAAAAElFTkSuQmCC";
var img_notes = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAMCAMAAABcOc2zAAAAAXNSR0IArs4c6QAAAFpQTFRFAGAAACSStiQA2yQAbUkASUlt/yQAkkkAAG3b20kkkm0AbW1tbW2Stm0AAJL/JJLbbZKSkpKSkpK225IAtra2trbbttvbttv//9tJ29vb/9v/2//////b////0AOA4wAAAAF0Uk5TAEDm2GYAAABqSURBVAjXTYqJDoMgFARXBUuh9rDgUd3//82uiMbJJi8zeQC+l4lP3/XH2NTAmzeW0bW/u4JNZW5kWyscuHF5XcPmzwp4cN44XSHjs8ccBkE/yRkUwv6wrlPFElJKCsZwDzaIaHyMuhb4A+RyDHbkWYZoAAAAAElFTkSuQmCC";
var img_save = "data:image/gif;base64,R0lGODlhLgAUAKUoAAAAABw5OTk5ORw5qjk5VTk5cTk5jjk5qhxVqjlVjlVVVTlVqlVVcTlVxlVVjlVVqlVVxlVxjlVxxnFxjnFxxnFx445xxo5x43GOjo6O446O/6qO46qO/3HGAKqqxqqq46qq/8aq/8bGxsbG48bG/8bj4+Pj4+P//////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEKAD8ALAAAAAAuABQAAAb+wJ/w1ykaj8ikclkcDouoqHRKrVqv0aawg+16v53tN/opmzeZdMZCoYxRYe77Q9JYT5DH422CzkkZVScmDQR7Y31yY3SBU4MmCxeHX4lvKHQVjiYmJQsUk16VbxskblGPJSMDEqBYm35jGSQSp5upqhAOiKKxISAQwA0LCwMDwAm7sF8ZIM1qF23AD8iUvCfX2NnXFs4M3t4ReQsG2uXXr3Lm5RQgaQwAAiUlEcMH5OrYm5X6/P2bFBzcCZiwCcOBgwb8KTQhoshChRTSIAjgwYMIEQoOHijwsF9DIh35TWCl54GDBAkMqCzAMSTDMCBdypR58eOWDjVz6tzJs6cKTi1OmAgdusRJEAA7";
var img_underline = "data:image/gif;base64,R0lGODlhFwAQAIABAODg4AAAACH5BAEAAAEALAAAAAAXABAAQAIVjI+py+0Po5y02ouz3rxjAIbiSIIFADs=";
var img_stat = "data:image/gif;base64,R0lGODlhMQAxAKUtADdJkklJpFtbW0lbpFtbpFtbtm1tbW1tgFtttm1tklttyG1tpG1ttm1tyG2ApICAgG2AyICAkm2A24CApICAtoCA24CA7ZKSkpKSpICS7YCS/5KS25KS7ZKS/6SkpJKk7ZKk/6Sk7aSk/6S2tra2tra2yKS2/7a2/8jIyLbI/9vb29vb7e3t7f///////////////////////////////////////////////////////////////////////////yH5BAEAAD8ALAAAAAAxADEAAAb+wJ9wSCwKWy0WCkXyeC5O0pLVMlqv2F+Seel6v14pNUsutlQosHp9QamQ5axS/Xh06/i6GjWOG1UkawICXYOGg3ZgJG9+Q2dPbJGRHox+j5KYbJRVcSqQbAYGXaGkpaYGdptlnph6F3mwsYmqWYGZt5EkfVZpuL5rKJxGLLiho6fIpxcqVi29ma6y0rBtwkfEv9lrLGbP2t9tZrYXEwUDCaCiF8mliWskwkldEwQBEh0FEWvR03iSzEfSFLDXoWCGAfrAZQp2hMSAABkKSswQYB6FBuYCBAAAIMCAAQUaUIjQz101LSxASlzZQQLIAAUUSJCQISKIDhksSMAIc8H+gUOH1F2Ap4WCApYsXRa4txKE06cgRHSooGAAAwySPCBpUYBBAwRgETSgmUFDy48RC0J9KqJtWw4YKUzaCrKBXbthxY49GEDDWrZuRZgYzAHBVTZ0Q95dvHimx79RAw8efMIEhMNgtCIhoJixZ7sKCkAN3HayiROoT0CQmznx3Y8aN3os0Jn2B6ekTadGHYLABEVbOdulvVJDBglVNS4190Gy7t0nUlRgYDIYkgWxCSLt4LRlgwEACjQvPRl69BQfClQ/sqLEgQN9kf51m6ECecrmU6Q4EQCVF25DEGNAAPLN59xzqemnYH+JEEUECQ8AkJZaBh5o3nkKngCAfyf+EaHCBRJSuBZpgiGImoIohrBhIrsMgQIA90BGommn7YYiih8AgAhDf0iYQYVumRgdhik2oKMolZgBQAcW/AjYgTXaeKN+H9i1ooNGtACAWTlxN6OQU+5XgVgIbLiMNUS0EB9ONI13X5QJ3njCmHohEMADuqDpyFISGSeBBc0JSeQJG3zF2EAe8KHnERA0wFJNM1WQAQclpmbCBxtU8JVejHEmxqJarDDAhAbVVN9Mny3WKGN2evDpFUhsgABSptZaXwW4ziQBBKt2OgEJr8LKwkVmGWScrbdWoOuuvB7qALButGjGGRjwWaqtuCqrLK/c3oWAb9AqCuoRLazgQUxtFuCEbLa5ztQtRgRgAKwY0jbDAgsl0LMUsskqy+xXBfg2Qrgq1IvFvYBggF0BYkWaa6MIBBzAAhgMHO694wqLBhMYTLBARhx5lMACE3hgMcEGN/LDxkzM6/LLUixRcMoqD8HyEjjnLPO9AGYRBAA7";
var img_info = "data:image/gif;base64,R0lGODlhDAAKAIABAH9/f////yH5BAEAAAEALAAAAAAMAAoAAAIVjA1wi82eFJP0RIhD1Xn77mhKIhoFADs=";
var img_tinfo = "data:image/gif;base64,R0lGODlhDAAMAMIEAACAgICAgICA/4D//////////////////yH5BAEKAAcALAAAAAAMAAwAAAMkeBohwio2R4OkhNQzqX9dplVf9pUjiaWgZ26TOALXR0fcBCkJADs=";
var img_bigIcon = [ // 0-RP, 1-barrack, 2-stable, 3-workshop, 4-market, 5-market_in, 6-ally, 7-ally_attack
 "data:image/gif;base64,R0lGODlhIAAgAKU3ADMzMzNEREREREREVURVRERVVVVVVVVmVVVmZmZmVVVmiGZmZmZmd1V3iGZ3ZlV3mWZ3d2Z3iHd3ZmZ3mXd3d2aIiGaImXeId2aIqmaIu4iId3eIqoiIiGaZu2aZzIiZiHeZu3eZzJmZiIiZu5mZmXeqzIiqu5mqmYiqzIiq3aqqmaqqqqq7qpm73bu7qru7u7vMu8zMu8zMzMzdzN3dzN3d3e7u3f///////////////////////////////////yH5BAEKAD8ALAAAAAAgACAAAAb+wJ9wSCwaj8ikcnk0HBKLRcJApUITU+bPoCGtXi+ZjFarqVRl8cu1ElEOBqTBjC7ba6fT3X6uxZt4enuDd3l+SAl2JCQfHBRRTgsQFBxeK2kJSAsyZVQIDBEYIKMZGBYTEREGnDKZRAAAP5s1JBQyLyccBgglvSUhIR4dm7euQgAUFAIBJzKbMDAzKwggKSi+wBnEK38/AAYcF7UBCyS3MtMjKevXvSEYC2EcrwxUCxwcm2EsCCYtLezavaMQhsIrBAsGCDCQYIUMGDIMjPgH0JrACBxcRCwCoAAEBAIcnMsHAcU6dtggcGDxotsrKi9ixHixoMaKBRVQ6MQWAgHiCRckXBIRwOGcAxUwypBAsIGnthMvDMo5t4IgGFYXFmQA5mECBRIt5ZgLc6Doras1aELo4AGBBhUnhA7RF+MmhwN6zsYoM61B2RUXkiSAEUOGrhUkoryoMTNMGREHNHBTsmkGFYIkDiCwNQMMxBoyHsktIiGsgS+6FBggMUMvDRs0DyipImQTC10PFCC4dOuzTdlJuoGTcdvAgwcG4tGAEZNTjQVatpgrboDSPTWfXwBncvrWohWIqZCgIaPw8+hbwlydvGUBCzEyMqPvHl9olQNw0EvXpV+LAQL9BSjggEMEAQA7",
 "data:image/gif;base64,R0lGODlhIgAgAKU1AAAAAAAkACQkACQkJEkkAG0kAABJAJIkALYkAElJAElJJElJSW1JAG1JJABtJG1JSZJJAJJJJCRtJJJJSbZJJG1tAEltbW1tSQCSJJJtAG1tbZJtJG1tkrZtAJJtbbZtJG2SkraSAJKSbZKSkpKSttuSALaSkpK2ttu2ALa2kra2tv+2ANu2tv/bALbb29vbttvb2//btv/b29v/////2////////////////////////////////////////////yH5BAEAAD8ALAAAAAAiACAAAAb+wJ9wSPzVGq1kKFFpMCqhToFCRSAKqqJ2ONpUMo2LhrMYLDadCJWCoGS3W4/GVavXZjDSArpGHN5wRCMjdnczhzMkAhkZVQcwgUQqCycqKiQkKjCIJxwDGWpXkFs1KiMwkzN2My4nIySbJCMWCaETNVuoHg8CAhoaF2IjKqouIycnFiQDUwgXuFowNSMKAgoKCw8PCb0Dc6UaCyALAhQHI4HUKgMsLDA0MjApJgsAAxysCxYWAgUIgEVKwYChYQSLGjRgnKrB4sKChyqSaRBAgMCodB4OypDB0ANCFgsmDXC1QAMqaHAUwttIAx6LjSY03Bkw0gLAQCpYjLggLaf+jJVyOKwDoA9dpB8wSmrwYKIhu5UPRogTEJKFzEiTTEirEe/Fi5UgN3HQYJUsQJRIF0jbyLYl2zEaVGh4McLDAhlGhaAly5Wt358vKLmSCUNG05tE7v7dyMIDWxYipLZrWcPDRS1kFzdMsfHFxhQjDL8cFClp03YpdnFOaBneypKIMZt58DDjT4Xv/LIYcHTIBRPzXm5U2PqvXbRDkC94ycKSiREaTPz8y4IqnLxClqOKB+NlX78xPAC4AOdBkbg05NSVvlgGZOvRGBQxxTV4e/cN7dUpMgJCkaTu/bRSWy+I0I54ADxwQVSa1DCAAJiN0NSAAurUTkMMfPABAwJ0GOCABPVoEFA9Ub2DkHseKODBLgtkEAIEAgDgAAY0YmCAiMmRAwAAAigIzAUulhBFAi4+IaMDM9LogAFETCQABAmggEIIIaCwwpVXogBBCAyEUEEASNaIAZJDqFCBAERmkMSaSVzZQgUaVtCCAEsmqaQDQQAAOw==",
 "data:image/gif;base64,R0lGODlhHwAgAKUlACQAACQkACQkJEkkAG0kAElJJElJSW1JAG1JJG1JSZJJAJJJJG1tJG1tSW1tbZJtJJJtSbZtAJJtbbZtJNttANttJJKSJJKSSbaSJJKSkraSSduSJLaSkra2Sba2ktu2Sba2tv+2Sdu2tv/bbdvb2////////////////////////////////////////////////////////////////////////////////////////////////////////////yH5BAEAAD8ALAAAAAAfACAAAAb+wJ9wSCwaj8jkEERSOo+kxyExbD6VoIgiICQZrsYSB/TLRga/DAINFpaEI4vEcTgMHIoIt51+kzoPFg8CAAoUW3w/JR0fISEfGAgCBREHAXt8IBcPDAgFBwUDegNfiSUeEBiRBHlnCVZ8JbIZB3kUEWcOiUQOIBMRGiIWWwVkuyQZBhUTJCAZCgAPxonJCBUaJAJ0ABYZuz8JBxsRGCUkJJcM3okODxvjEUwZAAcI608lDgUCCBO3uLgG1MFwT0mJBBM2TBAQIMI/CpYIIHhQ8AiIBAje/buEC6KAWqB0JckmroKWA1roVRIwQJSCBQ2UoEuIawIGlAQC5GyJMgLCJ5n9AOJqJUBBARIJCOB68OENEhBBcXHUItBbuKUhphkhkdEhtJ5GAzShg6sABgNOwyTYYFIoLgdo0/QMwOCByDALKLQVqoBUTBAHfkVgEGLQ3SElEEQQ3DECgQMZBGTgiuHWgg8fHhSo+IPOA6EHHhvopQ0BhgoQMTwaZEAAERINlN2qg8CBF2QABpzWYsFRBwYCXBfhWm9CBqfJyhSYIPhBh94dgicBIWG4NhLvTCqoBwlDgUQgBBjIDlCBpw4GggAAOw==",
 "data:image/gif;base64,R0lGODlhIAAgAKUvAAAAAEkAACQkACQkJEkkAEkkJG0kALYkAElJAElJJElJSW1JAElJbW1JJG1JSZJJALZJAG1tAEltbW1tSZJtAG1tbZJtJG1tkpJtSbZtANttAJKSAG2SkpKSSbaSAJKSbbaSJJKSkpKSttuSAJK2ttu2ALa2tra229u2ttvbAP/bALbb29vb29vb/9v//////////////////////////////////////////////////////////////////////yH5BAEAAD8ALAAAAAAgACAAAAb+wJ9wSCwOFQqWkFWRvIzQqLASklqvrOp1W3y9Ktzw0BF6irevhvYcfbI2FSW7u/xNVGXzvP4DI1QmQmtzCk8hAx8RDT8fG4F7VD8mAiwCKS8OHoNsYCGOJioDChRyeyYsCiksLykLChGlcywdKRE/LCoIJpp7Py8TESoRKA0jLKAIvSwRJSkCDxkafbm9JggaGwQGGhoGEQ+bYi8FECMB2xoEIwl6bAoHBhkBB/DcAI9sLwb73fQBGgcAADAVIIAAgAAOzFM4kM2hghD3nTMQoOEZCSYACIDIsSKAWFwUrHAhQuDGggIEDgBzRkGFFidOkAghgUEFEReQhLsyIIFjgwYkgsY8wYGBKJBSWHxAYGHBgAUMgko1qkBAmBdPLSAgUEBACKkzB4gdwKWABa0fD5mQSUIEBwUMKHFhikABPgwhKjCQoEAs0igVQCAQ0M7BBEkhQphoZ4WABQL4hrBIsCcIADs=",
 "data:image/gif;base64,R0lGODlhIAAgAMIEAAAAADMzM0xMTOXjI////////////////yH5BAEKAAQALAAAAgAgAB4AAAN9SLrc/jDKSau9VghsAdDaInwcM3ofSJbKtqAeWG6uCYP1RDuje+cQFzDm8OhEDWID+KgNV6YjYdB69ZYEZnTAzVqhVe0LZhSBnRLy8jz1TgBN6IZLFevkdK5dclWQyxx9fjAsWWB+hS2HiWZ7GAGQAQCRAYx/aoyZmpucHAkAOw==",
 "data:image/gif;base64,R0lGODlhIAAgAIQcAKocAMYcAOMcAKo5HKo5OcY5HFVVVeM5HP85AI5VOXFxcf9VHKpxVcZxVY6Ocf9xVY6Ojv+Ocaqqjqqqqsaqqv+qjsbGxuPGxv/GxuPj4//j4///4////////////////yH5BAEAAB8ALAAAAAAgACAAAAW84CeOZGmeaKqubOu+8BdFMas9T71Gy1PpqceiBzxVEMgFplhaIJE5pmghqFqjI4jW8BIErFUE6QIoA1wZ5DeM4IzIZpclkfAGEAlG5m0+tzIQDgGDAlp7InAAAWgWEoNfExaHHxRmiy8UAWWXJJmbMJWfIxmNjwKRkyqJnB+AgoSGLYl+InN1g3h6sn0kaQhrAkhuLLMlXmDBL1oQXCRUyFhMTk/RTEdJS1IjQkTaIzw+3iM31d4z4ujp3iEAOw==",
 "data:image/gif;base64,R0lGODlhIAAgAIQeAFUrK4ArAIArK6orK1VVVYBVK4BVVapVK6pVVdRVK6qAVaqAgKqAqtSAVdSAgP+AVaqqqtSqVdSqgNSqqv+qVdSq1P+qgP+qqtTUqtTU1P/Uqv/U1P/U/9T//////////yH5BAEKAB8ALAAAAAAgACAAAAX+4CeOZGmeaKqubOu+cCzPdK0KiKAi0ysoDosDYQIYGBlPZsFcmA4IiURD3WgujYMIkulWPOCksmIQFRqWtNpyoWosjYbYM+GEwWBEgyJpPB4UcXtrFhQUE3hdSnMTaW5vhYZxFJGSHh1giBMbeBIWV4SGlA97ooaIYRwQHJgbnpWmhlSBsRKJXJd0sbuUVHAJlHxiHBMQnbymgxpWk5QYuV0dHa7Ihml+jhpxabZ4uROlyJ9wg4WAgUkcHBsbGUHVpGmShg8H9gcGSx9GBGeAsIUKNQt0QAcLPX6CUTi3cFKDAC4EHCAXLs65OAZfDJjYIEFFQRljKNBD6lwELTYQPggQVKBAypcwY8qcSRNmCAA7",
 "data:image/gif;base64,R0lGODlhIAAgAOMOACQkJElJSW1tbZJtbZKSbZKSkraSkra2kra2ttu2ttvbttvb2//b2///2////////yH5BAEKAA8ALAAAAAAgACAAAAT+8MlJaVs16y2X+xgnZp8jCM6oPp6DAALjhGuGeEggLEuBzLXJDXf69Xye4K3h0v0QBxeiUGDQRIhbQeCTgo5dhEqxmGZvQ1eZOlyVFwf2OaH4+ZAKFXpK7R3QPFRIYiMKZHFZCj5ndYJlbmR3WX9TgVQHjyNDfIF7DHwECAkHKgsKDqcJQ45HBjyEWDxglj5WpgYFdWOnUAUeirWfBQSLBaWvUg1Lq7gBPnoeszO4CFbECzvGIzwOcX1TuAsMAlkLA1Oa0X0LDQfE1dhl5LAcZDMuvmXUDHdbPekf5OAr4GpBAGcntImwdyufoGpTnCncFlCQMl8XuJBS0sJbCwcpW+gpAVHtA4J5QSpgKuGgAZuUGn6YFKALZoaVBRJcsVlBpkieFfIEiQAAOw=="
 ];

/*********************** common library ****************************/

var noGM = /Chrome\/[0-6]/;
if (typeof GM_getValue == 'undefined' || noGM.test(navigator.appVersion) ) {
 function GM_getValue( key, defaultValue ) {
  var cookie = document.cookie.split("; ");
  for( var i = 0; i < cookie.length; i++ ) {
   var oneCookie = cookie[i].split("=");
   if( oneCookie[0] == escape( key ) ) {
    var value = unescape( oneCookie[1] );
    return value;
   }
  }
  return defaultValue;
 }
}
if (typeof GM_setValue == 'undefined' || noGM.test(navigator.appVersion) ) {
 function GM_setValue( key, value ) {
  lifeTime = 31536000;
  document.cookie = escape( key ) + "=" + escape( value ) +
  ";expires=" + ( new Date( ( new Date() ).getTime() + ( 1000 * lifeTime ) ) ).toGMTString() + ";path=/";
 }
}
if (typeof GM_deleteValue == 'undefined' || noGM.test(navigator.appVersion) ) {
 function GM_deleteValue( key ) {
  document.cookie = escape( key ) + "= ;expires=" + ( new Date( ( new Date() ).getTime() - 1000 ) ).toGMTString() + ";path=/";
 }
}
if (typeof GM_addStyle == 'undefined' ) {
  function GM_addStyle(css) {
    var head = document.getElementsByTagName('head')[0];
    if (head) {
      var style = document.createElement("style");
      style.type = "text/css";
      style.appendChild($t(css));
      head.appendChild(style);
    }
  }
}
var useDOMs = typeof window.localStorage == 'undefined' ? false: true;
function RB_getValue ( key, defaultValue ) {
 if( useDOMs ) {
  var value = window.localStorage.getItem(key);
  if( value == null ) value = defaultValue;
  return value;
 } else return GM_getValue( key, defaultValue );
}
function RB_setValue( key, value ) {
 if( useDOMs )
  window.localStorage.setItem( key, value );
 else
  GM_setValue( key, value );
}
function RB_deleteValue( key ) {
 if( useDOMs )
  window.localStorage.removeItem( key );
 else
  GM_deleteValue( key );
}
function $xf(xpath, xpt, startnode, aDoc) {
 var XPFirst = XPathResult.FIRST_ORDERED_NODE_TYPE;
 var XPList = XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE;
 var XPIterate = XPathResult.UNORDERED_NODE_ITERATOR_TYPE;
 var XPResult = XPathResult.ORDERED_NODE_SNAPSHOT_TYPE;
 if (!aDoc) aDoc = document;
 if (!startnode) startnode = document;
 var xpres = XPFirst;
 switch (xpt) {
  case 'i': xpres = XPIterator; break;
  case 'l': xpres = XPList; break;
  case 'r': xpres = XPResult; break;
 };
 var ret = aDoc.evaluate(xpath, startnode, null, xpres, null);
 return (xpres == XPFirst ? ret.singleNodeValue : ret);
};
function ajaxRequest(url, aMethod, param, onSuccess, onFailure) {
 var aR = new XMLHttpRequest();
 aR.onreadystatechange = function() {
//  if (aR.readyState == 4 && aR.status == 200 )
  if( aR.readyState == 4 && (aR.status == 200 || aR.status == 304))
   onSuccess(aR);
  else if (aR.readyState == 4 && aR.status != 200) onFailure(aR);
 };
 aR.open(aMethod, url, true);
 if (aMethod == 'POST') aR.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=utf-8');
 aR.send(param);
};
function $g(aID) {return (aID != '' ? document.getElementById(aID) : null);};
function $gn(aID) {return (aID != '' ? document.getElementsByName(aID) : null);};
function $gt(str,m) { return (typeof m == 'undefined' ? document:m).getElementsByTagName(str); };
function $gc(str,m) { return (typeof m == 'undefined' ? document:m).getElementsByClassName(str); };
function $at(aElem, att) {if (att !== undefined) {for (var xi = 0; xi < att.length; xi++) {aElem.setAttribute(att[xi][0], att[xi][1]); if (att[xi][0].toUpperCase() == 'TITLE') aElem.setAttribute('alt', att[xi][1]);};};};//Acr111-addAttributes
function $c(iHTML, att) { return $ee('TD',iHTML,att); }
function $a(iHTML, att) { return $ee('A',iHTML,att); }
function $e(nElem, att) {var Elem = document.createElement(nElem); $at(Elem, att); return Elem;};
function $ee(nElem, oElem, att) {var Elem = document.createElement(nElem); if (oElem !== undefined) if( typeof(oElem) == 'object' ) Elem.appendChild(oElem); else Elem.innerHTML = oElem; $at(Elem, att); return Elem;};
function $em(nElem, mElem, att) {var Elem = document.createElement(nElem); if (mElem !== undefined) for(var i = 0; i < mElem.length; i++) { if( typeof(mElem[i]) == 'object' ) Elem.appendChild(mElem[i]); else Elem.appendChild($t(mElem[i])); } $at(Elem, att); return Elem;};
function $t(iHTML) {return document.createTextNode(iHTML);};
function offsetPosition ( el ) { var oL=0,oT=0; do {oL+=el.offsetLeft;oT+=el.offsetTop;} while(el=el.offsetParent ); return [oL,oT];}
function toNumber(aValue) {return parseInt(aValue.replace(/\W/g, "").replace(/\s/g, ""));};
function ajaxNDIV(aR) {var ad = $ee('div',aR.responseText,[['style','display:none;']]); return ad;};
function dummy() {return;};
jsVoid = 'javaScript:void(0)';
jsNone = 'return false;';

function formatTime(secc, aFormat){
 //aFormat: 0 = h:mm:ss (h = 0-&gt;... can be more than 24); 1 = days, h:mm:ss; 2 = h:mm:ss (h = 0-&gt;23:59:59 = only time); 3 = h:mm; 4 = days h:mm
 if( isNaN(secc) || secc === Infinity ) return '--:--';
 var ht = secc < 0 ? "-" : "";
 var sec = Math.abs(secc);
 var h = Math.floor(sec/3600);
 var m = Math.floor(sec/60) % 60;
 var s = parseInt(sec % 60);
 switch (aFormat) {
  case 4:
  case 1: var d = Math.floor(h/24); h = h - d * 24; if( d > 0 ) ht += d + " "; break;
  case 2: h = h % 24; break;
 }
 ht += h + ":" + (m > 9 ? m: '0' + m);
 if( aFormat < 3 ) ht += ":" + (s > 9 ? s : '0' + s);
 h = null; m = null; s = null; d = null;
 return ht;
}

function toSeconds(hTime) {
 p = hTime.split(":");
 return (p[0] >= 0 ? 1:-1) * ( (Math.abs(p[0]) * 3600) + (p[1] * 60) + (p[2] * 1));
}

function httpGet(url) {
 var xhttp = new XMLHttpRequest();
 xhttp.open("GET", url, false);
 xhttp.send(null);
 return xhttp.responseText;
}

function getRandom ( x, y ) {
 return x+Math.round(Math.random()*y);
}

/********************* travian library *****************************/

function id2xy(vid) {
 var arrXY = new Array;
 var ivid = parseInt(vid);
 arrXY[0] = ((ivid-1) % 801) - 400;
 arrXY[1] = 400 - Math.floor((ivid-1) / 801);
 return arrXY;
}

function xy2id(x, y) {
 return (1 + (parseInt(x) + 400) + (801 * Math.abs(parseInt(y) - 400)));
}

function getV

0 comments:

Post a Comment