Roktaal

Untitled

Jan 12th, 2012
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 461.94 KB | None | 0 0
  1. // ==UserScript==
  2. // @author Roktaal
  3. // @co-author frimen
  4. // @name eRepublik Advanced
  5. // @namespace eCompanyManager
  6. // @description Improves eRepublik by adding new or missing features and removing things users don't like.
  7. // @version 4.0.12.0
  8. // @include http://www.erepublik.com/*
  9. // @include http://economy.erepublik.com/*
  10. // @include http://static.erepublik.com/*
  11. // @require http://sizzlemctwizzle.com/updater.php?id=80226&days=1&show
  12. // @require https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js
  13. // @require http://jquery-json.googlecode.com/files/jquery.json-2.2.min.js
  14. // @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui.min.js
  15. // @require http://www.bramstein.com/projects/text-overflow/jquery.text-overflow.min.js
  16. // ==/UserScript==
  17.  
  18. // ===============================================================================
  19. // License and Disclaimer (lets make it simple :))
  20. // ===============================================================================
  21. // This software is donationware. You are welcome to donate eRepublik in-game gold
  22. // to author of this script. Amount of gold is up to you and it reflects what you
  23. // think author deserves for the effort of contributing to the eRepublik community.
  24. // Software is provided 'AS IS' and without any warranty.
  25. // Use on your own responsibility.
  26. // ===============================================================================
  27.  
  28. // Changelog:
  29. // ===============================================================================
  30. // v4.0.6
  31. // - Fixed bugs still present on inventory pages caused by recent eRepublik changes.
  32. // - Changed "Health after day change". It is now displayed on health bar hover.
  33. // ===============================================================================
  34. // v4.0.7
  35. // - Reworked PHP Developer advertisement. Now is in the right position.
  36. // - Option to turn off the PHP Developer advertisement. Click on the eRA box.
  37. // ===============================================================================
  38. // v4.0.8
  39. // - Fixed compatibility issues to third-party localStorage users on Chrome.
  40. // - Removed PHP Developer ads hide option.
  41. // - Fixed Show all buildings button on My land page.
  42. // - Added option to turn off the Country Status box.
  43. // - Fixed super soldier calculator. It will remember the last settings.
  44. // - Fixed rank calculator. It will remember the last settings.
  45. // - Fixed influence calculator. It will remember the last settings.
  46. // - Fixed health prediction. Only houses can affect it.
  47. // ===============================================================================
  48. // v4.0.9
  49. // - Banner place recognition.
  50. // ===============================================================================
  51. // v4.0.10
  52. // - Shout "Show less" button redesign.
  53. // - Added "Collections" section to sidebar mini inventory.
  54. // - Added support for new Q6 food and weapons.
  55. // - Fixed "Influence done" table "NaN" errors on profile page.
  56. // - Partial implementation of new global namespace (Not affecting end-user).
  57. // - Added Kosovo and Albania.
  58. // - Fixed influence catcher in case battlefield pop-up window is disabled.
  59. // ===============================================================================
  60. // v4.0.11.0
  61. // - Added recoverable health to health bar.
  62. // - Fixed data gathering for "Collections" section on sidebar.
  63. // - Fixed influence calculator on profile pages in case of ranks above God of War.
  64. // and in case of Top Player Lvl.100+ (+10% Damage bonus).
  65. // - Minor style changes on Rank Calculator to match SS Calculator.
  66. // - Added 4th version number.
  67. // - Fixed region links on "Wars" page.
  68. // - Removed "Hide Country Status box" option. Not needed.
  69. // - Added "Daily orders" progress to battlefield.
  70. // - Removed "Fight against NE" from profile calculators. Not used any more.
  71. // - Fixed small bug in Natural Enemy module.
  72. // - Fixed influence data collection.
  73. // - Fixed "undefined" bug in "Influence done" section on profile page in case of
  74. // new users.
  75. // - Recoded "Hits needed" on battlefield pages. It should work properly now.
  76. // - Removed "Article translate". Google stopped providing free translate API.
  77. // - Recoded "Less shouts" button. Now it works even when switching back and forth
  78. // from Citizen and Group feeds.
  79. // - Fixed rank column on Influence table on profile page. Due to eRepublik changes
  80. // rank points are no longer influenced by natural enemy.
  81. // ===============================================================================
  82. // v4.0.12.0
  83. // - Removed some old unneeded code.
  84. // - Fixed another bug in influence catcher in case when fighting against NE.
  85. // - Made "Hits needed" on battlefield pages react to weapon change.
  86. // - Fixed "Hits needed" bug displaying wrong amount when using bazooka.
  87. // - Added "Max damage" to battlefield. It will display maximum possible damage
  88. // with current amount of food fights using selected weapon.
  89. // - Lowered time between data refresh for articles section from 60min to 1min.
  90. // - Reimplemented "Natural enemy" checkbox to Influence Calculator on profile
  91. // page. Natural Eemy doesn't affect rank points but it does affect Influence.
  92. // ===============================================================================
  93.  
  94. // -- Images -----------------------------------------------------------------------------------------------------------
  95. var mainImg = 'data:image/png;base64,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';
  96.  
  97. var mainImgOn = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJUAAAAjCAIAAAASU99wAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAHvpJREFUeNrse2lwJOd53tf3NfdgMLiPBXax9/JcitJSS4paUyzROmIniqRSIpUT/VAqVlwVuUrxj+RHnB9xEjmyzYqUVMqSbdqxy1HCsuQwFinxEpfHktwLIIDFDQww99U9fXfn/b6vZzAAlqlKlav2T5qoYU/P19f3vs/zPs/bvYzyje+HYcgwDOpbmCAM2QNbegsMdsLglx85dy4lDw/n/+DVDxYXF3meh+30196w/l36f+3/CTE+QgH8hxiyMQwQw+JPugRBtPHQlui4d9sYjfei49AxveOQL/h0AQM3CZvwCrmm7k+wES6Jwet4Y4gHwwpD1qOR3cEhg+gkBT7+gy9w3t4l4b0Y5Idkl4D8CrvSg5ON9KRkSqJD4o0Mvk6Oiw4SdA/VN5v0ANH8qf/kPx8K3tGAHQgtw9i26V3/OWrVEYvQzH3a5Gnf9w+F52gg+7fDJbEsieuByJFbw1MWRBsZcgOHIhR4h6P7oaHtC3wY7I9nyXwGIYIcpRv9aBAZH+Kf6KYoWmH34GR+EQln9BPTHUA/STqG3VOH3fAEfRHqz4OgexD6NSRXlcziMBst5Afd3VE35ChKi+718hwJNUMWOr+wcihmZHKCXvzYECbAQTEFH9f3GY5hSBb38iDsLr1jHgokBC/a0ltB7P6AXvDIDeHJ4tj9qLAiSckAb8Rb2B5p9AWPJWMQRmH0K2zrQzPXHU9/Z8nE4YUje8FMcSSNCBAhlvhcYV+iEDzt4yCMDs5yBMQhTrJ+ImG6GAroybrB4Mi+kP2mjffyAhRXEMOj4h7yfBSTSJoz5OAku2E96KYUHIcJ9+PXj7Cj8WPJlNOQSKrkzDyEKpuoWUGSzLM8wzNHefJANvhByLGHxvTH++AnS3Zi6MziLREQ/QiXUeRgmvrj2su1bkjoJgp2Gk5EIkojxxyEJtcHXIZwI09iFnA4lnDqMIiYEE9FxBX4q09jSSaaCSPw8QKZaAp6yD+CMHwl0UWQBKAbfZTJX/zsL50YSp8azsqy+r0Xr3398fOv3brzP154Ae2uYy5l2AjWDAl52L39kInid4ghD5EnbOnHn253Eql0yw2RaSEuxrJ8P9R6y4EQkp8PDTsU495nRPIH+IAhoKTER66e8Sha9tHGsPv0SANIYUrBjj/ZLoWiaEbo0SBaTBea9C5xfvg4AOSqMapCRPN9n80icmbx4AiR3fxg6V4R6vGhaOBhpM9GI6OIkk9e+jdffiahiE3LvLpaaFj2yaHs5x6ae2N5q7h5Bwnds6Mu3JkurwQBk/vN5w6B766VrzfjkECGYxq3XkXxgbHpc4Es2l7QH49DIOuPU49UDwHuriXzrgck5ZKuEzSw3fLOHiyEYXCg5h1SN3eVPD3kHto3pHzYLXuUOQO0X+cC/8Bhwy7rHijMYVdMhRGOmV7p9ZGWQgPHUG0TcRIqriNZRe0WygwiS0euHcGuJ7JCtA99xPJAjEx3ifIxKkJ4mo/OLwDRqJTVk4906vVCuRR06uLgWCKROjTp/TijAevHZT9FY3DvRwUdAWLYz+p891BBwEZQoJQVEmqiE8QTYEL9wFBAByRMj2eZIxuD3r13KbQHSlgRGDzRlDYhnJhQOTKNLEF2QJg8iMgN8yQXKVsMRIo5bj/SEQ/32NvHwpUTkKKkLn2msbGAbAvVSkjkMJTDrvZhmH3BhJOJ7eqXbqlgsBRh+ueLViFKniydYqB719KUES2RKq/Oc0rKufWq89BTiqLQYfDZCwBdPxTO/lSgKxyltCNhO0qt9JMs+5ElNZJ+78oHuG2OjQQe26XNfkHBsQfC2YtoTxBRCUp3odqE4bqVsmcJaCXjCQEE+/qTHrwnblGXe1lSqkKuD4g+5fZz938krmmeZWSTyb/WTdRsIc9Crol8J+JwhPaBuB9CyNU+/DEsR3QK/sAzFPh4ilG0AgsL0RTgHozy9VfEmQeSw5O8z3bER/EeXYEDCdGb/d76IWUbUTHLHsLlIbI9BMHwCEYPhxZfrOATDxVJWy6IxCH1cCG/bzEPUWgUv675w3PE9EETRRtxVpDS63sHWZfBgMOVjygdhqAtkqM9Z8KSnOhVLwbHhsEV2rC9bJrXdWa9VEd2B/kW8l18Cpp8FFQMirDI9CiU4o9heyzKcQIssFvIi0zggKL1PM/3XXB4jI+v27cZZNRQLO3oDRclw2YNlbaU7CXYkz04y4dqGEXnoZrXH9Gj9vFQveyP94GSzLIR0GnIyIG7v3L7uKRxxXPK4L4BxhMRL9QwRKpEIOsBDnzQJ0cPGE3KwHwUSJoKoR+ZV8yfRObgEBIQU/hGjYKu34AQKjKydTghlqscU6rUNEUZiicX1lSkxLADaTuRekJds4+YSIF32Z9nOZ6UPrgvjud5ERZZvXJq5GwusdS0XloqNmo12w5CnE1wtyzDeUhJxUaPu65rb1zHt1FdZ9nH8SRSb3dEufQcCHF+7F0Bh/r4kw7rJ9hDVfCoOKLjj1JuXyqQpKXlhCpXpo+OcDj2PSjWuhgWfoQbqkp6CmVf3/YUb0AMX0+z+Jgko3SmZOdjwYmtHi1jPkRo/MzDW7/4MeJFJEibOzvZdHa3VNYdF+2toloBx14U91ma6bY4gnDf0UL9YymIWQxETuBYnh/Mpn794eFhGYZomsg9d7XDeR6+Mc/F9w1hHpzRNxZRZhQNnRQ5zlFTANleBwDRicM2vzvLDPmPTGoIOCbDDpHnUaffH+x+p3hUvh5SrR+mgD6sNXHU9UaOhVqLkJh33EDxu07fOxBI2mZg+Sh+PSsJVoHaNWwSuqDkyEEsQ5l95PMf/9h3F95FjTKcUJPlZEKWOHQymXjDMpHn4eJnt8le3Q4fQ/w7tSVUCjGAHkZE2J6RzAxhekMA1gfNYFhm36+jY3GZziO1iWQKAlmWB+buN1FYbeszk2OtRi4A+mUP8GfYa/Pg3bl4Mq43G1Ojo3c2tvANBcxRmfp/6dcc9RXA6jBRgsD1pNAhC/RhYevx9l1/7a13gQ5Tw2KypcKS+vqoJgVRFexJochudsEahZMADuspStEMhkF27NjY6EK5PXf/pcUX/hTJ2lc/9fjYQLbWMVU+XNrcaYyf8WHY9nvIbOFdfOLbQjYCNMNEpjYIgTIRDR5DbXYY1mqVZ/936yeZmMixdQ8i7ZJrwgkFYRLC8OTUJJTDnaVlTVXvrO/IApeOJQC8ECigWSzuaYs1pEUbX/yDM1NvLq6eHc1sFPZ816VdlX6HHgEOX2Q0s3CKu4sajnEsZ2woCzFb2SjADIOEVyU5ZNmjbdt9tAXdVs6R7m4/oPFsH0yFrgankjMkDXcG90QoHHtd8giOXS/PBBFSma58hQ9RQECPvjN54r5qvVpqGEOZJJJicKs31nZcKGa8KAsKRMR3bKhrgahiC8gS7cowUYX2+5rVosBzODXgLBhAIF9C0ubRQ65kBT96+bWnL31E5ljDBYUDDMEANFfXV1fbJaQbyG3bo6cE12sXth3bGpmZ4wM24AgUcBGEewfW5bAs48JiufiVR49PDwy8fHu9WW8CbbNH4AWQahgGxzGglmDeYrEEfazRa45Titb1llVcmzo+2rDMO41t5OiBqKDx0zzDHfCU3TDclXIPEWmfgg3Cvk5hP1ipQwlxL43bRyoNZBDskyeNItF6h0kVBnMu0pIeKzRtI5VQodopsw+a69fnVzdalllttlttvVQqodoWDp5jIU4krEtlVHiAnMlhmdO/+zNigqnXxXUJXKPZajCBW2k0svG4mB6GGcTmgUUdq9OqVmzbvXhuzg/CG0tr5+ampnLZrcLucsNWRZFghiQqASKkJwjYdqMeMOxoUrbDcLfaysRTLAlMbwZB4+7dfAUZdeTYSG/hJOU5lB5CioYGjw+NTYSe38OlYRiZTKqwV1Ji2kQuO79wm5XkVCoD198vce/awfkwTr5r2+iug4+2k4iU9UkXFEVh60qe//4bX5zMpaZyabrL9Y3d99e2vvvXV53cLFBIKpOyqtWO59Y2F371E49/7ytP0GENw5z58jfBZOMmatQcCPc/IZtZUv/gm+Nxg0/9GmnY7fdgQIysbm0WPnin06hUHC4/kA+jBxQsOInA93iBL1Yqhb0qL3BqPFXreLuNFmwUADuYgrFAZ7AfYTEv+4FrW4MDua1CCe4RTitJMi+IZAQWKFjooMDk1djIcSfAlnns0jPc0Kzl2mhvBagkOXGC+KrIJyQSsdHR0bMzk4+ePfPFh07cKVUFSS6tLIScLCsKR/wQAN8LQpJLuEO//+Skq4F7Gqq3fuiTDt53xkzXdt1twbaSNmJol5WhmpB59mvPpDSllx9Dqfh9U6Nf+Nh9YmoQDva5j91/9dZKeeFNWP/apy7fP5alw2RRWKzqi3t12mEhByR/WIVS2UyOD9DkVb5fquEECsN0QvMdE23No5FZVuQ5wtrE3YDb4AEr9WYT7+KFD8yeSmpyQ++kNVUnHAsogRligUhJPwlbeB4lk2mY9PNnzu5trSViigOEynGAVKLq8R17juPbZrujo3bt5KWnAV6nJ8eb5qPPv/y674UML2CydR3KikCqw+lESlVWC+W9UqHcbMUSKRS4ptmJp5IwxgyCh2cnRgaSu9VG03R2qi1aSuETTpbLpKotHbiav1snnfjIiKoPthEiJWzbFuFFgVQAClbKt2QADCM5S9pvfi9yf+c7fwaf//JXnrgwkU+p0hMj/h+/uP2PPn5+anK4YZwxt+afOTsBA1Zq5kwGx/u+uZP/c6GKOhVUL2CHRi0j7ftEygUkFY9LU/7pX+s6d4bnOdAei0u3IU52ahjVd/j0yG55T1VV0JwwxnGsrYW3g707gV4PSnd21j4ouqGu66VqM5nJwMxiJ8KRRiRIWxZokoepkyXBC/xice/Y1AQwvhfirBAkgeNZfKcM6/uevnkbKXEkJy6cOTM0kFkpQ3XrJJLpaqORyAxAFWUxrnDeuY4bcsJwJplRhL1mp1xtgG9tGrqayTS2lo3NG/bO/FqptVluFHe2a9VaaeOW0WqaAccI7OT4uMCg0fGxVCxRq9fxBffhrAtHSh1sD7LdAVx2IP4PPn5hbiwHuV9u6hzL9v0aHYPggcXdjJD5zacv0vh944cvbNSMV1fKX798Dr4OasJ3Xl+5tlVd31iHE5wcjH/jyiOw/QdvLZ/OJ0EP5mPS93/8AgKhFwRR344+A8FA5CI4gnHkJL53oRBTy7Ia1VJ9+QYqrQjnP+Hm5/Ixefu1563Br0HJChkfu3jPQdkJ3J3LzyK9cnI037L85a2SwAlAH7ZrNmtFOKZt6mbbQKKSHxkdSCTHBpIvlkqvvHIVVVdxhQP/MHJcS2WzExOgoVyBR7G8qMSkOO8xTMuAC7FG8rnyxkbgBXs7m3azggQ1PzQmyJLjuxOZmGXoJhTF0C3vbrDxNFp9v7Mt4QpvtbDOvvNmY1tF7TZmDUlEohQkqkZm5MyDp68tFcpt/cn7ziytr/fae8HBXhoFIpbmZB2Ai80Kg8YH87/y4MmRpPK9l2/f2CxKPN79SxePw9/5sexGtf3HVz/44S8WK7oR6vWQkfeP2Gkgq73a3EXoi3TDgxP5TCZz48atoL71+Oc+STe+fnt1NqX88oXpqcHMheH09bU9xMq4Hc+qCMhJEKJnZxR/WBwJOAHhQnd2tnZvvIrqu8gNcGDzJ9xKQc1Pbr//ChJFqIg+9u+eKMn5Ew8FIIt9NDEx2jLN21sFXuLPnz3LEUmiKqIwOHDl9DE+DBa392pu2LD8QqW6trFWWl9H67e6XV3QQoZRWstNTmByA6/DcaIsxyUF9EDL8XXbgVnwGc71/cdOzrY6o4ZtS6pmOsH2VuVHf/W8kBhwO22s6IwaNlnpHBIUfP0+5jDsyewO0jRkm8hxcCIbS2hz4bmla7j+x1PKg2eGs6l6qwPgoX1aCFi7bfg+ZGAHcjQ1NF5v1lGjAFeaGz85kE1v7xZ3S9V/+IcvKbE4F7hxEbcsfvszD3/x4iyd/cls/Lc+/fBjs8Of/63fRXq116KE5cyDjzUse0KLHM7NnVqzUdWgyBhVZLcun8Tk2TTtazuN85sliB98ffzc6etru/i5R2J0MD9kdoz29m3iJiGKHvHWDFIknj5bNUwDVbZQZhixojo03ansxEaO5fK5zfBiUtUIefq4h+AGxcpeXI3pnY63Zv7655/6xOwVjbX+4I3V94ouB5rVDbNabGmnmNZEMwjPT4y8urzeaECgDaRK4sNPOKU91N4TcsegjvqesbuzpQh8LKYiTjDahsQgkQ0VWUZBbCwdk9igUk0DM7ucfmYq7njBG8s7iViiVVs9fe5Cy+h0LKfGC5qitWMDsiobg5C4OSjYuJEdBGZHV+NxgWVBspY3FlCooXYdJ7KqzAwm1suZlmHS8g/wiifjp6bHIJXrugn3sbixiRrbuZkL5VqlE4aC6yqKsjH/NhK0WH5kYgLSLrw8N0yD9+JS4Zt/9NPf/sKTnz07+vG5sT//D//qpaVdYI5e/J568NRIQrkylaRfv/P8yzd3rdfevYWcVor1Lp/GAXt/twVZcqOo0zGXzx3/jz95HTdCfYuFQgPVTk2h6i5OWV5BnRbS4sCfzImPfg3diyWMnmYxVFAR04+f0VDWYnmO1pMOVDugQEkiupLROyYvivgdKtfBbWlB8km3IJ1KQrEFS8ML4Eg9n5QENwiSiQR+EYIXXdy3Q6zv1msNKRkfHR4tt9rNjhl2tTUn8jPj47plVZqtieGh7WLRgXmSJavThpGyqAClGlYnoSqcJJ6YgJH2t548c+XUKJxq9u//08ba6rnPfeln3/4yfH2raP5ooQ7c/K8fGz1014bj//4r88+9uTQ9OfrG9Vteo/jZucH/+s//Mfz0O3/z3n/62a2x4cE/+vJHJzJx2DLzz77bqO0iJY3sBsg3pA0IsurqFdSsos1NdOICimd4dI8W+gwkpM9EaC+ZGA74gzAw5BVGYjrxJtAyvKR42F3ghyWSJOKmHMeaDohSFoSQJAqKJJZbuuP7jusC45uWCf7JAlVq2ZlsRoa4Bn46ntza3mVEMZeK4UJrWthR0LchAgZIe69c6XQ67OhYMpFsOy5Gtt4WOFHTtGa7OZDJDOcG1vfKs4Npjuc+OjNE7+XOn/1e/62JgVPrmFLvXcK+RRM5/GACFEo6c/H0qXp77PL9w/Snb125H/76B3/24dM/+MkOkmIXLz4a1+KpmCQy6Ofv3i7V676SPHPxUr3Z5rLj998b/KH99x5Dqq/IOywMhgvfHYANg+95UMZC/KoAE/oeQ6IF0XMAZxiFoSBKEFQPyz4YxIiSCLjJppO5VFISsLWFCt5otQaSsWq9LquqbTub1aYkiiIYZGwWcU7g+g06w7ROTU+2Laizoe8Glt0p7GwAb5PXJIJGdbduWGBnBC19dWXnm5dP3vXWQGq+uFq6uXzn6x+LBvzqXyy8t6d/dDwpcMylY4PPzxfA1ZSa7dXlhWe/+rQs3B1FRcN64eZGOjfc8VAul7eD8Pp6ARQ1lvdOp2UHth/eM/ztv+0TPbTADgb+B87M9YPI6GDD5+M2Ei+EjhGA4uKxahAEEZHnGMlk0nI9SZbiqmqaMOmB4/mJmJpSJPAYQI9BGDSNjllv8pIk8KLe0k3fBxUG4sX2/OnB7K2NbbAzpI2AhjNpCO16tapIcjqZlCQfwnl8+hjPscVaA8yyKHFN3YgxCvDDYG6gYgYDCpYkP5xvfP+v/ubY5IzNSddu3RwfGRa0xNruXu8uW45zba/zwmr883MD8PWTs/lnf34bDNx9J46lVCxT1+rmXy43Ononm5RzIvv3zmFQfubCzG8gRo0lTMPY3C2A9vYdO5mMt1q6GwZSPAEinO9/IH8PSJTpUSnt7WNehJLGdN0eDpWs+vTNDFzwBECnadvk/TS22W5DCXR0o7GzGjo2IDdMDCoij3xhq1Rpl7ZCCGUsBSC06qWldSaTTo2p8lKhCH7WNqxry6sd20kkkiy2vtzy5mapUhnI5RodGzSXF4LV9ED3ybI6OTbaslxFUBle9EhfBxhgo+UOKBJc2BPjWvoLn26YbrGhPzb0QF2IX99ppUD9dpfpTEIWmYLu0K8PTw+d3tYnBxJziQg/b23VNpqu5/hKSv2L+fVPHR9IyAI4/ctnZ5dt3DBqVqpKIu5YFo8XSF9XCINjc3M86nsqfE9oFDeJiAYhryX50euapL9NxCE2G7gnAIrStUG80E4SftrMoBivJWIaSBs3Hed4oQyGoLxZ8+xGJwED5NwkUG4ulwMudPxcHQSL5W4Uy4HvvvfeNVaO+4ENNbYBTNmuhAzPxtLgaJnBnKRKhZtXQemFogqC3BIVUVEuTExlk2q51rq6sKxJUtuw/nyxPpkYBAiOxwX4I/eDFeYnnn1pfPqEZbu9u8wmY3XT2zKjTt6lqey/fWW5Vms8cf+pyB8GLJDORq0R4s6i8PpK8ekzY7D9yQsnfvHjNyGPIMPYdgucGxRCUHPIMqrzb1WrNfZe8yciwrP7NIDh8GtYBHocfpbMQRgEHrQChwHCi5B7UPzwVpbVFCWu4cZQNhEbyeXGc9np8ZH05NzI+NREfnA8nx/PD7CCaHl+w7A814N6F48nJ8cnLsydADADkgVWSqVyPNCy2UbVjWBvCexpNpm+eGJ27NxHEMMnhmc4LRWXYyP50StnpkWO3a7W4YxgeBKxGKTLt358609vlQtGJFXAuv+3a6uqAKSAL7Z3l2Cgh1LKXtt+t9CkW4bZzsKt908PpSIFZDKFZjufSkN6CgL3TnfYp89NurVtSNcg9Dy9Cv6sqTfK1TKmKjWOH7vfs8B1W8K9N3Lov8zALSjyQjAHwhIsAUGhJICLY0GvMN33HwGSGLNBCMVSB2aTkOl5hmk7jmPZTjaVBOEDrk4W5XQsDiiUJQkfR1ZCXpxISWuVCc8LrJW3k48+Ifq+2UzhJ6V6AyZFVeRSywRSffjjT/Gysri4aPsBOErwJCvF+p3NnZimgnvJJ+JQi9+9tTY9MrS75rVNfbOqC4z76pvvTM8e5wMGUDLz7R/8zte/EPDSgCaBEToxGPt3r669v/ABC4VUEAwh88jv/XSrsHthavjcqTnH8dZaFVkER879r7L10//ylmG0N9aXpcwEbfxq8bTtdly8eEhWUuMnYskkf6+Ch58ZM1Hv36OvHLJs4LkhR3+k77/gt3JwcyQMfTwGKI08KsH8yqiSkAHzL/BYmWC0slWe8wMfP9FgEcjLeEztuL4s8SGjxSHCDNN28Ysqd8puMpVxXdudu88GkMOeWpJPPzB3bPr6jRu+78PUt4rFsaHhVFxb3dxwTA9UEsegsWxienzYcJDesRQtkdVimQQkB4LkgnkfzcYMy8rnc3P5nMMyjbYOk/72XssJcBM1FdNWCoV3F5eVeKxUqgxlkioflvcKdq34ttlR4pmspqVUxXTsut6BtMP/9igI4NqyubzV6cAEKFrcb9EWue+xgm7agED+XlY++lYOQ5q9IUOLHP0XNgF5fAiJFhIm5UjVBmwBHBUtBjHDPkHg7IARGLZlOaZlm66vO25dN2VNwTcf6lKzPT0+ygsc5AcoEfjMptOpmOqFwZ29hsVzstHJZQZc32u32wPp5DMPnBKVpBxTBpOxzT1+o7Dj5HLpVDqTkyCNZuLoFhM02p2BFChc1eh0qijgBVFR1aQCVgRSyAL3KavpqqEPDo0MpjO+2cnJ/O295lBK2/hg0ZbUv/vUk6VqfS1VHEwngDyu3ryNJAUkJXA7xzGbxWpSlUlDHD9KBtOpKFrgeZKqtRtNzrIgt0RRFsKwBemrwpVK/D2KXfSyTfelRtK4xzoG/9O9kLyfg58vgYIgfRZfEBwwiFYHTEOHvsEJmsVLuGHYMTo2UJ/vhXqLPDVHhhYPY5mwVTS11Lxtg1hFehU/ehGk8WPHRzLJhe2y5Qdmu45YYdsP5FR8bHjo3MRgsdnaq1XSTmx3Z2flxlXk2h9kJr76mStfOT/80o79L/7ytTur62Zrzx45dnNxcTife+Ds+S89dDybUP7k3aWWbsiyWG22dyt13xA3S9VKrQEIK1VqxZ2tn72y1S5WU+PDVzk+wfixWOzdlXU2oYGyjcuqY5qKImyXamCBbM9VZeBnFzJChzszzUxuEDwV4JL4KcxGhmkiNdvaWZWhVP6/+Hfmb5FAuw89uu8y0z4sdoGQ05JPXlqVtRhcOn5nQY3DdoglfkdAVALPlhUFzHxzZ92HoqXEpqamXElzWXZwcsYwWol0ho+ljo2NKZLQMIyhkdFQjDmbS61yoRxIqZhyfmZckOXa7bfMVkVfn0+OT8oC9/bS+k5hhwu94XQ8lGLnzpy9cPrUpZmRc1lek6Xnrq01t+aRmrp836nhXE6LJ7995cwnx0HwMyu1zsrqyst/+O93Vueb5ULd8oql0tlj4+ub65wk1qu1wo2raiLbWr1hXftpS0inNW3zJz/QdzfbgQAiqzR/Y/HONkdU9tqt28WVlfKNd0BKxzW+trdXv/kmJEdcE1sfXHNabUjHidGBxuo8mn/HKJfuWf/z/y9/K8v/EWAAiN3pyNEOjGMAAAAASUVORK5CYII=';
  98.  
  99. var linksHeader = 'data:image/png;base64,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';
  100.  
  101. var authLogo = 'data:image/gif;base64,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';
  102.  
  103. var infoImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATZJREFUeNpc0j9IAnEUwPG7y6kGBwlcgghJWiTExaEgggpxbRChpTBoKRLFpaWGoJa2iraEhpx0FFxMkghEUBE0qLW2SFoazu+L96OjH3zu/fjde79/d7brupZppfqLj5DAOgIYorK5HHo2ObYpIDlGuMUCWvjAPOZwjwyFn78FJEcYeMIj9jCtiV3t32GAFYfkSTpFtJlhlZjGA87QxBdiquDwSEJW2KXYlllwQHGQ+Kb9V+Ip9uWQa3hHhxdyoCU9k0wyiws9bxlHsoIfI002FyD7r+Oa8Usd/paHFHQwQ5Lf+muLuuqhZyxsCkqYkGvzvOzpob0tj4bDkn06J5LAKkl9uYErTOkWzwlxZM13kNu5wbauWNWzyb53EMUWkxftf79GipDTry2T/KCGY5Ll61tjAQYAPOhoMJh/2+4AAAAASUVORK5CYII=';
  104.  
  105. var infoImg_hover = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAATZJREFUeNpc0r9LQlEUwPH3nk02OIjgEkhDUYNIuBg0hFAR/gMRtBQFLYpRuLTUENjSpuGm0JBTjYGLRiKBBKZCDTVWWxgtDs/viXPx0YXPO5f7zrm/3rNd17VMe+h9TBDWsYogXnG7OB9+NDm2KSA5TihjDm18YQbTuMYuhd9/BSRHGWhJHfYR0sRn7V/hBcsOyX46FTwxQ5K4iQbyaGKAuMo5PFKQFfYotmUWZCgOE9+1/0Y8Q1oOuYJPdHghB1rSM8kkEVzoeW9wLCsE8KPJ5gJk/3VcMl7Q4V95SEEHUyQFrHGL6apZz9isKajCJ9fmednVQ3vbEe4dluzTOZUEVknpyzUUMalbPCckcGC+g9xOCdu64p2eTfa9gwVsMXnF/vdrbBAO9WvLJEPUcEKyfH1rJMAAiQVoa6h75xUAAAAASUVORK5CYII=';
  106.  
  107. var loadingImage = 'data:image/gif;base64,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';
  108.  
  109. var loadingBackImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAABBJREFUeNpi+P///02AAAMACdUD1968JMsAAAAASUVORK5CYII=';
  110.  
  111. var iconDonate = 'data:image/gif;base64,R0lGODlhEAAQANU%2FAOO8csOeX%2Ffbm%2FzmjPzRM%2F%2FrSPXaq%2F3lq%2BbAe7t0INmiOtCYPOmhLvPIY%2FTFVc2UMdejScOsh%2BatWO62Pdzc3Mm3mfrpV%2BahO%2F%2FyzFZYXN61avbUgWpscM6SKdeZK%2BOtPOy5Su7Cc%2B27QuqpOM7OzuWaKvC8Qu%2Fz%2Fc%2BwetqrWuy%2BXfLKjPHImtSoYvOsOt3k8P3VVc%2FU2%2BzMUs3DsPjWRNChXbS6w%2BehMOyoMuXp9fK3LPz%2F%2F%2FjqbOSxSMzMzP%2F%2F%2FyH5BAEAAD8ALAAAAAAQABAAAAaXwJ9wSCwai6HRZWQ4DlkinsUyOq5A2ImkQGAcb7SCuBTClY6XxgCmuwwItx8nRlwkahKda6PzcnYIKQgIGhAQCx4tMh0JPxknBwcCAgcYAhp2hh0aGTkODaAPCiEHGg8IBhgAGS8eCj0ODiAKDwsCGyoKKBk2MxU1oh8mJiIfDxE%2BPz4UQhQ%2BFQEP0hEkTs0%2BPtXW29xGQQA7';
  112.  
  113. var iconMessage = 'data:image/gif;base64,R0lGODlhEAAQANU%2FAKnS3PH%2B%2F%2B3%2B%2F12dANrt86LK1bvc5OT2%2BoS7AOP2%2B7PV3bLc49br78rl6vf%2B%2F%2Fr%2F%2F4S1wZ%2FR2pvG0dTx9dDr8Yy8yJ%2FP2cfp7MHi57bY37DW4ef9%2F%2BHh4WqmAI%2FIAIyxU5jMAJ7UAMzld3KuANHu8ozAALbf5eDz%2BYi4xKHGaMLe55O%2FzbrZ38fi69%2F1%2BtTtd7TT2oXBzMTfd%2Bn2%2BGSZPm%2BsU3KiRnatVJ%2FO13mzWZjEz6PP3bHW3czMzP%2F%2F%2F%2F%2F%2F%2FyH5BAEAAD8ALAAAAAAQABAAAAalwJ9wSCz%2BCBkFb8lsKjIMhW9KrVZZgAPpkegeDt3EgzTLFHwahi%2FAbvsYCx9A4tvsGtPHY9oAbHwFOj4CExEYVRgREwKAKz4OAgsxBlMGNQOYKRIVUy0aFxY4FjkjIS8hIzecKgYBJxcmJgMgHj4eIAMVDguQLgQUFAMiVCIDKFZUAyUIPgglAzAoENPUEDQdCDIIHTZGQxwfmAMfHN7fPejl5uZBADs%3D';
  114.  
  115. var iconOffer = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAABGdJREFUeNqsVU1sVUUYPTNz73uPttDSFmKEWIMYSdSICRWQgEFdaPAvxGhcqGsFVwZduHDLSmOIC4wL2ZjoApsYNRpLhCghRmhDrDSlxRSrNPSH1sfre/dnZjzf3PdqdyTWe3PfvDt37pnzne9831Xee7z9xVmfWQfrPFZ7WOLdTDJ88spjSr3x2Wmf5i5M5M7h/zjqmUUjSRBVGxlqKa8kh/OrZ654OWthkwYiYSuSCLDw1uHxfz986yRuBF9MuRWgjvdaRh+TSh7+1xcXYG3SZKfhvYXhqbSF1xVUurrgnOIMKTYViAQYK6R2zRd9ZODzDFopZFxz5Knd2NBRQhyXmDQFZTRHea4xdW0Ox8+NMeySMCrAeUXFHxfYCSfLAIzibmlEIAJQshL5XJi6gf47unH05CmU1q/lduQdlxlYA0effRhOTcB4FERlJGakuJMSvWUkSyM5qNeRL80hy5cQG0OLanw/PwVf34r3X34c7w0O4ToVUvUaELdjjc4DhneMxLsAvIK5cOYEQeThvq09OLjrUXS3t9G4BNcpaks5rZphHec2b+jB9NhlhtjBdxOUK50cM8YSQ+pGkaBsFglouKHXicxNNV7avQMnh8fxw9hkWOxzi+0b23Hkmf04dvoiLvw2gf5NGzE1P4+ZvIwyM6ddxAhtICfAwjUSy0gYKsgkJrLoWRfjx9FJRExQZBu4u7cLhw/sxbEzQ/hp5Hfs7OvBW889ghuNGl794HNUDH1NbxvtQkJ9UMOSuW+C8gbNtGplUOZlVIbbe9vwwr5tOH7mF1wa/wt7tvTgzaf3o8qK/ubin/j4tRe5PobgKFuAK1+MGkEfkcaGCzYvFjJJve0l7LqnD98OX8Xc7AJ2bOnGoSf2YGBoggwsvjp/GYNjVzFbYy1Q+0AwSFJIo4MvV14sGpGqTOf0dXdi9I8ZzNXq2NRZwYH+BzAwfAWfnh3B2rhCjev48udxvH5iACqjOcXHruUWsaJvMg9VxZ1zjYzU20sGc9UaEnp+DQvl3jvvwndDVzDIXEh+sjwnEVZwnlDriEXlkegMccYG0rR3YcUW61BGPJ1BmqaoGjGXRsf6NpwbncDw1DQD4/OsjlS5UEDKS8WmfJ9F12LuisKMWob3Li+SyfmZxb9x/+ZuDF+aDBMLs7PsdAluI0NiYft927Cw2OB77CQEVoxWKRecptkaPArdQ+MqEuqXe+bItet48qEH8fzendBG1jlGwI4gFcxl1UaCXyen6W1aMDQC/loWoEYhr7jGS+Na9qULyFQLJ74+D2d8uAvAqoRU2xCVrDWafTGPJD3sO+TLTbU0u2ZvkQ2WNQ+ByEtC2xeOYR8N/cdQB4eEHuZzz+XiUyuBN5gNU7xHwFyanVP/yiLgOX3tWPrGSSPIuGOrP7pm8y96uA4zNjS30Jq9bOyKqJtytT4VyEWmDNHizSWC09u+Bba6Q2rEZilrkcVYrVZx8N2PaJasYHGrD+StdvfFJ+7Uh++ofwQYAOiQsoUzvoqZAAAAAElFTkSuQmCC';
  116.  
  117. var topRatedCat = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIFSURBVHjajFPPaxNBGH2TbDab1ha61YKgoKQgSU1v3mzY7X8gQSyePehF6Ulv2dw8CYKgh54UFCO5ehG6aRUERQtWk4tFQU+FRm0J3a6zO843G6OTNuLAY7553/vezo9v2UYd/xqiN7NhAiOOgekLG/sSHx/nPfv0NRV33t/2pMY7QINUFB3sLPmqPXMVBIqHaHoGUVdD64H8evFKf00xcYM6qmVCyGOGzzXn9YdlUbq4OshBcvpdmHMw1pYYnU3b4tHSAsA7mvZIYQFr98ti4BQ19uouxJnL8hL3PgPBJ/zXsE4C2RN4fS8Pg3PUXt7JV2fmL4FFHcR8F0ZuEuboFAxzXOl5uI2wuwm+u4WUkYNI2/iwvJTsYOWW0jgS/qxbgQi+YGezDb63o793dgxjUwUw6zje+Q2iXIlmSu4A5UXRlLP79plMpA/ByGRlwagOyVGONKTt1UAZ0Jg/5ypC8G/IZDMwLUsDcZQjDWnV0f42ePrIdyjOZX7ANOU8YmpQnMyRhrRozyYGqpHWj1FTONOnxmGwLkZysQIPfyr8XlOONKSlZ6ZaQxmUviKqs6o9ESLNODpbMV6sBrSxZu8OnbNlC/ZkCvZEnLR29N37Y/CGKbfDdoB2C2i1VJFbqSQGjQacFT/wi0WgUEj+gX4r168D528KPLnR78iahDekhfZpfgkwANM6+xIg6Y1HAAAAAElFTkSuQmCC';
  118.  
  119. var latestCat = 'data:image/gif;base64,R0lGODlhEAAQAOYAAMHS0vtubqgxMcbX1/v9/dU9PcPU1MEvL/9+fr7Pz8zd3b+/v7/Q0DVX1F+B5/VkZMjZ2XNhYZmHh+9cXM00NIp4eN5GRjhaviNFr+n29vhjY4Z0dJF+fsDO94Bubsvc3PH6+uRKSv13d+x4eLGxsZmZmZOBgcna2ogREen5+fX7+8PDw/+Dg+b19edQUPttbY16etbW1tvb29U6Ov3+/paEhPn9/d5ERO34+H5yctDf38va2uROTuyhoc3b2/GoqOjExPvX1/X6+vBaWvD29ulQULzNzePz82lXV/T09P///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAAAAAAALAAAAAAQABAAAAfIgEmCCyULgoOFh0kjRQIxAkWRjY9FI4IhLAUkBQidCJoFLCGCNyIHKAcBqgGnByI3gjMvQT0/QA+4EzwTLzOCFBoWLi4WQ8bHGhSCEkrNzs/NEoI1NA4XGA0DBgAMCUY0NYImNg4dHQ0EBADpRjYmghwq1tjaPt1GKhyCMCAKQkIQ/gH4ZwQEDEEVcCj4cEKHth33cFQQtCGDAiJEIGAEgNFIhg2CPLRYeAKCNm7eWnhIIiNCiiMwY8pMEUHGihxIcurcmTPHikAAOw%3D%3D';
  120.  
  121. var internationalCat = 'data:image/png;base64,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';
  122.  
  123. var neIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjZJREFUeNqEk81PE1EUxc/Q0hZJa1HRQGttNFYhRg0YXbnRpUv9O/wHNC5MFFHiymCiW2NMNEZZVRIVrQurEfFr4RcxGpFQaIdapu1M8Xre9M1AGg1v8svMe2/OnTf3nmsAMEgbCZB2TYgE9Zoay6RBHGLru1r7E9TioBZFSAdZR8ItAeqkqqnpecP7SkiLYuuB+FngRAY42gmkeLyABXz/AkxcAm5/Awr6o+5Qx+/U4vgxYNdJ4Fwc2Ks22ru7YRgG7Lk5COcV4NN14PQt4A2nJllSQfg+UhuBg+PAuzwgb/v6pXjvvtjFktjmopSyWXk/OChq7zHwdSdwmJo06VIBNpPdl4HzL5Q4k5HazIyo4VTr4ixVm88lUz7oINeAK0qjtegl+7LApNpcuHPXFRRu3JSp7TvkdSols6NX3TVz4qm8DATkIfCRmv0koQJsJQM5YH4yFpN6YUEa/PJUT688Z0DFq2hU6vNFnqjG9R551vz/A+rX/WxyiHdTF0T8LLvP7txoebdZDlXjZabzh1Muo5LLIRgJIzEygkg6jVAyicSFYYQ2bYCVz8NhRerNUja01k/iUN5L4q/ZZuKsmtgVayWJA34SR6npI1u8Mm5jlEN+GftZxrExsSmyF8tiPhj3y/gImF5dxn8ZaYgR93hGopPcY2sjfaaRTq02kqFtHNaBojRU1xngOK18hE2R5AttNP/PaeDJxRUr/yaW6gdD90JrM3XooMG1msn4Tzt7rNnOfwUYABfEIDgXLDk7AAAAAElFTkSuQmCC';
  124.  
  125. var sideBack = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAGCAYAAADkOT91AAAAHHRFWHRTb2Z0d2FyZQBBZG9iZSBGaXJld29ya3MgQ1M0BrLToAAAAB5JREFUCFtjeP369X8QBgEQzQATgGFMAZhS3CrQBQANsFp5WDNrnwAAAABJRU5ErkJggg==';
  126.  
  127. var sideBoxes = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJkAAABXCAYAAAAXvud+AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAT1JREFUeNrs1j1qxDAQgFH5hxQG43bPllOETZV+Id12gZwg1/ER3G4hF8bEnVfRniCNRSC8BwOqh49B1TiOTyGE9zzPeU4BjnHL85Xnra2q6jIMw7nrutA0jdVwiH3fT9u2nZdlCdU0Td9933fWQgnrum5VjDHla2YbFJFSCm1d1zZBMY8D1rpilCYyRIbI4PfIfPxxyRAZiAyR4eMPLhkiA5EhMv4Bv35cMlwyEBkiQ2QgMkQGIkNkiAxEhsgQGYgMkYHIEBkiA5EhMkQGIkNkIDJEhshAZIgMkYHIEBmIDJEhMhAZIkNkIDJEBiJDZIgMRIbIEBmIDJGByBAZIgORITJEBiJDZCAyRIbIQGSIDJGByBAZiIw/iSxZAwWl+n6/f9gDpeS+PusY42t+X/PcrIQDPXq6zvP88iPAAOC0Mc6dlDXaAAAAAElFTkSuQmCC';
  128.  
  129. var mMarketButton = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEYAAAAgCAYAAACvgw7DAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAItJREFUeNrs2rsKgDAMQNEmVhBHB///+wQdVbBajQ+E0sHde6GQrmdNJMborH4Kcb3nPybHK1RcU3k5/wbTjct/RTK1dSk6zAGUJDPRsOGSZiYKQz5ggAEGGGCAAQYYYIABBhgCBhhggAEGGGCAAQYYYAiYTzBeBYUkM9Fnu09vZiKcgVylZyC7AAMAr9YpNbAaYhkAAAAASUVORK5CYII=';
  130.  
  131. var oldNewsVotesBack = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAmCAIAAAAN749WAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAspJREFUeNq0mM9qFEEQxrO9O7vEIIgHPQjmkoP3vEEOXr0JPoE+jyDkGbzlmmdQcs0hlwiCmksgatg/s7Ggl7byVdXXPQtplmbona7+6ldV0z0z6vv+7OrT5c/T2/n1jtcm45k73k12pV+ubvMFtDwuvf1r1c/t4O7syf7z14fPPoy+/Ph4/u3zTtBAjbt2tVlZriZpr16+HR+9W6zv+qoakbJer8ap20KQzJKfTC8jKU3kZ9e9/n2RXLEiBdTY0Ewnj3Kvf3rcDTFvIiY1eqnNlcXsqqAGbhAj2g64vYFXjVQEpuoDuZPQSpGadh2z6WO4sMr0RLAMkFJLhUcB0grker64ySOushaofsisK2BLr+r2WZmVFXHSIFKUOi2eycLueJZSgA3SlAY9USBdoqSBe/ht9ZBxPGB9Ot7LfbmogiQJ/l8QT2cXRlkbLoo4PbcFUtaQGvH4CeHxIH8VCwRSGpo9XAfRlKuvKYfceGknrC1YrOu60pOSvOeVV7yipIkQ2Fr0fyI1oEnrbiGEm2u0xUC89DKWCuF0z6vV3y0JgWeAZ2gmVYs/DY0Xx2ObdsAtVfZgdI/AhNByufQ3QSV0aBo9CCEtFAhVD92tVRYRiiBFhLY/wuoqsIYgtbMs3ZfbIkKsyqKXEm0IIGm/IzUtB9ztD/kAqVr8hA0h5OSQzi89ByDZJeEvvpFpy1Daib9KVnfHLCsrg+tqcbmvs4kXIUByNWUYlkpYpwEe/zzU8kyysXMTK9/WjgcJ6ahFkGCZaLE87oc4zp76g7FMiCqCSLRFQNRoFin6SgJfF8QWQcWTrOqV/17GA8ftajDuFBKpkj1hyECTm088iIQrcXUjyB6oZcQ+logst3elgHvAZrOXHbx44xKy+QRuaQVlRHaoRiRi37IQMaO79eLrr+OL7ydWrJ3jfkqrfmC0ztgIyEKi5vDp+38CDAAlQEVjhM51egAAAABJRU5ErkJggg==';
  132.  
  133. var militaryEventsIcons = 'data:image/png;base64,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';
  134.  
  135. var greyButtonImg = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAABTCAIAAACqHK2CAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+JJREFUeNrs3ctO40AQhWGnfScYEOx4/2djRwRyLrbbSeZ0KmSewN2R8n+LGQdYtXRU1XZcvTqfz1mW6d95no/H4/kiA7CM1UWe50VR6CL8RJE7nU7jOOqirmv9jmUCFqVqp8QpgUqcc26lBB4Oh6qqFD9qIBCtHiqK0zS1bevUhSp7JBCI6RY6BdB571UTSSAQP4eKngLoVBPVlbIiQHyKXgggNRBIWw+L2yMKlgOIbLUKjydoRIHUTSlLABBC4KEVtiFkTwhQCQFCCCBVO5rxiAJIwd6ioBICd9COUgaBJCx6VELgDiohAEIIPK7rlAu2hUB8Nm/G2Wv2LAcQn6IXQlgUxeFwsHoIIGYZVPQUQFeW5el0mueZHAIxE6jQKXoKYJi2Nk1T3/fOuaenJ0YeAhG60P1+r+h1XVdV1cpeofDeD8MwjiP7Q2BpKnV1XTdNE8qgvV2fXe6Oni4y7pQCCzei2WXEUxj7e5vAzboACV3forBJ+LSjQLR21GbgXyvhPM+/v7+6eH19VZPKGgGL8t4rcepFlbhwLIxK32azeX5+rqqKORdAnG2hTNO03W7f39+LYRjUiyqBdlcGwNKs2lnoFEC33+9fXl5IIBCZQqfoKYCFaqJ9aYZFASJT9BRAZ6fzshxAkr40HAjDQgBpMW0NSMa+McMEbiBlO5ox3gJIjhACd7AnpB0FaEcBKiGVEKASAo9bCTOeEwLpcCAMkLgdpRICd1AJARBC4HEVMk1Tnud0pEBMNuEijMFvmmaz2TADH4gfQkVPASzatv3+/h6Goa5rntoDceInCt08zwpgOIui7/uvr6+yLD8+PiyKLBOwXALHcVTl895/fn52XbeyAfi73e7n50dp1C8IIbBoCFXwlL23t7f1eh2G4d/OopgvmPgELE3BKy44iwK4C/+/MaMyaJPXiCWwaDsqeZ7fKmEIoZ0Gow2h4md/wUoBC7E6p5RpW2hnwhT6PAzDdrvV5/Dc8O/MNAALhdAOqLey17ZtoQ9KoK4UQpVIEghEyGGY+eucoleWZeG9139WBlkdIM620OKmEqgAhjH4VVXZYYUAolHoFL1QElUZ2QcCSeqhoqcAFrcHEjyZAJLsD+lCgdR9KUsAEELgoTHoCaASAoQQQOJ2lDcngCQ4iwKgHQVACAFCCBBCAEmFKRfcHQWSsDkX4SWm4/HIcgDxKXohhHYgDMsBxHc9EKYsS+ccOQTiJ1DRUwDDWRT60Pe9frper5k0AyxtnufdbqeLruuqqrrelfHeD8MwjiP7Q2BpeZ7Xdd00TSiDdms0+5uFaAdRcKcUWI7Nc3IXdv1PgAEAZrFvYm6DHroAAAAASUVORK5CYII=';
  136.  
  137. var greyButtonArrowUp = 'data:image/png;base64,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';
  138.  
  139. var blueButtonArrowUp = 'data:image/png;base64,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';
  140.  
  141. var subsIconOff = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAatJREFUeNqcU8tuwjAQHCcO5QIFwYEDkECAP+DGR/Ep/SbO5YYEVSkJ4iWkggAhCJTY9TrhIW5tpJXtzXh29mHW6XTaAMhs/O0bK3vj+rKUtiQXUyYfIM9ncpCPnBI2A2tzSZeljLAPYNPkYIzhEv7AMAyIUKizhBR3XnWyuRACMacGplIppNNpZLNZJBIJhGGIy+WC9XqN+XwOCiYflHEppKY0TQOu6yKfz4NzjuAU4Hg46n0mk0Eul0O9XsfY9zHyPIoOYuJCaSLCarWGQqGA7XaL4ecQloq+3++VKgZSmUwmUavVYDuOVuUrIiKJCBTTYPCBY3DCdrNBOvOKcqmkVJmwLAtBEGA6naL73kXZLmOi9pQKidApyDghzxvBrbhwKg52ux1Wq29Vhxctv9FoaIzvj6Ni3mpwK32U0/BriMPxoItG0Ul+v99HsVjEcrlEpPjeLUNXVYH0qk1gNpvpyjebTbRaLd2dyWSC0/kMiAgnYjy/XmS3ZkY9IvBisYDFLeVhmpgUiisihhIBjaR9H6K7vl6v9zS90b8rVq1jg+Y5nmv85y38CjAASr73luiS46AAAAAASUVORK5CYII=';
  142.  
  143. var subsIconOn = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAANCAYAAACgu+4kAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd1JREFUeNqUU01LG1EUPW/mJaORiGPTuBEDNahp7a57QRd2UQqB/Ae3wV/gHyj0N3RhoYsuKgWFLkoaKBSULlKsIurYD0xiPhSjCcm8630vQ/yoCp3hznvzuPfce889T6x6i1kA2hL4v8djey2JKEscLMwZ7yDujbrioRNmpSJlMhMJCEG8dt1s22FHgY5qwhIhKGqbQArMwBASUqnukXYWJDHkjMHtSyDWPwlHDjJAi+0cpbNNeCd59lVXqhFgAN/8SBFGKpbGyMA0wnYE5+0qTtslhKwIhvuSiEeeYDqWwXZtDVuVlV47DNBFnIq/xGj0GWrNfRTK7+HYURy3/nD5ksvvoD/kMkAaE+48fL+FreqagegBfD98y1nrODrb4RYeIenOQloOQkE1e/UvyB28wrg7x/scfPINJ9JnABFwu1n+iNTDF5h88Bz15gEOT38wD1Fu6zGexjNcicJ25VOPTB0niQHIvF1mC8UPaLQqKDZ+chsRdJj9jb/LGB+ewa+TdWh/FQQHJKrLCevJ8LJbyyPM5M0nlwyh7woL2Kl8vqEF/pIGIHVdJUYThKZqwKt9RVgOwIINn8dJ/4hKt0Dk3S5jwrffbwLd0a2K1HK2tJ4DXd8j3rvvwoUAAwAXxtVKvx6uhgAAAABJRU5ErkJggg==';
  144.  
  145. var hideBuildingIcon = 'data:image/png;base64,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';
  146.  
  147. var dailyTrackerBack = 'data:image/png;base64,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';
  148. // ---------------------------------------------------------------------------------------------------------------------
  149.  
  150. // -- Style variables --------------------------------------------------------------------------------------------------
  151. GM_addStyle(
  152. '.customMenuHolder { padding: 0px 2px 2px 2px; float: left; margin-left: 3px; width: 944px; }' +
  153. '.customMenuElemHolder { border-radius: 0px 0px 5px 5px; background-color: #eeeeee; float: left; width: 118px; height: 20px; text-align: center; color: #7F7F7F; cursor: default; vertical-align: middle; line-height: 20px; font-size: 11px; }' +
  154. '.customMenuElement { border-radius: 0px 0px 5px 5px; background-color: #eeeeee; padding: 2px; float: left; width: 114px; height: 16px; text-align: center; color: #7F7F7F; cursor: pointer; vertical-align: middle; line-height: 16px; font-size: 11px; }' +
  155. '.customMenuElement:hover { background: #505050; color: #D8D8D8; }' +
  156. '.customMenuElementAdd { border-radius: 0px 0px 5px 5px; background-color: #eeeeee; padding: 2px; float: left; width: 114px; height: 16px; text-align: center; color: #CCCCCC; cursor: pointer; vertical-align: middle; line-height: 16px; font-size: 11px; }' +
  157. '.customMenuElementAdd:hover { background: #CCCCCC; color: #D8D8D8; }' +
  158. '.customMenuPrompt { box-shadow: 0px 0px 5px #9F9F9F; border-radius: 5px 5px 5px 5px; background: url(' + loadingBackImg + ') repeat scroll 0 0 transparent; border: 1px solid #bbbbbb; display: none; height: 200px; position: absolute; margin-left: 10%; margin-right: auto; width: 400px; z-index: 999999; top: 250px; }' +
  159.  
  160. '.infoHolder { background: url(' + infoImg + ') no-repeat scroll 0px 0px transparent; height: 12px; width: 12px; display: inline; float: left; margin-left: 2px; margin-top: -34px; cursor: pointer; }' +
  161. '.infoHolder:hover { background: url(' + infoImg_hover + ') no-repeat scroll 0px 0px transparent; }' +
  162. '.infoHolder .infoContent { box-shadow: 0px 0px 5px #9F9F9F; border-radius: 7px 7px 7px 7px; background: url(' + loadingBackImg + ') repeat scroll 0 0 transparent; display: none; height: 310px; position: fixed; margin: -155px -150px; width: 300px; z-index: 999999; top: 50%; left: 50%; font-size: 11px; }' +
  163. '.infoHolder:hover .infoContent { display: inline; z-index: 9999; }' +
  164. '.infoHolder:hover .infoContent table tr td { padding: 5px 10px 5px 10px; }' +
  165.  
  166. '.optionsHolder { background-image: url(' + sideBack + '); background-repeat: repeat; border: 2px solid #EBEBEB; border-radius: 5px 5px 5px 5px; float: left; margin-right: 18px; padding: 11px 11px 8px; width: 149px; margin-top: 10px; clear: left; }' +
  167. '.optionsHolder .optionsContent { border-radius: 3px 3px 3px 3px; background: url(' + mainImg + ') no-repeat scroll 0 0 transparent; width: 149px; line-height: 35px; cursor: pointer; }' +
  168. '.optionsHolder .optionsContent:hover { background: url(' + mainImgOn + ') no-repeat scroll 0 0 transparent; }' +
  169. '.optionsHolder .versionHolder { color: #EDF4F9; cursor: default; font-size: 9px; font-weight: bold; margin-right: 98px; margin-top: -12px; padding: 0 0 2px; text-align: center; }' +
  170.  
  171. '#optionsContentMain { box-shadow: 0px 0px 5px #9F9F9F; border-radius: 7px 7px 7px 7px; background: url(' + loadingBackImg + ') repeat scroll 0 0 transparent; display: none; height: 500px; position: fixed; margin: -250px -275px; width: 550px; z-index: 999999; top: 50%; left: 50%; }' +
  172. '#optionsContentMain .optionsInnerHeader { border-radius: 7px 7px 0px 0px; background: url(' + linksHeader + ') no-repeat scroll 0 0 transparent; float: left; height: 35px; width: 100%; }' +
  173. '#optionsContentMain .optionsInnerContent { float: left; margin-top: 10px; margin-left: 10px; margin-right: 10px; width: 500px; padding: 0px 15px; }' +
  174. '#optionsContentMain .optionsInnerVersion { clear: both; bottom: -5px; font-size: 9px; margin-left: 10px; margin-right: 10px; padding: 60px 15px 0px 15px; position: relative; text-align: center; cursor: default; }' +
  175. '#optionsContentMain .optionsInnerFooter { border-top: 1px solid #CCCCCC; bottom: -10px; clear: both; font-size: 10px; margin-left: 10px; margin-right: 10px; padding: 10px 15px; position: relative; text-align: center; cursor: default; }' +
  176. '#optionsContentMain .optionsInnerItem { clear: both; float: left; width: 225px; }' +
  177. '#optionsContentMain .optionsInnerItem:hover { font-weight: bold; background: none repeat scroll 0 0 #FFFFCC; }' +
  178. '#optionsContentMain .optionsInnerItemRight { float: right; width: 225px; }' +
  179. '#optionsContentMain .optionsInnerItemRight:hover { font-weight: bold; background: none repeat scroll 0 0 #FFFFCC; }' +
  180. '#optionsContentMain .optionsInnerItemLabel { float: left; vertical-align: middle; line-height: 20px; margin-bottom: 5px; margin-right: 10px; margin-left: 10px; padding-top: 5px; width: 180px; cursor: default; }' +
  181. '#optionsContentMain .optionsInnerItemLabel_QuickLinks { float: left; vertical-align: middle; line-height: 20px; margin-bottom: 2px; padding-top: 3px; margin-right: 0px; margin-left: 0px; width: 100%; cursor: pointer; border-top: 1px solid #CCCCCC; }' +
  182. '#optionsContentMain .optionsInnerItemLabel_QuickLinks:hover { font-weight: bold; background: none repeat scroll 0 0 #FFFFCC; }' +
  183.  
  184. '.optionsLanguageTable { display: table; clear: both; margin: 0 auto; }' +
  185. '.optionsLanguageRow { display: table-row-group; width: 100%; cursor: default;}' +
  186. '.optionsLanguageCell { display: table-cell; padding: 3px; }' +
  187.  
  188. '.profitTable { background: url("http://www.erepublik.com/images/parts/back_el_secondh.png") repeat-x scroll left bottom transparent; cursor: default; border-top: 1px solid #eeeeee; border-bottom: 1px solid #dddddd; padding: 10px 0px 10px 0px; }' +
  189. '.dayProfitTable { background: url("http://www.erepublik.com/images/parts/bg_el_days.png") repeat-x scroll left bottom transparent; cursor: default; border-bottom: 1px solid #cccccc; padding: 7px 0px 7px 0px; }' +
  190.  
  191. '.menuRight { float: right; }' +
  192. '.menuItem:hover { background-color: #CCCCCC; }' +
  193.  
  194. '.menuWindow { box-shadow: 0px 0px 5px #9F9F9F; border-radius: 7px 7px 7px 7px; background: url(' + loadingBackImg + ') repeat scroll 0 0 transparent; display: none; height: 600px; position: fixed; margin: -300px -352px; width: 705px; z-index: 999999; top: 50%; left: 50%; }' +
  195. '.closeButton { background: url("http://www.erepublik.com/images/parts/remove_upper_inventory_hover.png") no-repeat scroll 0 0 transparent; float: right; height: 10px; margin: 5px; text-indent: -9999px; width: 10px; }' +
  196. '.menuWindowHeader { border-radius: 5px 0px 0px 0px; background: url(' + linksHeader + ') no-repeat scroll 0 0 transparent; float: left; height: 35px; width: 100%; }' +
  197. '.menuWindowContent { float: left; padding: 5px; }' +
  198. '.menuWindowContentTable { display: table; }' +
  199. '.menuWindowContentRow { display: table-row-group; }' +
  200. '.menuWindowContentCell { display: table-cell; padding: 3px; }' +
  201.  
  202. '.inventoryHolder { background-image: url(' + sideBack + '); background-repeat: repeat; border: 2px solid #EBEBEB; border-radius: 5px 5px 5px 5px; float: left; margin-right: 18px; padding: 11px 11px 8px; width: 149px; margin-top: 10px; clear: left; }' +
  203. '.inventoryHolder .inventoryContent { border-radius: 5px 5px 5px 5px; background: url(' + sideBack + ') repeat scroll 0 0 transparent; padding: 10px; width: 149px; }' +
  204. '.inventoryHolder .inventoryMain .inventoryInner { font-size: 12px; padding: 0px 0px 3px 3px; }' +
  205.  
  206. '.profitHolder { cursor: default; }' +
  207.  
  208. '.loadingHolder { box-shadow: 0px 0px 5px #9F9F9F; background: url(' + loadingBackImg + ') repeat scroll 0 0 transparent; border: 1px solid #CCCCCC; border-radius: 5px 5px 5px 5px; cursor: default; display: block; height: 180px; margin: 0 10% auto; opacity: 1; padding: 5px; position: absolute; top: 3px; width: 78%; z-index: 99999; }' +
  209.  
  210. '.miniInventoryHolder { background: url(' + sideBoxes + ') no-repeat scroll 0 0 #FFFFFF; float: left; margin-bottom: 7px; width: 153px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; height: auto !important; padding-top: 5px; }' +
  211. '.miniInventoryHolder .itemCountHolder { clear: both; float: left; line-height: 26px; margin-left: 6px; width: 142px; border-bottom: 1px solid #DEDEDE; }' +
  212. '.miniInventoryHolder .itemCountHolder img { float: left; width: 26px; height: 26px; margin-left: 1px; margin-right: 6px; }' +
  213. '.miniInventoryHolder .itemCountHolder .itemCount { text-align: center; color: grey; line-height: 30px; }' +
  214.  
  215. '.miniInventoryHolder .marketDropHolder { clear: both; float: left; line-height: 26px; margin-left: 6px; width: 142px; border-bottom: 1px solid #DEDEDE; display: none; }' +
  216. '.miniInventoryHolder .marketDropHolder img { float: left; width: 26px; height: 26px; margin-left: 1px; margin-right: 6px; }' +
  217. '.miniInventoryHolder .marketDropHolder .itemCount { text-align: center; color: grey; line-height: 30px; }' +
  218.  
  219. '.miniInventoryHolder .monCountHolder { clear: both; float: left; line-height: 26px; margin-left: 6px; width: 142px; border-bottom: 1px solid #DEDEDE; }' +
  220. '.miniInventoryHolder .monCountHolder img { float: left; margin-left: 1px; margin-right: 6px; margin-top: 6px; }' +
  221. '.miniInventoryHolder .monCountHolder .itemCount { text-align: center; color: grey; line-height: 30px; }' +
  222.  
  223. '.miniInventoryHolder .monDropHolder { clear: both; float: left; line-height: 26px; margin-left: 6px; width: 142px; border-bottom: 1px solid #DEDEDE; display: none; }' +
  224. '.miniInventoryHolder .monDropHolder img { float: left; margin-left: 1px; margin-right: 6px; margin-top: 6px; }' +
  225. '.miniInventoryHolder .monDropHolder .itemCount { text-align: center; color: grey; line-height: 30px; }' +
  226.  
  227. '.taxTbl { background-color: #CFEFFB; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; border-top-right-radius: 5px; border-top-left-radius: 5px; display: block; float: left; margin-top: 11px; position: relative; width: 760px; }' +
  228. '.taxTbl table { background: none repeat scroll 0 0 #FFFFFF; border: 1px solid #B8E4F4; margin: 5px auto; width: 748px; }' +
  229. '.taxTbl table th { background: none repeat scroll 0 0 #F7FCFF; }' +
  230. '.taxTbl table tbody tr:hover td { background-color: #FFFFE7; }' +
  231. '.taxTbl table td { border-top: 1px solid #E2F3F9; color: #5E5E5E; padding-bottom: 5px; padding-left: 25px; padding-top: 5px; }' +
  232. '.taxLink { cursor: pointer; }' +
  233. '.taxLink .taxLinkHolder { border: 2px solid #CFEFFB; border-radius: 3px 3px 3px 3px; position: absolute; margin-top: -7px; display: none; }' +
  234. '.taxLink:hover .taxLinkHolder { display: block; }' +
  235. '.taxLink .taxLinkHolder .taxLinkItemTransparent { background: none repeat scroll 0 0 transparent; text-align: center; height: 25px; }' +
  236. '.taxLink .taxLinkHolder .taxLinkItem { background-color: #FFFFE7; text-align: center; }' +
  237. '.taxLink .taxLinkHolder .taxLinkItem:hover { background-color: #F7FCFF !important; }' +
  238.  
  239. '.battleHealth { color: #E3E3E3; font-size: 11px; font-weight: bold; position: absolute; text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6); top: 0; width: 100%; opacity: 1; }' +
  240.  
  241. '#large_sidebar a.newLogout { background: none repeat scroll 0 0 #FF8888; border: 1px solid #FF0000; border-radius: 3px 3px 3px 3px; color: #FFFFFF; display: inline; float: left; font-weight: bold; padding: 4px; text-align: center; width: 58px; margin-left: 40px; }' +
  242. '#large_sidebar a.newLogout:hover { background: none repeat scroll 0 0 #FF6666; }' +
  243.  
  244. '#marketplace table tbody td.m_quantity { text-align: center; }' +
  245. '#marketplace table tbody td.m_provider { width: 138px; }' +
  246.  
  247. '.hitsNeededHolder { position: absolute; text-align: center; background-color: #333333; width: 82px; border-radius: 7px 0px 0px 7px; margin-top: 12px; margin-left: -85px; padding: 5px 0px 5px 5px; }' +
  248. '.hitsNeededTitle { font-weight: bold; color: white; }' +
  249. '.hitsNeededNumber { line-height: 13px; text-shadow: 0 -1px 0 #6E9C08; text-align: center; height: 16px; font-size: 10px; display: inline; padding: 0 4px 0 4px; background-color: #83b70b; border-radius: 3px; color: #FFFFFF; }' +
  250.  
  251. '.regionLink { background: none repeat scroll 0 0 transparent !important; height: auto !important; left: 0px !important; margin: 0 !important; }' +
  252.  
  253. '.influValueHolder { margin-left: 2px; float: left; margin-right: 5px; width: auto; display: inline; line-height: 44px; text-align: center; padding-right: 2px; }' +
  254. '.influValueHolder .influValue { background: url("/images/parts/shadow.gif") repeat-x scroll center top #FFFFFF; border-color: #AEAEAE #C8C8C8 #E3E3E3; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; color: #333333; padding: 4px; text-align: center; width: 35px; font-size: 10px; }' +
  255. '.influValueHolder .influValue:focus { background: none repeat scroll 0 0 #FFFFCC; }' +
  256.  
  257. '.influGoldHolder { margin-left: 2px; float: right; margin-right: 5px; width: 60px; display: inline; line-height: 44px; text-align: center; }' +
  258. '.influGoldHolder .influValue { background: url("/images/parts/shadow.gif") repeat-x scroll center top #FFFFFF; border-color: #AEAEAE #C8C8C8 #E3E3E3; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; color: #333333; padding: 4px; text-align: center; width: 40px; font-size: 10px; }' +
  259. '.influGoldHolder .influValue:focus { background: none repeat scroll 0 0 #FFFFCC; }' +
  260. '.influNaturalHolder { margin-left: 2px; float: left; margin-right: 5px; width: 20px; display: inline; line-height: 44px; text-align: center; }' +
  261. '.influNaturalHolder .influCheckbox { width: 13px; height: 13px; padding: 0; margin: 0; vertical-align: middle; position: relative; top: -1px; overflow: hidden; }' +
  262. '.influTable { width: 510px; }' +
  263. '.influTable .influImageCell { width: 35px; }' +
  264. '.influTable .influValueCell { width: 44px; font-size: 10px; font-weight: bold; color: #666666; }' +
  265. '.influTable .influImageCell .influImage { width: 30px; height: 35px; margin: 5px 0px 0px 0px; }' +
  266.  
  267. '.bodyImportant { background-position: center 22px !important }' +
  268. '.bodyImportant2 { background-position: center 11px !important }' +
  269.  
  270. '#large_sidebar .user_finances { background-image: url(' + sideBoxes + '); background-color: #ffffff; background-repeat: no-repeat; background-position: 0 0; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; height: auto !important; min-height: 50px; padding-top: 7px; float: left; margin-bottom: 7px; width: 153px; }' +
  271. '#large_sidebar .user_finances .currencyOther { clear: both; float: left; height: 22px; margin-left: 6px; width: 142px; margin-top: 5px; border-bottom: 1px solid #DEDEDE; display: none; }' +
  272. '#large_sidebar .user_finances:hover .currencyOther { display: block; }' +
  273. '#large_sidebar .user_finances .currencyOther a { font-size: 12px; color: #585858; text-shadow: white 0px 1px 0px; float: left; }' +
  274. '#large_sidebar .user_finances .currencyOther img { margin-left: 2px; margin-right: 6px; margin-top: 0px; float: left; }' +
  275.  
  276. '.mMarketButton { border-radius: 3px; background: none no-repeat scroll left center #e9f5fa; border: medium none; color: #3C8FA7; cursor: pointer; font-size: 12px; line-height: 32px; padding: 0 6px 1px 6px; text-align: left; height: 32px; }' +
  277.  
  278. '.topNewsItem { display: block; float: left; margin-bottom: 10px; width: 333px; border-bottom: 1px solid #E0E0E0; }' +
  279.  
  280. '.oldNewsSwitchHolder { border-bottom: 1px solid #E0E0E0; float: left; margin-bottom: 10px; padding: 0 2px 0; width: 333px; }' +
  281. '.oldNewsSwitch { background-color: #EEEEEE; border-radius: 5px 5px 0 0; color: #7F7F7F; cursor: pointer; float: left; font-size: 12px; font-weight: bold; height: 24px; line-height: 24px; margin: 0 1px; padding: 2px; text-align: center; vertical-align: middle; }' +
  282. '.oldNewsSwitch:hover { background-color: #505050; color: #D8D8D8; }' +
  283. '.oldNewsSwitchActive { background-color: #505050; border-radius: 5px 5px 0 0; color: #D8D8D8; cursor: pointer; float: left; font-size: 12px; font-weight: bold; height: 24px; line-height: 24px; margin: 0 1px; padding: 2px; text-align: center; vertical-align: middle; }' +
  284.  
  285. '.eventsHolder { display: block; float: left; width: 333px; }' +
  286. '.eventsItem { border-bottom: 1px solid #EFEDED; display: block; float: left; margin-bottom: 10px; padding-bottom: 10px; width: 333px; cursor: default; }' +
  287. '.eventsDetailHolder { display: block; float: left; margin-bottom: 0; padding-bottom: 0px; width: 273px; }' +
  288. '.eventsTitle { color: #7D7F81; display: block; line-height: 18px; width: 273px; font-size: 14px; margin-top: 2px; float: left; }' +
  289. '.eventsDetails { color: #999999; font-size: 11px; margin-top: 2px; width: 273px; float: left; }' +
  290. '.eventsIcon { background: url(' + militaryEventsIcons + ') no-repeat scroll 0 0 transparent; display: block; float: left; height: 30px; padding: 8px 9px 0 0; text-align: center; width: 48px; }' +
  291.  
  292. '.greyButton { background-image: url(' + greyButtonImg + '); background-position: right 0; background-repeat: no-repeat; color: #3B5B74; display: inline; float: left; font-size: 11px !important; height: 28px; line-height: 26px; margin-left: 5px; outline: medium none; position: relative; text-shadow: 0 1px 0 #FFFFFF; z-index: 100; text-decoration: none !important; }' +
  293. '.greyButton:hover { background-position: right -28px; }' +
  294. '.greyButton:active { background-position: right -56px; }' +
  295. '.greyButton span { background-image: url(' + greyButtonImg + '); background-position: left 0; background-repeat: no-repeat; color: #3B5B74; cursor: pointer; display: inline; float: left; font-size: 11px !important; position: relative; right: 5px; white-space: nowrap; font-weight: bold; line-height: 26px; margin-right: 8px; padding-left: 13px; text-decoration: none !important; }' +
  296. '.greyButton:hover span { background-position: left -28px; }' +
  297. '.greyButton:active span { background-position: left -56px; }' +
  298.  
  299. '.greyButtonArrowUp { background-image: url(' + greyButtonArrowUp + '); background-position: right 0; background-repeat: no-repeat; color: #3B5B74; display: inline; float: left; font-size: 11px !important; height: 28px; line-height: 26px; margin-left: 5px; outline: medium none; position: relative; text-shadow: 0 1px 0 #FFFFFF; z-index: 100; text-decoration: none !important; padding-left: 5px; }' +
  300. '.greyButtonArrowUp:hover { background-position: right -28px; }' +
  301. '.greyButtonArrowUp:active { background-position: right -56px; }' +
  302. '.greyButtonArrowUp span { background-image: url(' + greyButtonArrowUp + '); background-position: left 0; background-repeat: no-repeat; color: #3B5B74; cursor: pointer; display: inline; float: left; font-size: 11px !important; position: relative; right: 5px; white-space: nowrap; font-weight: bold; line-height: 26px; margin-right: 2px; padding-left: 18px; text-decoration: none !important; }' +
  303. '.greyButtonArrowUp:hover span { background-position: left -28px; }' +
  304. '.greyButtonArrowUp:active span { background-position: left -56px; }' +
  305.  
  306. '.blueButtonArrowUp { background-image: url(' + blueButtonArrowUp + '); background-position: right 0; background-repeat: no-repeat; color: #3B5B74; display: inline; float: left; font-size: 11px !important; height: 27px; line-height: 25px; margin-left: 5px; outline: medium none; position: relative; text-shadow: 0 1px 0 #FFFFFF; z-index: 100; text-decoration: none !important; padding-left: 5px; }' +
  307. '.blueButtonArrowUp:hover { background-position: right -27px; }' +
  308. '.blueButtonArrowUp:active { background-position: right -54px; }' +
  309. '.blueButtonArrowUp span { background-image: url(' + blueButtonArrowUp + '); background-position: left 0; background-repeat: no-repeat; color: #3B5B74; cursor: pointer; display: inline; float: left; font-size: 11px !important; position: relative; right: 5px; white-space: nowrap; font-weight: bold; line-height: 26px; margin-right: 2px; padding-left: 18px; text-decoration: none !important; }' +
  310. '.blueButtonArrowUp:hover span { background-position: left -27px; }' +
  311. '.blueButtonArrowUp:active span { background-position: left -54px; }' +
  312.  
  313. '.newTipsy { display: none; font-size: 10px; left: -33px; padding: 5px; position: relative; top: 25px; width: 80px; z-index: 999999; opacity: 0.8; }' +
  314. '.newTipsy-inner { background-color: #000000; color: #FFFFFF; max-width: 200px; padding: 5px 8px 4px; text-align: center; text-shadow: 0 1px 1px #000000; border-radius: 3px 3px 3px 3px; z-index: 999999; }' +
  315. '.newTipsy-arrow { background-image: url("http://www.erepublik.com/images/modules/_components/tipsy/tipsy.gif"); background-position: left top; background-repeat: no-repeat; height: 5px; position: absolute; width: 9px; left: 50%; margin-left: -4px; top: 0; z-index: 999999; }' +
  316.  
  317. '.hideBuildingButton { background-image: url(' + hideBuildingIcon + '); float: left; height: 25px; margin-left: 2px; width: 24px; cursor: pointer; }' +
  318. '.hideBuildingButton:hover { background-position: 0 -25px; }' +
  319. '.hideBuildingButton:hover .newTipsy { display: block; }' +
  320. '.hideBuildingButton:active { background-position: 0 -50px; }' +
  321.  
  322. '.nameTablet { background-color: #000000; border-radius: 3px 3px 3px 3px; color: #FFFFFF; cursor: pointer; font-size: 10px; margin: 35px auto 0; max-width: 200px; opacity: 0.5; padding: 5px 8px 4px; pointer-events: none; position: relative; text-align: center; width: 60%; z-index: 4; }' +
  323.  
  324. '#profitTable thead { display: table-header-group !important; }' +
  325. '#profitTable thead .profDays th { background: transparent url(http://www.erepublik.com/images/parts/back_el_secondh.png) repeat-x top left; height: 20px; line-height: 20px; border-bottom: 1px solid #EEE; color: #B5B5B5; text-shadow: 0 1px 0 white; text-align: center; width: 46px; font-weight: bold; font-size: 12px; }' +
  326. '#profitTable thead .profDays th span { border-left: 1px solid #EEE; background: transparent url(http://www.erepublik.com/images/parts/back_el_secondh_day.png) no-repeat top left; display: block; height: 20px; cursor: default; }' +
  327. '#profitTable tbody .profCell { border-left: 1px solid #EEE; height: 67px; background: transparent url(http://www.erepublik.com/images/parts/bg_el_days.png) repeat-x top left; width: 48px; border-bottom: 1px solid #EEE; }' +
  328. '#profitTable tbody .profCell div { background: transparent url(http://www.erepublik.com/images/parts/back_el_secondh_day.png) repeat-y left top; display: block; cursor: default; text-align: center; z-index: 20; position: relative; line-height: 20px; }' +
  329.  
  330. '.dtTipsy { display: none; font-size: 10px; left: -13px; padding: 5px; position: absolute; top: -12px; width: 114px; z-index: 999999; opacity: 0.8; }' +
  331. '.dtTipsy-inner { background-color: #000000; color: #FFFFFF; max-width: 200px; padding: 5px 8px 4px; text-align: center; text-shadow: 0 1px 1px #000000; border-radius: 3px 3px 3px 3px; z-index: 999999; }' +
  332. '.dtTipsy-arrow { background-image: url("http://www.erepublik.com/images/modules/_components/tipsy/tipsy.gif"); background-position: left bottom; background-repeat: no-repeat; height: 5px; position: absolute; width: 9px; left: 50%; margin-left: -4px; bottom: 0; z-index: 999999; }' +
  333.  
  334. '.dailyTrackerHolder { width: 98px; height: 58px; display: block; position: absolute; left: 12px; bottom: 15px; background-image: url(' + dailyTrackerBack + '); cursor: default; }' +
  335. '.dailyTrackerHolder .dailyTrackerInner { color: #a8a6a4; bottom: 8px; position: absolute; right: 15px; width: auto; font-size: 15px; font-weight: bold; cursor: default; }' +
  336. '.dailyTrackerHolder:hover .dtTipsy { display: block; }'
  337. );
  338. // ---------------------------------------------------------------------------------------------------------------------
  339.  
  340. // -- Constants --------------------------------------------------------------------------------------------------------
  341. var VERSION = '4.0.12.0';
  342. var RELEASE_DAY = '11. Jan 2012.';
  343. var LANG = 'en';
  344.  
  345. var industry_id = {'food' : '1', 'weapons' : '2', 'moving tickets' : '3', 'house' : '4', 'hospital' : '5', 'defense system' : '6', 'food raw material' : '7', 'weapon raw material' : '12'};
  346. var id_industry = {'1' : 'food', '2' : 'weapons', '3' : 'moving tickets', '4' : 'house', '5' : 'hospital', '6' : 'defense system', '7' : 'food raw material', '12' : 'weapon raw material'};
  347. var country_id = {'romania' : '1', 'brazil' : '9', 'italy' : '10', 'france' : '11', 'germany' : '12', 'hungary' : '13', 'china' : '14', 'spain' : '15', 'canada' : '23', 'usa' : '24', 'mexico' : '26', 'argentina' : '27', 'venezuela' : '28', 'united-kingdom' : '29', 'switzerland' : '30', 'netherlands' : '31', 'belgium' : '32', 'austria' : '33', 'czech-republic' : '34', 'poland' : '35', 'slovakia' : '36', 'norway' : '37', 'sweden' : '38', 'finland' : '39', 'ukraine' : '40', 'russia' : '41', 'bulgaria' : '42', 'turkey' : '43', 'greece' : '44', 'japan' : '45', 'south-korea' : '47', 'india' : '48', 'indonesia' : '49', 'australia' : '50', 'south-africa' : '51', 'republic-of-moldova' : '52', 'portugal' : '53', 'ireland' : '54', 'denmark' : '55', 'iran' : '56', 'pakistan' : '57', 'israel' : '58', 'thailand' : '59', 'slovenia' : '61', 'gold' : '62', 'croatia' : '63', 'chile' : '64', 'serbia' : '65', 'malaysia' : '66', 'philippines' : '67', 'singapore' : '68', 'bosnia-herzegovina' : '69', 'estonia' : '70', 'latvia' : '71', 'lithuania' : '72', 'north-korea' : '73', 'uruguay' : '74', 'paraguay' : '75', 'bolivia' : '76', 'peru' : '77', 'colombia' : '78', 'republic-of-macedonia-fyrom' : '79', 'montenegro' : '80', 'republic-of-china-taiwan' : '81', 'cyprus' : '82', 'belarus' : '83', 'new-zealand' : '84', 'saudi-arabia' : '164', 'egypt' : '165', 'united-arab-emirates' : '166', 'albania' : '167'};
  348. var id_country = {'1' : 'Romania', '9' : 'Brazil', '10' : 'Italy', '11' : 'France', '12' : 'Germany', '14' : 'China', '13' : 'Hungary', '15' : 'Spain', '23' : 'Canada', '24' : 'USA', '26' : 'Mexico', '27' : 'Argentina', '28' : 'Venezuela', '29' : 'United-Kingdom', '30' : 'Switzerland', '31' : 'Netherlands', '32' : 'Belgium', '33' : 'Austria', '34' : 'Czech-Republic', '35' : 'Poland', '36' : 'Slovakia', '37' : 'Norway', '38' : 'Sweden', '39' : 'Finland', '40' : 'Ukraine', '41' : 'Russia', '42' : 'Bulgaria', '43' : 'Turkey', '44' : 'Greece', '45' : 'Japan', '47' : 'South-Korea', '48' : 'India', '49' : 'Indonesia', '50' : 'Australia', '51' : 'South-Africa', '52' : 'Republic-of-Moldova', '53' : 'Portugal', '54' : 'Ireland', '55' : 'Denmark', '56' : 'Iran', '57' : 'Pakistan', '58' : 'Israel', '59' : 'Thailand', '61' : 'Slovenia', '62' : 'GOLD', '63' : 'Croatia', '65' : 'Serbia', '66' : 'Malaysia', '67' : 'Philippines', '68' : 'Singapore', '69' : 'Bosnia-Herzegovina', '70' : 'Estonia', '71' : 'Latvia', '72' : 'Lithuania', '73' : 'North-Korea', '64' : 'Chile', '74' : 'Uruguay', '75' : 'Paraguay', '76' : 'Bolivia', '77' : 'Peru', '78' : 'Colombia', '79' : 'Republic-of-Macedonia-FYROM', '80' : 'Montenegro', '81' : 'Republic-of-China-Taiwan', '82' : 'Cyprus', '83' : 'Belarus', '84' : 'New-Zealand', '164' : 'Saudi-Arabia', '165' : 'Egypt', '166' : 'United-Arab-Emirates', '167' : 'Albania'};
  349. var country_currency = {'Albania' : 'ALL', 'Argentina' : 'ARS', 'Australia' : 'AUD', 'Austria' : 'ATS', 'Belarus' : 'BYR', 'Belgium' : 'BEF', 'Bolivia' : 'BOB', 'Bosnia-Herzegovina' : 'BAM', 'Brazil' : 'BRL', 'Bulgaria' : 'BGN', 'Canada' : 'CAD', 'Chile' : 'CLP', 'China' : 'CNY', 'Colombia' : 'COP', 'Croatia' : 'HRK', 'Cyprus' : 'CYP', 'Czech-Republic' : 'CZK', 'Denmark' : 'DKK', 'Egypt' : 'EGP', 'Estonia' : 'EEK', 'Finland' : 'FIM', 'France' : 'FRF', 'Germany' : 'DEM', 'GOLD' : 'GOLD', 'Greece' : 'GRD', 'Hungary' : 'HUF', 'India' : 'INR', 'Indonesia' : 'IDR', 'Iran' : 'IRR', 'Ireland' : 'IEP', 'Israel' : 'NIS', 'Italy' : 'ITL', 'Japan' : 'JPY', 'Latvia' : 'LVL', 'Lithuania' : 'LTL', 'Malaysia' : 'MYR', 'Mexico' : 'MXN', 'Montenegro' : 'MEP', 'Netherlands' : 'NLG', 'New-Zealand' : 'NZD', 'North-Korea' : 'KPW', 'Norway' : 'NOK', 'Pakistan' : 'PKR', 'Paraguay' : 'PYG', 'Peru' : 'PEN', 'Philippines' : 'PHP', 'Poland' : 'PLN', 'Portugal' : 'PTE', 'Republic-of-China-Taiwan' : 'TWD', 'Republic-of-Macedonia-FYROM' : 'MKD', 'Republic-of-Moldova' : 'MDL', 'Romania' : 'RON', 'Russia' : 'RUB', 'Saudi-Arabia' : 'SAR', 'Serbia' : 'RSD', 'Singapore' : 'SGD', 'Slovakia' : 'SKK', 'Slovenia' : 'SIT', 'South-Africa' : 'ZAR', 'South-Korea' : 'KRW', 'Spain' : 'ESP', 'Sweden' : 'SEK', 'Switzerland' : 'CHF', 'Thailand' : 'THB', 'Turkey' : 'TRY', 'Ukraine' : 'UAH', 'United-Arab-Emirates' : 'AED', 'United-Kingdom' : 'GBP', 'Uruguay' : 'UYU', 'USA' : 'USD', 'Venezuela' : 'VEB'};
  350. var currency_country = {'ALL' : 'Albania', 'ARS' : 'Argentina', 'AUD' : 'Australia', 'ATS' : 'Austria', 'BYR' : 'Belarus', 'BEF' : 'Belgium', 'BOB' : 'Bolivia', 'BAM' : 'Bosnia-Herzegovina', 'BRL' : 'Brazil', 'BGN' : 'Bulgaria', 'CAD' : 'Canada', 'CLP' : 'Chile', 'CNY' : 'China', 'COP' : 'Colombia', 'HRK' : 'Croatia', 'CYP' : 'Cyprus', 'CZK' : 'Czech-Republic', 'DKK' : 'Denmark', 'EGP' : 'Egypt', 'EEK' : 'Estonia', 'FIM' : 'Finland', 'FRF' : 'France', 'DEM' : 'Germany', 'GOLD' : 'GOLD', 'GRD' : 'Greece', 'HUF' : 'Hungary', 'INR' : 'India', 'IDR' : 'Indonesia', 'IRR' : 'Iran', 'IEP' : 'Ireland', 'NIS' : 'Israel', 'ITL' : 'Italy', 'JPY' : 'Japan', 'LVL' : 'Latvia', 'LTL' : 'Lithuania', 'MYR' : 'Malaysia', 'MXN' : 'Mexico', 'MEP' : 'Montenegro', 'NLG' : 'Netherlands', 'NZD' : 'New-Zealand', 'KPW' : 'North-Korea', 'NOK' : 'Norway', 'PKR' : 'Pakistan', 'PYG' : 'Paraguay', 'PEN' : 'Peru', 'PHP' : 'Philippines', 'PLN' : 'Poland', 'PTE' : 'Portugal', 'TWD' : 'Republic-of-China-Taiwan', 'MKD' : 'Republic-of-Macedonia-FYROM', 'MDL' : 'Republic-of-Moldova', 'RON' : 'Romania', 'RUB' : 'Russia', 'SAR' : 'Saudi-Arabia', 'RSD' : 'Serbia', 'SGD' : 'Singapore', 'SKK' : 'Slovakia', 'SIT' : 'Slovenia', 'ZAR' : 'South-Africa', 'KRW' : 'South-Korea', 'ESP' : 'Spain', 'SEK' : 'Sweden', 'CHF' : 'Switzerland', 'THB' : 'Thailand', 'TRY' : 'Turkey', 'UAH' : 'Ukraine', 'AED' : 'United-Arab-Emirates', 'GBP' : 'United-Kingdom', 'UYU' : 'Uruguay', 'USD' : 'USA', 'VEB' : 'Venezuela'};
  351. var industry_raw = {'food' : {'1' : 'grain', '2' : 'fruit', '3' : 'cattle', '4' : 'fish', '5' : 'deer'}, 'weapons' : {'1' : 'iron', '2' : 'rubber', '3' : 'oil', '4' : 'aluminum', '5' : 'saltpeter'}};
  352. var id_rank = {'1' : 'recruit', '2' : 'private', '3' : 'private*', '4' : 'private**', '5' : 'private***', '6' : 'corporal', '7' : 'corporal*', '8' : 'corporal**', '9' : 'corporal***', '10' : 'sergeant', '11' : 'sergeant*', '12' : 'sergeant**', '13' : 'sergeant***', '14' : 'lieutenant', '15' : 'lieutenant*', '16' : 'lieutenant**', '17' : 'lieutenant***', '18' : 'captain', '19' : 'captain*', '20' : 'captain**', '21' : 'captain***', '22' : 'major', '23' : 'major*', '24' : 'major**', '25' : 'major***', '26' : 'commander', '27' : 'commander*', '28' : 'commander**', '29' : 'commander***', '30' : 'lt colonel', '31' : 'lt colonel*', '32' : 'lt colonel**', '33' : 'lt colonel***', '34' : 'colonel', '35' : 'colonel*', '36' : 'colonel**', '37' : 'colonel***', '38' : 'general', '39' : 'general*', '40' : 'general**', '41' : 'general***', '42' : 'field marshal', '43' : 'field marshal*', '44' : 'field marshal**', '45' : 'field marshal***', '46' : 'supreme marshal', '47' : 'supreme marshal*', '48' : 'supreme marshal**', '49' : 'supreme marshal***', '50' : 'national force', '51' : 'national force*', '52' : 'national force**', '53' : 'national force***', '54' : 'world class force', '55' : 'world class force*', '56' : 'world class force**', '57' : 'world class force***', '58' : 'legendary force', '59' : 'legendary force*', '60' : 'legendary force**', '61' : 'legendary force***', '62' : 'god of war', '63' : 'god of war*', '64' : 'god of war**', '65' : 'god of war***'};
  353. var rank_id = {'recruit' : '1', 'private' : '2', 'private*' : '3', 'private**' : '4', 'private***' : '5', 'corporal' : '6', 'corporal*' : '7', 'corporal**' : '8', 'corporal***' : '9', 'sergeant' : '10', 'sergeant*' : '11', 'sergeant**' : '12', 'sergeant***' : '13', 'lieutenant' : '14', 'lieutenant*' : '15', 'lieutenant**' : '16', 'lieutenant***' : '17', 'captain' : '18', 'captain*' : '19', 'captain**' : '20', 'captain***' : '21', 'major' : '22', 'major*' : '23', 'major**' : '24', 'major***' : '25', 'commander' : '26', 'commander*' : '27', 'commander**' : '28', 'commander***' : '29', 'lt colonel' : '30', 'lt colonel*' : '31', 'lt colonel**' : '32', 'lt colonel***' : '33', 'colonel' : '34', 'colonel*' : '35', 'colonel**' : '36', 'colonel***' : '37', 'general' : '38', 'general*' : '39', 'general**' : '40', 'general***' : '41', 'field marshal' : '42', 'field marshal*' : '43', 'field marshal**' : '44', 'field marshal***' : '45', 'supreme marshal' : '46', 'supreme marshal*' : '47', 'supreme marshal**' : '48', 'supreme marshal***' : '49', 'national force' : '50', 'national force*' : '51', 'national force**' : '52', 'national force***' : '53', 'world class force' : '54', 'world class force*' : '55', 'world class force**' : '56', 'world class force***' : '57', 'legendary force' : '58', 'legendary force*' : '59', 'legendary force**' : '60', 'legendary force***' : '61', 'god of war' : '62', 'god of war*' : '63', 'god of war**' : '64', 'god of war***' : '65'};
  354. var region_link = {"Kosovo":"Kosovo","Tirana":"Tirana","Southeastern Albania":"Southeastern-Albania","Albanian Coast":"Albanian-Coast","Abruzzo":"Abruzzo","Abu Dhabi":"Abu-Dhabi","Aegean Coast of Turkey":"Aegean-Coast-of-Turkey","Aegean Islands":"Aegean-Islands","Ajman":"Ajman","Al Bahah":"Al-Bahah","Al Jawf":"Al-Jawf","Al Madinah":"Al-Madinah","Al Qasim":"Al-Qasim","Al Riyadh":"Al-Riyadh","Alabama":"Alabama","Aland":"Aland","Alaska":"Alaska","Alberta":"Alberta","Alentejo":"Alentejo","Algarve":"Algarve","Alsace":"Alsace","Amazonica":"Amazonica","Andalucia":"Andalucia","Andhra Pradesh":"Andhra-Pradesh","Andina":"Andina","Anhui":"Anhui","Aosta Valley":"Aosta-Valley","Apulia":"Apulia","Aquitaine":"Aquitaine","Aragon":"Aragon","Argentine Northwest":"Argentine-Northwest","Arizona":"Arizona","Arkansas":"Arkansas","Asir":"Asir","Asturias":"Asturias","Attica":"Attica","Auckland":"Auckland","Auvergne":"Auvergne","Azores":"Azores","Baden-Wurttemberg":"Baden-Wurttemberg","Baja":"Baja","Balearic Islands":"Balearic-Islands","Balochistan":"Balochistan","Banat":"Banat","Basilicata":"Basilicata","Basque Country":"Basque-Country","Bassarabia":"Bassarabia","Bavaria":"Bavaria","Beersheba South District":"Beersheba-South-District","Beijing":"Beijing","Belgrade":"Belgrade","Beni and Cochabamba":"Beni-and-Cochabamba","Bihar":"Bihar","Black Sea Coast of Turkey":"Black-Sea-Coast-of-Turkey","Bohus":"Bohus","Bolivian Altiplano":"Bolivian-Altiplano","Brandenburg and Berlin":"Brandenburg-and-Berlin","Bratislava":"Bratislava","Brestskaya":"Brestskaya","British Columbia":"British-Columbia","Brittany":"Brittany","Brussels":"Brussels","Brčko District":"Brčko-District","Bucovina":"Bucovina","Bukovina":"Bukovina","Burgas":"Burgas","Burgenland":"Burgenland","Burgundy":"Burgundy","Calabria":"Calabria","California":"California","Campania":"Campania","Canary Islands":"Canary-Islands","Cantabria":"Cantabria","Canterbury":"Canterbury","Caribe e Insular":"Caribe-e-Insular","Carinthia":"Carinthia","Castilla La Mancha":"Castilla-La-Mancha","Castilla y Leon":"Castilla-Leon","Catalonia":"Catalonia","Center West of Brazil":"Center-West-of-Brazil","Central Anatolia":"Central-Anatolia","Central Black Earth":"Central-Black-Earth","Central Croatia":"Central-Croatia","Central East Chaco":"Central-East-Chaco","Central Greece":"Central-Greece","Central Hungary":"Central-Hungary","Central Montenegro":"Central-Montenegro","Central Slovakia":"Central-Slovakia","Central Taiwan":"Central-Taiwan","Central Thailand":"Central-Thailand","Central Transdanubia":"Central-Transdanubia","Central Venezuela":"Central-Venezuela","Central Western Venezuela":"Central-Western-Venezuela","Centro":"Centro","Chagang":"Chagang","Champagne Ardenne":"Champagne-Ardenne","Charrua":"Charrua","Chhattisgarh":"Chhattisgarh","Chimor":"Chimor","Chisinau":"Chisinau","Chongqing":"Chongqing","Chubu":"Chubu","Chugoku":"Chugoku","Chungcheongbuk-do":"Chungcheongbuk","Chungcheongnam-do":"Chungcheongnam","Chuquisaca and Tarija":"Chuquisaca-and-Tarija","Colorado":"Colorado","Connecticut":"Connecticut","Cork and Kerry":"Cork-and-Kerry","Corsica":"Corsica","Crete":"Crete","Crisana":"Crisana","Cundiboyacense":"Cundiboyacense","Cuyo":"Cuyo","Dainava":"Dainava","Delaware":"Delaware","Deutschschweiz":"Deutschschweiz","District of Columbia":"District-of-Columbia","Dnipro":"Dnipro","Dobrogea":"Dobrogea","Donbas":"Donbas","Dubai":"Dubai","Dublin":"Dublin","East Midlands":"East-Midlands","East Srpska Republic":"East-Srpska-Republic","East of England":"East-of-England","Eastern Anatolia":"Eastern-Anatolia","Eastern Cape":"Eastern-Cape","Eastern Finland":"Eastern-Finland","Eastern Macedonia":"Eastern-Macedonia","Eastern Netherlands":"Eastern-Netherlands","Eastern Province":"Eastern-Province","Eastern Serbia":"Eastern-Serbia","Eastern Siberia":"Eastern-Siberia","Eastern Slovakia":"Eastern-Slovakia","Eastern Taiwan":"Eastern-Taiwan","Eastern Thailand":"Eastern-Thailand","Emilia-Romagna":"Emilia-Romagna","Epirus":"Epirus","Esfahan":"Esfahan","Extremadura":"Extremadura","Far Eastern Russia":"Far-Eastern-Russia","Fars":"Fars","Federation of BiH":"Federation of BiH","Flanders":"Flanders","Florida":"Florida","Franche-comte":"Franche-comte","Free State":"Free-State","Friuli-Venezia Giulia":"Friuli-Venezia-Giulia","Fujairah":"Fujairah","Fujian":"Fujian","Galicia":"Galicia-Spain","Galicia and Lodomeria":"Galicia-and-Lodomeria","Gangwon-do":"Gangwon","Gansu":"Gansu","Gauteng":"Gauteng","Georgia":"Georgia","Gotaland":"Gotaland","Gotland":"Gotland","Graubunden":"Graubunden","Great Andes":"Great-Andes","Great Poland":"Great-Poland","Guangdong":"Guangdong","Guangxi":"Guangxi","Guayana":"Guayana","Guizhou":"Guizhou","Gujarat":"Gujarat","Gulf of Mexico":"Gulf-of-Mexico","Gyeonggi-do":"Gyeonggi","Gyeongsangbuk-do":"Gyeongsangbuk","Gyeongsangnam-do":"Gyeongsangnam","Ha'il":"Ha-il","Haifa district":"Haifa-district","Hainan":"Hainan","Hamgyong":"Hamgyong","Hawaii":"Hawaii","Heilongjiang":"Heilongjiang","Henan":"Henan","Hesse":"Hesse","Hokkaido":"Hokkaido","Homelskaya":"Homelskaya","Hormozgan":"Hormozgan","Hovedstaden":"Hovedstaden","Hrodzienskaya":"Hrodzienskaya","Hubei":"Hubei","Hunan":"Hunan","Hwangae":"Hwangae","Idaho":"Idaho","Illinois":"Illinois","Indiana":"Indiana","Inner Carniola":"Inner-Carniola","Inner Mongolia":"Inner-Mongolia","Ionian Islands":"Ionian-Islands","Iowa":"Iowa","Istria and Kvarner":"Istria-Kvarner","Jammu and Kashmir":"Jammu-Kashmir","Jamtland Harjedalen":"Jamtland-Harjedalen","Java":"Java","Jeju":"Jeju","Jeollabuk-do":"Jeollabuk","Jeollanam-do":"Jeollanam","Jerusalem district":"Jerusalem-district","Jharkhand":"Jharkhand","Jiangsu":"Jiangsu","Jiangxi":"Jiangxi","Jilin":"Jilin","Jizan":"Jizan","Kalimantan":"Kalimantan","Kaliningrad":"Kaliningrad","Kangwon":"Kangwon","Kansas":"Kansas","Kanto":"Kanto","Karnataka":"Karnataka","Kentucky":"Kentucky","Kerala":"Kerala","Kerman Province":"Kerman-Province","Kesk-Eesti":"Kesk-Eesti","Kinki":"Kinki","Kirde-Eesti":"Kirde-Eesti","Kurzeme":"Kurzeme","KwaZulu Natal":"KwaZulu-Natal","Kyushu":"Kyushu","La Rioja":"La-Rioja","Laane-Eesti":"Laane-Eesti","Languedoc Roussillon":"Languedoc-Roussillon","Lapland":"Lapland","Latgale":"Latgale","Lazio":"Lazio","Leningrad Oblast":"Leningrad-Oblast","Lesser Sunda Islands":"Lesser-Sunda-Islands","Liaoning":"Liaoning","Liguria":"Liguria","Lika and Gorski Kotar":"Lika-Gorski-Kotar","Lima":"Lima","Limousin":"Limousin","Limpopo":"Limpopo","Lisboa":"Lisboa","Lithuania Minor":"Lithuania-Minor","Lithuanian Highland":"Lithuanian-Highland","Little Poland":"Little-Poland","Llanos":"Llanos","Loire Valley":"Loire-Valley","Lombardy":"Lombardy","London":"London","Lorraine":"Lorraine","Louisiana":"Louisiana","Louna-Eesti":"Louna-Eesti","Low Andes":"Low-Andes","Lower Austria":"Lower-Austria","Lower Carniola":"Lower-Carniola","Lower Egypt":"Lower-Egypt","Lower Normandy":"Lower-Normandy","Lower Saxony and Bremen":"Lower-Saxony-and-Bremen","Luzon":"Luzon","Macedonia":"Macedonia","Madeira":"Madeira","Madhya Pradesh":"Madhya-Pradesh","Madrid":"Madrid","Maharashtra":"Maharashtra","Mahilyowskaya":"Mahilyowskaya","Maine":"Maine","Makkah":"Makkah","Maluku islands":"Maluku-islands","Manitoba":"Manitoba","Maramures":"Maramures","Marche":"Marche","Marmara":"Marmara","Maryland":"Maryland","Massachusetts":"Massachusetts","Mazandaran and Golistan":"Mazandaran-and-Golistan","Mazovia":"Mazovia","Mazuria":"Mazuria","Mecklenburg-Western Pomerania":"Mecklenburg","Mediterranean Coast of Turkey":"Mediterranean-Coast-of-Turkey","Mesopotamia":"Mesopotamia","Michigan":"Michigan","Mid Andes":"Mid-Andes","Middle Egypt":"Middle-Egypt","Midi-Pyrenees":"Midi-Pyrenees","Midtjylland":"Midtjylland","Mindanao":"Mindanao","Minnesota":"Minnesota","Minskaya":"Minskaya","Mississippi":"Mississippi","Missouri":"Missouri","Moldova":"Moldova","Molise":"Molise","Montana":"Montana","Montenegrin Coast":"Montenegrin-Coast","Moravia":"Moravia","Moscow and Central Russia":"Moscow-and-Central-Russia","Mpumalanga":"Mpumalanga","Muntenia":"Muntenia","Murcia":"Murcia","Najran":"Najran","Navarra":"Navarra","Nazareth North District":"Nazareth-North-District","Nebraska":"Nebraska","Nevada":"Nevada","New Brunswick":"New-Brunswick","New Hampshire":"New-Hampshire","New Jersey":"New-Jersey","New Mexico":"New-Mexico","New South Wales":"New-South-Wales","New York":"New-York","Newfoundland and Labrador":"Newfoundland","Ningxia":"Ningxia","Nord-Norge":"Nord-Norge","Nordjylland":"Nordjylland","Norrland and Sameland":"Norrland-Sameland","Norte":"Norte","Norte Chico":"Norte-Chico","Norte Grande":"Norte-Grande","North Calais":"North-Calais","North Carolina":"North-Carolina","North Caucasus":"North-Caucasus","North Dakota":"North-Dakota","North Dalmatia":"North-Dalmatia","North East of England":"North-East-of-England","North Eastern India":"North-Eastern-India","North Eastern Venezuela":"North-Eastern-Venezuela","North Montenegrin Mountains":"North-Montenegrin-Mountains","North Rhine-Westphalia":"North Rhine-Westphalia","North West Province":"North-West-Province","North West of England":"North-West-of-England","North of Brazil":"North-of-Brazil","North-Eastern Thailand":"North-Eastern-Thailand","North-West Frontier Province":"North-West-Frontier","Northeast of Brazil":"Northeast-of-Brazil","Northeast of Ireland":"Northeast-of-Ireland","Northeast of Mexico":"Northeast-of-Mexico","Northern Basarabia":"Northern-Basarabia","Northern Bohemia":"Northern-Bohemia","Northern Borders":"Northern-Borders","Northern Cape":"Northern-Cape","Northern Cyprus":"Northern-Cyprus","Northern Great Plain":"Northern-Great-Plain","Northern Hungary":"Northern-Hungary","Northern India":"Northern-India","Northern Ireland":"Northern-Ireland","Northern Low Amazon":"Northern-Low-Amazon","Northern Netherlands":"Northern-Netherlands","Northern Russia":"Northern-Russia","Northern Taiwan":"Northern-Taiwan","Northern Territory":"Northern-Territory","Northern Thailand":"Northern-Thailand","Northwest Croatia":"Northwest-Croatia","Northwest Territories":"Northwest-Territories","Northwest of Ireland":"Northwest-of-Ireland","Northwest of Mexico":"Northwest-of-Mexico","Northwestern Iran":"Northwestern-Iran","Nova Scotia":"Nova-Scotia","Nunavut":"Nunavut","Oaxaca":"Oaxaca","Ohio":"Ohio","Oklahoma":"Oklahoma","Oltenia":"Oltenia","Ontario":"Ontario","Oregon":"Oregon","Orinoquia":"Orinoquia","Orissa":"Orissa","Ostlandet":"Ostlandet","Otago":"Otago","Oulu":"Oulu","Pacific Coast of Mexico":"Pacific-Coast-of-Mexico","Pacifica":"Pacifica","Palawan":"Palawan","Pampas":"Pampas","Pando":"Pando","Papua":"Papua","Parana and Santa Catarina":"Parana-and-Santa-Catarina","Paranena":"Paranena","Paris Isle of France":"Paris-Isle-of-France","Patagonia":"Patagonia","Pays de la Loire":"Pays-de-la-Loire","Peloponnese":"Peloponnese","Peninsular Malaysia ":"Peninsular-Malaysia ","Pennsylvania":"Pennsylvania","Picardy":"Picardy","Piedmont":"Piedmont","Plovdiv":"Plovdiv","Podolia":"Podolia","Pohja-Eesti":"Pohja-Eesti","Poitou Charentes":"Poitou-Charentes","Polisia":"Polisia","Pomerania":"Pomerania","Povardarie":"Povardarie","Prekmurje":"Prekmurje","Prince Edward Island":"Prince-Edward-Island","Provence Alpes Azur":"Provence-Alpes-Azur","Punjab":"Punjab","Pyongan":"Pyongan","Qinghai":"Qinghai","Quebec":"Quebec","Queensland":"Queensland","Rajasthan":"Rajasthan","Ras al-Khaimah":"Ras-al-Khaimah","Raska":"Raska","Razavi Khorasan":"Razavi-Khorasan","Red Sea Coast":"Red-Sea-Coast","Rhineland-Palatinate":"Rhineland-Palatinate","Rhode Island":"Rhode-Island","Rhone Alps":"Rhone-Alps","Rio Grande do Sul":"Rio-Grande-do-Sul","Romandie":"Romandie","Ruse":"Ruse","Ryanggang":"Ryanggang","Saarland":"Saarland","Sabah":"Sabah","Salzburg":"Salzburg","Samogitia":"Samogitia","Santa Cruz":"Santa-Cruz","Sarawak":"Sarawak","Sardinia":"Sardinia","Saskatchewan":"Saskatchewan","Saxony":"Saxony","Saxony-Anhalt":"Saxony-Anhalt","Scania":"Scania","Schleswig-Holstein and Hamburg":"Schleswig-Holstein-and-Hamburg","Scotland":"Scotland","Semnan":"Semnan","Shaanxi":"Shaanxi","Shandong":"Shandong","Shanghai":"Shanghai","Shannon":"Shannon","Shanxi":"Shanxi","Sharjah":"Sharjah","Shikoku":"Shikoku","Sichuan":"Sichuan","Sicily":"Sicily","Silesia":"Silesia","Sinai":"Sinai","Sindh":"Sindh","Singapore City":"Singapore-City","Sistan and Baluchistan":"Sistan-Baluchistan","Siveria":"Siveria","Sjaelland":"Sjaelland","Slavonia":"Slavonia","Sloboda":"Sloboda","Slovenian Littoral":"Slovenian-Littoral","Smaland":"Smaland","Sofia":"Sofia","Sorlandet":"Sorlandet","South Australia":"South-Australia","South Carolina":"South-Carolina","South Dakota":"South-Dakota","South Dalmatia":"South-Dalmatia","South East Chaco":"South-East-Chaco","South East of England":"South-East-of-England","South Khorasan":"South-Khorasan","South West of England":"South-West-of-England","Southeast of Brazil":"Southeast-of-Brazil","Southeast of Ireland":"Southeast-of-Ireland","Southeast of Mexico":"Southeast-of-Mexico","Southeastern Anatolia":"Southeastern-Anatolia","Southern Basarabia":"Southern-Basarabia","Southern Bohemia":"Southern-Bohemia","Southern Cyprus":"Southern-Cyprus","Southern Finland":"Southern-Finland","Southern Great Plain":"Southern-Great-Plain","Southern Low Amazon":"Southern-Low-Amazon","Southern Netherlands":"Southern-Netherlands","Southern Serbia":"Southern-Serbia","Southern Taiwan":"Southern-Taiwan","Southern Thailand":"Southern-Thailand","Southern Transdanubia":"Southern-Transdanubia","Southwestern Iran":"Southwestern-Iran","Styria":"Styria","Styria and Carinthia":"Styria-Carinthia","Subcarpathia":"Subcarpathia","Sudovia":"Sudovia","Sulawesi":"Sulawesi","Sumadija":"Sumadija","Sumatra":"Sumatra","Svalbard & Jan Mayen":"Svalbard-Jan-Mayen","Svealand":"Svealand","Svizzera italiana":"Svizzera-italiana","Syddanmark":"Syddanmark","Tabuk":"Tabuk","Tamil Nadu":"Tamil-Nadu","Tasmania":"Tasmania","Taurida":"Taurida","Tel Aviv Center District":"Tel-Aviv-Center-District","Tennessee":"Tennessee","Texas":"Texas","Thessaly":"Thessaly","Thrace":"Thrace","Thuringia":"Thuringia","Tibet":"Tibet","Tohoku":"Tohoku","Transilvania":"Transilvania","Transnistria":"Transnistria","Trentino-South Tyrol":"Trentino-South-Tyrol","Trondelag":"Trondelag","Tuscany":"Tuscany","Tyrol":"Tyrol","Umbria":"Umbria","Umm al Quwain":"Umm-al-Quwain","Upper Austria":"Upper-Austria","Upper Carniola":"Upper-Carniola","Upper Egypt":"Upper-Egypt","Upper Normandy":"Upper-Normandy","Urals":"Urals","Utah":"Utah","Uttar Pradesh":"Uttar-Pradesh","Valencian Community":"Valencian","Valley of Mexico":"Valley-of-Mexico","Varna":"Varna","Veneto":"Veneto","Venezuelan Andean":"Venezuelan-Andean","Venezuelan Capital":"Venezuelan-Capital","Vermont":"Vermont","Vestlandet":"Vestlandet","Victoria":"Victoria","Vidin":"Vidin","Vidzeme":"Vidzeme","Virginia":"Virginia","Visayas":"Visayas","Vitsebskaya":"Vitsebskaya","Vojvodina":"Vojvodina","Volga":"Volga","Volga Vyatka":"Volga-Vyatka","Volhynia":"Volhynia","Vorarlberg":"Vorarlberg","Wales":"Wales","Wallonia":"Wallonia","Washington":"Washington","Wellington":"Wellington","West Bengal":"West-Bengal","West Midlands":"West-Midlands","West Srpska Republic":"West-Srpska-Republic","West Virginia":"West-Virginia","Western Australia":"Western-Australia","Western Cape":"Western-Cape","Western Desert":"Western-Desert","Western Finland":"Western-Finland","Western Macedonia":"Western-Macedonia","Western Netherlands":"Western-Netherlands","Western Serbia":"Western-Serbia","Western Siberia":"Western-Siberia","Western Slovakia":"Western-Slovakia","Western Transdanubia":"Western-Transdanubia","Wisconsin":"Wisconsin","Wyoming":"Wyoming","Xinjiang":"Xinjiang","Yazd":"Yazd","Yorkshire & Humberside":"Yorkshire-Humberside","Yukon":"Yukon","Yunnan":"Yunnan","Zaporozhia":"Zaporozhia","Zemgale":"Zemgale","Zhejiang":"Zhejiang","Zona Austral":"Zona-Austral","Zona Central":"Zona-Central","Zona Sur":"Zona-Sur","Zulian":"Zulian"};
  355. var link_region = {"Kosovo":"Kosovo","Tirana":"Tirana","Southeastern-Albania":"Southeastern Albania","Albanian-Coast":"Albanian Coast","Abruzzo":"Abruzzo","Abu-Dhabi":"Abu Dhabi","Aegean-Coast-of-Turkey":"Aegean Coast of Turkey","Aegean-Islands":"Aegean Islands","Ajman":"Ajman","Al-Bahah":"Al Bahah","Al-Jawf":"Al Jawf","Al-Madinah":"Al Madinah","Al-Qasim":"Al Qasim","Al-Riyadh":"Al Riyadh","Alabama":"Alabama","Aland":"Aland","Alaska":"Alaska","Alberta":"Alberta","Alentejo":"Alentejo","Algarve":"Algarve","Alsace":"Alsace","Amazonica":"Amazonica","Andalucia":"Andalucia","Andhra-Pradesh":"Andhra Pradesh","Andina":"Andina","Anhui":"Anhui","Aosta-Valley":"Aosta Valley","Apulia":"Apulia","Aquitaine":"Aquitaine","Aragon":"Aragon","Argentine-Northwest":"Argentine Northwest","Arizona":"Arizona","Arkansas":"Arkansas","Asir":"Asir","Asturias":"Asturias","Attica":"Attica","Auckland":"Auckland","Auvergne":"Auvergne","Azores":"Azores","Baden-Wurttemberg":"Baden-Wurttemberg","Baja":"Baja","Balearic-Islands":"Balearic Islands","Balochistan":"Balochistan","Banat":"Banat","Basilicata":"Basilicata","Basque-Country":"Basque Country","Bassarabia":"Bassarabia","Bavaria":"Bavaria","Beersheba-South-District":"Beersheba South District","Beijing":"Beijing","Belgrade":"Belgrade","Beni-and-Cochabamba":"Beni and Cochabamba","Bihar":"Bihar","Black-Sea-Coast-of-Turkey":"Black Sea Coast of Turkey","Bohus":"Bohus","Bolivian-Altiplano":"Bolivian Altiplano","Brandenburg-and-Berlin":"Brandenburg and Berlin","Bratislava":"Bratislava","Brestskaya":"Brestskaya","British-Columbia":"British Columbia","Brittany":"Brittany","Brussels":"Brussels","Brčko-District":"Brčko District","Bucovina":"Bucovina","Bukovina":"Bukovina","Burgas":"Burgas","Burgenland":"Burgenland","Burgundy":"Burgundy","Calabria":"Calabria","California":"California","Campania":"Campania","Canary-Islands":"Canary Islands","Cantabria":"Cantabria","Canterbury":"Canterbury","Caribe-e-Insular":"Caribe e Insular","Carinthia":"Carinthia","Castilla-La-Mancha":"Castilla La Mancha","Castilla-Leon":"Castilla y Leon","Catalonia":"Catalonia","Center-West-of-Brazil":"Center West of Brazil","Central-Anatolia":"Central Anatolia","Central-Black-Earth":"Central Black Earth","Central-Croatia":"Central Croatia","Central-East-Chaco":"Central East Chaco","Central-Greece":"Central Greece","Central-Hungary":"Central Hungary","Central-Montenegro":"Central Montenegro","Central-Slovakia":"Central Slovakia","Central-Taiwan":"Central Taiwan","Central-Thailand":"Central Thailand","Central-Transdanubia":"Central Transdanubia","Central-Venezuela":"Central Venezuela","Central-Western-Venezuela":"Central Western Venezuela","Centro":"Centro","Chagang":"Chagang","Champagne-Ardenne":"Champagne Ardenne","Charrua":"Charrua","Chhattisgarh":"Chhattisgarh","Chimor":"Chimor","Chisinau":"Chisinau","Chongqing":"Chongqing","Chubu":"Chubu","Chugoku":"Chugoku","Chungcheongbuk":"Chungcheongbuk-do","Chungcheongnam":"Chungcheongnam-do","Chuquisaca-and-Tarija":"Chuquisaca and Tarija","Colorado":"Colorado","Connecticut":"Connecticut","Cork-and-Kerry":"Cork and Kerry","Corsica":"Corsica","Crete":"Crete","Crisana":"Crisana","Cundiboyacense":"Cundiboyacense","Cuyo":"Cuyo","Dainava":"Dainava","Delaware":"Delaware","Deutschschweiz":"Deutschschweiz","District-of-Columbia":"District of Columbia","Dnipro":"Dnipro","Dobrogea":"Dobrogea","Donbas":"Donbas","Dubai":"Dubai","Dublin":"Dublin","East-Midlands":"East Midlands","East-Srpska-Republic":"East Srpska Republic","East-of-England":"East of England","Eastern-Anatolia":"Eastern Anatolia","Eastern-Cape":"Eastern Cape","Eastern-Finland":"Eastern Finland","Eastern-Macedonia":"Eastern Macedonia","Eastern-Netherlands":"Eastern Netherlands","Eastern-Province":"Eastern Province","Eastern-Serbia":"Eastern Serbia","Eastern-Siberia":"Eastern Siberia","Eastern-Slovakia":"Eastern Slovakia","Eastern-Taiwan":"Eastern Taiwan","Eastern-Thailand":"Eastern Thailand","Emilia-Romagna":"Emilia-Romagna","Epirus":"Epirus","Esfahan":"Esfahan","Extremadura":"Extremadura","Far-Eastern-Russia":"Far Eastern Russia","Fars":"Fars","Federation of BiH":"Federation of BiH","Flanders":"Flanders","Florida":"Florida","Franche-comte":"Franche-comte","Free-State":"Free State","Friuli-Venezia-Giulia":"Friuli-Venezia Giulia","Fujairah":"Fujairah","Fujian":"Fujian","Galicia-Spain":"Galicia","Galicia-and-Lodomeria":"Galicia and Lodomeria","Gangwon":"Gangwon-do","Gansu":"Gansu","Gauteng":"Gauteng","Georgia":"Georgia","Gotaland":"Gotaland","Gotland":"Gotland","Graubunden":"Graubunden","Great-Andes":"Great Andes","Great-Poland":"Great Poland","Guangdong":"Guangdong","Guangxi":"Guangxi","Guayana":"Guayana","Guizhou":"Guizhou","Gujarat":"Gujarat","Gulf-of-Mexico":"Gulf of Mexico","Gyeonggi":"Gyeonggi-do","Gyeongsangbuk":"Gyeongsangbuk-do","Gyeongsangnam":"Gyeongsangnam-do","Ha-il":"Ha'il","Haifa-district":"Haifa district","Hainan":"Hainan","Hamgyong":"Hamgyong","Hawaii":"Hawaii","Heilongjiang":"Heilongjiang","Henan":"Henan","Hesse":"Hesse","Hokkaido":"Hokkaido","Homelskaya":"Homelskaya","Hormozgan":"Hormozgan","Hovedstaden":"Hovedstaden","Hrodzienskaya":"Hrodzienskaya","Hubei":"Hubei","Hunan":"Hunan","Hwangae":"Hwangae","Idaho":"Idaho","Illinois":"Illinois","Indiana":"Indiana","Inner-Carniola":"Inner Carniola","Inner-Mongolia":"Inner Mongolia","Ionian-Islands":"Ionian Islands","Iowa":"Iowa","Istria-Kvarner":"Istria and Kvarner","Jammu-Kashmir":"Jammu and Kashmir","Jamtland-Harjedalen":"Jamtland Harjedalen","Java":"Java","Jeju":"Jeju","Jeollabuk":"Jeollabuk-do","Jeollanam":"Jeollanam-do","Jerusalem-district":"Jerusalem district","Jharkhand":"Jharkhand","Jiangsu":"Jiangsu","Jiangxi":"Jiangxi","Jilin":"Jilin","Jizan":"Jizan","Kalimantan":"Kalimantan","Kaliningrad":"Kaliningrad","Kangwon":"Kangwon","Kansas":"Kansas","Kanto":"Kanto","Karnataka":"Karnataka","Kentucky":"Kentucky","Kerala":"Kerala","Kerman-Province":"Kerman Province","Kesk-Eesti":"Kesk-Eesti","Kinki":"Kinki","Kirde-Eesti":"Kirde-Eesti","Kurzeme":"Kurzeme","KwaZulu-Natal":"KwaZulu Natal","Kyushu":"Kyushu","La-Rioja":"La Rioja","Laane-Eesti":"Laane-Eesti","Languedoc-Roussillon":"Languedoc Roussillon","Lapland":"Lapland","Latgale":"Latgale","Lazio":"Lazio","Leningrad-Oblast":"Leningrad Oblast","Lesser-Sunda-Islands":"Lesser Sunda Islands","Liaoning":"Liaoning","Liguria":"Liguria","Lika-Gorski-Kotar":"Lika and Gorski Kotar","Lima":"Lima","Limousin":"Limousin","Limpopo":"Limpopo","Lisboa":"Lisboa","Lithuania-Minor":"Lithuania Minor","Lithuanian-Highland":"Lithuanian Highland","Little-Poland":"Little Poland","Llanos":"Llanos","Loire-Valley":"Loire Valley","Lombardy":"Lombardy","London":"London","Lorraine":"Lorraine","Louisiana":"Louisiana","Louna-Eesti":"Louna-Eesti","Low-Andes":"Low Andes","Lower-Austria":"Lower Austria","Lower-Carniola":"Lower Carniola","Lower-Egypt":"Lower Egypt","Lower-Normandy":"Lower Normandy","Lower-Saxony-and-Bremen":"Lower Saxony and Bremen","Luzon":"Luzon","Macedonia":"Macedonia","Madeira":"Madeira","Madhya-Pradesh":"Madhya Pradesh","Madrid":"Madrid","Maharashtra":"Maharashtra","Mahilyowskaya":"Mahilyowskaya","Maine":"Maine","Makkah":"Makkah","Maluku-islands":"Maluku islands","Manitoba":"Manitoba","Maramures":"Maramures","Marche":"Marche","Marmara":"Marmara","Maryland":"Maryland","Massachusetts":"Massachusetts","Mazandaran-and-Golistan":"Mazandaran and Golistan","Mazovia":"Mazovia","Mazuria":"Mazuria","Mecklenburg":"Mecklenburg-Western Pomerania","Mediterranean-Coast-of-Turkey":"Mediterranean Coast of Turkey","Mesopotamia":"Mesopotamia","Michigan":"Michigan","Mid-Andes":"Mid Andes","Middle-Egypt":"Middle Egypt","Midi-Pyrenees":"Midi-Pyrenees","Midtjylland":"Midtjylland","Mindanao":"Mindanao","Minnesota":"Minnesota","Minskaya":"Minskaya","Mississippi":"Mississippi","Missouri":"Missouri","Moldova":"Moldova","Molise":"Molise","Montana":"Montana","Montenegrin-Coast":"Montenegrin Coast","Moravia":"Moravia","Moscow-and-Central-Russia":"Moscow and Central Russia","Mpumalanga":"Mpumalanga","Muntenia":"Muntenia","Murcia":"Murcia","Najran":"Najran","Navarra":"Navarra","Nazareth-North-District":"Nazareth North District","Nebraska":"Nebraska","Nevada":"Nevada","New-Brunswick":"New Brunswick","New-Hampshire":"New Hampshire","New-Jersey":"New Jersey","New-Mexico":"New Mexico","New-South-Wales":"New South Wales","New-York":"New York","Newfoundland":"Newfoundland and Labrador","Ningxia":"Ningxia","Nord-Norge":"Nord-Norge","Nordjylland":"Nordjylland","Norrland-Sameland":"Norrland and Sameland","Norte":"Norte","Norte-Chico":"Norte Chico","Norte-Grande":"Norte Grande","North Rhine-Westphalia":"North Rhine-Westphalia","North-Calais":"North Calais","North-Carolina":"North Carolina","North-Caucasus":"North Caucasus","North-Dakota":"North Dakota","North-Dalmatia":"North Dalmatia","North-East-of-England":"North East of England","North-Eastern-India":"North Eastern India","North-Eastern-Thailand":"North-Eastern Thailand","North-Eastern-Venezuela":"North Eastern Venezuela","North-Montenegrin-Mountains":"North Montenegrin Mountains","North-West-Frontier":"North-West Frontier Province","North-West-Province":"North West Province","North-West-of-England":"North West of England","North-of-Brazil":"North of Brazil","Northeast-of-Brazil":"Northeast of Brazil","Northeast-of-Ireland":"Northeast of Ireland","Northeast-of-Mexico":"Northeast of Mexico","Northern-Basarabia":"Northern Basarabia","Northern-Bohemia":"Northern Bohemia","Northern-Borders":"Northern Borders","Northern-Cape":"Northern Cape","Northern-Cyprus":"Northern Cyprus","Northern-Great-Plain":"Northern Great Plain","Northern-Hungary":"Northern Hungary","Northern-India":"Northern India","Northern-Ireland":"Northern Ireland","Northern-Low-Amazon":"Northern Low Amazon","Northern-Netherlands":"Northern Netherlands","Northern-Russia":"Northern Russia","Northern-Taiwan":"Northern Taiwan","Northern-Territory":"Northern Territory","Northern-Thailand":"Northern Thailand","Northwest-Croatia":"Northwest Croatia","Northwest-Territories":"Northwest Territories","Northwest-of-Ireland":"Northwest of Ireland","Northwest-of-Mexico":"Northwest of Mexico","Northwestern-Iran":"Northwestern Iran","Nova-Scotia":"Nova Scotia","Nunavut":"Nunavut","Oaxaca":"Oaxaca","Ohio":"Ohio","Oklahoma":"Oklahoma","Oltenia":"Oltenia","Ontario":"Ontario","Oregon":"Oregon","Orinoquia":"Orinoquia","Orissa":"Orissa","Ostlandet":"Ostlandet","Otago":"Otago","Oulu":"Oulu","Pacific-Coast-of-Mexico":"Pacific Coast of Mexico","Pacifica":"Pacifica","Palawan":"Palawan","Pampas":"Pampas","Pando":"Pando","Papua":"Papua","Parana-and-Santa-Catarina":"Parana and Santa Catarina","Paranena":"Paranena","Paris-Isle-of-France":"Paris Isle of France","Patagonia":"Patagonia","Pays-de-la-Loire":"Pays de la Loire","Peloponnese":"Peloponnese","Peninsular-Malaysia ":"Peninsular Malaysia ","Pennsylvania":"Pennsylvania","Picardy":"Picardy","Piedmont":"Piedmont","Plovdiv":"Plovdiv","Podolia":"Podolia","Pohja-Eesti":"Pohja-Eesti","Poitou-Charentes":"Poitou Charentes","Polisia":"Polisia","Pomerania":"Pomerania","Povardarie":"Povardarie","Prekmurje":"Prekmurje","Prince-Edward-Island":"Prince Edward Island","Provence-Alpes-Azur":"Provence Alpes Azur","Punjab":"Punjab","Pyongan":"Pyongan","Qinghai":"Qinghai","Quebec":"Quebec","Queensland":"Queensland","Rajasthan":"Rajasthan","Ras-al-Khaimah":"Ras al-Khaimah","Raska":"Raska","Razavi-Khorasan":"Razavi Khorasan","Red-Sea-Coast":"Red Sea Coast","Rhineland-Palatinate":"Rhineland-Palatinate","Rhode-Island":"Rhode Island","Rhone-Alps":"Rhone Alps","Rio-Grande-do-Sul":"Rio Grande do Sul","Romandie":"Romandie","Ruse":"Ruse","Ryanggang":"Ryanggang","Saarland":"Saarland","Sabah":"Sabah","Salzburg":"Salzburg","Samogitia":"Samogitia","Santa-Cruz":"Santa Cruz","Sarawak":"Sarawak","Sardinia":"Sardinia","Saskatchewan":"Saskatchewan","Saxony":"Saxony","Saxony-Anhalt":"Saxony-Anhalt","Scania":"Scania","Schleswig-Holstein-and-Hamburg":"Schleswig-Holstein and Hamburg","Scotland":"Scotland","Semnan":"Semnan","Shaanxi":"Shaanxi","Shandong":"Shandong","Shanghai":"Shanghai","Shannon":"Shannon","Shanxi":"Shanxi","Sharjah":"Sharjah","Shikoku":"Shikoku","Sichuan":"Sichuan","Sicily":"Sicily","Silesia":"Silesia","Sinai":"Sinai","Sindh":"Sindh","Singapore-City":"Singapore City","Sistan-Baluchistan":"Sistan and Baluchistan","Siveria":"Siveria","Sjaelland":"Sjaelland","Slavonia":"Slavonia","Sloboda":"Sloboda","Slovenian-Littoral":"Slovenian Littoral","Smaland":"Smaland","Sofia":"Sofia","Sorlandet":"Sorlandet","South-Australia":"South Australia","South-Carolina":"South Carolina","South-Dakota":"South Dakota","South-Dalmatia":"South Dalmatia","South-East-Chaco":"South East Chaco","South-East-of-England":"South East of England","South-Khorasan":"South Khorasan","South-West-of-England":"South West of England","Southeast-of-Brazil":"Southeast of Brazil","Southeast-of-Ireland":"Southeast of Ireland","Southeast-of-Mexico":"Southeast of Mexico","Southeastern-Anatolia":"Southeastern Anatolia","Southern-Basarabia":"Southern Basarabia","Southern-Bohemia":"Southern Bohemia","Southern-Cyprus":"Southern Cyprus","Southern-Finland":"Southern Finland","Southern-Great-Plain":"Southern Great Plain","Southern-Low-Amazon":"Southern Low Amazon","Southern-Netherlands":"Southern Netherlands","Southern-Serbia":"Southern Serbia","Southern-Taiwan":"Southern Taiwan","Southern-Thailand":"Southern Thailand","Southern-Transdanubia":"Southern Transdanubia","Southwestern-Iran":"Southwestern Iran","Styria":"Styria","Styria-Carinthia":"Styria and Carinthia","Subcarpathia":"Subcarpathia","Sudovia":"Sudovia","Sulawesi":"Sulawesi","Sumadija":"Sumadija","Sumatra":"Sumatra","Svalbard-Jan-Mayen":"Svalbard & Jan Mayen","Svealand":"Svealand","Svizzera-italiana":"Svizzera italiana","Syddanmark":"Syddanmark","Tabuk":"Tabuk","Tamil-Nadu":"Tamil Nadu","Tasmania":"Tasmania","Taurida":"Taurida","Tel-Aviv-Center-District":"Tel Aviv Center District","Tennessee":"Tennessee","Texas":"Texas","Thessaly":"Thessaly","Thrace":"Thrace","Thuringia":"Thuringia","Tibet":"Tibet","Tohoku":"Tohoku","Transilvania":"Transilvania","Transnistria":"Transnistria","Trentino-South-Tyrol":"Trentino-South Tyrol","Trondelag":"Trondelag","Tuscany":"Tuscany","Tyrol":"Tyrol","Umbria":"Umbria","Umm-al-Quwain":"Umm al Quwain","Upper-Austria":"Upper Austria","Upper-Carniola":"Upper Carniola","Upper-Egypt":"Upper Egypt","Upper-Normandy":"Upper Normandy","Urals":"Urals","Utah":"Utah","Uttar-Pradesh":"Uttar Pradesh","Valencian":"Valencian Community","Valley-of-Mexico":"Valley of Mexico","Varna":"Varna","Veneto":"Veneto","Venezuelan-Andean":"Venezuelan Andean","Venezuelan-Capital":"Venezuelan Capital","Vermont":"Vermont","Vestlandet":"Vestlandet","Victoria":"Victoria","Vidin":"Vidin","Vidzeme":"Vidzeme","Virginia":"Virginia","Visayas":"Visayas","Vitsebskaya":"Vitsebskaya","Vojvodina":"Vojvodina","Volga":"Volga","Volga-Vyatka":"Volga Vyatka","Volhynia":"Volhynia","Vorarlberg":"Vorarlberg","Wales":"Wales","Wallonia":"Wallonia","Washington":"Washington","Wellington":"Wellington","West-Bengal":"West Bengal","West-Midlands":"West Midlands","West-Srpska-Republic":"West Srpska Republic","West-Virginia":"West Virginia","Western-Australia":"Western Australia","Western-Cape":"Western Cape","Western-Desert":"Western Desert","Western-Finland":"Western Finland","Western-Macedonia":"Western Macedonia","Western-Netherlands":"Western Netherlands","Western-Serbia":"Western Serbia","Western-Siberia":"Western Siberia","Western-Slovakia":"Western Slovakia","Western-Transdanubia":"Western Transdanubia","Wisconsin":"Wisconsin","Wyoming":"Wyoming","Xinjiang":"Xinjiang","Yazd":"Yazd","Yorkshire-Humberside":"Yorkshire & Humberside","Yukon":"Yukon","Yunnan":"Yunnan","Zaporozhia":"Zaporozhia","Zemgale":"Zemgale","Zhejiang":"Zhejiang","Zona-Austral":"Zona Austral","Zona-Central":"Zona Central","Zona-Sur":"Zona Sur","Zulian":"Zulian"};
  356. var region_id = {"Southeastern Albania":"746","Albanian Coast":"745","Tirana":"744","Kosovo":"743","Abruzzo":"259","Abu Dhabi":"736","Aegean Coast of Turkey":"512","Aegean Islands":"420","Ajman":"739","Al Bahah":"718","Al Jawf":"720","Al Madinah":"721","Al Qasim":"722","Al Riyadh":"717","Alabama":"40","Aland":"242","Alaska":"41","Alberta":"97","Alentejo":"160","Algarve":"161","Alsace":"185","Amazonica":"689","Andalucia":"167","Andhra Pradesh":"450","Andina":"690","Anhui":"361","Aosta Valley":"260","Apulia":"261","Aquitaine":"186","Aragon":"168","Argentine Northwest":"152","Arizona":"42","Arkansas":"43","Asir":"724","Asturias":"169","Attica":"418","Auckland":"713","Auvergne":"187","Azores":"162","Baden-Wurttemberg":"243","Baja":"116","Balearic Islands":"184","Balochistan":"492","Banat":"11","Basilicata":"262","Basque Country":"170","Bassarabia":"140","Bavaria":"244","Beersheba South District":"471","Beijing":"395","Belgrade":"635","Beni and Cochabamba":"678","Bihar":"458","Black Sea Coast of Turkey":"513","Bohus":"323","Bolivian Altiplano":"680","Brandenburg and Berlin":"246","Bratislava":"312","Brestskaya":"707","British Columbia":"103","Brittany":"188","Brussels":"228","Brčko District":"651","Bucovina":"39","Bukovina":"137","Burgas":"349","Burgenland":"340","Burgundy":"189","Calabria":"263","California":"44","Campania":"264","Canary Islands":"183","Cantabria":"171","Canterbury":"715","Caribe e Insular":"691","Carinthia":"341","Castilla La Mancha":"181","Castilla y Leon":"173","Catalonia":"174","Center West of Brazil":"146","Central Anatolia":"514","Central Black Earth":"533","Central Croatia":"623","Central East Chaco":"676","Central Greece":"417","Central Hungary":"111","Central Montenegro":"699","Central Slovakia":"316","Central Taiwan":"702","Central Thailand":"507","Central Transdanubia":"110","Central Venezuela":"125","Central Western Venezuela":"126","Centro":"159","Chagang":"668","Champagne Ardenne":"191","Charrua":"674","Chhattisgarh":"455","Chimor":"685","Chisinau":"92","Chongqing":"396","Chubu":"487","Chugoku":"489","Chungcheongbuk-do":"521","Chungcheongnam-do":"522","Chuquisaca and Tarija":"677","Colorado":"45","Connecticut":"46","Cork and Kerry":"209","Corsica":"192","Crete":"422","Crisana":"36","Cundiboyacense":"694","Cuyo":"155","Dainava":"666","Delaware":"47","Deutschschweiz":"336","District of Columbia":"90","Dnipro":"138","Dobrogea":"3","Donbas":"143","Dubai":"737","Dublin":"208","East Midlands":"222","East Srpska Republic":"650","East of England":"224","Eastern Anatolia":"515","Eastern Cape":"497","Eastern Finland":"239","Eastern Macedonia":"697","Eastern Netherlands":"530","Eastern Province":"725","Eastern Serbia":"637","Eastern Siberia":"534","Eastern Slovakia":"319","Eastern Taiwan":"703","Eastern Thailand":"509","Emilia-Romagna":"265","Epirus":"416","Esfahan":"478","Extremadura":"175","Far Eastern Russia":"535","Fars":"479","Federation of BiH":"652","Flanders":"229","Florida":"48","Franche-comte":"193","Free State":"498","Friuli-Venezia Giulia":"266","Fujairah":"742","Fujian":"362","Galicia":"176","Galicia and Lodomeria":"133","Gangwon-do":"520","Gansu":"363","Gauteng":"499","Georgia":"49","Gotaland":"325","Gotland":"549","Graubunden":"339","Great Andes":"682","Great Poland":"426","Guangdong":"364","Guangxi":"390","Guayana":"127","Guizhou":"384","Gujarat":"448","Gulf of Mexico":"120","Gyeonggi-do":"519","Gyeongsangbuk-do":"525","Gyeongsangnam-do":"526","Ha'il":"723","Haifa district":"469","Hainan":"385","Hamgyong":"672","Hawaii":"50","Heilongjiang":"368","Henan":"386","Hesse":"249","Hokkaido":"484","Homelskaya":"708","Hormozgan":"480","Hovedstaden":"231","Hrodzienskaya":"709","Hubei":"370","Hunan":"371","Hwangae":"670","Idaho":"51","Illinois":"52","Indiana":"53","Inner Carniola":"581","Inner Mongolia":"391","Ionian Islands":"421","Iowa":"54","Istria and Kvarner":"626","Jammu and Kashmir":"561","Jamtland Harjedalen":"322","Java":"461","Jeju":"527","Jeollabuk-do":"523","Jeollanam-do":"524","Jerusalem district":"467","Jharkhand":"456","Jiangsu":"372","Jiangxi":"373","Jilin":"387","Jizan":"729","Kalimantan":"462","Kaliningrad":"543","Kangwon":"671","Kansas":"55","Kanto":"486","Karnataka":"451","Kentucky":"56","Kerala":"453","Kerman Province":"472","Kesk-Eesti":"656","Kinki":"488","Kirde-Eesti":"655","Kurzeme":"662","KwaZulu Natal":"500","Kyushu":"491","La Rioja":"179","Laane-Eesti":"657","Languedoc Roussillon":"194","Lapland":"241","Latgale":"660","Lazio":"267","Leningrad Oblast":"538","Lesser Sunda Islands":"463","Liaoning":"375","Liguria":"268","Lika and Gorski Kotar":"625","Lima":"688","Limousin":"195","Limpopo":"501","Lisboa":"157","Lithuania Minor":"663","Lithuanian Highland":"665","Little Poland":"425","Llanos":"129","Loire Valley":"190","Lombardy":"269","London":"216","Lorraine":"196","Louisiana":"57","Louna-Eesti":"658","Low Andes":"684","Lower Austria":"342","Lower Carniola":"611","Lower Egypt":"731","Lower Normandy":"197","Lower Saxony and Bremen":"251","Luzon":"644","Macedonia":"414","Madeira":"163","Madhya Pradesh":"447","Madrid":"166","Maharashtra":"449","Mahilyowskaya":"711","Maine":"58","Makkah":"728","Maluku islands":"465","Manitoba":"105","Maramures":"38","Marche":"270","Marmara":"516","Maryland":"59","Massachusetts":"60","Mazandaran and Golistan":"483","Mazovia":"424","Mazuria":"423","Mecklenburg-Western Pomerania":"250","Mediterranean Coast of Turkey":"517","Mesopotamia":"154","Michigan":"61","Mid Andes":"683","Middle Egypt":"733","Midi-Pyrenees":"198","Midtjylland":"232","Mindanao":"646","Minnesota":"62","Minskaya":"710","Mississippi":"63","Missouri":"64","Moldova":"37","Molise":"271","Montana":"65","Montenegrin Coast":"700","Moravia":"440","Moscow and Central Russia":"532","Mpumalanga":"502","Muntenia":"5","Murcia":"177","Najran":"727","Navarra":"178","Nazareth North District":"468","Nebraska":"66","Nevada":"67","New Brunswick":"98","New Hampshire":"68","New Jersey":"69","New Mexico":"70","New South Wales":"328","New York":"71","Newfoundland and Labrador":"102","Ningxia":"392","Nord-Norge":"291","Nordjylland":"233","Norrland and Sameland":"321","Norte":"158","Norte Chico":"630","Norte Grande":"629","North Calais":"207","North Carolina":"72","North Caucasus":"537","North Dakota":"73","North Dalmatia":"627","North East of England":"226","North Eastern India":"459","North Eastern Venezuela":"130","North Montenegrin Mountains":"698","North Rhine-Westphalia":"252","North West Province":"503","North West of England":"227","North of Brazil":"147","North-Eastern Thailand":"511","North-West Frontier Province":"493","Northeast of Brazil":"148","Northeast of Ireland":"215","Northeast of Mexico":"122","Northern Basarabia":"91","Northern Bohemia":"442","Northern Borders":"719","Northern Cape":"504","Northern Cyprus":"706","Northern Great Plain":"113","Northern Hungary":"112","Northern India":"443","Northern Ireland":"219","Northern Low Amazon":"686","Northern Netherlands":"531","Northern Russia":"536","Northern Taiwan":"701","Northern Territory":"334","Northern Thailand":"508","Northwest Croatia":"624","Northwest Territories":"106","Northwest of Ireland":"212","Northwest of Mexico":"117","Northwestern Iran":"482","Nova Scotia":"99","Nunavut":"107","Oaxaca":"119","Ohio":"74","Oklahoma":"75","Oltenia":"9","Ontario":"95","Oregon":"76","Orinoquia":"692","Orissa":"454","Ostlandet":"295","Otago":"716","Oulu":"240","Pacific Coast of Mexico":"118","Pacifica":"693","Palawan":"647","Pampas":"151","Pando":"681","Papua":"466","Parana and Santa Catarina":"150","Paranena":"675","Paris Isle of France":"199","Patagonia":"156","Pays de la Loire":"200","Peloponnese":"419","Peninsular Malaysia ":"643","Pennsylvania":"77","Picardy":"201","Piedmont":"272","Plovdiv":"353","Podolia":"136","Pohja-Eesti":"654","Poitou Charentes":"202","Polisia":"135","Pomerania":"306","Povardarie":"695","Prekmurje":"621","Prince Edward Island":"96","Provence Alpes Azur":"203","Punjab":"494","Pyongan":"669","Qinghai":"389","Quebec":"100","Queensland":"329","Rajasthan":"446","Ras al-Khaimah":"740","Raska":"639","Razavi Khorasan":"475","Red Sea Coast":"735","Rhineland-Palatinate":"253","Rhode Island":"78","Rhone Alps":"204","Rio Grande do Sul":"653","Romandie":"337","Ruse":"358","Ryanggang":"673","Saarland":"254","Sabah":"641","Salzburg":"344","Samogitia":"664","Santa Cruz":"679","Sarawak":"642","Sardinia":"273","Saskatchewan":"101","Saxony":"255","Saxony-Anhalt":"256","Scania":"324","Schleswig-Holstein and Hamburg":"257","Scotland":"217","Semnan":"477","Shaanxi":"377","Shandong":"378","Shanghai":"397","Shannon":"210","Shanxi":"379","Sharjah":"738","Shikoku":"490","Sichuan":"380","Sicily":"274","Silesia":"307","Sinai":"730","Sindh":"495","Singapore City":"648","Sistan and Baluchistan":"473","Siveria":"139","Sjaelland":"235","Slavonia":"622","Sloboda":"142","Slovenian Littoral":"571","Smaland":"326","Sofia":"355","Sorlandet":"292","South Australia":"330","South Carolina":"79","South Dakota":"80","South Dalmatia":"628","South East Chaco":"153","South East of England":"220","South Khorasan":"474","South West of England":"221","Southeast of Brazil":"149","Southeast of Ireland":"213","Southeast of Mexico":"121","Southeastern Anatolia":"518","Southern Basarabia":"93","Southern Bohemia":"437","Southern Cyprus":"705","Southern Finland":"237","Southern Great Plain":"114","Southern Low Amazon":"687","Southern Netherlands":"529","Southern Serbia":"640","Southern Taiwan":"704","Southern Thailand":"510","Southern Transdanubia":"109","Southwestern Iran":"481","Styria":"345","Styria and Carinthia":"601","Subcarpathia":"132","Sudovia":"667","Sulawesi":"464","Sumadija":"636","Sumatra":"460","Svalbard & Jan Mayen":"562","Svealand":"320","Svizzera italiana":"338","Syddanmark":"236","Tabuk":"726","Tamil Nadu":"452","Tasmania":"331","Taurida":"144","Tel Aviv Center District":"470","Tennessee":"81","Texas":"82","Thessaly":"415","Thrace":"413","Thuringia":"258","Tibet":"394","Tohoku":"485","Transilvania":"35","Transnistria":"94","Trentino-South Tyrol":"275","Trondelag":"293","Tuscany":"276","Tyrol":"346","Umbria":"277","Umm al Quwain":"741","Upper Austria":"343","Upper Carniola":"591","Upper Egypt":"734","Upper Normandy":"205","Urals":"540","Utah":"83","Uttar Pradesh":"445","Valencian Community":"180","Valley of Mexico":"115","Varna":"356","Veneto":"278","Venezuelan Andean":"123","Venezuelan Capital":"124","Vermont":"84","Vestlandet":"294","Victoria":"332","Vidin":"352","Vidzeme":"659","Virginia":"85","Visayas":"645","Vitsebskaya":"712","Vojvodina":"634","Volga":"544","Volga Vyatka":"541","Volhynia":"134","Vorarlberg":"347","Wales":"218","Wallonia":"230","Washington":"86","Wellington":"714","West Bengal":"457","West Midlands":"223","West Srpska Republic":"649","West Virginia":"87","Western Australia":"333","Western Cape":"505","Western Desert":"732","Western Finland":"238","Western Macedonia":"696","Western Netherlands":"528","Western Serbia":"638","Western Siberia":"542","Western Slovakia":"315","Western Transdanubia":"108","Wisconsin":"88","Wyoming":"89","Xinjiang":"393","Yazd":"476","Yorkshire & Humberside":"225","Yukon":"104","Yunnan":"381","Zaporozhia":"141","Zemgale":"661","Zhejiang":"382","Zona Austral":"633","Zona Central":"631","Zona Sur":"632","Zulian":"131"};
  357. var id_region = {"746":"Southeastern Albania","745":"Albanian Coast","744":"Tirana","743":"Kosovo","3":"Dobrogea","5":"Muntenia","9":"Oltenia","11":"Banat","35":"Transilvania","36":"Crisana","37":"Moldova","38":"Maramures","39":"Bucovina","40":"Alabama","41":"Alaska","42":"Arizona","43":"Arkansas","44":"California","45":"Colorado","46":"Connecticut","47":"Delaware","48":"Florida","49":"Georgia","50":"Hawaii","51":"Idaho","52":"Illinois","53":"Indiana","54":"Iowa","55":"Kansas","56":"Kentucky","57":"Louisiana","58":"Maine","59":"Maryland","60":"Massachusetts","61":"Michigan","62":"Minnesota","63":"Mississippi","64":"Missouri","65":"Montana","66":"Nebraska","67":"Nevada","68":"New Hampshire","69":"New Jersey","70":"New Mexico","71":"New York","72":"North Carolina","73":"North Dakota","74":"Ohio","75":"Oklahoma","76":"Oregon","77":"Pennsylvania","78":"Rhode Island","79":"South Carolina","80":"South Dakota","81":"Tennessee","82":"Texas","83":"Utah","84":"Vermont","85":"Virginia","86":"Washington","87":"West Virginia","88":"Wisconsin","89":"Wyoming","90":"District of Columbia","91":"Northern Basarabia","92":"Chisinau","93":"Southern Basarabia","94":"Transnistria","95":"Ontario","96":"Prince Edward Island","97":"Alberta","98":"New Brunswick","99":"Nova Scotia","100":"Quebec","101":"Saskatchewan","102":"Newfoundland and Labrador","103":"British Columbia","104":"Yukon","105":"Manitoba","106":"Northwest Territories","107":"Nunavut","108":"Western Transdanubia","109":"Southern Transdanubia","110":"Central Transdanubia","111":"Central Hungary","112":"Northern Hungary","113":"Northern Great Plain","114":"Southern Great Plain","115":"Valley of Mexico","116":"Baja","117":"Northwest of Mexico","118":"Pacific Coast of Mexico","119":"Oaxaca","120":"Gulf of Mexico","121":"Southeast of Mexico","122":"Northeast of Mexico","123":"Venezuelan Andean","124":"Venezuelan Capital","125":"Central Venezuela","126":"Central Western Venezuela","127":"Guayana","129":"Llanos","130":"North Eastern Venezuela","131":"Zulian","132":"Subcarpathia","133":"Galicia and Lodomeria","134":"Volhynia","135":"Polisia","136":"Podolia","137":"Bukovina","138":"Dnipro","139":"Siveria","140":"Bassarabia","141":"Zaporozhia","142":"Sloboda","143":"Donbas","144":"Taurida","146":"Center West of Brazil","147":"North of Brazil","148":"Northeast of Brazil","149":"Southeast of Brazil","150":"Parana and Santa Catarina","151":"Pampas","152":"Argentine Northwest","153":"South East Chaco","154":"Mesopotamia","155":"Cuyo","156":"Patagonia","157":"Lisboa","158":"Norte","159":"Centro","160":"Alentejo","161":"Algarve","162":"Azores","163":"Madeira","166":"Madrid","167":"Andalucia","168":"Aragon","169":"Asturias","170":"Basque Country","171":"Cantabria","173":"Castilla y Leon","174":"Catalonia","175":"Extremadura","176":"Galicia","177":"Murcia","178":"Navarra","179":"La Rioja","180":"Valencian Community","181":"Castilla La Mancha","183":"Canary Islands","184":"Balearic Islands","185":"Alsace","186":"Aquitaine","187":"Auvergne","188":"Brittany","189":"Burgundy","190":"Loire Valley","191":"Champagne Ardenne","192":"Corsica","193":"Franche-comte","194":"Languedoc Roussillon","195":"Limousin","196":"Lorraine","197":"Lower Normandy","198":"Midi-Pyrenees","199":"Paris Isle of France","200":"Pays de la Loire","201":"Picardy","202":"Poitou Charentes","203":"Provence Alpes Azur","204":"Rhone Alps","205":"Upper Normandy","207":"North Calais","208":"Dublin","209":"Cork and Kerry","210":"Shannon","212":"Northwest of Ireland","213":"Southeast of Ireland","215":"Northeast of Ireland","216":"London","217":"Scotland","218":"Wales","219":"Northern Ireland","220":"South East of England","221":"South West of England","222":"East Midlands","223":"West Midlands","224":"East of England","225":"Yorkshire & Humberside","226":"North East of England","227":"North West of England","228":"Brussels","229":"Flanders","230":"Wallonia","231":"Hovedstaden","232":"Midtjylland","233":"Nordjylland","235":"Sjaelland","236":"Syddanmark","237":"Southern Finland","238":"Western Finland","239":"Eastern Finland","240":"Oulu","241":"Lapland","242":"Aland","243":"Baden-Wurttemberg","244":"Bavaria","246":"Brandenburg and Berlin","249":"Hesse","250":"Mecklenburg-Western Pomerania","251":"Lower Saxony and Bremen","252":"North Rhine-Westphalia","253":"Rhineland-Palatinate","254":"Saarland","255":"Saxony","256":"Saxony-Anhalt","257":"Schleswig-Holstein and Hamburg","258":"Thuringia","259":"Abruzzo","260":"Aosta Valley","261":"Apulia","262":"Basilicata","263":"Calabria","264":"Campania","265":"Emilia-Romagna","266":"Friuli-Venezia Giulia","267":"Lazio","268":"Liguria","269":"Lombardy","270":"Marche","271":"Molise","272":"Piedmont","273":"Sardinia","274":"Sicily","275":"Trentino-South Tyrol","276":"Tuscany","277":"Umbria","278":"Veneto","291":"Nord-Norge","292":"Sorlandet","293":"Trondelag","294":"Vestlandet","295":"Ostlandet","306":"Pomerania","307":"Silesia","312":"Bratislava","315":"Western Slovakia","316":"Central Slovakia","319":"Eastern Slovakia","320":"Svealand","321":"Norrland and Sameland","322":"Jamtland Harjedalen","323":"Bohus","324":"Scania","325":"Gotaland","326":"Smaland","328":"New South Wales","329":"Queensland","330":"South Australia","331":"Tasmania","332":"Victoria","333":"Western Australia","334":"Northern Territory","336":"Deutschschweiz","337":"Romandie","338":"Svizzera italiana","339":"Graubunden","340":"Burgenland","341":"Carinthia","342":"Lower Austria","343":"Upper Austria","344":"Salzburg","345":"Styria","346":"Tyrol","347":"Vorarlberg","349":"Burgas","352":"Vidin","353":"Plovdiv","355":"Sofia","356":"Varna","358":"Ruse","361":"Anhui","362":"Fujian","363":"Gansu","364":"Guangdong","368":"Heilongjiang","370":"Hubei","371":"Hunan","372":"Jiangsu","373":"Jiangxi","375":"Liaoning","377":"Shaanxi","378":"Shandong","379":"Shanxi","380":"Sichuan","381":"Yunnan","382":"Zhejiang","384":"Guizhou","385":"Hainan","386":"Henan","387":"Jilin","389":"Qinghai","390":"Guangxi","391":"Inner Mongolia","392":"Ningxia","393":"Xinjiang","394":"Tibet","395":"Beijing","396":"Chongqing","397":"Shanghai","413":"Thrace","414":"Macedonia","415":"Thessaly","416":"Epirus","417":"Central Greece","418":"Attica","419":"Peloponnese","420":"Aegean Islands","421":"Ionian Islands","422":"Crete","423":"Mazuria","424":"Mazovia","425":"Little Poland","426":"Great Poland","437":"Southern Bohemia","440":"Moravia","442":"Northern Bohemia","443":"Northern India","445":"Uttar Pradesh","446":"Rajasthan","447":"Madhya Pradesh","448":"Gujarat","449":"Maharashtra","450":"Andhra Pradesh","451":"Karnataka","452":"Tamil Nadu","453":"Kerala","454":"Orissa","455":"Chhattisgarh","456":"Jharkhand","457":"West Bengal","458":"Bihar","459":"North Eastern India","460":"Sumatra","461":"Java","462":"Kalimantan","463":"Lesser Sunda Islands","464":"Sulawesi","465":"Maluku islands","466":"Papua","467":"Jerusalem district","468":"Nazareth North District","469":"Haifa district","470":"Tel Aviv Center District","471":"Beersheba South District","472":"Kerman Province","473":"Sistan and Baluchistan","474":"South Khorasan","475":"Razavi Khorasan","476":"Yazd","477":"Semnan","478":"Esfahan","479":"Fars","480":"Hormozgan","481":"Southwestern Iran","482":"Northwestern Iran","483":"Mazandaran and Golistan","484":"Hokkaido","485":"Tohoku","486":"Kanto","487":"Chubu","488":"Kinki","489":"Chugoku","490":"Shikoku","491":"Kyushu","492":"Balochistan","493":"North-West Frontier Province","494":"Punjab","495":"Sindh","497":"Eastern Cape","498":"Free State","499":"Gauteng","500":"KwaZulu Natal","501":"Limpopo","502":"Mpumalanga","503":"North West Province","504":"Northern Cape","505":"Western Cape","507":"Central Thailand","508":"Northern Thailand","509":"Eastern Thailand","510":"Southern Thailand","511":"North-Eastern Thailand","512":"Aegean Coast of Turkey","513":"Black Sea Coast of Turkey","514":"Central Anatolia","515":"Eastern Anatolia","516":"Marmara","517":"Mediterranean Coast of Turkey","518":"Southeastern Anatolia","519":"Gyeonggi-do","520":"Gangwon-do","521":"Chungcheongbuk-do","522":"Chungcheongnam-do","523":"Jeollabuk-do","524":"Jeollanam-do","525":"Gyeongsangbuk-do","526":"Gyeongsangnam-do","527":"Jeju","528":"Western Netherlands","529":"Southern Netherlands","530":"Eastern Netherlands","531":"Northern Netherlands","532":"Moscow and Central Russia","533":"Central Black Earth","534":"Eastern Siberia","535":"Far Eastern Russia","536":"Northern Russia","537":"North Caucasus","538":"Leningrad Oblast","540":"Urals","541":"Volga Vyatka","542":"Western Siberia","543":"Kaliningrad","544":"Volga","549":"Gotland","561":"Jammu and Kashmir","562":"Svalbard & Jan Mayen","571":"Slovenian Littoral","581":"Inner Carniola","591":"Upper Carniola","601":"Styria and Carinthia","611":"Lower Carniola","621":"Prekmurje","622":"Slavonia","623":"Central Croatia","624":"Northwest Croatia","625":"Lika and Gorski Kotar","626":"Istria and Kvarner","627":"North Dalmatia","628":"South Dalmatia","629":"Norte Grande","630":"Norte Chico","631":"Zona Central","632":"Zona Sur","633":"Zona Austral","634":"Vojvodina","635":"Belgrade","636":"Sumadija","637":"Eastern Serbia","638":"Western Serbia","639":"Raska","640":"Southern Serbia","641":"Sabah","642":"Sarawak","643":"Peninsular Malaysia ","644":"Luzon","645":"Visayas","646":"Mindanao","647":"Palawan","648":"Singapore City","649":"West Srpska Republic","650":"East Srpska Republic","651":"Brčko District","652":"Federation of BiH","653":"Rio Grande do Sul","654":"Pohja-Eesti","655":"Kirde-Eesti","656":"Kesk-Eesti","657":"Laane-Eesti","658":"Louna-Eesti","659":"Vidzeme","660":"Latgale","661":"Zemgale","662":"Kurzeme","663":"Lithuania Minor","664":"Samogitia","665":"Lithuanian Highland","666":"Dainava","667":"Sudovia","668":"Chagang","669":"Pyongan","670":"Hwangae","671":"Kangwon","672":"Hamgyong","673":"Ryanggang","674":"Charrua","675":"Paranena","676":"Central East Chaco","677":"Chuquisaca and Tarija","678":"Beni and Cochabamba","679":"Santa Cruz","680":"Bolivian Altiplano","681":"Pando","682":"Great Andes","683":"Mid Andes","684":"Low Andes","685":"Chimor","686":"Northern Low Amazon","687":"Southern Low Amazon","688":"Lima","689":"Amazonica","690":"Andina","691":"Caribe e Insular","692":"Orinoquia","693":"Pacifica","694":"Cundiboyacense","695":"Povardarie","696":"Western Macedonia","697":"Eastern Macedonia","698":"North Montenegrin Mountains","699":"Central Montenegro","700":"Montenegrin Coast","701":"Northern Taiwan","702":"Central Taiwan","703":"Eastern Taiwan","704":"Southern Taiwan","705":"Southern Cyprus","706":"Northern Cyprus","707":"Brestskaya","708":"Homelskaya","709":"Hrodzienskaya","710":"Minskaya","711":"Mahilyowskaya","712":"Vitsebskaya","713":"Auckland","714":"Wellington","715":"Canterbury","716":"Otago","717":"Al Riyadh","718":"Al Bahah","719":"Northern Borders","720":"Al Jawf","721":"Al Madinah","722":"Al Qasim","723":"Ha'il","724":"Asir","725":"Eastern Province","726":"Tabuk","727":"Najran","728":"Makkah","729":"Jizan","730":"Sinai","731":"Lower Egypt","732":"Western Desert","733":"Middle Egypt","734":"Upper Egypt","735":"Red Sea Coast","736":"Abu Dhabi","737":"Dubai","738":"Sharjah","739":"Ajman","740":"Ras al-Khaimah","741":"Umm al Quwain","742":"Fujairah"};
  358. var region_resource = {"Southeastern Albania":"oil","Albanian Coast":"fish","Tirana":"grain","Kosovo":"aluminum","Abruzzo":"oil","Abu Dhabi":"oil","Aegean Coast of Turkey":"fruit","Aegean Islands":"fish","Ajman":"fish","Al Bahah":"oil","Al Jawf":"aluminum","Al Madinah":"oil","Al Qasim":"grain","Al Riyadh":"grain","Alabama":"fruit","Aland":"fish","Alaska":"oil","Alberta":"cattle","Alentejo":"grain","Algarve":"grain","Alsace":"iron","Amazonica":"rubber","Andalucia":"saltpeter","Andhra Pradesh":"iron","Andina":"iron","Anhui":"cattle","Aosta Valley":"fruit","Apulia":"fish","Aquitaine":"rubber","Aragon":"deer","Argentine Northwest":"iron","Arizona":"cattle","Arkansas":"grain","Asir":"oil","Asturias":"iron","Attica":"fruit","Auckland":"grain","Auvergne":"grain","Azores":"fish","Baden-Wurttemberg":"iron","Baja":"saltpeter","Balearic Islands":"fish","Balochistan":"iron","Banat":"cattle","Basilicata":"fish","Basque Country":"fish","Bassarabia":"fish","Bavaria":"iron","Beersheba South District":"saltpeter","Beijing":"fish","Belgrade":"fruit","Beni and Cochabamba":"fruit","Bihar":"cattle","Black Sea Coast of Turkey":"deer","Bohus":"aluminum","Bolivian Altiplano":"iron","Brandenburg and Berlin":"fruit","Bratislava":"grain","Brestskaya":"grain","British Columbia":"deer","Brittany":"fish","Brussels":"fruit","Brčko District":"cattle","Bucovina":"deer","Bukovina":"iron","Burgas":"aluminum","Burgenland":"fruit","Burgundy":"grain","Calabria":"fish","California":"grain","Campania":"fish","Canary Islands":"fish","Cantabria":"fish","Canterbury":"iron","Caribe e Insular":"grain","Carinthia":"aluminum","Castilla La Mancha":"fruit","Castilla y Leon":"iron","Catalonia":"fish","Center West of Brazil":"grain","Central Anatolia":"saltpeter","Central Black Earth":"fruit","Central Croatia":"grain","Central East Chaco":"deer","Central Greece":"iron","Central Hungary":"aluminum","Central Montenegro":"fruit","Central Slovakia":"iron","Central Taiwan":"fish","Central Thailand":"fish","Central Transdanubia":"iron","Central Venezuela":"fish","Central Western Venezuela":"fish","Centro":"fruit","Chagang":"iron","Champagne Ardenne":"fruit","Charrua":"cattle","Chhattisgarh":"rubber","Chimor":"fish","Chisinau":"cattle","Chongqing":"cattle","Chubu":"deer","Chugoku":"fruit","Chungcheongbuk-do":"iron","Chungcheongnam-do":"grain","Chuquisaca and Tarija":"fruit","Colorado":"cattle","Connecticut":"aluminum","Cork and Kerry":"cattle","Corsica":"fish","Crete":"fish","Crisana":"grain","Cundiboyacense":"iron","Cuyo":"iron","Dainava":"iron","Delaware":"aluminum","Deutschschweiz":"iron","District of Columbia":"fruit","Dnipro":"grain","Dobrogea":"grain","Donbas":"iron","Dubai":"saltpeter","Dublin":"iron","East Midlands":"oil","East Srpska Republic":"cattle","East of England":"oil","Eastern Anatolia":"cattle","Eastern Cape":"deer","Eastern Finland":"aluminum","Eastern Macedonia":"cattle","Eastern Netherlands":"cattle","Eastern Province":"saltpeter","Eastern Serbia":"fruit","Eastern Siberia":"iron","Eastern Slovakia":"deer","Eastern Taiwan":"rubber","Eastern Thailand":"fish","Emilia-Romagna":"fruit","Epirus":"aluminum","Esfahan":"fruit","Extremadura":"fruit","Far Eastern Russia":"fish","Fars":"oil","Federation of BiH":"deer","Flanders":"fish","Florida":"fruit","Franche-comte":"fruit","Free State":"aluminum","Friuli-Venezia Giulia":"fruit","Fujairah":"fish","Fujian":"fish","Galicia":"fish","Galicia and Lodomeria":"iron","Gangwon-do":"iron","Gansu":"saltpeter","Gauteng":"fruit","Georgia":"fruit","Gotaland":"iron","Gotland":"cattle","Graubunden":"fruit","Great Andes":"iron","Great Poland":"grain","Guangdong":"oil","Guangxi":"fish","Guayana":"rubber","Guizhou":"cattle","Gujarat":"saltpeter","Gulf of Mexico":"fish","Gyeonggi-do":"grain","Gyeongsangbuk-do":"iron","Gyeongsangnam-do":"aluminum","Ha'il":"grain","Haifa district":"fish","Hainan":"fish","Hamgyong":"iron","Hawaii":"fruit","Heilongjiang":"iron","Henan":"cattle","Hesse":"aluminum","Hokkaido":"deer","Homelskaya":"deer","Hormozgan":"fish","Hovedstaden":"cattle","Hrodzienskaya":"fruit","Hubei":"cattle","Hunan":"cattle","Hwangae":"deer","Idaho":"cattle","Illinois":"oil","Indiana":"grain","Inner Carniola":"grain","Inner Mongolia":"cattle","Ionian Islands":"fish","Iowa":"grain","Istria and Kvarner":"grain","Jammu and Kashmir":"iron","Jamtland Harjedalen":"deer","Java":"cattle","Jeju":"grain","Jeollabuk-do":"grain","Jeollanam-do":"aluminum","Jerusalem district":"fruit","Jharkhand":"cattle","Jiangsu":"fish","Jiangxi":"cattle","Jilin":"cattle","Jizan":"oil","Kalimantan":"rubber","Kaliningrad":"fruit","Kangwon":"deer","Kansas":"cattle","Kanto":"aluminum","Karnataka":"rubber","Kentucky":"fruit","Kerala":"fish","Kerman Province":"fruit","Kesk-Eesti":"fruit","Kinki":"fruit","Kirde-Eesti":"oil","Kurzeme":"fish","KwaZulu Natal":"cattle","Kyushu":"fish","La Rioja":"deer","Laane-Eesti":"fish","Languedoc Roussillon":"fish","Lapland":"iron","Latgale":"cattle","Lazio":"fruit","Leningrad Oblast":"deer","Lesser Sunda Islands":"fish","Liaoning":"iron","Liguria":"fish","Lika and Gorski Kotar":"deer","Lima":"fish","Limousin":"grain","Limpopo":"fruit","Lisboa":"fish","Lithuania Minor":"fish","Lithuanian Highland":"grain","Little Poland":"deer","Llanos":"grain","Loire Valley":"grain","Lombardy":"fruit","London":"aluminum","Lorraine":"iron","Louisiana":"oil","Louna-Eesti":"fruit","Low Andes":"iron","Lower Austria":"fruit","Lower Carniola":"grain","Lower Egypt":"fruit","Lower Normandy":"fish","Lower Saxony and Bremen":"fish","Luzon":"fish","Macedonia":"fruit","Madeira":"fish","Madhya Pradesh":"cattle","Madrid":"fruit","Maharashtra":"fish","Mahilyowskaya":"fruit","Maine":"aluminum","Makkah":"oil","Maluku islands":"fish","Manitoba":"deer","Maramures":"deer","Marche":"oil","Marmara":"fruit","Maryland":"fruit","Massachusetts":"aluminum","Mazandaran and Golistan":"fruit","Mazovia":"deer","Mazuria":"grain","Mecklenburg-Western Pomerania":"fish","Mediterranean Coast of Turkey":"fruit","Mesopotamia":"aluminum","Michigan":"grain","Mid Andes":"fish","Middle Egypt":"cattle","Midi-Pyrenees":"grain","Midtjylland":"cattle","Mindanao":"iron","Minnesota":"grain","Minskaya":"grain","Mississippi":"fruit","Missouri":"cattle","Moldova":"cattle","Molise":"oil","Montana":"cattle","Montenegrin Coast":"fish","Moravia":"cattle","Moscow and Central Russia":"fruit","Mpumalanga":"cattle","Muntenia":"oil","Murcia":"fish","Najran":"saltpeter","Navarra":"deer","Nazareth North District":"fruit","Nebraska":"grain","Nevada":"cattle","New Brunswick":"cattle","New Hampshire":"aluminum","New Jersey":"aluminum","New Mexico":"cattle","New South Wales":"cattle","New York":"aluminum","Newfoundland and Labrador":"fish","Ningxia":"cattle","Nord-Norge":"fish","Nordjylland":"fish","Norrland and Sameland":"iron","Norte":"aluminum","Norte Chico":"iron","Norte Grande":"saltpeter","North Calais":"fruit","North Carolina":"fruit","North Caucasus":"oil","North Dakota":"cattle","North Dalmatia":"fish","North East of England":"fish","North Eastern India":"rubber","North Eastern Venezuela":"oil","North Montenegrin Mountains":"iron","North Rhine-Westphalia":"aluminum","North West Province":"saltpeter","North West of England":"iron","North of Brazil":"rubber","North-Eastern Thailand":"iron","North-West Frontier Province":"aluminum","Northeast of Brazil":"fish","Northeast of Ireland":"fruit","Northeast of Mexico":"fruit","Northern Basarabia":"deer","Northern Bohemia":"fruit","Northern Borders":"grain","Northern Cape":"saltpeter","Northern Cyprus":"grain","Northern Great Plain":"cattle","Northern Hungary":"iron","Northern India":"cattle","Northern Ireland":"fish","Northern Low Amazon":"oil","Northern Netherlands":"fish","Northern Russia":"fish","Northern Taiwan":"fish","Northern Territory":"saltpeter","Northern Thailand":"iron","Northwest Croatia":"grain","Northwest Territories":"fish","Northwest of Ireland":"cattle","Northwest of Mexico":"saltpeter","Northwestern Iran":"fruit","Nova Scotia":"fish","Nunavut":"fish","Oaxaca":"fish","Ohio":"grain","Oklahoma":"cattle","Oltenia":"grain","Ontario":"aluminum","Oregon":"cattle","Orinoquia":"fruit","Orissa":"fish","Ostlandet":"cattle","Otago":"iron","Oulu":"iron","Pacific Coast of Mexico":"fruit","Pacifica":"grain","Palawan":"oil","Pampas":"cattle","Pando":"fruit","Papua":"rubber","Parana and Santa Catarina":"iron","Paranena":"cattle","Paris Isle of France":"grain","Patagonia":"fish","Pays de la Loire":"fish","Peloponnese":"iron","Peninsular Malaysia ":"oil","Pennsylvania":"fruit","Picardy":"fruit","Piedmont":"fruit","Plovdiv":"iron","Podolia":"iron","Pohja-Eesti":"fish","Poitou Charentes":"rubber","Polisia":"grain","Pomerania":"fish","Povardarie":"aluminum","Prekmurje":"aluminum","Prince Edward Island":"deer","Provence Alpes Azur":"fish","Punjab":"grain","Pyongan":"cattle","Qinghai":"saltpeter","Quebec":"iron","Queensland":"rubber","Rajasthan":"saltpeter","Ras al-Khaimah":"fish","Raska":"aluminum","Razavi Khorasan":"fruit","Red Sea Coast":"fruit","Rhineland-Palatinate":"aluminum","Rhode Island":"aluminum","Rhone Alps":"fruit","Rio Grande do Sul":"iron","Romandie":"cattle","Ruse":"grain","Ryanggang":"iron","Saarland":"aluminum","Sabah":"fruit","Salzburg":"aluminum","Samogitia":"grain","Santa Cruz":"rubber","Sarawak":"rubber","Sardinia":"fish","Saskatchewan":"cattle","Saxony":"fruit","Saxony-Anhalt":"fruit","Scania":"aluminum","Schleswig-Holstein and Hamburg":"fish","Scotland":"cattle","Semnan":"saltpeter","Shaanxi":"cattle","Shandong":"oil","Shanghai":"fish","Shannon":"fruit","Shanxi":"cattle","Sharjah":"saltpeter","Shikoku":"aluminum","Sichuan":"cattle","Sicily":"fish","Silesia":"saltpeter","Sinai":"fruit","Sindh":"fruit","Singapore City":"fish","Sistan and Baluchistan":"oil","Siveria":"grain","Sjaelland":"fish","Slavonia":"cattle","Sloboda":"grain","Slovenian Littoral":"aluminum","Smaland":"cattle","Sofia":"iron","Sorlandet":"cattle","South Australia":"grain","South Carolina":"fruit","South Dakota":"cattle","South Dalmatia":"fish","South East Chaco":"cattle","South East of England":"cattle","South Khorasan":"saltpeter","South West of England":"fish","Southeast of Brazil":"fruit","Southeast of Ireland":"iron","Southeast of Mexico":"rubber","Southeastern Anatolia":"cattle","Southern Basarabia":"grain","Southern Bohemia":"iron","Southern Cyprus":"fish","Southern Finland":"aluminum","Southern Great Plain":"fruit","Southern Low Amazon":"oil","Southern Netherlands":"cattle","Southern Serbia":"aluminum","Southern Taiwan":"fish","Southern Thailand":"rubber","Southern Transdanubia":"fruit","Southwestern Iran":"oil","Styria":"aluminum","Styria and Carinthia":"deer","Subcarpathia":"iron","Sudovia":"grain","Sulawesi":"cattle","Sumadija":"iron","Sumatra":"oil","Svalbard & Jan Mayen":"fish","Svealand":"deer","Svizzera italiana":"cattle","Syddanmark":"aluminum","Tabuk":"aluminum","Tamil Nadu":"fish","Tasmania":"cattle","Taurida":"saltpeter","Tel Aviv Center District":"fish","Tennessee":"fruit","Texas":"oil","Thessaly":"aluminum","Thrace":"fruit","Thuringia":"aluminum","Tibet":"cattle","Tohoku":"fish","Transilvania":"cattle","Transnistria":"grain","Trentino-South Tyrol":"fruit","Trondelag":"oil","Tuscany":"saltpeter","Tyrol":"deer","Umbria":"fruit","Umm al Quwain":"iron","Upper Austria":"fruit","Upper Carniola":"aluminum","Upper Egypt":"iron","Upper Normandy":"fish","Urals":"iron","Utah":"cattle","Uttar Pradesh":"cattle","Valencian Community":"fish","Valley of Mexico":"fruit","Varna":"grain","Veneto":"fruit","Venezuelan Andean":"grain","Venezuelan Capital":"oil","Vermont":"aluminum","Vestlandet":"oil","Victoria":"aluminum","Vidin":"cattle","Vidzeme":"iron","Virginia":"fruit","Visayas":"fish","Vitsebskaya":"fruit","Vojvodina":"cattle","Volga":"fruit","Volga Vyatka":"deer","Volhynia":"grain","Vorarlberg":"deer","Wales":"iron","Wallonia":"iron","Washington":"cattle","Wellington":"deer","West Bengal":"cattle","West Midlands":"iron","West Srpska Republic":"grain","West Virginia":"grain","Western Australia":"saltpeter","Western Cape":"aluminum","Western Desert":"oil","Western Finland":"fish","Western Macedonia":"fruit","Western Netherlands":"oil","Western Serbia":"iron","Western Siberia":"oil","Western Slovakia":"grain","Western Transdanubia":"aluminum","Wisconsin":"grain","Wyoming":"cattle","Xinjiang":"saltpeter","Yazd":"fruit","Yorkshire & Humberside":"fish","Yukon":"aluminum","Yunnan":"cattle","Zaporozhia":"fish","Zemgale":"cattle","Zhejiang":"fish","Zona Austral":"fish","Zona Central":"deer","Zona Sur":"fish","Zulian":"oil"};
  359. var id_indtype = {'1' : 'food', '2' : 'weapon', '7' : 'grain', '8' : 'fruit', '9' : 'fish', '10' : 'cattle', '11' : 'deer', '12' : 'iron', '13' : 'oil', '14' : 'aluminum', '15' : 'saltpeter', '16' : 'rubber'};
  360. var business_modifier = {'food' : '40', 'weapon' : '40', 'grain' : '15', 'iron' : '15', 'fruit' : '30', 'oil' : '30', 'fish' : '50', 'aluminum' : '50', 'cattle' : '70', 'saltpeter' : '70', 'deer' : '100', 'rubber' : '100'};
  361.  
  362. var currentHealth = parseFloat($('#current_health').html());
  363.  
  364. var eRAopt = {'lang': 'en'};
  365. var eRAmenu = {'menu1': {'title': 'eRA', 'lnk': 'http://userscripts.org/scripts/show/80226', 'target': true}};
  366. var eRAacc = {'Gold': '0.00'};
  367. var eRAcomp = {'day': 0};
  368. var eRAexch = {'RSD': 0};
  369. var eRAinflu = {};
  370. var eRAtax = {'Serbia' : {'1' : {'vat' : '15', 'imp' : '5'}, '2' : {'vat' : '15', 'imp' : '5'}, '3' : {'vat' : '15', 'imp' : '5'}, '4' : {'vat' : '15', 'imp' : '5'}, '5' : {'vat' : '15', 'imp' : '5'}, '10' : {'vat' : '15', 'imp' : '5'}, '11' : {'vat' : '15', 'imp' : '5'}, '13' : {'vat' : '15', 'imp' : '5'}, '14' : {'vat' : '15', 'imp' : '5'}, '15' : {'vat' : '15', 'imp' : '5'}}};
  371. var eRAne = {};
  372. var eRAtime = {};
  373. var eRAdata = {};
  374. var eRAoldnews = {};
  375. var eRAsubs = {};
  376. var eRAland = {};
  377. var eRAdaily = {};
  378.  
  379. var oldFirefox = $.browser.mozilla && $.browser.version.slice(0,3) == "1.9";
  380. // ---------------------------------------------------------------------------------------------------------------------
  381.  
  382. // -- Common functions -------------------------------------------------------------------------------------------------
  383. Function.prototype.bind = function( thisObject ) {
  384. var method = this;
  385. var oldargs = [].slice.call( arguments, 1 );
  386. return function () {
  387. var newargs = [].slice.call( arguments );
  388. return method.apply( thisObject, oldargs.concat( newargs ));
  389. };
  390. };
  391.  
  392. Object.size = function(obj) {
  393. var size = 0, key;
  394. for (key in obj) {
  395. if (obj.hasOwnProperty(key)) size++;
  396. }
  397. return size;
  398. };
  399.  
  400. jQuery.fn.contentChange = function(callback) {
  401. var elms = jQuery(this);
  402. elms.each(
  403. function(i) {
  404. var elm = jQuery(this);
  405. elm.data("lastContents", elm.html());
  406. window.watchContentChange = window.watchContentChange ? window.watchContentChange : [];
  407. window.watchContentChange.push({"element": elm, "callback": callback});
  408. }
  409. );
  410. return elms;
  411. };
  412. setInterval(function() {
  413. if(window.watchContentChange) {
  414. for(i in window.watchContentChange) {
  415. if(window.watchContentChange[i].element.data("lastContents") != window.watchContentChange[i].element.html()) {
  416. window.watchContentChange[i].callback.apply(window.watchContentChange[i].element);
  417. window.watchContentChange[i].element.data("lastContents", window.watchContentChange[i].element.html());
  418. };
  419. }
  420. }
  421. },500);
  422.  
  423. jQuery.fn.attrChange = function(callback) {
  424. var elemen = jQuery(this);
  425. elemen.each(
  426. function(f) {
  427. var elmn = jQuery(this);
  428. elmn.data("lastAttribute", elmn.attr('original-title'));
  429. window.watchAttributeChange = window.watchAttributeChange ? window.watchAttributeChange : [];
  430. window.watchAttributeChange.push({"element": elmn, "callback": callback});
  431. }
  432. );
  433. return elemen;
  434. };
  435. setInterval(function() {
  436. if(window.watchAttributeChange) {
  437. for(f in window.watchAttributeChange) {
  438. if(window.watchAttributeChange[f].element.data("lastAttribute") != window.watchAttributeChange[f].element.attr('original-title')) {
  439. window.watchAttributeChange[f].callback.apply(window.watchAttributeChange[f].element);
  440. window.watchAttributeChange[f].element.data("lastAttribute", window.watchAttributeChange[f].element.attr('original-title'));
  441. };
  442. }
  443. }
  444. },500);
  445.  
  446. jQuery.fn.cssChange = function(callback) {
  447. var element = jQuery(this);
  448. element.each(
  449. function(e) {
  450. var elmnt = jQuery(this);
  451. elmnt.data("lastStyle", elmnt.css('background-position'));
  452. window.watchStyleChange = window.watchStyleChange ? window.watchStyleChange : [];
  453. window.watchStyleChange.push({"element": elmnt, "callback": callback});
  454. }
  455. );
  456. return element;
  457. };
  458. setInterval(function() {
  459. if(window.watchStyleChange) {
  460. for(e in window.watchStyleChange) {
  461. if(window.watchStyleChange[e].element.data("lastStyle") != window.watchStyleChange[e].element.css('background-position')) {
  462. window.watchStyleChange[e].callback.apply(window.watchStyleChange[e].element);
  463. window.watchStyleChange[e].element.data("lastStyle", window.watchStyleChange[e].element.css('background-position'));
  464. };
  465. }
  466. }
  467. },500);
  468.  
  469. function fixString2(string) {
  470. string = new String(string);
  471. string = string.replace(/^\s+|\s+$/g, '');
  472. string = string.replace(/(\r\n|\n|\r)/gm,"");
  473. var intIndexOfMatch = string.indexOf(" ");
  474. while (intIndexOfMatch != -1) {
  475. string = string.replace( " ", " " );
  476. intIndexOfMatch = string.indexOf( " " );
  477. }
  478. string = string.replace(/ /g, "");
  479.  
  480. return(string);
  481. }
  482.  
  483. function mathRound(number, decimal) {
  484. if (decimal == 0) {
  485. var value = Math.round(number);
  486. } else if (decimal == 1) {
  487. var value = Math.round(number * 10) / 10;
  488. } else if (decimal == 2) {
  489. var value = Math.round(number * 100) / 100;
  490. } else if (decimal == 3) {
  491. var value = Math.round(number * 1000) / 1000;
  492. } else if (decimal == 4) {
  493. var value = Math.round(number * 10000) / 10000;
  494. } else if (decimal == 5) {
  495. var value = Math.round(number * 100000) / 100000;
  496. }
  497. return (value);
  498. }
  499.  
  500. function mathFloor(number, decimal) {
  501. if (decimal == 0) {
  502. var value = Math.floor(number);
  503. } else if (decimal == 1) {
  504. var value = Math.floor(number * 10) / 10;
  505. } else if (decimal == 2) {
  506. var value = Math.floor(number * 100) / 100;
  507. } else if (decimal == 3) {
  508. var value = Math.floor(number * 1000) / 1000;
  509. } else if (decimal == 4) {
  510. var value = Math.floor(number * 10000) / 10000;
  511. } else if (decimal == 5) {
  512. var value = Math.floor(number * 100000) / 100000;
  513. }
  514. return (value);
  515. }
  516.  
  517. function colorChoose(number){
  518. if (parseFloat(number) < 0) {
  519. return 'red';
  520. } else {
  521. return '#87AE09';
  522. }
  523. }
  524.  
  525. function readSettings(name) {
  526. if (name == 'options') {
  527. var optionString = GM_getValue(era.characterId + '.Options');
  528. if (optionString != null) {
  529. var options = JSON.parse(optionString);
  530. if (options['opt1'] == true || options['opt1'] == false) {
  531. GM_deleteValue(era.characterId + '.Options');
  532. eRAopt['lang'] = LANG;
  533. } else {
  534. for(var op in options) {
  535. eRAopt[op] = options[op];
  536. }
  537. }
  538. } else {
  539. eRAopt['lang'] = LANG;
  540. }
  541. } else if (name == 'menu') {
  542. var optionString = GM_getValue(era.characterId + '.Menu');
  543. if (optionString != null) {
  544. var options = JSON.parse(optionString);
  545. for(var op in options) {
  546. eRAmenu[op] = options[op];
  547. }
  548. } else {
  549. eRAmenu['menu1']['title'] = 'eRA';
  550. eRAmenu['menu1']['lnk'] = 'http://userscripts.org/scripts/show/80226';
  551. eRAmenu['menu1']['target'] = true;
  552. }
  553. } else if (name == 'accounts') {
  554. var optionString = GM_getValue(era.characterId + '.Accounts');
  555. if (optionString != null) {
  556. var options = JSON.parse(optionString);
  557. for(var op in options) {
  558. eRAacc[op] = options[op];
  559. }
  560. } else {
  561. eRAacc['Gold'] = '0.00';
  562. }
  563. } else if (name == 'company') {
  564. var optionString = GM_getValue(era.characterId + '.Company');
  565. if (optionString != null) {
  566. var options = JSON.parse(optionString);
  567. for(var op in options) {
  568. eRAcomp[op] = options[op];
  569. }
  570. } else {
  571. eRAcomp['day'] = 1000;
  572. }
  573. } else if (name == 'exchange') {
  574. var optionString = GM_getValue(era.characterId + '.exchangeRate');
  575. if (optionString != null) {
  576. var options = JSON.parse(optionString);
  577. for(var op in options) {
  578. eRAexch[op] = options[op];
  579. }
  580. } else {
  581. eRAexch['Gold'] = '0.00';
  582. }
  583. } else if (name == 'taxes') {
  584. var optionString = GM_getValue(era.characterId + '.taxRates');
  585. if (optionString != null) {
  586. var options = JSON.parse(optionString);
  587. for(var op in options) {
  588. eRAtax[op] = options[op];
  589. }
  590. } else {
  591. eRAtax['Serbia'] = '0';
  592. }
  593. } else if (name == 'influence') {
  594. var optionString = GM_getValue(era.characterId + '.Influence');
  595. if (optionString != null) {
  596. var options = JSON.parse(optionString);
  597. for(var op in options) {
  598. eRAinflu[op] = options[op];
  599. }
  600. } else {
  601. eRAinflu = {};
  602. }
  603. } else if (name == 'natural') {
  604. var optionString = GM_getValue(era.characterId + '.Natural');
  605. if (optionString != null) {
  606. var options = JSON.parse(optionString);
  607. for(var op in options) {
  608. eRAne[op] = options[op];
  609. }
  610. } else {
  611. eRAne = {};
  612. }
  613. } else if (name == 'time') {
  614. var optionString = GM_getValue(era.characterId + '.Time');
  615. if (optionString != null) {
  616. eRAtime = optionString;
  617. } else {
  618. eRAtime = 0;
  619. }
  620. } else if (name == 'data') {
  621. var optionString = GM_getValue(era.characterId + '.Data');
  622. if (optionString != null) {
  623. var options = JSON.parse(optionString);
  624. for(var op in options) {
  625. eRAdata[op] = options[op];
  626. }
  627. } else {
  628. eRAdata = {};
  629. }
  630. } else if (name == 'newsdata') {
  631. var optionString = GM_getValue(era.characterId + '.OldNews');
  632. if (optionString != null) {
  633. var options = JSON.parse(optionString);
  634. for(var op in options) {
  635. eRAoldnews[op] = options[op];
  636. }
  637. } else {
  638. eRAoldnews = {};
  639. }
  640. } else if (name == 'subscriptions') {
  641. var optionString = GM_getValue(era.characterId + '.Subs');
  642. if (optionString != null) {
  643. var options = JSON.parse(optionString);
  644. for(var op in options) {
  645. eRAsubs[op] = options[op];
  646. }
  647. } else {
  648. eRAsubs = {};
  649. }
  650. } else if (name == 'myland') {
  651. var optionString = GM_getValue(era.characterId + '.Land');
  652. if (optionString != null) {
  653. var options = JSON.parse(optionString);
  654. for(var op in options) {
  655. eRAland[op] = options[op];
  656. }
  657. } else {
  658. eRAland = {};
  659. }
  660. } else if (name == 'dailytracker') {
  661. var optionString = GM_getValue(era.characterId + '.Dod');
  662. if (optionString != null) {
  663. var options = JSON.parse(optionString);
  664. for(var op in options) {
  665. eRAdaily[op] = options[op];
  666. }
  667. } else {
  668. eRAdaily = {};
  669. }
  670. }
  671. }
  672.  
  673. function writeSettings(pref, value) {
  674. GM_setValue(pref, JSON.stringify(value));
  675. }
  676.  
  677. function extractUrl(input) {
  678. return input.replace(/"/g,"").replace(/url\(|\)$/ig, "");
  679. }
  680.  
  681. function findElement(searchStr, arr) {
  682. for (var i in arr) {
  683. var sString = new RegExp('^' + searchStr, "g");
  684. if(i.match(sString) != null) {
  685. return (i);
  686. }
  687. }
  688. }
  689.  
  690. function sortObj(arr){
  691. var sortedKeys = new Array();
  692. var sortedObj = {};
  693.  
  694. for (var i in arr){
  695. sortedKeys.push(i);
  696. }
  697. sortedKeys.sort();
  698.  
  699. for (var i in sortedKeys){
  700. sortedObj[sortedKeys[i]] = arr[sortedKeys[i]];
  701. }
  702. return sortedObj;
  703. }
  704.  
  705. function cleanSettings() {
  706. var keys = GM_listValues();
  707. for (var key in keys) (/^undefined\.[a-z]+$/i).test(keys[key]) && GM_deleteValue(keys[key]);
  708. }
  709. // ---------------------------------------------------------------------------------------------------------------------
  710.  
  711. // -- Options tool -----------------------------------------------------------------------------------------------------
  712. function getVersion() {
  713. if (!$.browser.mozilla) {
  714. return;
  715. }
  716.  
  717. GM_xmlhttpRequest({
  718. method: 'GET',
  719. url: 'http://userscripts.org/scripts/show/80226',
  720. onload: function(responseDetails) {
  721. var currVersion = VERSION.replace(/\./gi, '');
  722. var newVersion = $(responseDetails.responseText).find('#summary').html().split('<b>Version:</b>')[1].replace(/^\s+|\s+$/g, '').split('\n')[0];
  723. var nVersion = newVersion.replace(/\./gi, '');
  724. if (parseFloat(nVersion) > parseFloat(currVersion)) {
  725. $('.versionHolder').html('<a title="Update available! New version: v ' + newVersion + '" href="http://userscripts.org/scripts/show/80226" target="_blank" style="color: #ff0000; font-weight: bold;">v ' + VERSION + '</a>');
  726. }
  727. }
  728. });
  729. }
  730.  
  731. function createSidebar() {
  732. readSettings('options');
  733. readSettings('menu');
  734. readSettings('influence');
  735.  
  736. var eToday = parseFloat($('.eday strong').html().replace(/,/gi, ''));
  737.  
  738. if (eRAinflu[eToday] == undefined || eRAinflu[eToday]['Influence'] == 'NaN') {
  739. eRAinflu[eToday] = {};
  740. eRAinflu[eToday]['Hits'] = 0;
  741. eRAinflu[eToday]['Kills'] = 0;
  742. eRAinflu[eToday]['Influence'] = 0;
  743. eRAinflu[eToday]['Rank'] = 0;
  744.  
  745. writeSettings(era.characterId + '.Influence', eRAinflu);
  746. }
  747. if (eRAinflu[eToday]['Rank'] == undefined || eRAinflu[eToday]['Rank'] == 'NaN') {
  748. eRAinflu[eToday]['Rank'] = 0;
  749.  
  750. writeSettings(era.characterId + '.Influence', eRAinflu);
  751. }
  752.  
  753. for(var i = 1; i < 10; i++) {
  754. if (eRAinflu[eToday - i] == undefined || eRAinflu[eToday - i]['Influence'] == 'NaN') {
  755. eRAinflu[eToday - i] = {};
  756. eRAinflu[eToday - i]['Hits'] = 0;
  757. eRAinflu[eToday - i]['Kills'] = 0;
  758. eRAinflu[eToday - i]['Influence'] = 0;
  759. eRAinflu[eToday - i]['Rank'] = 0;
  760.  
  761. writeSettings(era.characterId + '.Influence', eRAinflu);
  762. }
  763. if (eRAinflu[eToday - i]['Rank'] == undefined || eRAinflu[eToday - i]['Rank'] == 'NaN') {
  764. eRAinflu[eToday - i]['Rank'] = 0;
  765.  
  766. writeSettings(era.characterId + '.Influence', eRAinflu);
  767. }
  768. }
  769.  
  770. if (!eRAmenu['menu2']) {
  771. var menuTitle1 = GM_getValue(era.characterId + '.menuTitle1', null);
  772. var menuLink1 = GM_getValue(era.characterId + '.menuLink1', null);
  773. var menuTarget1 = GM_getValue(era.characterId + '.menuTarget1', null);
  774. eRAmenu['menu1'] = {title: menuTitle1, lnk: menuLink1, target: menuTarget1};
  775. var menuTitle2 = GM_getValue(era.characterId + '.menuTitle2', null);
  776. var menuLink2 = GM_getValue(era.characterId + '.menuLink2', null);
  777. var menuTarget2 = GM_getValue(era.characterId + '.menuTarget2', null);
  778. eRAmenu['menu2'] = {title: menuTitle2, lnk: menuLink2, target: menuTarget2};
  779. var menuTitle3 = GM_getValue(era.characterId + '.menuTitle3', null);
  780. var menuLink3 = GM_getValue(era.characterId + '.menuLink3', null);
  781. var menuTarget3 = GM_getValue(era.characterId + '.menuTarget3', null);
  782. eRAmenu['menu3'] = {title: menuTitle3, lnk: menuLink3, target: menuTarget3};
  783. var menuTitle4 = GM_getValue(era.characterId + '.menuTitle4', null);
  784. var menuLink4 = GM_getValue(era.characterId + '.menuLink4', null);
  785. var menuTarget4 = GM_getValue(era.characterId + '.menuTarget4', null);
  786. eRAmenu['menu4'] = {title: menuTitle4, lnk: menuLink4, target: menuTarget4};
  787. var menuTitle5 = GM_getValue(era.characterId + '.menuTitle5', null);
  788. var menuLink5 = GM_getValue(era.characterId + '.menuLink5', null);
  789. var menuTarget5 = GM_getValue(era.characterId + '.menuTarget5', null);
  790. eRAmenu['menu5'] = {title: menuTitle5, lnk: menuLink5, target: menuTarget5};
  791. var menuTitle6 = GM_getValue(era.characterId + '.menuTitle6', null);
  792. var menuLink6 = GM_getValue(era.characterId + '.menuLink6', null);
  793. var menuTarget6 = GM_getValue(era.characterId + '.menuTarget6', null);
  794. eRAmenu['menu6'] = {title: menuTitle6, lnk: menuLink6, target: menuTarget6};
  795. var menuTitle7 = GM_getValue(era.characterId + '.menuTitle7', null);
  796. var menuLink7 = GM_getValue(era.characterId + '.menuLink7', null);
  797. var menuTarget7 = GM_getValue(era.characterId + '.menuTarget7', null);
  798. eRAmenu['menu7'] = {title: menuTitle7, lnk: menuLink7, target: menuTarget7};
  799. var menuTitle8 = GM_getValue(era.characterId + '.menuTitle8', null);
  800. var menuLink8 = GM_getValue(era.characterId + '.menuLink8', null);
  801. var menuTarget8 = GM_getValue(era.characterId + '.menuTarget8', null);
  802. eRAmenu['menu8'] = {title: menuTitle8, lnk: menuLink8, target: menuTarget8};
  803.  
  804. var menuTopTitle1 = GM_getValue(era.characterId + '.menuTopTitle1', null);
  805. var menuTopLink1 = GM_getValue(era.characterId + '.menuTopLink1', null);
  806. var menuTopTarget1 = GM_getValue(era.characterId + '.menuTopTarget1', null);
  807. eRAmenu['menutop1'] = {title: menuTopTitle1, lnk: menuTopLink1, target: menuTopTarget1};
  808. var menuTopTitle2 = GM_getValue(era.characterId + '.menuTopTitle2', null);
  809. var menuTopLink2 = GM_getValue(era.characterId + '.menuTopLink2', null);
  810. var menuTopTarget2 = GM_getValue(era.characterId + '.menuTopTarget2', null);
  811. eRAmenu['menutop2'] = {title: menuTopTitle2, lnk: menuTopLink2, target: menuTopTarget2};
  812. var menuTopTitle3 = GM_getValue(era.characterId + '.menuTopTitle3', null);
  813. var menuTopLink3 = GM_getValue(era.characterId + '.menuTopLink3', null);
  814. var menuTopTarget3 = GM_getValue(era.characterId + '.menuTopTarget3', null);
  815. eRAmenu['menutop3'] = {title: menuTopTitle3, lnk: menuTopLink3, target: menuTopTarget3};
  816. var menuTopTitle4 = GM_getValue(era.characterId + '.menuTopTitle4', null);
  817. var menuTopLink4 = GM_getValue(era.characterId + '.menuTopLink4', null);
  818. var menuTopTarget4 = GM_getValue(era.characterId + '.menuTopTarget4', null);
  819. eRAmenu['menutop4'] = {title: menuTopTitle4, lnk: menuTopLink4, target: menuTopTarget4};
  820. var menuTopTitle5 = GM_getValue(era.characterId + '.menuTopTitle5', null);
  821. var menuTopLink5 = GM_getValue(era.characterId + '.menuTopLink5', null);
  822. var menuTopTarget5 = GM_getValue(era.characterId + '.menuTopTarget5', null);
  823. eRAmenu['menutop5'] = {title: menuTopTitle5, lnk: menuTopLink5, target: menuTopTarget5};
  824. var menuTopTitle6 = GM_getValue(era.characterId + '.menuTopTitle6', null);
  825. var menuTopLink6 = GM_getValue(era.characterId + '.menuTopLink6', null);
  826. var menuTopTarget6 = GM_getValue(era.characterId + '.menuTopTarget6', null);
  827. eRAmenu['menutop6'] = {title: menuTopTitle6, lnk: menuTopLink6, target: menuTopTarget6};
  828. var menuTopTitle7 = GM_getValue(era.characterId + '.menuTopTitle7', null);
  829. var menuTopLink7 = GM_getValue(era.characterId + '.menuTopLink7', null);
  830. var menuTopTarget7 = GM_getValue(era.characterId + '.menuTopTarget7', null);
  831. eRAmenu['menutop7'] = {title: menuTopTitle7, lnk: menuTopLink7, target: menuTopTarget7};
  832. var menuTopTitle8 = GM_getValue(era.characterId + '.menuTopTitle8', null);
  833. var menuTopLink8 = GM_getValue(era.characterId + '.menuTopLink8', null);
  834. var menuTopTarget8 = GM_getValue(era.characterId + '.menuTopTarget8', null);
  835. eRAmenu['menutop8'] = {title: menuTopTitle8, lnk: menuTopLink8, target: menuTopTarget8};
  836.  
  837. writeSettings(era.characterId + '.Menu', eRAmenu);
  838. }
  839.  
  840. var infoContent = '<span class="menuWindowHeader">&nbsp;</span>' +
  841. '<table border="0" cellspacing="5px" cellpadding="5px">' +
  842. '<tr>' +
  843. '<td>Author: <strong>Roktaal</strong><img src="' + authLogo + '"></td>' +
  844. '</tr>' +
  845. '<tr>' +
  846. '<td>Co-authors: <strong>asylume & frimen</strong></td>' +
  847. '</tr>' +
  848. '<tr>' +
  849. '<td>Tester: <strong>ThomasRed</strong></td>' +
  850. '</tr>' +
  851. '<tr>' +
  852. '<td>Version: <strong>v' + VERSION + '</strong></td>' +
  853. '</tr>' +
  854. '<tr>' +
  855. '<td>Release date: <strong>' + RELEASE_DAY + '</strong></td>' +
  856. '</tr>' +
  857. '<tr>' +
  858. '<td>Special thanks to: <strong>SJeB, Veljkokg, nolf, ziloslav, Brdar Dragan, drcika, Boolee, Denis Cicic, hapf, Leroy Combs, Basowy and many others.</strong></td>' +
  859. '</tr>' +
  860. '<tr>' +
  861. '<td align="center"><i>This software is donationware. You are welcome to donate eRepublik in-game gold to author of this script. Amount of gold is up to you and it reflects what you think author deserves for the effort of contributing to the eRepublik community. Software is provided \'AS IS\' and without any warranty. Use on your own responsibility.</i></td>' +
  862. '</tr>' +
  863. '</table>';
  864.  
  865. var sizeFix = $.browser.mozilla ? (oldFirefox || navigator.oscpu.indexOf('NT') > -1 && navigator.oscpu.indexOf('5.1') > -1 ? 80 : 85) : 77;
  866.  
  867. function getTopMenu(number) {
  868. string = '<div class="menuWindowContentRow">' +
  869. '<div class="menuWindowContentCell">' + number + '</div>' +
  870. '<div class="menuWindowContentCell"><input id="menuTopTitle_' + number + '" type="text" size="20"></div>' +
  871. '<div class="menuWindowContentCell"><input id="menuTopLink_' + number + '" type="text" size="' + sizeFix + '"></div>' +
  872. '<div class="menuWindowContentCell"><input id="menuTopTarget_' + number + '" type="checkbox" title="Open link in new tab?"></div>' +
  873. '</div>';
  874. return(string);
  875. }
  876.  
  877. function getMenu(number) {
  878. string = '<div class="menuWindowContentRow">' +
  879. '<div class="menuWindowContentCell">' + number + '</div>' +
  880. '<div class="menuWindowContentCell"><input id="menuTitle_' + number + '" type="text" size="20"></div>' +
  881. '<div class="menuWindowContentCell"><input id="menuLink_' + number + '" type="text" size="' + sizeFix + '"></div>' +
  882. '<div class="menuWindowContentCell"><input id="menuTarget_' + number + '" type="checkbox" title="Open link in new tab?"></div>' +
  883. '</div>';
  884. return(string);
  885. }
  886.  
  887. $('#content').css('float', 'right');
  888.  
  889. $('#content').after('<div class="optionsHolder">' +
  890. '<div id="optionsContent" class="optionsContent">&nbsp;</div>' +
  891. '<div class="versionHolder">v ' + VERSION + '</div>' +
  892. '<span class="infoHolder">' +
  893. '<div class="infoContent">' + infoContent + '</div>' +
  894. '</span>' +
  895. '</div>');
  896.  
  897. $('#optionsContent').live('click', function(e) {
  898. e.stopPropagation();
  899.  
  900. if($('#optionsContentMain').length == 0) {
  901. $('body').append('<div id="optionsContentMain" class="optionsContentMain">' +
  902. '<div class="optionsInnerHeader">' +
  903. '<a id="optionsInnerClose" class="closeButton" title="Close" href="javascript:;">&nbsp;</a>' +
  904. '</div>' +
  905. '<div class="optionsInnerContent">' +
  906. '<div class="optionsInnerItem">' +
  907. '<div class="optionsInnerItemLabel">Company managing tools </div>' +
  908. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  909. '<input desc="company" type="checkbox" id="opt1" style="margin-top: 7px; cursor: pointer;">' +
  910. '</div>' +
  911. '</div>' +
  912. '<div class="optionsInnerItemRight">' +
  913. '<div class="optionsInnerItemLabel">Monetary market tools </div>' +
  914. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  915. '<input desc="mmarket" type="checkbox" id="opt2" style="margin-top: 7px; cursor: pointer;">' +
  916. '</div>' +
  917. '</div>' +
  918. '<div class="optionsInnerItem">' +
  919. '<div class="optionsInnerItemLabel">Market tools </div>' +
  920. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  921. '<input desc="market" type="checkbox" id="opt3" style="margin-top: 7px; cursor: pointer;">' +
  922. '</div>' +
  923. '</div>' +
  924. '<div class="optionsInnerItemRight">' +
  925. '<div class="optionsInnerItemLabel">Automatic search redirection </div>' +
  926. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  927. '<input desc="search" type="checkbox" id="opt4" style="margin-top: 7px; cursor: pointer;">' +
  928. '</div>' +
  929. '</div>' +
  930. '<div class="optionsInnerItem">' +
  931. '<div class="optionsInnerItemLabel">Battlefield improvements </div>' +
  932. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  933. '<input desc="battlefield" type="checkbox" id="opt5" style="margin-top: 7px; cursor: pointer;">' +
  934. '</div>' +
  935. '</div>' +
  936. '<div class="optionsInnerItemRight">' +
  937. '<div class="optionsInnerItemLabel">Sidebar improvements </div>' +
  938. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  939. '<input desc="sidebar" type="checkbox" id="opt6" style="margin-top: 7px; cursor: pointer;">' +
  940. '</div>' +
  941. '</div>' +
  942. '<div class="optionsInnerItem">' +
  943. '<div class="optionsInnerItemLabel">Profile page improvements </div>' +
  944. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  945. '<input desc="profile" type="checkbox" id="opt7" style="margin-top: 7px; cursor: pointer;">' +
  946. '</div>' +
  947. '</div>' +
  948. '<div class="optionsInnerItemRight">' +
  949. '<div class="optionsInnerItemLabel">Elections page improvements </div>' +
  950. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  951. '<input desc="elections" type="checkbox" id="opt8" style="margin-top: 7px; cursor: pointer;">' +
  952. '</div>' +
  953. '</div>' +
  954. '<div class="optionsInnerItem">' +
  955. '<div class="optionsInnerItemLabel">Inventory improvements </div>' +
  956. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  957. '<input desc="inventory" type="checkbox" id="opt9" style="margin-top: 7px; cursor: pointer;">' +
  958. '</div>' +
  959. '</div>' +
  960. '<div class="optionsInnerItemRight">' +
  961. '<div class="optionsInnerItemLabel">Tax table on inventory page </div>' +
  962. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  963. '<input desc="taxes" type="checkbox" id="opt10" style="margin-top: 7px; cursor: pointer;">' +
  964. '</div>' +
  965. '</div>' +
  966. '<div class="optionsInnerItem">' +
  967. '<div class="optionsInnerItemLabel">Redesign of logout button </div>' +
  968. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  969. '<input desc="logout" type="checkbox" id="opt11" style="margin-top: 7px; cursor: pointer;">' +
  970. '</div>' +
  971. '</div>' +
  972. '<div class="optionsInnerItemRight">' +
  973. '<div class="optionsInnerItemLabel">Top news on main page </div>' +
  974. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  975. '<input desc="topnews" type="checkbox" id="opt12" style="margin-top: 7px; cursor: pointer;">' +
  976. '</div>' +
  977. '</div>' +
  978. '<div class="optionsInnerItem">' +
  979. '<div class="optionsInnerItemLabel">Newspaper tools </div>' +
  980. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  981. '<input desc="news" type="checkbox" id="opt13" style="margin-top: 7px; cursor: pointer;">' +
  982. '</div>' +
  983. '</div>' +
  984. '<div class="optionsInnerItemRight">' +
  985. '<div class="optionsInnerItemLabel">Additional news categories </div>' +
  986. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  987. '<input desc="categories" type="checkbox" id="opt14" style="margin-top: 7px; cursor: pointer;">' +
  988. '</div>' +
  989. '</div>' +
  990. '<div class="optionsInnerItem">' +
  991. '<div class="optionsInnerItemLabel">Military events on main page </div>' +
  992. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  993. '<input desc="milevents" type="checkbox" id="opt15" style="margin-top: 7px; cursor: pointer;">' +
  994. '</div>' +
  995. '</div>' +
  996. '<div class="optionsInnerItemRight">' +
  997. '<div class="optionsInnerItemLabel">Remove news categories </div>' +
  998. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  999. '<input desc="removecat" type="checkbox" id="opt16" style="margin-top: 7px; cursor: pointer;">' +
  1000. '</div>' +
  1001. '</div>' +
  1002. '<div class="optionsInnerItem">' +
  1003. '<div class="optionsInnerItemLabel">Subscriptions icon on sidebar </div>' +
  1004. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  1005. '<input desc="subs" type="checkbox" id="opt17" style="margin-top: 7px; cursor: pointer;">' +
  1006. '</div>' +
  1007. '</div>' +
  1008. '<div class="optionsInnerItemRight">' +
  1009. '<div class="optionsInnerItemLabel">Company names on My Land </div>' +
  1010. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  1011. '<input desc="cnames" type="checkbox" id="opt18" style="margin-top: 7px; cursor: pointer;">' +
  1012. '</div>' +
  1013. '</div>' +
  1014. '<div class="optionsInnerItem">' +
  1015. '<div class="optionsInnerItemLabel">Daily order tracker </div>' +
  1016. '<div style="float: left; line-height: 20px; margin-right: 10px;">' +
  1017. '<input desc="dotrack" type="checkbox" id="opt20" style="margin-top: 7px; cursor: pointer;">' +
  1018. '</div>' +
  1019. '</div>' +
  1020. '<div class="optionsInnerItem" style="text-align: center; float: none; width: 100%;">' +
  1021. '<div id="customQuickLinks" class="optionsInnerItemLabel_QuickLinks">Custom quick links</div>' +
  1022. '</div>' +
  1023. '</div>' +
  1024. '<div class="optionsInnerVersion">v' + VERSION + '</div>' +
  1025. '<div class="optionsInnerFooter">Note: After you change these settings reload current page in order for settings to take effect.</div>' +
  1026. '</div>');
  1027.  
  1028. $('#optionsContentMain').css('display', 'block');
  1029.  
  1030. $('#optionsInnerClose').live('click', function(e) {
  1031. e.stopPropagation();
  1032. $('#optionsContentMain').remove();
  1033. });
  1034.  
  1035. $('input[id*="opt"]').each(function() {
  1036. var numbId = $(this).attr('id').replace('opt', '');
  1037. var optName = $(this).attr('desc');
  1038. if (eRAopt[optName] == null) {
  1039. if (optName == 'removecat') {
  1040. eRAopt[optName] = false;
  1041. writeSettings(era.characterId + '.Options', eRAopt);
  1042. $(this).prop('checked', false);
  1043. } else {
  1044. eRAopt[optName] = true;
  1045. writeSettings(era.characterId + '.Options', eRAopt);
  1046. $(this).prop('checked', true);
  1047. }
  1048. } else {
  1049. $(this).prop('checked', eRAopt[optName]);
  1050. }
  1051. $(this).change(function() {
  1052. eRAopt[optName] = Boolean($(this).prop('checked'));
  1053. writeSettings(era.characterId + '.Options', eRAopt);
  1054. });
  1055. });
  1056.  
  1057. $('#customQuickLinks').click(function() {
  1058. if ($('#menuWindow').length == 0) {
  1059. $('#optionsContentMain').remove();
  1060. $('#content').append('<div id="menuWindow" class="menuWindow">' +
  1061. '<span class="menuWindowHeader">' +
  1062. '<a id="windowClose" class="closeButton" title="Close" href="javascript:;">&nbsp;</a>' +
  1063. '</span>' +
  1064. '<span class="menuWindowContent">' +
  1065. '<div>' +
  1066. '<div style="background-color: #666666; color: #e2e2e2; padding: 2px;">' +
  1067. '<input desc="menu1" type="checkbox" id="opt6_1" style="margin-bottom: 2px; margin-left: 2px; vertical-align: middle;"> Custom links at the top of page' +
  1068. '</div>' +
  1069. '</div>' +
  1070. '<div class="menuWindowContentTable">' +
  1071. '<div class="menuWindowContentRow">' +
  1072. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1073. '<div class="menuWindowContentCell">Title</div>' +
  1074. '<div class="menuWindowContentCell">Link</div>' +
  1075. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1076. '</div>' +
  1077. getTopMenu('1') +
  1078. getTopMenu('2') +
  1079. getTopMenu('3') +
  1080. getTopMenu('4') +
  1081. getTopMenu('5') +
  1082. getTopMenu('6') +
  1083. getTopMenu('7') +
  1084. getTopMenu('8') +
  1085. '<div class="menuWindowContentRow">' +
  1086. '<div class="menuWindowContentCell"></div>' +
  1087. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1088. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1089. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1090. '</div>' +
  1091. '</div>' +
  1092. '<div>' +
  1093. '<div style="background-color: #666666; color: #e2e2e2; margin-top: 5px; padding: 2px;">' +
  1094. '<input desc="menu2" type="checkbox" id="opt6_2" style="margin-bottom: 2px; margin-left: 2px; vertical-align: middle;"> Custom links below main menu' +
  1095. '</div>' +
  1096. '</div>' +
  1097. '<div class="menuWindowContentTable">' +
  1098. '<div class="menuWindowContentRow">' +
  1099. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1100. '<div class="menuWindowContentCell">Title</div>' +
  1101. '<div class="menuWindowContentCell">Link</div>' +
  1102. '<div class="menuWindowContentCell">&nbsp;</div>' +
  1103. '</div>' +
  1104. getMenu('1') +
  1105. getMenu('2') +
  1106. getMenu('3') +
  1107. getMenu('4') +
  1108. getMenu('5') +
  1109. getMenu('6') +
  1110. getMenu('7') +
  1111. getMenu('8') +
  1112. '</div>' +
  1113. '</span>' +
  1114. '</div>');
  1115.  
  1116. $('#menuTitle_1').val(eRAmenu['menu1'].title);
  1117. $('#menuLink_1').val(eRAmenu['menu1'].lnk);
  1118. $('#menuTarget_1').prop('checked', eRAmenu['menu1'].target == null ? false : eRAmenu['menu1'].target);
  1119. $('#menuTitle_2').val(eRAmenu['menu2'].title);
  1120. $('#menuLink_2').val(eRAmenu['menu2'].lnk);
  1121. $('#menuTarget_2').prop('checked', eRAmenu['menu2'].target == null ? false : eRAmenu['menu2'].target);
  1122. $('#menuTitle_3').val(eRAmenu['menu3'].title);
  1123. $('#menuLink_3').val(eRAmenu['menu3'].lnk);
  1124. $('#menuTarget_3').prop('checked', eRAmenu['menu3'].target == null ? false : eRAmenu['menu3'].target);
  1125. $('#menuTitle_4').val(eRAmenu['menu4'].title);
  1126. $('#menuLink_4').val(eRAmenu['menu4'].lnk);
  1127. $('#menuTarget_4').prop('checked', eRAmenu['menu4'].target == null ? false : eRAmenu['menu4'].target);
  1128. $('#menuTitle_5').val(eRAmenu['menu5'].title);
  1129. $('#menuLink_5').val(eRAmenu['menu5'].lnk);
  1130. $('#menuTarget_5').prop('checked', eRAmenu['menu5'].target == null ? false : eRAmenu['menu5'].target);
  1131. $('#menuTitle_6').val(eRAmenu['menu6'].title);
  1132. $('#menuLink_6').val(eRAmenu['menu6'].lnk);
  1133. $('#menuTarget_6').prop('checked', eRAmenu['menu6'].target == null ? false : eRAmenu['menu6'].target);
  1134. $('#menuTitle_7').val(eRAmenu['menu7'].title);
  1135. $('#menuLink_7').val(eRAmenu['menu7'].lnk);
  1136. $('#menuTarget_7').prop('checked', eRAmenu['menu7'].target == null ? false : eRAmenu['menu7'].target);
  1137. $('#menuTitle_8').val(eRAmenu['menu8'].title);
  1138. $('#menuLink_8').val(eRAmenu['menu8'].lnk);
  1139. $('#menuTarget_8').prop('checked', eRAmenu['menu8'].target == null ? false : eRAmenu['menu8'].target);
  1140.  
  1141. $('#menuTopTitle_1').val(eRAmenu['menutop1'].title);
  1142. $('#menuTopLink_1').val(eRAmenu['menutop1'].lnk);
  1143. $('#menuTopTarget_1').prop('checked', eRAmenu['menutop1'].target == null ? false : eRAmenu['menutop1'].target);
  1144. $('#menuTopTitle_2').val(eRAmenu['menutop2'].title);
  1145. $('#menuTopLink_2').val(eRAmenu['menutop2'].lnk);
  1146. $('#menuTopTarget_2').prop('checked', eRAmenu['menutop2'].target == null ? false : eRAmenu['menutop2'].target);
  1147. $('#menuTopTitle_3').val(eRAmenu['menutop3'].title);
  1148. $('#menuTopLink_3').val(eRAmenu['menutop3'].lnk);
  1149. $('#menuTopTarget_3').prop('checked', eRAmenu['menutop3'].target == null ? false : eRAmenu['menutop3'].target);
  1150. $('#menuTopTitle_4').val(eRAmenu['menutop4'].title);
  1151. $('#menuTopLink_4').val(eRAmenu['menutop4'].lnk);
  1152. $('#menuTopTarget_4').prop('checked', eRAmenu['menutop4'].target == null ? false : eRAmenu['menutop4'].target);
  1153. $('#menuTopTitle_5').val(eRAmenu['menutop5'].title);
  1154. $('#menuTopLink_5').val(eRAmenu['menutop5'].lnk);
  1155. $('#menuTopTarget_5').prop('checked', eRAmenu['menutop5'].target == null ? false : eRAmenu['menutop5'].target);
  1156. $('#menuTopTitle_6').val(eRAmenu['menutop6'].title);
  1157. $('#menuTopLink_6').val(eRAmenu['menutop6'].lnk);
  1158. $('#menuTopTarget_6').prop('checked', eRAmenu['menutop6'].target == null ? false : eRAmenu['menutop6'].target);
  1159. $('#menuTopTitle_7').val(eRAmenu['menutop7'].title);
  1160. $('#menuTopLink_7').val(eRAmenu['menutop7'].lnk);
  1161. $('#menuTopTarget_7').prop('checked', eRAmenu['menutop7'].target == null ? false : eRAmenu['menutop7'].target);
  1162. $('#menuTopTitle_8').val(eRAmenu['menutop8'].title);
  1163. $('#menuTopLink_8').val(eRAmenu['menutop8'].lnk);
  1164. $('#menuTopTarget_8').prop('checked', eRAmenu['menutop8'].target == null ? false : eRAmenu['menutop8'].target);
  1165.  
  1166. $('input[id*="opt"]').each(function() {
  1167. var numbId = $(this).attr('id').replace('opt', '');
  1168. var optName = $(this).attr('desc');
  1169. if (eRAopt[optName] == null) {
  1170. eRAopt[optName] = true;
  1171. writeSettings(era.characterId + '.Options', eRAopt);
  1172. $(this).prop('checked', true);
  1173. } else {
  1174. $(this).prop('checked', Boolean(eRAopt[optName]));
  1175. }
  1176. $(this).change(function() {
  1177. eRAopt[optName] = Boolean($(this).prop('checked'));
  1178. writeSettings(era.characterId + '.Options', eRAopt);
  1179. });
  1180. });
  1181.  
  1182. $('input[id*="menuTitle"]').each(function() {
  1183. var numbId = $(this).attr('id').split('_')[1];
  1184. $(this).change(function() {
  1185. eRAmenu['menu' + numbId].title = $(this).val();
  1186. writeSettings(era.characterId + '.Menu', eRAmenu);
  1187. });
  1188. });
  1189.  
  1190. $('input[id*="menuLink"]').each(function() {
  1191. var numbId = $(this).attr('id').split('_')[1];
  1192. $(this).change(function() {
  1193. eRAmenu['menu' + numbId].lnk = $(this).val();
  1194. writeSettings(era.characterId + '.Menu', eRAmenu);
  1195. });
  1196. });
  1197.  
  1198. $('input[id*="menuTarget"]').each(function() {
  1199. var numbId = $(this).attr('id').split('_')[1];
  1200. $(this).change(function() {
  1201. eRAmenu['menu' + numbId].target = Boolean($(this).prop('checked'));
  1202. writeSettings(era.characterId + '.Menu', eRAmenu);
  1203. });
  1204. });
  1205.  
  1206. $('input[id*="menuTopTitle"]').each(function() {
  1207. var numbId = $(this).attr('id').split('_')[1];
  1208. $(this).change(function() {
  1209. eRAmenu['menutop' + numbId].title = $(this).val();
  1210. writeSettings(era.characterId + '.Menu', eRAmenu);
  1211. });
  1212. });
  1213.  
  1214. $('input[id*="menuTopLink"]').each(function() {
  1215. var numbId = $(this).attr('id').split('_')[1];
  1216. $(this).change(function() {
  1217. eRAmenu['menutop' + numbId].lnk = $(this).val();
  1218. writeSettings(era.characterId + '.Menu', eRAmenu);
  1219. });
  1220. });
  1221.  
  1222. $('input[id*="menuTopTarget"]').each(function() {
  1223. var numbId = $(this).attr('id').split('_')[1];
  1224. $(this).change(function() {
  1225. eRAmenu['menutop' + numbId].target = Boolean($(this).prop('checked'));
  1226. writeSettings(era.characterId + '.Menu', eRAmenu);
  1227. });
  1228. });
  1229.  
  1230. $('#windowClose').click(function() {
  1231. $('#menuWindow').remove();
  1232. });
  1233.  
  1234. $('#menuWindow').css('display', 'block');
  1235. } else {
  1236. $('#menuWindow').remove();
  1237. }
  1238. });
  1239. } else {
  1240. $('#optionsContentMain').remove();
  1241. }
  1242. });
  1243.  
  1244. getVersion();
  1245. }
  1246. // ---------------------------------------------------------------------------------------------------------------------
  1247.  
  1248. // -- Company ----------------------------------------------------------------------------------------------------------
  1249. function getCompanyData(){
  1250. if (eRAopt['company'] == false) {
  1251. return;
  1252. }
  1253.  
  1254. if ($('.manage_company').length == 0) {
  1255. return;
  1256. }
  1257.  
  1258. readSettings('company');
  1259.  
  1260. $('.ecur').css('margin-left', '-28px');
  1261. $('.internal_content').css('position', 'relative');
  1262.  
  1263. var cId = $('.product_attributes').attr('id').split('_')[1];
  1264. var compDetailUrl = $('#company_header a:eq(0)').attr('href');
  1265. var productType = $('#product_tooltip').attr('src').split('/')[6];
  1266. var c = $('.infos .country img').attr('src').split('/')[6].split('.')[0];
  1267. var ecur = country_currency[c];
  1268.  
  1269. $('.internal_content').prepend('<div id="loadingHolder" class="loadingHolder">' +
  1270. '<table width="100%">' +
  1271. '<tr height="180px" align="center">' +
  1272. '<td style="color: #666666; font-size: 14px; font-weight: bold;">Loading data, please wait...<br/><br/><br/><img src="http://www.erepublik.com/images/parts/ajax-loader.gif"/></td>' +
  1273. '</tr>' +
  1274. '</table>' +
  1275. '</div>');
  1276.  
  1277. if(productType == 7 || productType == 12) {
  1278. var raw_td = '<td valign="top" width="132px" style="border-bottom: 0px; padding: 0px !important;">' +
  1279. '<div class="left">' +
  1280. '<p class="regular">&nbsp;</p>' +
  1281. '</div>' +
  1282. '</td>';
  1283. } else {
  1284. var raw_td = '<td valign="top" width="132px" style="border-bottom: 0px; padding: 0px !important;">' +
  1285. '<div class="left">' +
  1286. '<p class="regular">Raw cost</p>' +
  1287. '<p class="special">' +
  1288. '<span id="raw_cost">0.00 ' + ecur + '</span>' +
  1289. '</p>' +
  1290. '<p class="currency" style="font-size: 12px;">' +
  1291. '<span id="raw_cost_gold">0.000</span>' +
  1292. '<span> GOLD</span>' +
  1293. '</p>' +
  1294. '<p class="currency" style="font-size: 12px;">' +
  1295. '<span id="raw_needed">0</span>' +
  1296. '<span> raw needed</span>' +
  1297. '</p>' +
  1298. '</div>' +
  1299. '</td>';
  1300. }
  1301.  
  1302. $('.internal_content').prepend('<div class="profitTable">' +
  1303. '<table>' +
  1304. '<tr height="100px" align="center">' +
  1305. '<td>' +
  1306. '<table style="margin-left: 30px">' +
  1307. '<tr>' +
  1308. '<td valign="top" width="132px" style="border-bottom: 0px; padding: 0px !important;">' +
  1309. '<div class="left">' +
  1310. '<p class="regular">Total productivity</p>' +
  1311. '<p class="special">' +
  1312. '<span id="total_productivity">0</span>' +
  1313. '<span> products</span>' +
  1314. '</p>' +
  1315. '</div>' +
  1316. '</td>' +
  1317. raw_td +
  1318. '<td valign="top" width="132px" style="border-bottom: 0px; padding: 0px !important;">' +
  1319. '<div class="left">' +
  1320. '<p class="regular">Salary cost</p>' +
  1321. '<p class="special">' +
  1322. '<span id="total_salary">0.00 ' + ecur + '</span>' +
  1323. '</p>' +
  1324. '<p class="currency" style="font-size: 12px;">' +
  1325. '<span id="total_salary_gold">0.000</span>' +
  1326. '<span> GOLD</span>' +
  1327. '</p>' +
  1328. '</div>' +
  1329. '</td>' +
  1330. '<td valign="top" width="142px" style="border-bottom: 0px; padding: 0px !important;">' +
  1331. '<div class="left">' +
  1332. '<p class="regular">Total cost</p>' +
  1333. '<p class="special">' +
  1334. '<span id="total_cost">0.00 ' + ecur + '</span>' +
  1335. '</p>' +
  1336. '<p class="currency" style="font-size: 12px;">' +
  1337. '<span id="total_cost_gold">0.000</span>' +
  1338. '<span> GOLD</span>' +
  1339. '</p>' +
  1340. '<p class="currency" style="font-size: 12px;">' +
  1341. '<span id="total_cost_per_product">0.00 ' + ecur + '</span>' +
  1342. '<span> / prod.</span>' +
  1343. '</p>' +
  1344. '<p class="currency" style="font-size: 12px;">' +
  1345. '<span id="total_cost_per_product_gold">0.000</span>' +
  1346. '<span> GOLD / prod.</span>' +
  1347. '</p>' +
  1348. '</div>' +
  1349. '</td>' +
  1350. '<td valign="top" width="132px" style="border-bottom: 0px; padding: 0px !important;">' +
  1351. '<div class="left">' +
  1352. '<p class="regular">Daily profit</p>' +
  1353. '<p class="special">' +
  1354. '<span id="profit">0.00 ' + ecur + '</span>' +
  1355. '</p>' +
  1356. '<p class="currency" style="font-size: 12px;">' +
  1357. '<span id="profit_gold">0.000</span>' +
  1358. '<span> GOLD</span>' +
  1359. '</p>' +
  1360. '<p class="currency" style="font-size: 12px;">' +
  1361. '<span id="per_product">0.00 ' + ecur + '</span>' +
  1362. '<span> / prod.</span>' +
  1363. '</p>' +
  1364. '<p class="currency" style="font-size: 12px;">' +
  1365. '<span id="per_product_gold">0.000</span>' +
  1366. '<span> GOLD / prod.</span>' +
  1367. '</p>' +
  1368. '</div>' +
  1369. '</td>' +
  1370. '</tr>' +
  1371. '</table>' +
  1372. '</td>' +
  1373. '</tr>' +
  1374. '</table>');
  1375.  
  1376. if(productType == 7 || productType == 12) {
  1377. $('.internal_content').prepend('<table>' +
  1378. '<tr height="80px">' +
  1379. '<td style="padding: 0px 0px 10px 0px !important;">' +
  1380. '<table>' +
  1381. '<tr>' +
  1382. '<td width="153px" style="border-bottom: 0px;">&nbsp;</td>' +
  1383. '<td width="172px" class="el_salary" style="font-size: 12px; text-align: center; border-bottom: 0px;">Product price</td>' +
  1384. '<td width="172px" class="el_salary" style="font-size: 12px; text-align: center; border-bottom: 0px;">&nbsp;</td>' +
  1385. '<td width="193px" style="border-bottom: 0px;">&nbsp;</td>' +
  1386. '</tr>' +
  1387. '<tr>' +
  1388. '<td style="border-bottom: 0px;">&nbsp;</td>' +
  1389. '<td class="el_salary" style="text-align: center; border-bottom: 0px;">' +
  1390. '<input type="text" id="real_price" class="sallary_field" style="float: none; font-size: 18px; width: 70px; padding: 2px 50px 2px 2px;"></input>' +
  1391. '<span class="ecur" style="float: none; font-size: 18px; margin-left: -47px;">' + ecur + '</span>' +
  1392. '<p class="currency" style="font-size: 12px;">' +
  1393. '<span id="real_price_gold">0.000</span>' +
  1394. '<span> GOLD</span>' +
  1395. '</p>' +
  1396. '</td>' +
  1397. '<td class="el_salary" style="text-align: center; border-bottom: 0px;">&nbsp;</td>' +
  1398. '<td style="border-bottom: 0px;">&nbsp;</td>' +
  1399. '</tr>' +
  1400. '</table>' +
  1401. '</td>' +
  1402. '</tr>' +
  1403. '</table>');
  1404. } else {
  1405. $('.internal_content').prepend('<table>' +
  1406. '<tr height="80px">' +
  1407. '<td colspan="6" style="padding: 0px 0px 10px 0px !important;">' +
  1408. '<table>' +
  1409. '<tr>' +
  1410. '<td width="153px" style="border-bottom: 0px;">&nbsp;</td>' +
  1411. '<td width="172px" class="el_salary" style="font-size: 12px; text-align: center; border-bottom: 0px;">Product price</td>' +
  1412. '<td width="172px" class="el_salary" style="font-size: 12px; text-align: center; border-bottom: 0px;">Raw price</td>' +
  1413. '<td width="193px" style="border-bottom: 0px;">&nbsp;</td>' +
  1414. '</tr>' +
  1415. '<tr>' +
  1416. '<td style="border-bottom: 0px;">&nbsp;</td>' +
  1417. '<td class="el_salary" style="text-align: center; border-bottom: 0px;">' +
  1418. '<input type="text" id="real_price" class="sallary_field" style="float: none; font-size: 18px; width: 70px; padding: 2px 50px 2px 2px;"></input>' +
  1419. '<span class="ecur" style="float: none; font-size: 18px; margin-left: -47px;">' + ecur + '</span>' +
  1420. '<p class="currency" style="font-size: 12px;">' +
  1421. '<span id="real_price_gold">0.000</span>' +
  1422. '<span> GOLD</span>' +
  1423. '</p>' +
  1424. '</td>' +
  1425. '<td class="el_salary" style="text-align:center; border-bottom: 0px;">' +
  1426. '<input type="text" id="real_raw_price" class="sallary_field" style="float: none; font-size: 18px; width: 70px; padding: 2px 50px 2px 2px;"></input>' +
  1427. '<span class="ecur" style="float: none; font-size: 18px; margin-left: -47px;">' + ecur + '</span>' +
  1428. '<p class="currency" style="font-size: 12px;">' +
  1429. '<span id="real_raw_price_gold">0.000</span>' +
  1430. '<span> GOLD</span>' +
  1431. '</p>' +
  1432. '</td>' +
  1433. '<td style="border-bottom: 0px;">&nbsp;</td>' +
  1434. '</tr>' +
  1435. '</table>' +
  1436. '</td>' +
  1437. '</tr>' +
  1438. '</table>');
  1439. }
  1440.  
  1441. var compData = null;
  1442.  
  1443. if (eRAcomp[cId] == undefined) {
  1444. eRAcomp[cId] = {};
  1445. }
  1446. eRAcomp[cId].exchange = {};
  1447. writeSettings(era.characterId + '.Company', eRAcomp);
  1448.  
  1449. var prepared = new Array();
  1450.  
  1451. function run(variable) {
  1452. prepared[variable] = true;
  1453.  
  1454. if (prepared['exchange']) {
  1455. $('#loadingHolder').animate({ 'opacity': '0' }, 1000, function() {
  1456. $('.internal_content').css('position', '');
  1457. $('#loadingHolder').remove();
  1458. });
  1459.  
  1460. calcUserProfit();
  1461. }
  1462. }
  1463.  
  1464. GM_xmlhttpRequest({
  1465. method: 'GET',
  1466. url: 'http://www.erepublik.com/en/exchange/listOffers?select_page=select&buy_currency_history_id=buy_currencies=' + country_id[c.toLowerCase()] + '&sell_currency_history_id=sell_currencies=62&account_type=citizen-&action_path=listOffers&page=page=1',
  1467. onload: function(response) {
  1468. eRAcomp[cId].exchange[country_currency[c]] = $(response.responseText).find('.special').eq(2).text();
  1469. writeSettings(era.characterId + '.Company', eRAcomp);
  1470.  
  1471. run('exchange');
  1472. }
  1473. });
  1474.  
  1475. if(!$.browser.mozilla) $('div[class="internal_content"] table:first span[class="ecur"]').css('font-size', '17px').css('margin-left', '-43px'); // frimen
  1476. }
  1477.  
  1478. function reCalc(prodLevel, f_total_productivity, product_price, f_total_salary, rawPerProd, ecur, ex_rate, f_total_cost, raw_price, tax_rate) {
  1479. if (prodLevel == -1) {
  1480. var fProfit = f_total_productivity * (product_price / (1 + tax_rate / 100)) - f_total_salary;
  1481.  
  1482. $('#real_price_gold').html(mathRound((product_price / (1 + tax_rate / 100)) * ex_rate, 5).toFixed(5));
  1483.  
  1484. $('#total_productivity').html(mathRound(f_total_productivity, 0).toFixed(0));
  1485.  
  1486. $('#total_salary').html(mathRound(f_total_salary, 2).toFixed(2) + ' ' + ecur);
  1487. $('#total_salary_gold').html(mathRound(f_total_salary * ex_rate, 5).toFixed(5));
  1488.  
  1489. $('#profit').html(mathRound(fProfit, 2).toFixed(2) + ' ' + ecur);
  1490. $('#profit').css('color', colorChoose(mathRound(fProfit, 2).toFixed(2)));
  1491. $('#profit_gold').html(mathRound(fProfit * ex_rate, 5).toFixed(5));
  1492. $('#per_product').html(mathRound(f_total_productivity ? fProfit / f_total_productivity : 0, 2).toFixed(2) + ' ' + ecur); // frimen
  1493. $('#per_product_gold').html(mathRound((f_total_productivity ? fProfit / f_total_productivity : 0) * ex_rate, 5).toFixed(5)); // frimen
  1494.  
  1495. $('#total_cost').html(mathRound(f_total_cost, 2).toFixed(2) + ' ' + ecur);
  1496. $('#total_cost_gold').html(mathRound(f_total_cost * ex_rate, 5).toFixed(5));
  1497. $('#total_cost_per_product').html(mathRound(f_total_productivity ? f_total_cost / f_total_productivity : 0, 2).toFixed(2) + ' ' + ecur); // frimen
  1498. $('#total_cost_per_product_gold').html(mathRound((f_total_productivity ? f_total_cost / f_total_productivity : 0) * ex_rate, 5).toFixed(5)); // frimen
  1499. } else {
  1500. var pUnits = f_total_productivity;
  1501. var rawCost = pUnits * rawPerProd * raw_price;
  1502. var fProfit = pUnits * (product_price / (1 + tax_rate / 100)) - f_total_salary - rawCost;
  1503.  
  1504. $('#real_price_gold').html(mathRound((product_price / (1 + tax_rate / 100)) * ex_rate, 5).toFixed(5));
  1505. $('#real_raw_price_gold').html(mathRound(raw_price * ex_rate, 5).toFixed(5));
  1506.  
  1507. $('#total_productivity').html(mathRound(f_total_productivity, 0).toFixed(0));
  1508.  
  1509. $('#raw_cost').html(mathRound(pUnits * rawPerProd * raw_price, 2).toFixed(2) + ' '+ecur);
  1510. $('#raw_cost_gold').html(mathRound(pUnits * rawPerProd * raw_price * ex_rate, 5).toFixed(5));
  1511. $('#raw_needed').html(mathRound(pUnits * rawPerProd, 2).toFixed(2));
  1512.  
  1513. $('#total_salary').html(mathRound(f_total_salary, 2).toFixed(2) + ' ' + ecur);
  1514. $('#total_salary_gold').html(mathRound(f_total_salary * ex_rate, 5).toFixed(5));
  1515.  
  1516. $('#profit').html(mathRound(fProfit, 2).toFixed(2) + ' ' + ecur);
  1517. $('#profit').css('color', colorChoose(mathRound(fProfit, 2).toFixed(2)));
  1518. $('#profit_gold').html(mathRound(fProfit * ex_rate, 5).toFixed(5));
  1519. $('#per_product').html(mathRound(pUnits ? fProfit / pUnits : 0, 2).toFixed(2) + ' ' + ecur); // frimen
  1520. $('#per_product_gold').html(mathRound((pUnits ? fProfit / pUnits : 0) * ex_rate, 5).toFixed(5)); // frimen
  1521.  
  1522. $('#total_cost').html(mathRound(f_total_cost, 2).toFixed(2) + ' ' + ecur);
  1523. $('#total_cost_gold').html(mathRound(f_total_cost * ex_rate, 5).toFixed(5));
  1524. $('#total_cost_per_product').html(mathRound(pUnits ? f_total_cost / pUnits : 0, 2).toFixed(2) + ' ' + ecur); // frimen
  1525. $('#total_cost_per_product_gold').html(mathRound((pUnits ? f_total_cost / pUnits : 0) * ex_rate, 5).toFixed(5)); // frimen
  1526. }
  1527. }
  1528.  
  1529. function calcUserProfit(){
  1530. readSettings('company');
  1531. readSettings('taxes');
  1532.  
  1533. var rowCount = $('#employee_list >table >tbody >tr').length;
  1534. var companyId = $('.product_attributes').attr('id').split('_')[1];
  1535. var ecur = $('.ecur').eq(0).text();
  1536.  
  1537. var prodType = $('#product_tooltip').attr('src').split('/')[6];
  1538.  
  1539. var eToday = parseFloat($('.eday strong').html().replace(/,/gi, ''));
  1540. var eTodayIndex = (eToday - 965) % 7;
  1541.  
  1542. var prodLevel = 1;
  1543. var rawPerProd = 1;
  1544.  
  1545. var tax_rate = parseFloat(eRAtax[currency_country[ecur]][prodType].vat); //Original Price = Total Price / (1 + Tax Rate / 100)
  1546.  
  1547. if (eRAcomp[companyId].unitprice == undefined) {
  1548. var product_price = 0;
  1549. } else {
  1550. var product_price = parseFloat(eRAcomp[companyId].unitprice);
  1551. }
  1552. if (eRAcomp[companyId].rawprice == undefined) {
  1553. var raw_price = 0;
  1554. } else {
  1555. var raw_price = parseFloat(eRAcomp[companyId].rawprice);
  1556. }
  1557. var ex_rate = eRAcomp[companyId].exchange[ecur];
  1558.  
  1559. var f_total_productivity = 0;
  1560. var f_salary = 0;
  1561. var f_total_salary = 0;
  1562. var f_profit = 0;
  1563. var f_total_profit = 0;
  1564. var f_prodCount = 0;
  1565. var f_cost = 0;
  1566. var f_total_cost = 0;
  1567.  
  1568. $('.el_mainh').append('<th class="el_employee" style="padding: 3px 10px 3px 5px; width: 50px;">Profit</th>');
  1569. $('.el_days').append('<th>&nbsp;</th>');
  1570. $('#employee_list table tbody tr .el_salary').each(function(index, ele) {
  1571. var profileId = $('.el_img').eq(index).attr('href');
  1572. profileId = profileId.substring(profileId.lastIndexOf('/') + 1);
  1573. $('.el_img').eq(index).after('<div style="padding-top: 6px;">' +
  1574. '<a href="http://economy.erepublik.com/' + era.hostLang + '/citizen/donate/' + profileId + '" style="margin-right: 3px;">' +
  1575. '<img title="Donate" src="' + iconDonate + '" style="border: none;">' +
  1576. '</a>' +
  1577. '<a href="http://www.erepublik.com/' + era.hostLang + '/main/messages-compose/' + profileId + '">' +
  1578. '<img title="Send message" src="' + iconMessage + '" style="border: none;">' +
  1579. '</a>' +
  1580. '</div>');
  1581. $(this).after('<td class="profitHolder" style="padding: 3px 0px 3px 5px;"></td>');
  1582. });
  1583.  
  1584. if(prodType == 7 || prodType == 12) {
  1585. prodLevel = -1;
  1586. } else {
  1587. prodLevel = $('.product_type').attr('quality');
  1588.  
  1589. if(prodType == 1) {
  1590. rawPerProd = parseFloat(prodLevel);
  1591. } else if(prodType == 2) {
  1592. rawPerProd = parseFloat(prodLevel) * 10;
  1593. }
  1594. }
  1595.  
  1596. if (eRAcomp['day'] != eToday) {
  1597. eRAcomp['day'] = eToday;
  1598. writeSettings(era.characterId + '.Company', eRAcomp);
  1599. }
  1600.  
  1601. if(prodType == 7 || prodType == 12) {
  1602. $('#real_price').val(mathRound(product_price, 3).toFixed(3));
  1603. } else {
  1604. $('#real_price').val(mathRound(product_price, 3).toFixed(3));
  1605. $('#real_raw_price').val(mathRound(raw_price, 3).toFixed(3));
  1606. }
  1607.  
  1608. // calculate profit for each employee
  1609. $('#employee_list table tbody tr .el_salary').each(function(index, ele) {
  1610. var workerData = null;
  1611.  
  1612. $('.profitHolder').eq(index).html('');
  1613.  
  1614. var profileId = $('.el_img').eq(index).attr('href');
  1615. profileId = profileId.substring(profileId.lastIndexOf('/') + 1);
  1616. var salary = $(this).find('input').val();
  1617.  
  1618. if (eRAcomp[companyId].workersalary == undefined) {
  1619. eRAcomp[companyId].workersalary = {};
  1620. }
  1621. eRAcomp[companyId].workersalary[profileId] = salary;
  1622. writeSettings(era.characterId + '.Company', eRAcomp);
  1623.  
  1624. if(prodLevel == -1) {
  1625. var workResultTD = $('.el_day').eq(index * 7 + eTodayIndex);
  1626.  
  1627. if (workResultTD.text() != '') {
  1628. f_prodCount = $('strong', workResultTD).text();
  1629. f_profit = f_prodCount * (product_price / (1 + tax_rate / 100)) - parseFloat(salary);
  1630. f_cost = parseFloat(salary);
  1631.  
  1632. $('.profitHolder').eq(index).append('<strong style="font-size: 11px; color:' + colorChoose(f_profit) + '" id="f_profit_' + profileId + '" title="Profit by the fact">&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2) + '</strong><br/>');
  1633.  
  1634. f_total_profit += f_profit;
  1635. f_total_productivity += parseFloat(f_prodCount);
  1636. f_total_salary += parseFloat(salary);
  1637. f_total_cost += f_cost;
  1638. } else {
  1639. $('.profitHolder').eq(index).append('&nbsp;&nbsp;&nbsp;&mdash;&nbsp;&nbsp;<br/>');
  1640. }
  1641. } else {
  1642. var workResultTD = $('.el_day').eq(index * 7 + eTodayIndex);
  1643.  
  1644. if(workResultTD.text() != '') {
  1645. f_prodCount = $('strong', workResultTD).text();
  1646. f_profit = f_prodCount * (product_price / (1 + tax_rate / 100)) - parseFloat(salary) - (f_prodCount * rawPerProd) * raw_price;
  1647. f_cost = parseFloat(salary) + (f_prodCount * rawPerProd) * raw_price;
  1648.  
  1649. $('.profitHolder').eq(index).append('<strong style="font-size: 11px; color:' + colorChoose(f_profit) + '" id="f_profit_' + profileId + '" title="Profit by the fact">&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2) + '</strong><br/>');
  1650.  
  1651. f_total_profit += f_profit;
  1652. f_total_productivity += parseFloat(f_prodCount);
  1653. f_total_salary += parseFloat(salary);
  1654. f_total_cost += f_cost;
  1655. } else {
  1656. $('.profitHolder').eq(index).append('&nbsp;&nbsp;&nbsp;&mdash;&nbsp;&nbsp;<br/>');
  1657. }
  1658. }
  1659. reCalc(prodLevel, f_total_productivity, product_price, f_total_salary, rawPerProd, ecur, ex_rate, f_total_cost, raw_price, tax_rate);
  1660. });
  1661.  
  1662. // Live functions
  1663. $('#employee_list table tbody tr .el_salary input[id^="salary_"]').live('keyup', function() {
  1664. product_price = parseFloat( $('#real_price').val() );
  1665. if (parseFloat( $('#real_raw_price').val() ) != null || parseFloat( $('#real_raw_price').val() ) != undefined || parseFloat( $('#real_raw_price').val() ) != '') {
  1666. raw_price = parseFloat( $('#real_raw_price').val() );
  1667. } else {
  1668. raw_price = 0;
  1669. }
  1670.  
  1671. var workerId = $(this).attr('id').split('_')[1];
  1672. var oldSalary = parseFloat(eRAcomp[companyId].workersalary[workerId]);
  1673. var newSalary = $(this).val();
  1674.  
  1675. if (isNaN($(this).val()) || $(this).val() == '') {
  1676. $(this).val(oldSalary);
  1677. newSalary = oldSalary;
  1678. }
  1679.  
  1680. eRAcomp[companyId].workersalary[workerId] = newSalary;
  1681. writeSettings(era.characterId + '.Company', eRAcomp);
  1682.  
  1683. if (prodLevel == -1) {
  1684. var workResultTD = $(this).parent().parent().parent().find('.el_day').eq(eTodayIndex);
  1685.  
  1686. if(workResultTD.text() != '') {
  1687. f_prodCount = $('strong', workResultTD).text();
  1688. var old_f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(oldSalary);
  1689. f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(newSalary);
  1690.  
  1691. $('strong[id="f_profit_' + workerId + '"]').css('color', colorChoose(f_profit));
  1692. $('strong[id="f_profit_' + workerId + '"]').html('&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2));
  1693.  
  1694. f_total_profit = f_total_profit - old_f_profit + f_profit;
  1695. f_total_salary = f_total_salary - parseFloat(oldSalary) + parseFloat(newSalary);
  1696. f_total_cost = f_total_cost - parseFloat(oldSalary) + parseFloat(newSalary);
  1697. }
  1698. } else {
  1699. var workResultTD = $(this).parent().parent().parent().find('.el_day').eq(eTodayIndex);
  1700.  
  1701. if(workResultTD.text() != '') {
  1702. f_prodCount = $('strong', workResultTD).text();
  1703. var old_f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(oldSalary) - (f_prodCount * rawPerProd) * parseFloat( $('#real_raw_price').val() );
  1704. f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(newSalary) - (f_prodCount * rawPerProd) * parseFloat( $('#real_raw_price').val() );
  1705.  
  1706. $('strong[id="f_profit_' + workerId + '"]').css('color', colorChoose(f_profit));
  1707. $('strong[id="f_profit_' + workerId + '"]').html('&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2));
  1708.  
  1709. f_total_profit = f_total_profit - old_f_profit + f_profit;
  1710. f_total_salary = f_total_salary - parseFloat(oldSalary) + parseFloat(newSalary);
  1711. f_total_cost = f_total_cost - parseFloat(oldSalary) + parseFloat(newSalary);
  1712. }
  1713. }
  1714.  
  1715. reCalc(prodLevel, f_total_productivity, product_price, f_total_salary, rawPerProd, ecur, ex_rate, f_total_cost, raw_price, tax_rate);
  1716.  
  1717. return false;
  1718. });
  1719.  
  1720. $('#real_price').live('keyup', function(){
  1721. if (isNaN($(this).val()) || $(this).val() == '') {
  1722. $(this).val(eRAcomp[companyId].unitprice);
  1723. }
  1724.  
  1725. product_price = parseFloat( $('#real_price').val() );
  1726. if (parseFloat( $('#real_raw_price').val() ) != null || parseFloat( $('#real_raw_price').val() ) != undefined || parseFloat( $('#real_raw_price').val() ) != '') {
  1727. raw_price = parseFloat( $('#real_raw_price').val() );
  1728. } else {
  1729. raw_price = 0;
  1730. }
  1731.  
  1732. eRAcomp[companyId].unitprice = $('#real_price').val();
  1733. writeSettings(era.characterId + '.Company', eRAcomp);
  1734.  
  1735. $('#employee_list table tbody tr .el_salary').each(function(index, ele) {
  1736. var profileId = $('.el_img').eq(index).attr('href');
  1737. profileId = profileId.substring(profileId.lastIndexOf('/') + 1);
  1738. var salary = $(this).find('input').val();
  1739.  
  1740. if (prodLevel == -1) {
  1741. var workResultTD = $('.el_day').eq(index * 7 + eTodayIndex);
  1742.  
  1743. if(workResultTD.text() != '') {
  1744. f_prodCount = $('strong', workResultTD).text();
  1745. f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(salary);
  1746.  
  1747. $('strong[id="f_profit_' + profileId + '"]').css('color', colorChoose(f_profit));
  1748. $('strong[id="f_profit_' + profileId + '"]').html('&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2));
  1749. }
  1750. } else {
  1751. var workResultTD = $('.el_day').eq(index * 7 + eTodayIndex);
  1752.  
  1753. if(workResultTD.text() != '') {
  1754. f_prodCount = $('strong', workResultTD).text();
  1755. f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(salary) - (f_prodCount * rawPerProd) * parseFloat( $('#real_raw_price').val() );
  1756.  
  1757. $('strong[id="f_profit_' + profileId + '"]').css('color', colorChoose(f_profit));
  1758. $('strong[id="f_profit_' + profileId + '"]').html('&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2));
  1759. }
  1760. }
  1761. });
  1762.  
  1763. reCalc(prodLevel, f_total_productivity, product_price, f_total_salary, rawPerProd, ecur, ex_rate, f_total_cost, raw_price, tax_rate);
  1764.  
  1765. return false;
  1766. });
  1767.  
  1768. $('#real_raw_price').live('keyup', function(){
  1769. if (isNaN($(this).val()) || $(this).val() == '') {
  1770. $(this).val(eRAcomp[companyId].rawprice);
  1771. }
  1772.  
  1773. var old_raw_price = parseFloat(eRAcomp[companyId].rawprice);
  1774. product_price = parseFloat( $('#real_price').val() );
  1775. if (parseFloat( $('#real_raw_price').val() ) != null || parseFloat( $('#real_raw_price').val() ) != undefined || parseFloat( $('#real_raw_price').val() ) != '') {
  1776. raw_price = parseFloat( $('#real_raw_price').val() );
  1777. } else {
  1778. raw_price = 0;
  1779. }
  1780.  
  1781. eRAcomp[companyId].rawprice = $('#real_raw_price').val();
  1782. writeSettings(era.characterId + '.Company', eRAcomp);
  1783.  
  1784. $('#employee_list table tbody tr .el_salary').each(function(index, ele) {
  1785. var profileId = $('.el_img').eq(index).attr('href');
  1786. profileId = profileId.substring(profileId.lastIndexOf('/') + 1);
  1787. var salary = $(this).find('input').val();
  1788.  
  1789. var workResultTD = $('.el_day').eq(index * 7 + eTodayIndex);
  1790.  
  1791. if(workResultTD.text() != '') {
  1792. f_prodCount = $('strong', workResultTD).text();
  1793. var old_f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(salary) - (f_prodCount * rawPerProd) * old_raw_price;
  1794. f_profit = f_prodCount * (parseFloat( $('#real_price').val() ) / (1 + tax_rate / 100)) - parseFloat(salary) - (f_prodCount * rawPerProd) * parseFloat( $('#real_raw_price').val() );
  1795. var old_f_cost = parseFloat(salary) + (f_prodCount * rawPerProd) * old_raw_price;
  1796. f_cost = parseFloat(salary) + (f_prodCount * rawPerProd) * raw_price;
  1797.  
  1798. $('strong[id="f_profit_' + profileId + '"]').css('color', colorChoose(f_profit));
  1799. $('strong[id="f_profit_' + profileId + '"]').html('&nbsp;&nbsp;' + mathRound(f_profit, 2).toFixed(2));
  1800.  
  1801. f_total_profit = f_total_profit - old_f_profit + f_profit;
  1802. f_total_cost = f_total_cost - parseFloat(old_f_cost) + parseFloat(f_cost);
  1803. }
  1804. });
  1805.  
  1806. reCalc(prodLevel, f_total_productivity, product_price, f_total_salary, rawPerProd, ecur, ex_rate, f_total_cost, raw_price, tax_rate);
  1807.  
  1808. return false;
  1809. });
  1810. }
  1811. // ---------------------------------------------------------------------------------------------------------------------
  1812.  
  1813. // -- Monetary market --------------------------------------------------------------------------------------------------
  1814. function createMonMarketSwitch() {
  1815. if (eRAopt['mmarket'] == false) {
  1816. return;
  1817. }
  1818.  
  1819. if($('#currency_switch').size() <= 0) {
  1820. var changeLink = '<a id="currency_switch" href="javascript:void(0)" style="display: block; position: relative; left: 10px; top: -20px;"><img src="http://www.erepublik.com/images/parts/icon_show-off.gif"/>&nbsp;&nbsp;Swap currency</a>';
  1821. $('#filters .rightfilters').append(changeLink);
  1822. var startingLink = window.location.href.split('#')[0];
  1823. var curLink = $('#buy_selector').attr('href').split('=');
  1824. var newLink = startingLink + '#buy_currencies=' + curLink[2].substring(0, curLink[2].indexOf(';')) + ';sell_currencies=' + curLink[1].substring(0, curLink[1].indexOf(';')) + ';page=1';
  1825. $.browser.mozilla ? $('#currency_switch').attr('href', newLink) : $('#currency_switch').attr('href', newLink.replace('http://www.', 'http://')); // frimen
  1826. }
  1827.  
  1828. window.setTimeout(createMonMarketSwitch, 500);
  1829. calculateCounterExchangeRate();
  1830. createButtons();
  1831. calculateTotals();
  1832. }
  1833.  
  1834. function createButtons() {
  1835. if ($('input[id*="allButton_"]').size() <= 0) {
  1836. if (location.href.split('/')[5] == undefined) {
  1837. $('#table_list_offers th:eq(0)').attr('width', '180');
  1838. $('#table_list_offers th:last').attr('width', '270');
  1839. $('input[id*="submit_form_accept_"]').each(function() {
  1840. var mmId = $(this).attr('id').split('_')[3];
  1841.  
  1842. $(this).before('<input type="button" class="mMarketButton" value="All" id="allButton_' + mmId + '">&nbsp;<input type="button" class="mMarketButton" value="Max" id="maxButton_' + mmId + '">&nbsp;');
  1843. });
  1844.  
  1845. $('input[id^="allButton_"]').click(function() {
  1846. var allAmount = parseFloat($(this).parent().parent().find('span[id*="initial_amount_"]').text());
  1847. var exRate = parseFloat($(this).parent().parent().find('span[id^="exchange_value_amount_"]').text());
  1848. var currToBuy = $('#currency_account_for_buy').html();
  1849. var currToSell = $('#currency_account_for_sell').html();
  1850.  
  1851. if(currToBuy == 'GOLD' && allAmount > 10) allAmount = 10;
  1852. else if(currToSell == 'GOLD' && allAmount > 10 / exRate) allAmount = 10 / exRate;
  1853. $(this).parent().find('input[id*="form_amount_accept_"]').attr('value', allAmount);
  1854. });
  1855.  
  1856. $('input[id^="maxButton_"]').click(function() {
  1857. var currToBuy = $('#currency_account_for_buy').html();
  1858. var currToSell = $('#currency_account_for_sell').html();
  1859. var mmCurrency = $(this).parent().parent().find('.currency').eq(2).text();
  1860. if (mmCurrency == 'GOLD') {
  1861. mmCurrency = 'Gold';
  1862. }
  1863. var userMoney = eRAacc[mmCurrency];
  1864. var maxAmount = parseFloat($(this).parent().parent().find('span[id*="initial_amount_"]').text());
  1865. var exRate = parseFloat($(this).parent().parent().find('span[id^="exchange_value_amount_"]').text());
  1866.  
  1867. var finalAmount = mathFloor(parseFloat(userMoney) / parseFloat(exRate), 2).toFixed(2);
  1868.  
  1869. if(currToBuy == 'GOLD' && maxAmount > 10) maxAmount = 10;
  1870. else if(currToSell == 'GOLD' && maxAmount > 10 / exRate) maxAmount = 10 / exRate;
  1871.  
  1872. if (finalAmount > maxAmount) {
  1873. $(this).parent().find('input[id*="form_amount_accept_"]').attr('value', maxAmount);
  1874. } else {
  1875. $(this).parent().find('input[id*="form_amount_accept_"]').attr('value', finalAmount);
  1876. }
  1877. });
  1878. }
  1879. }
  1880. }
  1881.  
  1882. function calculateCounterExchangeRate() {
  1883. $('span[id^="exchange_value_amount_"]').each(function(i) {
  1884. var xChangeRate = $(this).text();
  1885. var counterXRate = Math.round(100000 / xChangeRate) / 100000;
  1886.  
  1887. $(this).attr('title', '1 ' + $(this).parent().find('.currency').eq(1).text() + ' = ' + counterXRate + ' ' + $(this).parent().find('.currency').eq(0).text());
  1888. $(this).css('cursor', 'default');
  1889. });
  1890. }
  1891.  
  1892. function calculateTotals() {
  1893. var totalAmmount = 0;
  1894. var offerList = $('span[id^="initial_amount_"]');
  1895.  
  1896. for (var i = 0; i < offerList.length; i++) {
  1897. totalAmmount += parseFloat(offerList[i].innerHTML);
  1898. }
  1899.  
  1900. if (totalAmmount > 0) {
  1901. var currencyTag = $('span[id^="initial_amount_"]').eq(0).parent().find('.currency').html();
  1902. if ($('#totalHolder').length == 0) {
  1903. $('#table_list_offers tr:last').after('<tr><td id="totalHolder"><span class="fakeheight">Total</span></td><td id="totalValue" colspan="3"><span class="special green">' + mathRound(totalAmmount, 2).toFixed(2) + '</span><span class="currency"> ' + currencyTag + '</span></td></tr>');
  1904. } else {
  1905. $('#totalValue').html('<span class="special green">' + mathRound(totalAmmount, 2).toFixed(2) + '</span><span class="currency"> ' + currencyTag + '</span>');
  1906. }
  1907. }
  1908. }
  1909.  
  1910. function exchangeLink() {
  1911. $('input[id^="submit_form_edit"]').click(function() {
  1912. window.setTimeout(exchangeLink, 2000);
  1913. });
  1914.  
  1915. $('a[id^="delete_form_edit"]').click(function() {
  1916. window.setTimeout(exchangeLink, 2000);
  1917. });
  1918.  
  1919. // frimen - start
  1920. var cycles = 0;
  1921. var exchInt = setInterval(function(){
  1922. cycles += 1;
  1923.  
  1924. $('#table_list_offers tbody tr').each(function(e) {
  1925. currency1 = fixString2($(this).find('span.currency.forminfo').eq(0).text());
  1926. currency2 = fixString2($(this).find('span.currency.forminfo').eq(1).text());
  1927. if (currency1.length > 0) {
  1928. currency1id = country_id[currency_country[currency1].toLowerCase()];
  1929. currency2id = country_id[currency_country[currency2].toLowerCase()];
  1930. if ($(this).find('a#exchButt').length < 1) {
  1931. $(this).find('input:eq(0)').parent().prev().append('<a id="exchButt" href="http://www.erepublik.com/' + era.hostLang + '/exchange?account_type=citizen-#buy_currencies=' + currency1id + ';sell_currencies=' + currency2id + ';page=1" title="Check market" style="float: right; margin: 2px;" class="marketbtn">Check</a>');
  1932. }
  1933. }
  1934. });
  1935.  
  1936. if(cycles == 4){clearInterval(exchInt);}
  1937. }, 1000);
  1938. // frimen - end
  1939. }
  1940. // ---------------------------------------------------------------------------------------------------------------------
  1941.  
  1942. // -- Improved sidebar -------------------------------------------------------------------------------------------------
  1943. var storageMain;
  1944. var inventoryMain;
  1945. var rawMain;
  1946. var bazookaMain;
  1947. var toolboxMain;
  1948. var marketMain;
  1949. var marketMa;
  1950. var taxMain;
  1951. var citizenMain;
  1952. var monetaryMain;
  1953. var accountHolder;
  1954.  
  1955. function prepareSidebarData() {
  1956. readSettings('time');
  1957. readSettings('data');
  1958.  
  1959. if (eRAopt['sidebar'] == false) {
  1960. return;
  1961. }
  1962.  
  1963. var currentTime = new Date();
  1964.  
  1965. $('#point').remove();
  1966.  
  1967. var prepared = new Array();
  1968.  
  1969. function run(variable) {
  1970. prepared[variable] = true;
  1971.  
  1972. if (prepared['inventory'] && prepared['accountHolder'] && prepared['monetary']) {
  1973. saveTaxes();
  1974. getHealth();
  1975. improveMoneyDisplay();
  1976. miniInventory();
  1977. miniMonetary();
  1978. }
  1979. }
  1980.  
  1981. function runRequests() {
  1982. GM_xmlhttpRequest({
  1983. method: 'GET',
  1984. url: 'http://www.erepublik.com/en/economy/inventory',
  1985. onload: function(response) {
  1986. try {
  1987. storageMain = $(response.responseText).find('#inventory_overview strong:eq(0)').html();
  1988.  
  1989. inventoryMain = response.responseText;
  1990. inventoryMain = fixString2(inventoryMain.split('class="product_list">')[1].split('</ul>')[0].replace(/style=\"display:none\"/gi, '').replace(/<img.*?\/>/gi, '').replace(/<strong.*?>/gi, '').replace(/<\/strong.*?>/gi, ''));
  1991. inventoryMain = inventoryMain.replace(/<li industry=\"/gi, '').replace(/\" quality=\"/gi, '|').replace(/\" >/gi, '|').replace(/<\/li>/gi, '/').replace('&nbsp;&nbsp;', '').replace(/ /gi, '').replace(/,/gi, '');
  1992. inventoryMain = inventoryMain.substr(0, inventoryMain.length - 1);
  1993.  
  1994. rawMain = response.responseText;
  1995. rawMain = fixString2(rawMain.split('class="item_mask">')[2].split('</ul>')[0].replace(/<img.*?\/>/gi, '').replace(/<ul>/gi, '').replace(/<li.*?>/gi, '').replace(/<\/li>/gi, '').replace(/<\/strong>/gi, '/').replace(/<strong id="stock_/gi, '').replace(/_.*?>/gi, '|').replace(/,/gi, ''));
  1996. rawMain = rawMain.substr(0, rawMain.length - 1);
  1997.  
  1998. bazookaMain = $(response.responseText).find('.collection_list:eq(0) .bazooka strong:eq(0)').html();
  1999.  
  2000. toolboxMain = $(response.responseText).find('.collection_list:eq(1) .toolbox strong:eq(0)').html();
  2001.  
  2002. marketMain = $(response.responseText).find('#sell_offers').html();
  2003.  
  2004. taxMain = response.responseText;
  2005. taxMain = fixString2(taxMain.split('countryList = ')[1].split(';')[0]);
  2006.  
  2007. citizenMain = response.responseText;
  2008. citizenMain = fixString2(citizenMain.split('citizenshipCountry = ')[1].split(';')[0]);
  2009.  
  2010. eRAdata['storageMain'] = storageMain;
  2011. eRAdata['inventoryMain'] = inventoryMain;
  2012. eRAdata['rawMain'] = rawMain;
  2013. eRAdata['bazookaMain'] = bazookaMain;
  2014. eRAdata['toolboxMain'] = toolboxMain;
  2015. eRAdata['marketMain'] = marketMain;
  2016. eRAdata['taxMain'] = taxMain;
  2017. eRAdata['citizenMain'] = citizenMain;
  2018. writeSettings(era.characterId + '.Data', eRAdata);
  2019.  
  2020. run('inventory');
  2021. } catch(err) { }
  2022. }
  2023. });
  2024.  
  2025. GM_xmlhttpRequest({
  2026. method: 'GET',
  2027. url: 'http://economy.erepublik.com/en/accounts/' + era.characterId,
  2028. onload: function(response) {
  2029. try {
  2030. accountHolder = response.responseText;
  2031. accountHolder = fixString2(accountHolder.split('id="allaccounts">')[1].split(' </div>')[0].replace(/<.*?push_left">/gi, '/').replace(/<.*?push_right">/gi, '|'));
  2032. accountHolder = accountHolder.replace(/<a.*?\/a>/gi, '');
  2033. accountHolder = accountHolder.replace(/<.*?>/gi, '').replace('&nbsp;&nbsp;', '').replace(/ /gi, '');
  2034. accountHolder = accountHolder.substr(1, accountHolder.length);
  2035. accountHolder = accountHolder.split('&nbsp;')[0];
  2036.  
  2037. eRAdata['accountHolder'] = accountHolder;
  2038. writeSettings(era.characterId + '.Data', eRAdata);
  2039.  
  2040. run('accountHolder');
  2041. } catch(err) { }
  2042. }
  2043. });
  2044.  
  2045. GM_xmlhttpRequest({
  2046. method: 'GET',
  2047. url: 'http://www.erepublik.com/en/exchange/listMyOffers?select_page=select_my_offers&buy_currency_history_id=0&sell_currency_history_id=0&account_type=citizen-&action_path=listMyOffers&page=page%3D1',
  2048. onload: function(response) {
  2049. monetaryMain = $(response.responseText).find('#table_list_offers').html();
  2050.  
  2051. eRAdata['monetaryMain'] = monetaryMain;
  2052. writeSettings(era.characterId + '.Data', eRAdata);
  2053.  
  2054. run('monetary');
  2055. }
  2056. });
  2057. }
  2058.  
  2059. if (eRAtime == undefined) {
  2060. eRAtime = currentTime.getTime();
  2061. writeSettings(era.characterId + '.Time', eRAtime);
  2062.  
  2063. runRequests();
  2064. } else {
  2065. var currTimeStamp = currentTime.getTime();
  2066. var timeStamp = parseFloat(eRAtime) + 30000;
  2067.  
  2068. if (currTimeStamp >= timeStamp || eRAdata['storageMain'] == undefined || eRAdata['storageMain'] == '') {
  2069. eRAtime = currentTime.getTime();
  2070. writeSettings(era.characterId + '.Time', eRAtime);
  2071.  
  2072. runRequests();
  2073. } else {
  2074. storageMain = eRAdata['storageMain'];
  2075. inventoryMain = eRAdata['inventoryMain'];
  2076. rawMain = eRAdata['rawMain'];
  2077. bazookaMain = eRAdata['bazookaMain'];
  2078. toolboxMain = eRAdata['toolboxMain'];
  2079. marketMain = eRAdata['marketMain'];
  2080. taxMain = eRAdata['taxMain'];
  2081. accountHolder = eRAdata['accountHolder'];
  2082. monetaryMain = eRAdata['monetaryMain'];
  2083. citizenMain = eRAdata['citizenMain'];
  2084.  
  2085. saveTaxes();
  2086. getHealth();
  2087. improveMoneyDisplay();
  2088. miniInventory();
  2089. miniMonetary();
  2090. }
  2091. }
  2092. }
  2093.  
  2094. var healthGain = 0;
  2095.  
  2096. function getHealth() {
  2097. var healthHouseGain = 0;
  2098. var newHealth = 0;
  2099. var houseImg = 'http://www.erepublik.com/images/icons/industry/4/default.png';
  2100.  
  2101. if (!isNaN(era.characterLevel)) {
  2102. var objectIndustry;
  2103. var objectQuality;
  2104. var objectCount;
  2105. var oldObjectQuality = 0;
  2106.  
  2107. var gotHouseData = false;
  2108.  
  2109. for (var a = 0; a < inventoryMain.split('/').length; a++) {
  2110. objectIndustry = inventoryMain.split('/')[a].split('|')[0];
  2111. objectQuality = inventoryMain.split('/')[a].split('|')[1];
  2112. objectCount = inventoryMain.split('/')[a].split('|')[2];
  2113.  
  2114. if (objectIndustry == '4') {
  2115. if (objectCount > 0) {
  2116. if (objectQuality > oldObjectQuality) {
  2117. oldObjectQuality = objectQuality;
  2118. houseImg = 'http://www.erepublik.com/images/icons/industry/4/q' + objectQuality + '.png';
  2119. healthHouseGain = parseFloat(objectQuality) * 10;
  2120. gotHouseData = true;
  2121. }
  2122. }
  2123. }
  2124. }
  2125.  
  2126. function preformatData() {
  2127. if (!healthHouseGain)
  2128. healthGain = 0;
  2129. else if (currentHealth <= 10)
  2130. healthGain = mathRound(parseFloat(healthHouseGain) - 1, 0).toFixed(0);
  2131. else if (currentHealth > 10 && currentHealth <= 50)
  2132. healthGain = mathRound(parseFloat(healthHouseGain) - 2, 0).toFixed(0);
  2133. else if (currentHealth > 50 && currentHealth <= 80)
  2134. healthGain = mathRound(parseFloat(healthHouseGain) - 3, 0).toFixed(0);
  2135. else if (currentHealth > 80 && currentHealth <= 100)
  2136. healthGain = mathRound(parseFloat(healthHouseGain) - 4, 0).toFixed(0);
  2137.  
  2138. newHealth = mathRound(currentHealth + parseFloat(healthGain), 0).toFixed(0);
  2139.  
  2140. if(newHealth > 100) newHealth = 100;
  2141. }
  2142. preformatData();
  2143.  
  2144. $('#large_sidebar').append( '<div id="tomorrow_health" class="simple_yellow" style="width: 250px; display: none;">' +
  2145. '<img src="http://www.erepublik.com/images/modules/sidebar/yellow_arrow_tip.png" class="tip" alt="" />' +
  2146. '<p style="margin-bottom: 8px;">At every day change, your Health will be adjusted by the health value of the highest quality House in your inventory.</p>' +
  2147. '<p style="margin-bottom: 0px;">Health after day change: <strong>' + newHealth + '</strong> Health<img class="mini_health" src="http://www.erepublik.com/images/modules/_icons/mini_health.png" alt="" style="margin-left: 5px; vertical-align: middle;"></p>' +
  2148. '</div>');
  2149.  
  2150. function sidebarTooltip(trigg, toolt){
  2151. $(trigg).hover(
  2152. function() { $(toolt).css({ display: "block" }); },
  2153. function() { $(toolt).css({ display: "none" }); }
  2154. );
  2155. $(trigg).mousemove(function(e) {
  2156. var mx = e.pageX - 10;
  2157. var my = e.pageY + 25;
  2158. $(toolt).css({ top: my, left: mx });
  2159. });
  2160. }
  2161.  
  2162. sidebarTooltip('#current_health', '#tomorrow_health');
  2163.  
  2164. $('#current_health').css('right', '17px');
  2165.  
  2166. var zGyv = $('.tooltip_health_limit').html();
  2167. $('#health_back_progress').after('<div id="hRemainHolder" style="font-size: 9px; float: right; height: 17px; margin-top: 2px; width: auto; right: 5px; position: absolute; z-index: 10; vertical-align: top; line-height: 17px; color: rgba(51, 74, 33, 0.6); cursor: default;"> (' + zGyv + ')</div>');
  2168.  
  2169. function improveHealthRemaining() {
  2170. var zGyv = $('.tooltip_health_limit').html();
  2171. if($('#hRemainHolder').length > 0) {
  2172. $('#hRemainHolder').html(' (' + zGyv + ')');
  2173. } else {
  2174. $('#health_back_progress').after('<div id="hRemainHolder" style="font-size: 9px; float: right; height: 17px; margin-top: 2px; width: auto; right: 5px; position: absolute; z-index: 10; vertical-align: top; line-height: 17px; color: rgba(51, 74, 33, 0.6); cursor: default;"> (' + zGyv + ')</div>');
  2175. }
  2176. }
  2177.  
  2178. $('#current_health').contentChange(function() {
  2179. currentHealth = parseFloat($('#current_health').html());
  2180.  
  2181. preformatData();
  2182.  
  2183. $('#current_health').css('right', '17px');
  2184.  
  2185. $('#tomorrow_health strong').html(newHealth);
  2186.  
  2187. improveHealthRemaining()
  2188. });
  2189. }
  2190. }
  2191.  
  2192. function improveMoneyDisplay() {
  2193. var goldAmmount;
  2194. var naturalAmmount;
  2195. var accountCurr;
  2196. var accountAmmount;
  2197.  
  2198. if ($('.currency_amount a img').attr('title') != '') {
  2199. var naturalCurrency = $('.currency_amount a img').attr('title');
  2200. } else {
  2201. var naturalCurrency = country_currency[$('.currency_amount a img').attr('src').split('/')[6].split('.')[0]];
  2202. }
  2203.  
  2204. var citizenCurrency = country_currency[id_country[fixString2(eRAdata['citizenMain'])]];
  2205.  
  2206. for(var x = 0; x < accountHolder.split('/').length; x++) {
  2207. accountCurr = accountHolder.split('/')[x].split('|')[0];
  2208. accountAmmount = accountHolder.split('/')[x].split('|')[1];
  2209.  
  2210. eRAacc[accountCurr] = accountAmmount;
  2211. writeSettings(era.characterId + '.Accounts', eRAacc);
  2212. }
  2213.  
  2214. $('#side_bar_gold_account_value').html(eRAacc['Gold']);
  2215. $('.currency_amount strong').html(eRAacc[naturalCurrency]);
  2216. if ($('.citizenship_currency_amount').length > 0) {
  2217. $('.citizenship_currency_amount strong').html(eRAacc[citizenCurrency]);
  2218. }
  2219.  
  2220. for (var x = 0; x < accountHolder.split('/').length; x++) {
  2221. accountCurr = accountHolder.split('/')[x].split('|')[0];
  2222. accountAmmount = accountHolder.split('/')[x].split('|')[1];
  2223.  
  2224. if(accountCurr != "Gold" && accountAmmount > 0.01) {
  2225. if(accountCurr != naturalCurrency && accountCurr != citizenCurrency) {
  2226.  
  2227. $('.user_finances').append('<div class="currencyOther">' +
  2228. '<a href="http://www.erepublik.com/' + era.hostLang + '/economy/citizen-accounts/' + era.characterId + '">' +
  2229. '<img title="' + accountCurr + '" alt="' + accountCurr + '" src="http://www.erepublik.com/images/flags_png/S/' + currency_country[accountCurr] + '.png">' +
  2230. '<strong>' + accountAmmount + '</strong>&nbsp;<span>' + accountCurr + '</span>' +
  2231. '</a>' +
  2232. '</div>');
  2233. }
  2234. }
  2235. }
  2236.  
  2237. $('.currencyOther:last').css('border-bottom', 'none');
  2238.  
  2239. $('#side_bar_gold_account_value').contentChange(function() {
  2240. $(this).html(eRAacc['Gold']);
  2241. });
  2242.  
  2243. $('.user_finances').live('mouseover mouseout', function(event) {
  2244. if (event.type == 'mouseover') {
  2245. if ($('.citizenship_currency_amount').length > 0) {
  2246. $('.citizenship_currency_amount').css('border-bottom', '1px solid #DEDEDE');
  2247. } else {
  2248. $('.currency_amount').css('border-bottom', '1px solid #DEDEDE');
  2249. }
  2250. } else {
  2251. if ($('.citizenship_currency_amount').length > 0) {
  2252. $('.citizenship_currency_amount').css('border-bottom', 'none');
  2253. } else {
  2254. $('.currency_amount').css('border-bottom', 'none');
  2255. }
  2256. }
  2257. });
  2258. }
  2259.  
  2260. function miniInventory() {
  2261. var itemIndustry;
  2262. var itemQuality;
  2263. var itemCount;
  2264. var itemPresent = false;
  2265.  
  2266. var rawIndustry;
  2267. var rawCount;
  2268. var rawPresent = false;
  2269.  
  2270. var marketPresent = false;
  2271.  
  2272. for (var a = 0; a < inventoryMain.split('/').length; a++) {
  2273. itemCount = inventoryMain.split('/')[a].split('|')[2];
  2274.  
  2275. if (itemCount > 0) {
  2276. itemPresent = true;
  2277. }
  2278. }
  2279.  
  2280. for (var a = 0; a < rawMain.split('/').length; a++) {
  2281. rawCount = rawMain.split('/')[a].split('|')[1];
  2282.  
  2283. if (rawCount > 0) {
  2284. itemPresent = true;
  2285. }
  2286. }
  2287.  
  2288. if ($(marketMain).find('[id*="offer_"]').html() != undefined) {
  2289. marketPresent = true;
  2290. }
  2291.  
  2292. $('.optionsHolder').before('<a href="http://www.erepublik.com/' + era.hostLang + '/economy/inventory"><div class="inventoryHolder"><div style="text-align: center; display: block; float: left; color: #b4b4b4; width: 100%; margin-bottom: 3px;">Storage ' + fixString2(storageMain) + '</div></div></a>');
  2293.  
  2294. if (itemPresent == true) {
  2295. $('.inventoryHolder').append('<div id="miniInventory1" class="miniInventoryHolder"></div>');
  2296. }
  2297.  
  2298. if (marketPresent == true) {
  2299. $('.inventoryHolder').append('<div style="text-align: center; display: block; float: left; color: #b4b4b4; width: 100%; margin-bottom: 3px;">On market</div>' +
  2300. '<div id="miniInventory3" class="miniInventoryHolder"></div>');
  2301. }
  2302.  
  2303. $('.inventoryHolder').append('<div style="text-align: center; display: block; float: left; color: #b4b4b4; width: 100%; margin-bottom: 3px;">Collections</div>' +
  2304. '<div id="miniInventory4" class="miniInventoryHolder"></div>');
  2305.  
  2306. for (var a = 0; a < inventoryMain.split('/').length; a++) {
  2307. itemIndustry = inventoryMain.split('/')[a].split('|')[0];
  2308. itemQuality = inventoryMain.split('/')[a].split('|')[1];
  2309. itemCount = inventoryMain.split('/')[a].split('|')[2];
  2310.  
  2311. if (itemCount > 0) {
  2312. $('#miniInventory1').append('<div class="itemCountHolder">' +
  2313. '<img src="http://www.erepublik.com/images/icons/industry/' + itemIndustry + '/q' + itemQuality + '.png">' +
  2314. '<strong style="color: #585858; font-size: 12px; text-shadow: 0 1px 0 #FFFFFF; font-weight: bold;">' + itemCount + '</strong>' +
  2315. '</div>');
  2316. }
  2317. }
  2318.  
  2319. for (var a = 0; a < rawMain.split('/').length; a++) {
  2320. rawIndustry = rawMain.split('/')[a].split('|')[0];
  2321. rawCount = rawMain.split('/')[a].split('|')[1];
  2322.  
  2323. if (rawCount > 0) {
  2324. $('#miniInventory1').append('<div class="itemCountHolder">' +
  2325. '<img src="http://www.erepublik.com/images/icons/industry/' + rawIndustry + '/default.png">' +
  2326. '<strong style="color: #585858; font-size: 12px; text-shadow: 0 1px 0 #FFFFFF; font-weight: bold;">' + rawCount + '</strong>' +
  2327. '</div>');
  2328. }
  2329. }
  2330.  
  2331. $('#miniInventory4').append('<div class="itemCountHolder">' +
  2332. '<img src="http://www.erepublik.com/images/icons/industry/000/1.png">' +
  2333. '<strong style="color: #585858; font-size: 12px; text-shadow: 0 1px 0 #FFFFFF; font-weight: bold;">' + bazookaMain + '</strong>' +
  2334. '</div>' +
  2335. '<div class="itemCountHolder">' +
  2336. '<img src="http://www.erepublik.com/images/icons/industry/000/7.png">' +
  2337. '<strong style="color: #585858; font-size: 12px; text-shadow: 0 1px 0 #FFFFFF; font-weight: bold;">' + toolboxMain + '</strong>' +
  2338. '</div>')
  2339. .find('div:last').css('border-bottom', 'none');
  2340.  
  2341. var citizenshipCountry = id_country[fixString2(eRAdata['citizenMain'])];
  2342. readSettings('exchange');
  2343. readSettings('taxes');
  2344.  
  2345. $(marketMain).find('[id*="offer_"]').each(function() {
  2346. var marIdent = $(this).attr('id').split('_')[1];
  2347. var offImage = $(this).find('.offer_image').attr('src');
  2348. var offInd = offImage.split('/')[6];
  2349. var offQual = offImage.split('/')[7].split('_')[0];
  2350. if (offQual != 'default') {
  2351. offQual = offQual.replace('q', '');
  2352. } else {
  2353. offQual = '0';
  2354. }
  2355. var offQuant = $(this).find('.offer_amount').html().replace(/,/gi, '');
  2356. var offPrice = $(this).find('.offer_price strong').html().replace(/,/gi, '');
  2357. var offCountr = $(this).find('.offer_flag').attr('src').split('/')[6].split('.')[0];
  2358.  
  2359. var offVat = parseFloat(eRAtax[offCountr][offInd].vat);
  2360. var offImp = parseFloat(eRAtax[offCountr][offInd].imp);
  2361. var offExch = parseFloat(eRAexch[country_currency[offCountr]]);
  2362.  
  2363. if (offCountr == citizenshipCountry) {
  2364. var offPriceTax = mathRound(parseFloat(offPrice) / (1 + offVat / 100), 2).toFixed(2);
  2365. var tOfferVal = mathRound(offQuant * mathRound(parseFloat(offPrice) / (1 + offVat / 100), 2).toFixed(2), 2).toFixed(2);
  2366. } else {
  2367. var offPriceTax = mathRound(parseFloat(offPrice) / (1 + (offVat + offImp) / 100), 2).toFixed(2);
  2368. var tOfferVal = mathRound(offQuant * mathRound(parseFloat(offPrice) / (1 + (offVat + offImp) / 100), 2).toFixed(2), 2).toFixed(2);
  2369. }
  2370.  
  2371. var offPriceTaxG = mathRound(offPriceTax * offExch, 4).toFixed(4);
  2372. var tOfferValG = mathRound(tOfferVal * offExch, 4).toFixed(4);
  2373.  
  2374. if (offQual > 0) {
  2375. offImage = '<img src="http://www.erepublik.com/images/icons/industry/' + offInd + '/q' + offQual + '.png">';
  2376. } else {
  2377. offImage = '<img src="http://www.erepublik.com/images/icons/industry/' + offInd + '/default.png">';
  2378. }
  2379.  
  2380. $('#miniInventory3').append('<div id="itemCountHolder_' + marIdent + '" class="itemCountHolder">' +
  2381. offImage +
  2382. '<strong style="color: #585858; font-size: 12px; text-shadow: 0 1px 0 #FFFFFF; font-weight: bold;">' + offQuant + '</strong>' +
  2383. '<img style="float: right; margin-right: 3px; margin-left: 3px; margin-top: 5px; height: 16px; width: 16px;" title="' + country_currency[offCountr] + '" alt="' + country_currency[offCountr] + '" src="http://www.erepublik.com/images/flags_png/S/' + offCountr + '.png">' +
  2384. '<span style="float: right; font-size: 11px; color: grey;">' + offPrice + '</span>' +
  2385. '</div>' +
  2386. '<div id="marketDropHolder_' + marIdent + '" class="marketDropHolder">' +
  2387.  
  2388. '<img style="float: right; margin-right: 3px; margin-left: 3px; margin-top: 5px; height: 16px; width: 16px;" title="Gold" alt="Gold" src="http://www.erepublik.com/images/modules/_icons/gold.png">' +
  2389. '<span style="float: right; font-size: 11px; color: grey; margin-left: 5px;">' + offPriceTaxG + '</span>' +
  2390. '<img style="float: right; margin-right: 3px; margin-left: 3px; margin-top: 5px; height: 16px; width: 16px;" title="' + country_currency[offCountr] + '" alt="' + country_currency[offCountr] + '" src="http://www.erepublik.com/images/flags_png/S/' + offCountr + '.png">' +
  2391. '<span style="float: right; font-size: 11px; color: grey;">' + offPriceTax + '</span>' +
  2392.  
  2393. '<img style="float: right; margin-right: 3px; margin-left: 3px; margin-top: 5px; height: 16px; width: 16px; clear: both;" title="Gold" alt="Gold" src="http://www.erepublik.com/images/modules/_icons/gold.png">' +
  2394. '<span style="float: right; font-size: 11px; color: grey; margin-left: 5px;">' + tOfferValG + '</span>' +
  2395. '<img style="float: right; margin-right: 3px; margin-left: 3px; margin-top: 5px; height: 16px; width: 16px;" title="' + country_currency[offCountr] + '" alt="' + country_currency[offCountr] + '" src="http://www.erepublik.com/images/flags_png/S/' + offCountr + '.png">' +
  2396. '<span style="float: right; font-size: 11px; color: grey;">' + tOfferVal + '</span>' +
  2397.  
  2398. '</div>');
  2399. });
  2400.  
  2401. $('#miniInventory1 div:last').css('border-bottom', 'none');
  2402. $('#miniInventory3 .itemCountHolder:last').css('border-bottom', 'none');
  2403. $('#miniInventory3 .marketDropHolder:last').css('border-bottom', 'none');
  2404.  
  2405. $('div[id*="itemCountHolder_"]').live('mouseover mouseout', function(event) {
  2406. var thisId = $(this).attr('id').split('_')[1];
  2407. if (event.type == 'mouseover') {
  2408. $(this).css('border-bottom', '1px solid #DEDEDE');
  2409. $(this).parent().find('div[id*="marketDropHolder_' + thisId + '"]').css('display', 'block');
  2410. } else {
  2411. $('#miniInventory3 .itemCountHolder:last').css('border-bottom', 'none');
  2412. $('#miniInventory3 .marketDropHolder:last').css('border-bottom', 'none');
  2413. $(this).parent().find('div[id*="marketDropHolder_' + thisId + '"]').css('display', 'none');
  2414. }
  2415. });
  2416. }
  2417.  
  2418. function miniMonetary() {
  2419. if(!$(monetaryMain).find('input[id*="form_amount_edit_"]').length) {
  2420. return;
  2421. }
  2422.  
  2423. var monAmount;
  2424. var monCurr;
  2425. var monExchAmount;
  2426. var monExchCurr;
  2427.  
  2428. $('.optionsHolder').before('<a href="http://www.erepublik.com/' + era.hostLang + '/exchange"><div class="inventoryHolder"><div style="text-align: center; display: block; float: left; color: #b4b4b4; width: 100%; margin-bottom: 3px;">Monetary market</div><div id="miniMonetary1" class="miniInventoryHolder"></div></div></a>');
  2429.  
  2430. $(monetaryMain).find('input[id*="form_amount_edit_"]').each(function() {
  2431. monId = $(this).attr('id').split('_')[3];
  2432. monAmount = $(this).val();
  2433. monCurr = fixString2($(this).parent().find('.currency.forminfo').html());
  2434. monExchAmount = $(this).parent().next().find('input[id*="form_exchange_rate_edit_"]').val();
  2435. monExchCurr = fixString2($(this).parent().next().find('.currency.forminfo').html());
  2436.  
  2437. monAmount = parseFloat(monAmount).toFixed(2);
  2438. monExchAmount = parseFloat(monExchAmount).toFixed(3);
  2439.  
  2440. monTotalValue = mathRound(monAmount * monExchAmount, 3).toFixed(3);
  2441.  
  2442. if (monCurr == 'GOLD') {
  2443. var monCurrIcon = '<img title="Gold" alt="Gold" src="http://www.erepublik.com/images/modules/_icons/gold.png">';
  2444. } else {
  2445. var monCurrIcon = '<img title="' + monCurr + '" alt="' + monCurr + '" src="http://www.erepublik.com/images/flags_png/S/' + currency_country[monCurr] + '.png">';
  2446. }
  2447.  
  2448. if (monExchCurr == 'GOLD') {
  2449. var monExchCurrIcon = '<img title="Gold" alt="Gold" src="http://www.erepublik.com/images/modules/_icons/gold.png" style="float: right; margin-left: 6px; margin-right: 1px; margin-top: 6px;">';
  2450. } else {
  2451. var monExchCurrIcon = '<img title="' + monExchCurr + '" alt="' + monExchCurr + '" src="http://www.erepublik.com/images/flags_png/S/' + currency_country[monExchCurr] + '.png" style="float: right; margin-left: 6px; margin-right: 1px; margin-top: 6px;">';
  2452. }
  2453.  
  2454. $('#miniMonetary1').append('<div id="monCountHolder_' + monId + '" class="monCountHolder">' +
  2455. monCurrIcon +
  2456. '<strong style="color: #585858; font-size: 12px; text-shadow: 0 1px 0 #FFFFFF; font-weight: bold; float: left;">' + monAmount + '</strong>' +
  2457. monExchCurrIcon +
  2458. '<span style="color: grey; font-size: 11px; text-shadow: 0 1px 0 #FFFFFF; float: right;">' + monExchAmount + '</strong>' +
  2459. '</div>' +
  2460. '<div id="monDropHolder_' + monId + '" class="monDropHolder">' +
  2461. monExchCurrIcon +
  2462. '<span style="float: right; font-size: 11px; color: grey; margin-left: 5px;">' + monTotalValue + '</span>' +
  2463. '</div>');
  2464. });
  2465.  
  2466. $('#miniMonetary1 .monCountHolder:last').css('border-bottom', 'none');
  2467. $('#miniMonetary1 .monDropHolder:last').css('border-bottom', 'none');
  2468.  
  2469. $('div[id*="monCountHolder_"]').live('mouseover mouseout', function(event) {
  2470. var thisId = $(this).attr('id').split('_')[1];
  2471. if (event.type == 'mouseover') {
  2472. $(this).css('border-bottom', '1px solid #DEDEDE');
  2473. $(this).parent().find('div[id*="monDropHolder_' + thisId + '"]').css('display', 'block');
  2474. } else {
  2475. $('#miniMonetary1 .monCountHolder:last').css('border-bottom', 'none');
  2476. $('#miniMonetary1 .monDropHolder:last').css('border-bottom', 'none');
  2477. $(this).parent().find('div[id*="monDropHolder_' + thisId + '"]').css('display', 'none');
  2478. }
  2479. });
  2480. }
  2481.  
  2482. function saveTaxes() {
  2483. var taxInfo = JSON.parse(taxMain);
  2484. var countryIdent;
  2485.  
  2486. eRAtax = {};
  2487.  
  2488. for (x in country_id) {
  2489. countryIdent = country_id[x] + '';
  2490.  
  2491. if (countryIdent != "62") {
  2492. if (taxInfo[countryIdent].taxes != '0') {
  2493. eRAtax[id_country[countryIdent]] = {};
  2494. eRAtax[id_country[countryIdent]]['1'] = {};
  2495. eRAtax[id_country[countryIdent]]['2'] = {};
  2496. eRAtax[id_country[countryIdent]]['3'] = {};
  2497. eRAtax[id_country[countryIdent]]['4'] = {};
  2498. eRAtax[id_country[countryIdent]]['5'] = {};
  2499. eRAtax[id_country[countryIdent]]['6'] = {};
  2500. eRAtax[id_country[countryIdent]]['7'] = {};
  2501. eRAtax[id_country[countryIdent]]['12'] = {};
  2502. eRAtax[id_country[countryIdent]]['1'].vat = taxInfo[countryIdent].taxes['1'].value_added_tax;
  2503. eRAtax[id_country[countryIdent]]['1'].imp = taxInfo[countryIdent].taxes['1'].import_tax;
  2504. eRAtax[id_country[countryIdent]]['2'].vat = taxInfo[countryIdent].taxes['2'].value_added_tax;
  2505. eRAtax[id_country[countryIdent]]['2'].imp = taxInfo[countryIdent].taxes['2'].import_tax;
  2506. eRAtax[id_country[countryIdent]]['3'].vat = taxInfo[countryIdent].taxes['3'].value_added_tax;
  2507. eRAtax[id_country[countryIdent]]['3'].imp = taxInfo[countryIdent].taxes['3'].import_tax;
  2508. eRAtax[id_country[countryIdent]]['4'].vat = taxInfo[countryIdent].taxes['4'].value_added_tax;
  2509. eRAtax[id_country[countryIdent]]['4'].imp = taxInfo[countryIdent].taxes['4'].import_tax;
  2510. eRAtax[id_country[countryIdent]]['5'].vat = taxInfo[countryIdent].taxes['5'].value_added_tax;
  2511. eRAtax[id_country[countryIdent]]['5'].imp = taxInfo[countryIdent].taxes['5'].import_tax;
  2512. eRAtax[id_country[countryIdent]]['6'].vat = taxInfo[countryIdent].taxes['6'].value_added_tax;
  2513. eRAtax[id_country[countryIdent]]['6'].imp = taxInfo[countryIdent].taxes['6'].import_tax;
  2514. eRAtax[id_country[countryIdent]]['7'].vat = taxInfo[countryIdent].taxes['7'].value_added_tax;
  2515. eRAtax[id_country[countryIdent]]['7'].imp = taxInfo[countryIdent].taxes['7'].import_tax;
  2516. eRAtax[id_country[countryIdent]]['12'].vat = taxInfo[countryIdent].taxes['12'].value_added_tax;
  2517. eRAtax[id_country[countryIdent]]['12'].imp = taxInfo[countryIdent].taxes['12'].import_tax;
  2518. writeSettings(era.characterId + '.taxRates', eRAtax);
  2519. }
  2520. }
  2521. }
  2522. }
  2523. // ---------------------------------------------------------------------------------------------------------------------
  2524.  
  2525. // -- Market -----------------------------------------------------------------------------------------------------------
  2526. function enchanceMarket() {
  2527. if (eRAopt['market'] == false || location.href.split('/')[5] == 'company') {
  2528. return;
  2529. }
  2530.  
  2531. readSettings('accounts');
  2532.  
  2533. var marketLocation = country_id[$('.textTitle img:eq(0)').attr('src').split('/')[6].split('.')[0].toLowerCase()];
  2534.  
  2535. var country = id_country[marketLocation];
  2536. var currency = country_currency[country];
  2537. var recItem;
  2538. var basePrice;
  2539. var newPrice;
  2540. var marketIndustry = window.location.href.split('/')[6];
  2541. var marketQuality = window.location.href.split('/')[7];
  2542.  
  2543. if (marketIndustry == "1") {
  2544. $('th[class*="m_price"]').after('<th>Price/1HP </th>');
  2545. }
  2546.  
  2547. if (!marketQuality) {
  2548. marketQuality = parseFloat($('span[class="solid health"] strong').html()) / 2;
  2549. }
  2550.  
  2551. GM_xmlhttpRequest({
  2552. method: 'GET',
  2553. url: 'http://www.erepublik.com/en/exchange/listOffers?select_page=select&buy_currency_history_id=buy_currencies=' + marketLocation + '&sell_currency_history_id=sell_currencies=62&account_type=citizen-&action_path=listOffers&page=page=1',
  2554. onload: function(response) {
  2555. recItem = $(response.responseText).find('.special').eq(2).text();
  2556.  
  2557. if (window.location.href.split('/')[5] != 'company') {
  2558. $('td[class*="m_price"], td[class*="jm_salary"]').each(function() {
  2559. basePrice = $(this).find('strong').eq(0).text() + $(this).find('sup').text();
  2560.  
  2561. newPrice = parseFloat(basePrice.split(' ')[0]) * parseFloat(recItem);
  2562. newPrice = mathRound(newPrice, 5).toFixed(5);
  2563. newPrice = newPrice + '';
  2564. newPrice = newPrice.split('.');
  2565.  
  2566. //alert(newPrice);
  2567.  
  2568. hpPrice = parseFloat(basePrice.split(' ')[0]) / (parseFloat(marketQuality) * 2);
  2569. hpPrice = mathRound(hpPrice, 5).toFixed(5);
  2570. hpPrice = hpPrice + '';
  2571. hpPrice = hpPrice.split('.');
  2572.  
  2573. hpPriceG = parseFloat(newPrice[0] + '.' + newPrice[1]) / (parseFloat(marketQuality) * 2);
  2574. hpPriceG = mathRound(hpPriceG, 5).toFixed(5);
  2575. hpPriceG = hpPriceG + '';
  2576. hpPriceG = hpPriceG.split('.');
  2577.  
  2578. $(this).append('<br/>' +
  2579. '<strong style="color: #a2a2a2;">' + newPrice[0] + '</strong>' +
  2580. '<sup style="color: #a2a2a2;">.' + newPrice[1] + ' <strong>GOLD</strong></sup>');
  2581.  
  2582. if (marketIndustry == "1") {
  2583. $(this).after('<td class="m_price stprice">' +
  2584. '<strong>' + hpPrice[0] + '</strong>' +
  2585. '<sup>.' + hpPrice[1] + ' <strong>' + basePrice.split(' ')[1] +'</strong></sup>' +
  2586. '<br/>' +
  2587. '<strong style="color: #a2a2a2;">' + hpPriceG[0] + '</strong>' +
  2588. '<sup style="color: #a2a2a2;">.' + hpPriceG[1] + ' <strong>GOLD</strong></sup>' +
  2589. '</td>');
  2590. }
  2591. });
  2592.  
  2593. var completeArray = {};
  2594. var tAm = 0;
  2595. var tVal = 0;
  2596. $('td[class*="m_stock"]').each(function() {
  2597. var tPrice = $(this).parent().find('.m_price strong:eq(0)').text() + $(this).parent().find('.m_price sup:eq(0)').text().split(' ')[0];
  2598. var tQuant = fixString2($(this).text());
  2599.  
  2600. if (completeArray[tPrice] != undefined) {
  2601. completeArray[tPrice] = parseFloat(completeArray[tPrice]) + parseFloat(tQuant);
  2602. } else {
  2603. completeArray[tPrice] = tQuant;
  2604. }
  2605. });
  2606.  
  2607. sortObj(completeArray);
  2608. var tableAddendum = '';
  2609. for (var x in completeArray) {
  2610. tAm += parseFloat(completeArray[x]);
  2611. tVal += parseFloat(x) * parseFloat(completeArray[x]);
  2612.  
  2613. if (marketIndustry == "1") {
  2614. if ($('th[class*="m_quantity"]').length == 0) {
  2615. tableAddendum += '<tr>' +
  2616. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2617. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 10px 5px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none;">' + completeArray[x] + '</td>' +
  2618. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; padding: 5px 0px 5px 10px; width: 100px; cursor: default;">' +
  2619. '<strong style="font-size: 18px; font-weight: normal;">' + x.split('.')[0] + '</strong>' +
  2620. '<sup>.' + x.split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2621. '</td>' +
  2622. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2623. '</tr>';
  2624. } else {
  2625. tableAddendum += '<tr>' +
  2626. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2627. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 10px 5px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none;">' + completeArray[x] + '</td>' +
  2628. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; padding: 5px 0px 5px 10px; width: 100px; cursor: default;">' +
  2629. '<strong style="font-size: 18px; font-weight: normal;">' + x.split('.')[0] + '</strong>' +
  2630. '<sup>.' + x.split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2631. '</td>' +
  2632. '<td colspan="3" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2633. '</tr>';
  2634. }
  2635. } else {
  2636. if ($('th[class*="m_quantity"]').length == 0) {
  2637. tableAddendum += '<tr>' +
  2638. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2639. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 10px 5px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none;">' + completeArray[x] + '</td>' +
  2640. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; padding: 5px 0px 5px 10px; width: 100px; cursor: default;">' +
  2641. '<strong style="font-size: 18px; font-weight: normal;">' + x.split('.')[0] + '</strong>' +
  2642. '<sup>.' + x.split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2643. '</td>' +
  2644. //'<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2645. '</tr>';
  2646. } else {
  2647. tableAddendum += '<tr>' +
  2648. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2649. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 10px 5px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none;">' + completeArray[x] + '</td>' +
  2650. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; padding: 5px 0px 5px 10px; width: 100px; cursor: default;">' +
  2651. '<strong style="font-size: 18px; font-weight: normal;">' + x.split('.')[0] + '</strong>' +
  2652. '<sup>.' + x.split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2653. '</td>' +
  2654. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 2px 0; cursor: default; border-bottom: none;">&nbsp;</td>' +
  2655. '</tr>';
  2656. }
  2657. }
  2658. }
  2659. if (marketIndustry == "1") {
  2660. if ($('th[class*="m_quantity"]').length == 0) {
  2661. tableAddendum += '<tr>' +
  2662. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2663. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 10px 10px 10px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">' + tAm + '</td>' +
  2664. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; border-top: 1px solid #CCCCCC; padding: 10px 0px 10px 10px; width: 100px; cursor: default;">' +
  2665. '<strong style="font-size: 18px; font-weight: normal;">' + mathRound(tVal, 2).toFixed(2).split('.')[0] + '</strong>' +
  2666. '<sup>.' + mathRound(tVal, 2).toFixed(2).split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2667. '<br/>' +
  2668. '<strong style="font-size: 18px; font-weight: normal; color: #a2a2a2;">' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[0] + '</strong>' +
  2669. '<sup style="color: #a2a2a2;">.' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[1] + ' <strong>GOLD</strong></sup>' +
  2670. '</td>' +
  2671. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2672. '</tr>';
  2673. } else {
  2674. tableAddendum += '<tr>' +
  2675. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2676. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 10px 10px 10px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">' + tAm + '</td>' +
  2677. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; border-top: 1px solid #CCCCCC; padding: 10px 0px 10px 10px; width: 100px; cursor: default;">' +
  2678. '<strong style="font-size: 18px; font-weight: normal;">' + mathRound(tVal, 2).toFixed(2).split('.')[0] + '</strong>' +
  2679. '<sup>.' + mathRound(tVal, 2).toFixed(2).split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2680. '<br/>' +
  2681. '<strong style="font-size: 18px; font-weight: normal; color: #a2a2a2;">' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[0] + '</strong>' +
  2682. '<sup style="color: #a2a2a2;">.' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[1] + ' <strong>GOLD</strong></sup>' +
  2683. '</td>' +
  2684. '<td colspan="3" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2685. '</tr>';
  2686. }
  2687. } else {
  2688. if ($('th[class*="m_quantity"]').length == 0) {
  2689. tableAddendum += '<tr>' +
  2690. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2691. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 10px 10px 10px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">' + tAm + '</td>' +
  2692. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; border-top: 1px solid #CCCCCC; padding: 10px 0px 10px 10px; width: 100px; cursor: default;">' +
  2693. '<strong style="font-size: 18px; font-weight: normal;">' + mathRound(tVal, 2).toFixed(2).split('.')[0] + '</strong>' +
  2694. '<sup>.' + mathRound(tVal, 2).toFixed(2).split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2695. '<br/>' +
  2696. '<strong style="font-size: 18px; font-weight: normal; color: #a2a2a2;">' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[0] + '</strong>' +
  2697. '<sup style="color: #a2a2a2;">.' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[1] + ' <strong>GOLD</strong></sup>' +
  2698. '</td>' +
  2699. //'<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2700. '</tr>';
  2701. } else {
  2702. tableAddendum += '<tr>' +
  2703. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2704. '<td style="background: none repeat scroll 0 0 #FFFFEC; padding: 10px 10px 10px 0px; text-indent: 5px; width: 50px; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">' + tAm + '</td>' +
  2705. '<td style="background: none repeat scroll 0 0 #FFFFEC; border-left: 1px solid #F7F4E1; border-bottom: none; border-top: 1px solid #CCCCCC; padding: 10px 0px 10px 10px; width: 100px; cursor: default;">' +
  2706. '<strong style="font-size: 18px; font-weight: normal;">' + mathRound(tVal, 2).toFixed(2).split('.')[0] + '</strong>' +
  2707. '<sup>.' + mathRound(tVal, 2).toFixed(2).split('.')[1] + ' <strong>' + $('td.m_price:eq(0) sup:eq(0)').text().split(' ')[1] + '</strong></sup>' +
  2708. '<br/>' +
  2709. '<strong style="font-size: 18px; font-weight: normal; color: #a2a2a2;">' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[0] + '</strong>' +
  2710. '<sup style="color: #a2a2a2;">.' + mathRound(tVal * parseFloat(recItem), 5).toFixed(5).split('.')[1] + ' <strong>GOLD</strong></sup>' +
  2711. '</td>' +
  2712. '<td colspan="2" style="background: none repeat scroll 0 0 #FFFFEC; padding: 5px 0; cursor: default; border-bottom: none; border-top: 1px solid #CCCCCC;">&nbsp;</td>' +
  2713. '</tr>';
  2714. }
  2715. }
  2716.  
  2717. $('td[id*="productId_"]:last').parent().after(tableAddendum);
  2718. }
  2719. }
  2720. });
  2721.  
  2722. $('td[class*="m_price"]').each(function() {
  2723. var marketId = $(this).parent().find('.m_buy a').attr('id');
  2724.  
  2725. $(this).parent().find('.m_buy').prepend('<a id="allButton_' + marketId + '" title="Select all" class="f_light_blue_big buyOffer" href="javascript:;"><span style="margin-right: 8px; padding-left: 8px;">All</span></a>&nbsp;&nbsp;<a id="maxButton_' + marketId + '" title="Select max" class="f_light_blue_big buyOffer" href="javascript:;" style="margin-left: 2px; margin-bottom: 2px;"><span style="margin-right: 8px; padding-left: 8px;">Max</span></a>&nbsp;');
  2726. });
  2727.  
  2728. $('td[class*="m_quantity"]').each(function() {
  2729. var quantityId = $(this).find('input').attr('id').split('_')[1];
  2730. var quantityPrice = $(this).parent().find('.m_price strong:eq(0)').text() + $(this).parent().find('.m_price sup:eq(0)').text().split(' ')[0];
  2731.  
  2732. $(this).append('<br/><span style="font-size: 10px;" id="value_' + quantityId + '">' + parseFloat(quantityPrice).toFixed(2) + '</span>');
  2733. });
  2734.  
  2735. $('td[class*="m_quantity"] input').live('keyup', function() {
  2736. var quantId = $(this).attr('id').split('_')[1];
  2737. var quantValue = $(this).val();
  2738. var quantPrice = $(this).parent().parent().find('.m_price strong:eq(0)').text() + $(this).parent().parent().find('.m_price sup:eq(0)').text().split(' ')[0];
  2739.  
  2740. $('#value_' + quantId).html(mathRound(quantValue * parseFloat(quantPrice), 2).toFixed(2));
  2741. });
  2742.  
  2743. $('a[id^="allButton_"]').click(function() {
  2744. var marId = $(this).attr('id').split('_')[1];
  2745. var allAmount = fixString2($(this).parent().parent().find('.m_stock').text());
  2746. var unitPrice = $(this).parent().parent().find('.m_price strong:eq(0)').text() + $(this).parent().parent().find('.m_price sup:eq(0)').text().split(' ')[0];
  2747.  
  2748. $(this).parent().parent().find('.m_quantity input').attr('value', allAmount);
  2749. $('#value_' + marId).html(mathRound(allAmount * parseFloat(unitPrice), 2).toFixed(2));
  2750. });
  2751.  
  2752. $('a[id^="maxButton_"]').click(function() {
  2753. var userMoney = eRAacc[currency];
  2754. var marId = $(this).attr('id').split('_')[1];
  2755. var maxAmount = fixString2($(this).parent().parent().find('.m_stock').text());
  2756. var unitPrice = $(this).parent().parent().find('.m_price strong:eq(0)').text() + $(this).parent().parent().find('.m_price sup:eq(0)').text().split(' ')[0];
  2757.  
  2758. var finalAmount = Math.floor(parseFloat(userMoney) / parseFloat(unitPrice));
  2759.  
  2760. if (finalAmount > parseFloat(maxAmount)) {
  2761. $(this).parent().parent().find('.m_quantity input').attr('value', maxAmount);
  2762. $('#value_' + marId).html(mathRound(maxAmount * parseFloat(unitPrice), 2).toFixed(2));
  2763. } else {
  2764. $(this).parent().parent().find('.m_quantity input').attr('value', finalAmount);
  2765. $('#value_' + marId).html(mathRound(finalAmount * parseFloat(unitPrice), 2).toFixed(2));
  2766. }
  2767. });
  2768. }
  2769. // ---------------------------------------------------------------------------------------------------------------------
  2770.  
  2771. // -- Custom menu ------------------------------------------------------------------------------------------------------
  2772. function createMenu() {
  2773. readSettings('menu');
  2774.  
  2775. if (eRAopt['menu1'] == true) {
  2776. $('body').addClass('bodyImportant');
  2777.  
  2778. $('#container').prepend('<div id="customTopMenu" class="customMenuHolder">' +
  2779. '<div id="menuTopElement1" class="customMenuElemHolder"></div>' +
  2780. '<div id="menuTopElement2" class="customMenuElemHolder"></div>' +
  2781. '<div id="menuTopElement3" class="customMenuElemHolder"></div>' +
  2782. '<div id="menuTopElement4" class="customMenuElemHolder"></div>' +
  2783. '<div id="menuTopElement5" class="customMenuElemHolder"></div>' +
  2784. '<div id="menuTopElement6" class="customMenuElemHolder"></div>' +
  2785. '<div id="menuTopElement7" class="customMenuElemHolder"></div>' +
  2786. '<div id="menuTopElement8" class="customMenuElemHolder"></div>' +
  2787. '</div>');
  2788.  
  2789. if (eRAmenu['menutop1'].title != null && eRAmenu['menutop1'].title.length > 1 && eRAmenu['menutop1'].lnk != null && eRAmenu['menutop1'].lnk.length > 1) {
  2790. if (eRAmenu['menutop1'].target == true) {
  2791. $('#menuTopElement1').html('<a href="' + eRAmenu['menutop1'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop1'].title + '</div></a>');
  2792. } else {
  2793. $('#menuTopElement1').html('<a href="' + eRAmenu['menutop1'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop1'].title + '</div></a>');
  2794. }
  2795. } else {
  2796. $('#menuTopElement1').html('<a id="addTopLinkHere_1" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2797. }
  2798. if (eRAmenu['menutop2'].title != null && eRAmenu['menutop2'].title.length > 1 && eRAmenu['menutop2'].lnk != null && eRAmenu['menutop2'].lnk.length > 1) {
  2799. if (eRAmenu['menutop2'].target == true) {
  2800. $('#menuTopElement2').html('<a href="' + eRAmenu['menutop2'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop2'].title + '</div></a>');
  2801. } else {
  2802. $('#menuTopElement2').html('<a href="' + eRAmenu['menutop2'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop2'].title + '</div></a>');
  2803. }
  2804. } else {
  2805. $('#menuTopElement2').html('<a id="addTopLinkHere_2" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2806. }
  2807. if (eRAmenu['menutop3'].title != null && eRAmenu['menutop3'].title.length > 1 && eRAmenu['menutop3'].lnk != null && eRAmenu['menutop3'].lnk.length > 1) {
  2808. if (eRAmenu['menutop3'].target == true) {
  2809. $('#menuTopElement3').html('<a href="' + eRAmenu['menutop3'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop3'].title + '</div></a>');
  2810. } else {
  2811. $('#menuTopElement3').html('<a href="' + eRAmenu['menutop3'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop3'].title + '</div></a>');
  2812. }
  2813. } else {
  2814. $('#menuTopElement3').html('<a id="addTopLinkHere_3" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2815. }
  2816. if (eRAmenu['menutop4'].title != null && eRAmenu['menutop4'].title.length > 1 && eRAmenu['menutop4'].lnk != null && eRAmenu['menutop4'].lnk.length > 1) {
  2817. if (eRAmenu['menutop4'].target == true) {
  2818. $('#menuTopElement4').html('<a href="' + eRAmenu['menutop4'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop4'].title + '</div></a>');
  2819. } else {
  2820. $('#menuTopElement4').html('<a href="' + eRAmenu['menutop4'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop4'].title + '</div></a>');
  2821. }
  2822. } else {
  2823. $('#menuTopElement4').html('<a id="addTopLinkHere_4" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2824. }
  2825. if (eRAmenu['menutop5'].title != null && eRAmenu['menutop5'].title.length > 1 && eRAmenu['menutop5'].lnk != null && eRAmenu['menutop5'].lnk.length > 1) {
  2826. if (eRAmenu['menutop5'].target == true) {
  2827. $('#menuTopElement5').html('<a href="' + eRAmenu['menutop5'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop5'].title + '</div></a>');
  2828. } else {
  2829. $('#menuTopElement5').html('<a href="' + eRAmenu['menutop5'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop5'].title + '</div></a>');
  2830. }
  2831. } else {
  2832. $('#menuTopElement5').html('<a id="addTopLinkHere_5" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2833. }
  2834. if (eRAmenu['menutop6'].title != null && eRAmenu['menutop6'].title.length > 1 && eRAmenu['menutop6'].lnk != null && eRAmenu['menutop6'].lnk.length > 1) {
  2835. if (eRAmenu['menutop6'].target == true) {
  2836. $('#menuTopElement6').html('<a href="' + eRAmenu['menutop6'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop6'].title + '</div></a>');
  2837. } else {
  2838. $('#menuTopElement6').html('<a href="' + eRAmenu['menutop6'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop6'].title + '</div></a>');
  2839. }
  2840. } else {
  2841. $('#menuTopElement6').html('<a id="addTopLinkHere_6" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2842. }
  2843. if (eRAmenu['menutop7'].title != null && eRAmenu['menutop7'].title.length > 1 && eRAmenu['menutop7'].lnk != null && eRAmenu['menutop7'].lnk.length > 1) {
  2844. if (eRAmenu['menutop7'].target == true) {
  2845. $('#menuTopElement7').html('<a href="' + eRAmenu['menutop7'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop7'].title + '</div></a>');
  2846. } else {
  2847. $('#menuTopElement7').html('<a href="' + eRAmenu['menutop7'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop7'].title + '</div></a>');
  2848. }
  2849. } else {
  2850. $('#menuTopElement7').html('<a id="addTopLinkHere_7" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2851. }
  2852. if (eRAmenu['menutop8'].title != null && eRAmenu['menutop8'].title.length > 1 && eRAmenu['menutop8'].lnk != null && eRAmenu['menutop8'].lnk.length > 1) {
  2853. if (eRAmenu['menutop8'].target == true) {
  2854. $('#menuTopElement8').html('<a href="' + eRAmenu['menutop8'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menutop8'].title + '</div></a>');
  2855. } else {
  2856. $('#menuTopElement8').html('<a href="' + eRAmenu['menutop8'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menutop8'].title + '</div></a>');
  2857. }
  2858. } else {
  2859. $('#menuTopElement8').html('<a id="addTopLinkHere_8" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2860. }
  2861.  
  2862. $('a[id*="addTopLinkHere"]').live('click', function() {
  2863. var linkIdNumber = $(this).attr('id').split('_')[1];
  2864.  
  2865. $('#content').append('<div id="customMenuTopPrompt_' + linkIdNumber + '" class="customMenuPrompt">' +
  2866. '<span class="menuWindowHeader">' +
  2867. '<a id="customMenuTopPromptClose_' + linkIdNumber + '" class="closeButton" title="Close" href="javascript:;">&nbsp;</a>' +
  2868. '</span>' +
  2869. '<span style="float: left; margin-left: 5%; margin-right: 5%; margin-top: 10px; padding: 5px; width: 90%;">' +
  2870. '<div style="display: block; font-size: 16px; height: 35px; padding-bottom: 10px; text-align: center; vertical-align: middle; width: 100%;">Please enter desired link title<br>and choose if you want to open it in new tab.</div>' +
  2871. '<div class="menuWindowContentTable">' +
  2872. '<div class="menuWindowContentRow">' +
  2873. '<div class="menuWindowContentCell">Title</div>' +
  2874. '<div class="menuWindowContentCell">&nbsp;</div>' +
  2875. '</div>' +
  2876. '<div class="menuWindowContentRow">' +
  2877. '<div class="menuWindowContentCell"><input id="customMenuTopPromptName_' + linkIdNumber + '" type="text" size="50"></div>' +
  2878. '<div class="menuWindowContentCell"><input id="customMenuTopPromptTarget_' + linkIdNumber + '" type="checkbox" title="Open link in new tab?"></div>' +
  2879. '</div>' +
  2880. '</div>' +
  2881. '<div style="display: block; font-size: 16px; height: 35px; padding-bottom: 10px; text-align: center; vertical-align: middle; width: 100%;">' +
  2882. '<a id="customMenuTopPromptSubmit_' + linkIdNumber + '" title="Submit" class="fluid_blue_raised_medium" style="display: inline; left: 95px; margin-top: 15px; margin-right: 15px;">' +
  2883. '<span style="font-size: 10px; text-align: center;">Submit</span>' +
  2884. '</a>' +
  2885. '<a id="customMenuTopPromptCancel_' + linkIdNumber + '" title="Cancel" class="fluid_red_small" style="display: inline; left: 95px; margin-top: 15px;">' +
  2886. '<span style="font-size: 10px; text-align: center;">Cancel</span>' +
  2887. '</a>' +
  2888. '</div>' +
  2889. '</span>' +
  2890. '</div>');
  2891.  
  2892. $('#customMenuTopPrompt_' + linkIdNumber).css('display', 'block');
  2893.  
  2894. $('a[id*="customMenuTopPromptClose"]').each(function() {
  2895. var closeId = $(this).attr('id').split('_')[1];
  2896. $(this).click(function() {
  2897. $('#customMenuTopPromptName_' + closeId).val('');
  2898. $('#customMenuTopPromptTarget_' + closeId).prop('checked', false);
  2899.  
  2900. $('#customMenuTopPrompt_' + closeId).remove();
  2901. });
  2902. });
  2903.  
  2904. $('a[id*="customMenuTopPromptSubmit"]').live('click', function() {
  2905. var linkIdNumber = $(this).attr('id').split('_')[1];
  2906. var thisLink = document.location.href;
  2907. var thisName = null;
  2908. var thisTarget = null;
  2909.  
  2910. if($('#customMenuTopPromptName_' + linkIdNumber) != null) {
  2911. thisName = $('#customMenuTopPromptName_' + linkIdNumber).val();
  2912. thisTarget = Boolean($('#customMenuTopPromptTarget_' + linkIdNumber).prop('checked'));
  2913.  
  2914. eRAmenu['menutop' + linkIdNumber] = {title: thisName, lnk: thisLink, target: thisTarget};
  2915. writeSettings(era.characterId + '.Menu', eRAmenu);
  2916.  
  2917. $('#customMenuTopPrompt_' + linkIdNumber).remove();
  2918. }
  2919. });
  2920.  
  2921. $('a[id*="customMenuTopPromptCancel"]').live('click', function() {
  2922. var linkIdNumber = $(this).attr('id').split('_')[1];
  2923.  
  2924. $('#customMenuTopPromptName_' + linkIdNumber).val('');
  2925. $('#customMenuTopPromptTarget_' + linkIdNumber).prop('checked', false);
  2926.  
  2927. $('#customMenuTopPrompt_' + linkIdNumber).remove();
  2928. });
  2929. });
  2930. }
  2931.  
  2932. if (eRAopt['menu2'] == true) {
  2933.  
  2934. $('#menu').append('<div id="customBottomMenu" class="customMenuHolder">' +
  2935. '<div id="menuElement1" class="customMenuElemHolder"></div>' +
  2936. '<div id="menuElement2" class="customMenuElemHolder"></div>' +
  2937. '<div id="menuElement3" class="customMenuElemHolder"></div>' +
  2938. '<div id="menuElement4" class="customMenuElemHolder"></div>' +
  2939. '<div id="menuElement5" class="customMenuElemHolder"></div>' +
  2940. '<div id="menuElement6" class="customMenuElemHolder"></div>' +
  2941. '<div id="menuElement7" class="customMenuElemHolder"></div>' +
  2942. '<div id="menuElement8" class="customMenuElemHolder"></div>' +
  2943. '</div>');
  2944.  
  2945. if (eRAmenu['menu1'].title != null && eRAmenu['menu1'].title.length > 1 && eRAmenu['menu1'].lnk != null && eRAmenu['menu1'].lnk.length > 1) {
  2946. if (eRAmenu['menu1'].target == true) {
  2947. $('#menuElement1').html('<a href="' + eRAmenu['menu1'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu1'].title + '</div></a>');
  2948. } else {
  2949. $('#menuElement1').html('<a href="' + eRAmenu['menu1'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu1'].title + '</div></a>');
  2950. }
  2951. } else {
  2952. $('#menuElement1').html('<a id="addLinkHere_1" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2953. }
  2954. if (eRAmenu['menu2'].title != null && eRAmenu['menu2'].title.length > 1 && eRAmenu['menu2'].lnk != null && eRAmenu['menu2'].lnk.length > 1) {
  2955. if (eRAmenu['menu2'].target == true) {
  2956. $('#menuElement2').html('<a href="' + eRAmenu['menu2'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu2'].title + '</div></a>');
  2957. } else {
  2958. $('#menuElement2').html('<a href="' + eRAmenu['menu2'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu2'].title + '</div></a>');
  2959. }
  2960. } else {
  2961. $('#menuElement2').html('<a id="addLinkHere_2" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2962. }
  2963. if (eRAmenu['menu3'].title != null && eRAmenu['menu3'].title.length > 1 && eRAmenu['menu3'].lnk != null && eRAmenu['menu3'].lnk.length > 1) {
  2964. if (eRAmenu['menu3'].target == true) {
  2965. $('#menuElement3').html('<a href="' + eRAmenu['menu3'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu3'].title + '</div></a>');
  2966. } else {
  2967. $('#menuElement3').html('<a href="' + eRAmenu['menu3'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu3'].title + '</div></a>');
  2968. }
  2969. } else {
  2970. $('#menuElement3').html('<a id="addLinkHere_3" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2971. }
  2972. if (eRAmenu['menu4'].title != null && eRAmenu['menu4'].title.length > 1 && eRAmenu['menu4'].lnk != null && eRAmenu['menu4'].lnk.length > 1) {
  2973. if (eRAmenu['menu4'].target == true) {
  2974. $('#menuElement4').html('<a href="' + eRAmenu['menu4'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu4'].title + '</div></a>');
  2975. } else {
  2976. $('#menuElement4').html('<a href="' + eRAmenu['menu4'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu4'].title + '</div></a>');
  2977. }
  2978. } else {
  2979. $('#menuElement4').html('<a id="addLinkHere_4" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2980. }
  2981. if (eRAmenu['menu5'].title != null && eRAmenu['menu5'].title.length > 1 && eRAmenu['menu5'].lnk != null && eRAmenu['menu5'].lnk.length > 1) {
  2982. if (eRAmenu['menu5'].target == true) {
  2983. $('#menuElement5').html('<a href="' + eRAmenu['menu5'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu5'].title + '</div></a>');
  2984. } else {
  2985. $('#menuElement5').html('<a href="' + eRAmenu['menu5'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu5'].title + '</div></a>');
  2986. }
  2987. } else {
  2988. $('#menuElement5').html('<a id="addLinkHere_5" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2989. }
  2990. if (eRAmenu['menu6'].title != null && eRAmenu['menu6'].title.length > 1 && eRAmenu['menu6'].lnk != null && eRAmenu['menu6'].lnk.length > 1) {
  2991. if (eRAmenu['menu6'].target == true) {
  2992. $('#menuElement6').html('<a href="' + eRAmenu['menu6'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu6'].title + '</div></a>');
  2993. } else {
  2994. $('#menuElement6').html('<a href="' + eRAmenu['menu6'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu6'].title + '</div></a>');
  2995. }
  2996. } else {
  2997. $('#menuElement6').html('<a id="addLinkHere_6" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  2998. }
  2999. if (eRAmenu['menu7'].title != null && eRAmenu['menu7'].title.length > 1 && eRAmenu['menu7'].lnk != null && eRAmenu['menu7'].lnk.length > 1) {
  3000. if (eRAmenu['menu7'].target == true) {
  3001. $('#menuElement7').html('<a href="' + eRAmenu['menu7'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu7'].title + '</div></a>');
  3002. } else {
  3003. $('#menuElement7').html('<a href="' + eRAmenu['menu7'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu7'].title + '</div></a>');
  3004. }
  3005. } else {
  3006. $('#menuElement7').html('<a id="addLinkHere_7" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  3007. }
  3008. if (eRAmenu['menu8'].title != null && eRAmenu['menu8'].title.length > 1 && eRAmenu['menu8'].lnk != null && eRAmenu['menu8'].lnk.length > 1) {
  3009. if (eRAmenu['menu8'].target == true) {
  3010. $('#menuElement8').html('<a href="' + eRAmenu['menu8'].lnk + '" target="_blank"><div class="customMenuElement">' + eRAmenu['menu8'].title + '</div></a>');
  3011. } else {
  3012. $('#menuElement8').html('<a href="' + eRAmenu['menu8'].lnk + '" target="_self"><div class="customMenuElement">' + eRAmenu['menu8'].title + '</div></a>');
  3013. }
  3014. } else {
  3015. $('#menuElement8').html('<a id="addLinkHere_8" title="Add current page" href="javascript:;" target="_self"><div class="customMenuElementAdd">+</div></a>');
  3016. }
  3017.  
  3018. $('a[id*="addLinkHere"]').live('click', function() {
  3019. var linkIdNumber = $(this).attr('id').split('_')[1];
  3020.  
  3021. $('#content').append('<div id="customMenuPrompt_' + linkIdNumber + '" class="customMenuPrompt">' +
  3022. '<span class="menuWindowHeader">' +
  3023. '<a id="customMenuPromptClose_' + linkIdNumber + '" class="closeButton" title="Close" href="javascript:;">&nbsp;</a>' +
  3024. '</span>' +
  3025. '<span style="float: left; margin-left: 5%; margin-right: 5%; margin-top: 10px; padding: 5px; width: 90%;">' +
  3026. '<div style="display: block; font-size: 16px; height: 35px; padding-bottom: 10px; text-align: center; vertical-align: middle; width: 100%;">Please enter desired link title<br>and choose if you want to open it in new tab.</div>' +
  3027. '<div class="menuWindowContentTable">' +
  3028. '<div class="menuWindowContentRow">' +
  3029. '<div class="menuWindowContentCell">Title</div>' +
  3030. '<div class="menuWindowContentCell">&nbsp;</div>' +
  3031. '</div>' +
  3032. '<div class="menuWindowContentRow">' +
  3033. '<div class="menuWindowContentCell"><input id="customMenuPromptName_' + linkIdNumber + '" type="text" size="50"></div>' +
  3034. '<div class="menuWindowContentCell"><input id="customMenuPromptTarget_' + linkIdNumber + '" type="checkbox" title="Open link in new tab?"></div>' +
  3035. '</div>' +
  3036. '</div>' +
  3037. '<div style="display: block; font-size: 16px; height: 35px; padding-bottom: 10px; text-align: center; vertical-align: middle; width: 100%;">' +
  3038. '<a id="customMenuPromptSubmit_' + linkIdNumber + '" title="Submit" class="fluid_blue_raised_medium" style="display: inline; left: 95px; margin-top: 15px; margin-right: 15px;">' +
  3039. '<span style="font-size: 10px; text-align: center;">Submit</span>' +
  3040. '</a>' +
  3041. '<a id="customMenuPromptCancel_' + linkIdNumber + '" title="Cancel" class="fluid_red_small" style="display: inline; left: 95px; margin-top: 15px;">' +
  3042. '<span style="font-size: 10px; text-align: center;">Cancel</span>' +
  3043. '</a>' +
  3044. '</div>' +
  3045. '</span>' +
  3046. '</div>');
  3047.  
  3048. $('#customMenuPrompt_' + linkIdNumber).css('display', 'block');
  3049.  
  3050. $('a[id*="customMenuPromptClose"]').each(function() {
  3051. var closeId = $(this).attr('id').split('_')[1];
  3052. $(this).click(function() {
  3053. $('#customMenuPromptName_' + closeId).val('');
  3054. $('#customMenuPromptTarget_' + closeId).prop('checked', false);
  3055.  
  3056. $('#customMenuPrompt_' + closeId).remove();
  3057. });
  3058. });
  3059.  
  3060. $('a[id*="customMenuPromptSubmit"]').live('click', function() {
  3061. var linkIdNumber = $(this).attr('id').split('_')[1];
  3062. var thisLink = document.location.href;
  3063. var thisName = null;
  3064. var thisTarget = null;
  3065.  
  3066. if($('#customMenuPromptName_' + linkIdNumber) != null) {
  3067. thisName = $('#customMenuPromptName_' + linkIdNumber).val();
  3068. thisTarget = Boolean($('#customMenuPromptTarget_' + linkIdNumber).prop('checked'));
  3069.  
  3070. eRAmenu['menu' + linkIdNumber] = {title: thisName, lnk: thisLink, target: thisTarget};
  3071. writeSettings(era.characterId + '.Menu', eRAmenu);
  3072.  
  3073. $('#customMenuPrompt_' + linkIdNumber).remove();
  3074. }
  3075. });
  3076.  
  3077. $('a[id*="customMenuPromptCancel"]').live('click', function() {
  3078. var linkIdNumber = $(this).attr('id').split('_')[1];
  3079.  
  3080. $('#customMenuPromptName_' + linkIdNumber).val('');
  3081. $('#customMenuPromptTarget_' + linkIdNumber).prop('checked', false);
  3082.  
  3083. $('#customMenuPrompt_' + linkIdNumber).remove();
  3084. });
  3085. });
  3086. }
  3087. }
  3088. // ---------------------------------------------------------------------------------------------------------------------
  3089.  
  3090. // -- Search redirect --------------------------------------------------------------------------------------------------
  3091. function searchRedirect() {
  3092. if (eRAopt['search'] == false || $('table.bestof:first tr').length != 2) {
  3093. return;
  3094. }
  3095.  
  3096. $('<tr/>').html('<td colspan="4" style="text-align: center; padding: 10px;">Redirecting...</td>').insertAfter('table.bestof:first tr:last');
  3097. location.assign($('.entity a:first').attr('href'));
  3098. }
  3099. // ---------------------------------------------------------------------------------------------------------------------
  3100.  
  3101. // -- Article comments -------------------------------------------------------------------------------------------------
  3102. function changeComments() {
  3103. if (eRAopt['news'] == false) {
  3104. return;
  3105. }
  3106.  
  3107. var removedCount = 0;
  3108.  
  3109. $('body#newspaper ul.tabs li a span').css('padding', '0px 10px');
  3110. $('body#newspaper ul.tabs li a span').css('width', '150px');
  3111.  
  3112. var commentsText = $('#comments_button_on span').text();
  3113. commentsText = commentsText.replace(/\s/g, '/');
  3114. var numberOfComments = commentsText.split('/')[1];
  3115. numberOfComments = numberOfComments.substring(1, numberOfComments.length - 1);
  3116.  
  3117. /*var trackbacksText = $('#trackbacks_button_on span').text();
  3118. trackbacksText = trackbacksText.replace(/\s/g, '/');
  3119. var numberOfTrackbacks = trackbacksText.split('/')[1];
  3120. numberOfTrackbacks = numberOfTrackbacks.substring(1, numberOfTrackbacks.length - 1);*/
  3121. // frimen
  3122.  
  3123. var currNumComments = $('input#NumberOfComments').val();
  3124. $('input#NumberOfComments').val(currNumComments - removedCount);
  3125.  
  3126. $('#comments_button_on span').html(numberOfComments + ' Comments');
  3127. $('#comments_button_off span').html(numberOfComments + ' Comments');
  3128.  
  3129. /*$('#trackbacks_button_on span').html(numberOfTrackbacks + ' Trackbacks');
  3130. $('#trackbacks_button_off span').html(numberOfTrackbacks + ' Trackbacks');*/
  3131. // frimen
  3132.  
  3133. var oldWidth = $('#article_comment').css('width');
  3134. var oldHeight = $('#article_comment').css('height');
  3135. $('#article_comment').css('margin-bottom', '0px');
  3136. $('#article_comment').attr('class', 'resizable');
  3137. $('#article_comment').parent().css('height', 'auto');
  3138. $('#article_comment').css('width', oldWidth);
  3139. $('#article_comment').css('height', oldHeight);
  3140. $('#article_comment').css('font-family', 'Arial,Helvetica,sans-serif');
  3141. $('#article_comment').css('font-size', '13px');
  3142.  
  3143. // time stamp
  3144.  
  3145. var today = $('.eday strong').html().replace(/,/gi, '');
  3146. if (today) {
  3147. var timeNow = $('#live_time').text().split(':');
  3148. var totalTimeNow = (parseInt(today, 10) * 1440) + (parseInt(timeNow[0], 10) * 60) + parseInt(timeNow[1], 10);
  3149.  
  3150. $('#comments_div .articlecomments').each(function() {
  3151. var commentTimestamp = $(this).find('.article_comment_posted_at').text().split(' ');
  3152.  
  3153. var commentDay = commentTimestamp[1].replace(/,/gi, '');
  3154. var commentTime = commentTimestamp[2].split(':');
  3155.  
  3156. var totalTimeCom = (parseInt(commentDay, 10) * 1440) + (parseInt(commentTime[0], 10) * 60) + parseInt(commentTime[1], 10);
  3157. var totalMinutes = totalTimeNow - totalTimeCom;
  3158.  
  3159. var showText = '';
  3160. var comYears = Math.floor(totalMinutes / 525600);
  3161. if (comYears > 0) {
  3162. showText = 'more than one year';
  3163. } else {
  3164. var comDays = Math.floor(totalMinutes / 1440);
  3165. showText = (comDays > 0) ? comDays + 'd ' : '';
  3166. var comHours = Math.floor((totalMinutes - (comDays * 1440)) / 60);
  3167. showText += (comHours > 0) ? comHours + 'h ' : '';
  3168. var comMinutes = Math.floor(totalMinutes - (comDays * 1440) - (comHours * 60));
  3169. if (totalMinutes > 0) {
  3170. showText += (comMinutes > 0) ? comMinutes + 'm' : '';
  3171. } else {
  3172. showText += 'less then min.';
  3173. }
  3174. }
  3175. $(this).find('.article_comment_posted_at').css({'display':'block','float':'left'}).append('<br /><div style="font-size: 10px; padding-top: 3px;"> ' + showText + ' ago</div>');
  3176. });
  3177. }
  3178. }
  3179. // ---------------------------------------------------------------------------------------------------------------------
  3180.  
  3181. // -- Better messages --------------------------------------------------------------------------------------------------
  3182. function fixMessages() {
  3183. $('.message_listing .break-word').each(function() {
  3184. $(this).css('width', '531px');
  3185. if ($.browser.mozilla) {
  3186. $(this).textOverflow();
  3187. } else {
  3188. $(this).css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  3189. }
  3190. });
  3191. }
  3192. // ---------------------------------------------------------------------------------------------------------------------
  3193.  
  3194. // -- Elections --------------------------------------------------------------------------------------------------------
  3195. function improveElections() {
  3196. if (eRAopt['elections'] == false) {
  3197. return;
  3198. }
  3199.  
  3200. var voteWinnerCount = $('.vote_block:eq(0) p').html().split('<br>');
  3201. var voteWinnerNumber = voteWinnerCount[0].split(' ')[0];
  3202.  
  3203. $('.vote_block').each(function() {
  3204. $(this).find('p').css('margin-top', '9px');
  3205. var voteCount = $(this).find('p').html().split('<br>');
  3206. var voteNumber = voteCount[0].split(' ')[0];
  3207. var voteDiff = parseFloat(voteNumber) - parseFloat(voteWinnerNumber);
  3208. if (voteDiff < 0) {
  3209. $(this).find('p').html(voteCount[0] + '<br><small>' + voteDiff + '</small><br>' + voteCount[1]);
  3210. } else {
  3211. $(this).find('p').html(voteCount[0] + '<br><small>&mdash;</small><br>' + voteCount[1]);
  3212. }
  3213. });
  3214. }
  3215. // ---------------------------------------------------------------------------------------------------------------------
  3216.  
  3217. // -- Battlefield ------------------------------------------------------------------------------------------------------
  3218. function improveBattlefield() {
  3219. if (eRAopt['battlefield'] == false) {
  3220. return;
  3221. }
  3222.  
  3223. var script = document.createElement('script');
  3224. script.type = 'text/javascript';
  3225. script.text = 'function globalTick() { }';
  3226. document.getElementsByTagName('head')[0].appendChild(script);
  3227.  
  3228. $('#collection_complete').after('<div id="era_influence" style="display: none;"></div>' +
  3229. '<div id="era_hitsneeded" style="display: none;"></div>');
  3230.  
  3231. var eToday = parseFloat($('.eday strong').html().replace(/,/gi, ''));
  3232.  
  3233. var userCountry = id_country[fixString2(citizenMain)];
  3234. readSettings('influence');
  3235. readSettings('natural');
  3236.  
  3237. if (eRAinflu[eToday] == undefined || eRAinflu[eToday]['Influence'] == 'NaN') {
  3238. eRAinflu[eToday] = {};
  3239. eRAinflu[eToday]['Hits'] = 0;
  3240. eRAinflu[eToday]['Kills'] = 0;
  3241. eRAinflu[eToday]['Influence'] = 0;
  3242. eRAinflu[eToday]['Rank'] = 0;
  3243.  
  3244. writeSettings(era.characterId + '.Influence', eRAinflu);
  3245. }
  3246.  
  3247. var regionName = $('#pvp_header h2:eq(0)').text();
  3248. var regionFullName = findElement(regionName.replace(/\./gi, ''), region_link);
  3249.  
  3250. $('#pvp_header h2:eq(0)').replaceWith('<a class="regionLink" title="' + regionFullName + '" href="http://www.erepublik.com/' + era.hostLang + '/region/' + region_link[regionFullName] + '" target="_blank"><h2 style="color: #3C8FA7 !important;">' + regionName + '</h2></a>');
  3251.  
  3252. var myCountry = $('div[class*="country left_side"] h3').html();
  3253. var vsCountry = $('div[class*="country right_side"] h3').html();
  3254.  
  3255. if (myCountry.indexOf('Resistance') == -1 && vsCountry.indexOf('Resistance') == -1 && myCountry == userCountry && vsCountry == eRAne['Enemy']) {
  3256. $('div[class*="country right_side"] a img').after('<img alt="" title="Natural enemy" src="' + neIcon + '" style="margin-top: -2px; position: absolute; margin-left: -9px;">');
  3257. }
  3258.  
  3259. $('#blue_domination').css('opacity', '0'); // frimen
  3260. $('#red_domination').css('opacity', '0'); // frimen
  3261.  
  3262. $('.progress').each(function() {
  3263. $(this).css({'text-align': 'center', 'overflow': 'visible'});
  3264. });
  3265.  
  3266. $('#player_loss').css('top', '-25px');
  3267. $('#enemy_loss').css('top', '-25px');
  3268.  
  3269. if($('#player_life').length) {
  3270. var playerHealth = $('#player_life').attr('title').split(' ')[2];
  3271. var playerRecoverHealth = $('.tooltip_health_limit').html().split(' / ')[0];
  3272. var playerRank = $('#rank_icon').attr('title').split(': ')[1].replace(' *', '*').toLowerCase();
  3273. var playerStrength = mathRound(parseFloat($('#pvp_battle_area .player.left_side .info #fighter_skill').text().replace(/,/gi, '')), 0).toFixed(0);
  3274. var enemyStrength = mathRound(parseFloat($('#pvp_battle_area .player.right_side .info #enemy_skill').text().replace(/,/gi, '')), 0).toFixed(0);
  3275. var playerWeaponPower = parseFloat($('#scroller div span img').attr('src').split('/')[5].split('_q')[1].split('.')[0]) * 20;
  3276. var enemyWeaponPower = parseFloat($('#enemy_weapon').attr('src').split('/')[5].split('_q')[1].split('.')[0]) * 20;
  3277.  
  3278. if ($('#enemy_life').attr('title').split(' ')[2].length == 0) {
  3279. var enemyHealth = $('#enemy_life').attr('original-title').split(' ')[2];
  3280. } else {
  3281. var enemyHealth = $('#enemy_life').attr('title').split(' ')[2];
  3282. }
  3283. $('#player_life').after('<div id="playerHealth" class="battleHealth">' + parseFloat(playerHealth).toFixed(2) + '</div>');
  3284. $('#enemy_life').after('<div id="enemyHealth" class="battleHealth">' + parseFloat(enemyHealth).toFixed(2) + '</div>');
  3285.  
  3286. $('#era_hitsneeded').html(playerRank + '|' + enemyHealth + '|' + enemyStrength + '|' + enemyWeaponPower);
  3287.  
  3288. if(playerWeaponPower == 200) {
  3289. var hitsNeeded = 1;
  3290. } else {
  3291. var hitsNeeded = Math.ceil(parseFloat(enemyHealth) / Math.round((60 + ((playerStrength - enemyStrength) / 10)) * (1 + (playerWeaponPower - enemyWeaponPower) / 400) / 2));
  3292. }
  3293.  
  3294. $('#pvp_battle_area .player.right_side').prepend('<div class="hitsNeededHolder"><div class="hitsNeededTitle">Hits needed</div><div id="hitsNeeded" class="hitsNeededNumber">' + hitsNeeded + '</div></div>');
  3295.  
  3296. $('#player_life, #enemy_life').attrChange(function() {
  3297. if($('#player_life').attr('original-title') != undefined) {
  3298. playerHealth = $('#player_life').attr('original-title').split(' ')[2];
  3299. } else {
  3300. playerHealth = $('#player_life').attr('title').split(' ')[2];
  3301. }
  3302. if ($('#enemy_life').attr('original-title') != undefined) {
  3303. enemyHealth = $('#enemy_life').attr('original-title').split(' ')[2];
  3304. } else {
  3305. enemyHealth = $('#enemy_life').attr('title').split(' ')[2];
  3306. }
  3307. $('#playerHealth').animate({'opacity': '0'}, 'fast').text(parseFloat(playerHealth).toFixed(2)).animate({'opacity': '1'}, 'fast');
  3308. $('#enemyHealth').animate({'opacity': '0'}, 'fast').text(parseFloat(enemyHealth).toFixed(2)).animate({'opacity': '1'}, 'fast');
  3309. });
  3310.  
  3311. $('#pvp_battle_area table:eq(0)').before('<table style="width: auto; margin: 0 auto -25px; position: relative; top: 230px;">' +
  3312. '<tr>' +
  3313. '<td>' +
  3314. '<div id="maxDamage" style="width: auto; height: 25px; display: block; cursor: default; position: relative;">' +
  3315. '<small style="font-size: 11px; color: white; float: left; text-shadow: #333 0px 1px 1px; display: block; height: 25px; opacity: 0.7; -moz-opacity: 0.7; -ms-fiter: \'progid:DXImageTransform.Microsoft.Alpha(Opacity=70)\'; filter: alpha(opacity=70); line-height: 25px; font-weight: bold; padding: 0 5px; background-image: url(\'\/images\/modules\/pvp\/influence_left.png?1321873582\'); background-position: left;">Max damage</small>' +
  3316. '<strong style="color: white; text-shadow: #014471 0px 1px 0px; float: left; display: block; height: 25px; font-size: 12px; line-height: 25px; padding: 0 5px; background-image: url(\'\/images\/modules\/pvp\/influence_right.png?1321873582\'); background-position: right;">0</strong>' +
  3317. '</div>' +
  3318. '</td>' +
  3319. '</tr>' +
  3320. '</table>');
  3321.  
  3322. if(playerWeaponPower == 200) {
  3323. var maxInfluence = Math.floor((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3324. } else {
  3325. var maxInfluence = Math.floor((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100));
  3326. }
  3327.  
  3328. $('#maxDamage strong').html(maxInfluence);
  3329. }
  3330.  
  3331. //show exact percentages
  3332. // frimen - start
  3333. setTimeout(function(){
  3334. $('.domibar').prepend('<strong id="blue_domination_f" class="left_side"></strong><strong id="red_domination_f" class="right_side"></strong>');
  3335. exactDomination = parseFloat($('.domibar').css('background-position'));
  3336. $('#blue_domination_f').text(mathRound(100 - exactDomination, 2).toFixed(2) + '%');
  3337. $('#red_domination_f').text(mathRound(exactDomination, 2).toFixed(2) + '%');
  3338. $('#blue_domination_f').css('opacity', '0').animate({'opacity': '1'}, 'fast');
  3339. $('#red_domination_f').css('opacity', '0').animate({'opacity': '1'}, 'fast');
  3340. }, 1000);
  3341.  
  3342. $('.domibar').cssChange(function(){
  3343. exactDomination = parseFloat($('.domibar').css('background-position'));
  3344. $('#blue_domination_f').text(mathRound(100 - exactDomination, 2).toFixed(2) + '%');
  3345. $('#red_domination_f').text(mathRound(exactDomination, 2).toFixed(2) + '%');
  3346. });
  3347. // frimen - end
  3348.  
  3349. loadInfluScript();
  3350.  
  3351. $('#era_influence').contentChange(function() {
  3352. readSettings('influence');
  3353.  
  3354. var fightInfluence = parseInt($('#era_influence').html().split('|')[0]);
  3355. var fightHits = parseInt($('#era_influence').html().split('|')[1]);
  3356. var fightRank = parseInt($('#era_influence').html().split('|')[2]);
  3357.  
  3358. eRAinflu[eToday]['Hits'] = parseFloat(eRAinflu[eToday]['Hits']) + fightHits + '';
  3359. eRAinflu[eToday]['Kills'] = parseFloat(eRAinflu[eToday]['Kills']) + 1 + '';
  3360. eRAinflu[eToday]['Influence'] = parseFloat(eRAinflu[eToday]['Influence']) + fightInfluence + '';
  3361. eRAinflu[eToday]['Rank'] = parseFloat(eRAinflu[eToday]['Rank']) + fightRank + '';
  3362.  
  3363. writeSettings(era.characterId + '.Influence', eRAinflu);
  3364.  
  3365. updateDailyTracker();
  3366. });
  3367. }
  3368.  
  3369. function influScript() {
  3370. $ = window.jQuery;
  3371.  
  3372. var rank_id = {'recruit' : '1', 'private' : '2', 'private*' : '3', 'private**' : '4', 'private***' : '5', 'corporal' : '6', 'corporal*' : '7', 'corporal**' : '8', 'corporal***' : '9', 'sergeant' : '10', 'sergeant*' : '11', 'sergeant**' : '12', 'sergeant***' : '13', 'lieutenant' : '14', 'lieutenant*' : '15', 'lieutenant**' : '16', 'lieutenant***' : '17', 'captain' : '18', 'captain*' : '19', 'captain**' : '20', 'captain***' : '21', 'major' : '22', 'major*' : '23', 'major**' : '24', 'major***' : '25', 'commander' : '26', 'commander*' : '27', 'commander**' : '28', 'commander***' : '29', 'lt colonel' : '30', 'lt colonel*' : '31', 'lt colonel**' : '32', 'lt colonel***' : '33', 'colonel' : '34', 'colonel*' : '35', 'colonel**' : '36', 'colonel***' : '37', 'general' : '38', 'general*' : '39', 'general**' : '40', 'general***' : '41', 'field marshal' : '42', 'field marshal*' : '43', 'field marshal**' : '44', 'field marshal***' : '45', 'supreme marshal' : '46', 'supreme marshal*' : '47', 'supreme marshal**' : '48', 'supreme marshal***' : '49', 'national force' : '50', 'national force*' : '51', 'national force**' : '52', 'national force***' : '53', 'world class force' : '54', 'world class force*' : '55', 'world class force**' : '56', 'world class force***' : '57', 'legendary force' : '58', 'legendary force*' : '59', 'legendary force**' : '60', 'legendary force***' : '61', 'god of war' : '62', 'god of war*' : '63', 'god of war**' : '64', 'god of war***' : '65'};
  3373.  
  3374. function getKillData(dat) {
  3375. var dataObj = $['parseJSON'](dat);
  3376.  
  3377. var playerStrength = parseFloat(dataObj['user']['skill']);
  3378. var playerWeaponId = parseFloat(dataObj['user']['weaponId']);
  3379. var playerWeaponPower = parseFloat(dataObj['user']['weaponDamage']);
  3380. var playerHealth = parseFloat(dataObj['user']['health']);
  3381. var playerRecoverHealth = parseFloat($('.tooltip_health_limit').html().split(' / ')[0]);
  3382. var playerRank = $('#era_hitsneeded').html().split('|')[0];
  3383.  
  3384. var enemyHealth = parseFloat(dataObj['enemy']['health']);
  3385. var enemyStrength = parseFloat(dataObj['enemy']['skill'].replace(',', ''));
  3386. var enemyWeaponPower = parseFloat(dataObj['enemy']['damage']);
  3387.  
  3388. var dataDamage = dataObj['user']['givenDamage'];
  3389. var dataExp = dataObj['user']['earnedXp'];
  3390. var dataRank = dataObj['user']['earnedRankPoints'];
  3391. var dataNatural = dataObj['oldEnemy']['isNatural'];
  3392.  
  3393. if(dataNatural == true) {
  3394. dataDamage = dataDamage + Math.floor(dataDamage * 0.1);
  3395. $('#era_influence').html(dataDamage + '|' + dataExp + '|' + dataRank + '|' + Math.random());
  3396.  
  3397. if(playerWeaponId == 10) {
  3398. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3399. } else {
  3400. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * (Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100)) + Math.floor(Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100)) * 0.1));
  3401. }
  3402. } else {
  3403. $('#era_influence').html(dataDamage + '|' + dataExp + '|' + dataRank + '|' + Math.random());
  3404.  
  3405. if(playerWeaponId == 10) {
  3406. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3407. } else {
  3408. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100));
  3409. }
  3410. }
  3411.  
  3412. $('#era_hitsneeded').html(playerRank + '|' + enemyHealth + '|' + enemyStrength + '|' + enemyWeaponPower);
  3413.  
  3414. if(playerWeaponId == 10) {
  3415. var hitsNeeded = 1;
  3416. } else {
  3417. var hitsNeeded = Math.ceil(enemyHealth / Math.floor((60 + ((playerStrength - enemyStrength) / 10)) * (1 + (playerWeaponPower - enemyWeaponPower) / 400) / 2));
  3418. }
  3419.  
  3420. $('#hitsNeeded').html(hitsNeeded);
  3421. $('#maxDamage strong').html(maxInfluence);
  3422. }
  3423.  
  3424. function getHitData(dat) {
  3425. var dataObj = $['parseJSON'](dat);
  3426.  
  3427. var playerStrength = parseFloat(dataObj['user']['skill']);
  3428. var playerWeaponId = parseFloat(dataObj['user']['weaponId']);
  3429. var playerWeaponPower = parseFloat(dataObj['user']['weaponDamage']);
  3430. var playerHealth = parseFloat(dataObj['user']['health']);
  3431. var playerRecoverHealth = parseFloat($('.tooltip_health_limit').html().split(' / ')[0]);
  3432. var playerRank = $('#era_hitsneeded').html().split('|')[0];
  3433.  
  3434. var enemyHealth = parseFloat(dataObj['enemy']['health']);
  3435. var enemyStrength = parseFloat(dataObj['enemy']['skill'].replace(',', ''));
  3436. var enemyWeaponPower = parseFloat(dataObj['enemy']['damage']);
  3437. var dataNatural = window.lastEnemyWasNatural;
  3438.  
  3439. if(dataNatural == true) {
  3440. if(playerWeaponId == 10) {
  3441. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3442. } else {
  3443. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * (Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100)) + Math.floor(Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100)) * 0.1));
  3444. }
  3445. } else {
  3446. if(playerWeaponId == 10) {
  3447. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3448. } else {
  3449. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100));
  3450. }
  3451. }
  3452.  
  3453. $('#era_hitsneeded').html(playerRank + '|' + enemyHealth + '|' + enemyStrength + '|' + enemyWeaponPower);
  3454.  
  3455. if(playerWeaponId == 10) {
  3456. var hitsNeeded = 1;
  3457. } else {
  3458. var hitsNeeded = Math.ceil(enemyHealth / Math.floor((60 + ((playerStrength - enemyStrength) / 10)) * (1 + (playerWeaponPower - enemyWeaponPower) / 400) / 2));
  3459. }
  3460.  
  3461. $('#hitsNeeded').html(hitsNeeded);
  3462. $('#maxDamage strong').html(maxInfluence);
  3463. }
  3464.  
  3465. function getHitsNeeded(dat) {
  3466. var dataObj = $['parseJSON'](dat);
  3467.  
  3468. var playerStrength = parseFloat(dataObj['skill'].replace(',', ''));
  3469. var playerWeaponId = parseFloat(dataObj['weaponId']);
  3470. var playerWeaponPower = parseFloat(dataObj['damage']);
  3471. var playerHealth = SERVER_DATA.health;
  3472. var playerRecoverHealth = parseFloat($('.tooltip_health_limit').html().split(' / ')[0]);
  3473. var playerRank = $('#era_hitsneeded').html().split('|')[0];
  3474.  
  3475. var enemyHealth = parseFloat($('#era_hitsneeded').html().split('|')[1]);
  3476. var enemyStrength = parseFloat($('#era_hitsneeded').html().split('|')[2]);
  3477. var enemyWeaponPower = parseFloat($('#era_hitsneeded').html().split('|')[3]);
  3478. var dataNatural = window.lastEnemyWasNatural;
  3479.  
  3480. if(dataNatural == true) {
  3481. if(playerWeaponId == 10) {
  3482. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3483. } else {
  3484. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * (Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100)) + Math.floor(Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100)) * 0.1));
  3485. }
  3486. } else {
  3487. if(playerWeaponId == 10) {
  3488. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * 10000;
  3489. } else {
  3490. var maxInfluence = Math.ceil((parseFloat(playerHealth) + parseFloat(playerRecoverHealth)) / 10) * Math.floor(((parseInt(rank_id[playerRank]) - 1) / 20 + 0.3) * ((playerStrength / 10) + 40) * (1 + playerWeaponPower / 100));
  3491. }
  3492. }
  3493.  
  3494. if(playerWeaponId == 10) {
  3495. var hitsNeeded = 1;
  3496. } else {
  3497. var hitsNeeded = Math.ceil(enemyHealth / Math.floor((60 + ((playerStrength - enemyStrength) / 10)) * (1 + (playerWeaponPower - enemyWeaponPower) / 400) / 2));
  3498. }
  3499.  
  3500. $('#hitsNeeded').html(hitsNeeded);
  3501. $('#maxDamage strong').html(maxInfluence);
  3502. }
  3503.  
  3504. $('#add_damage_btn').ajaxSuccess(function (event, requestData, settings) {
  3505. if (settings.url.match(/ht-sh/gi) != null ) {
  3506. if (requestData.responseText.match(/my_ki/gi) != null) {
  3507. getKillData(requestData.responseText);
  3508. } else if (requestData.responseText.match(/my_at/gi) != null) {
  3509. getHitData(requestData.responseText);
  3510. }
  3511. } else if (settings.url.match(/ge-we/gi) != null ) {
  3512. if (requestData.responseText.match(/hasWeapon/gi) != null) {
  3513. getHitsNeeded(requestData.responseText);
  3514. }
  3515. }
  3516. });
  3517. }
  3518.  
  3519. function loadInfluScript() {
  3520. if (document.getElementById('eRACatchInfluScript')) {
  3521. return;
  3522. }
  3523. var headID = document.getElementsByTagName('head')[0];
  3524. script = document.createElement('script');
  3525. script.id = 'eRACatchInfluScript';
  3526. script.type = 'text/javascript';
  3527. script.appendChild(document.createTextNode('('+ influScript +')();'));
  3528. headID.appendChild(script);
  3529. }
  3530. // ---------------------------------------------------------------------------------------------------------------------
  3531.  
  3532. // -- Inventory --------------------------------------------------------------------------------------------------------
  3533. function prepareInventory() {
  3534. document.countries = [];
  3535. $('#market_licenses_select .ml_repeat li').each(function() {
  3536. var c = $(this).find('img').attr('src').split('/')[6].split('.')[0];
  3537. document.countries.push(c);
  3538. });
  3539. getInvExchange();
  3540. betterInventory();
  3541. }
  3542.  
  3543. function getInvExchange() {
  3544. var exchItem;
  3545.  
  3546. eRAexch = {};
  3547.  
  3548. for (var x = 0; x < document.countries.length; x++) {
  3549. GM_xmlhttpRequest({
  3550. method: 'GET',
  3551. url: 'http://www.erepublik.com/en/exchange/listOffers?select_page=select&buy_currency_history_id=buy_currencies=' + country_id[document.countries[x].toLowerCase()] + '&sell_currency_history_id=sell_currencies=62&account_type=citizen-&action_path=listOffers&page=page=1',
  3552. onload: function(response) {
  3553. exchItem = $(response.responseText).find('.special').eq(2).text();
  3554.  
  3555. eRAexch[country_currency[document.countries[this.idx]]] = exchItem;
  3556. writeSettings(era.characterId + '.exchangeRate', eRAexch);
  3557. }.bind({idx:x})
  3558. });
  3559. }
  3560. }
  3561.  
  3562. function betterInventory() {
  3563. if (eRAopt['inventory'] == false) {
  3564. return;
  3565. }
  3566.  
  3567. readSettings('exchange');
  3568. readSettings('taxes');
  3569.  
  3570. var citCountry = fixString2($('#content script:last').text().split('var ')[5].replace('citizenshipCountry = ', '').replace(';', ''));
  3571.  
  3572. $('.ml_selector, .sell_selector').live('click', function() {
  3573. $('#sell_price').trigger('recalc');
  3574. totalRow();
  3575. });
  3576.  
  3577. // initialize w/o Tax below unit price input
  3578. $('.offers_price').css('height', '110px');
  3579. // $('#tax').css('top', '57px');
  3580.  
  3581. var initValue = parseFloat($('#sell_price').val());
  3582. var initTax = parseFloat($('#tax').text().split(' ')[3]);
  3583. var initCurr = $('#sell_currency').text();
  3584. var initPrice = mathRound(isNaN(initValue) ? 0 : initValue - initTax, 2).toFixed(2);
  3585. // end;
  3586.  
  3587. // initialize Pirce / unit w/o Tax column
  3588. $('.offers_product').css('width', '70px');
  3589. $('.offers_quantity').css('width', '100px');
  3590. $('.offers_price').css('width', '150px');
  3591. $('.offers_markete').css('width', '70px');
  3592. $('.buy_market_license td').attr('colspan', '7');
  3593. $('.offers_price').after(
  3594. '<th id="priceWithoutTax" class="offers_price" style="width: 100px; padding-left: 0px;">' +
  3595. '<div class="relative">' +
  3596. '<strong style="text-align: center; margin-bottom: 3px; margin-top: -45px;">Price / unit<br/>w/o Tax</strong>' +
  3597. '</div>' +
  3598. '</th>'
  3599. );
  3600.  
  3601. $('#priceWithoutTax div').append('<small id="wtax" style="top: -7px;">' + initPrice + ' ' + initCurr + '</small><small id="wtaxG" style="font-size: 10px; top: -7px;"><br />' + mathRound(initPrice * parseFloat(eRAexch[initCurr]), 4).toFixed(4) + ' GOLD</small>');
  3602.  
  3603. // initialize Total value w/o Tax column
  3604. $('#priceWithoutTax').after(
  3605. '<th id="totalValue" class="offers_price" style="width: 110px; padding-left: 0px;">' +
  3606. '<div class="relative">' +
  3607. '<strong style="text-align: center; margin-bottom: 3px; margin-top: -45px;">Total value<br/>w/o Tax</strong>' +
  3608. '</div>' +
  3609. '</th>'
  3610. );
  3611.  
  3612. // initialize live Total value w/o Tax calculation
  3613. var initAmount = parseFloat($('#sell_amount').val());
  3614. var initTotalPrice = mathRound(isNaN(initAmount) ? initPrice : initAmount * initPrice, 2).toFixed(2);
  3615.  
  3616. $('#totalValue div').append('<small id="tvwotax" style="top: -7px;">' + initTotalPrice + ' ' + initCurr + '</small><small id="tvwotaxG" style="font-size: 10px; top: -7px;"><br />' + mathRound(initTotalPrice * parseFloat(eRAexch[initCurr]), 4).toFixed(4) + ' GOLD</small>');
  3617. // end;
  3618.  
  3619. // recalculate w/o Tax below unit price input
  3620. $('#sell_price').live('keyup recalc', function() {
  3621. var itmValue = parseFloat($(this).val());
  3622. var itmTax = parseFloat($('#tax').text().split(' ')[3]);
  3623. var itmCurr = $('#sell_currency').text();
  3624. var itmPrice = mathRound(isNaN(itmValue) ? 0 : itmValue - itmTax, 2).toFixed(2);
  3625.  
  3626. $('#wtax').html(itmPrice + ' ' + itmCurr);
  3627. $('#wtaxG').html('<br />' + mathRound(itmPrice * parseFloat(eRAexch[itmCurr]), 4).toFixed(4) + ' GOLD');
  3628. $('#sell_amount').trigger('recalc');
  3629. });
  3630.  
  3631. // recalculate live Total value w/o Tax
  3632. $('#sell_amount').live('keyup recalc', function() {
  3633. var itmAmount = parseFloat($('#sell_amount').val());
  3634. var itmPrice = parseFloat($('#wtax').html().split(' ')[0]);
  3635. var itmCurr = $('#sell_currency').text();
  3636. var itmTotalPrice = mathRound((isNaN(itmAmount) ? 0 : itmAmount) * (isNaN(itmPrice) ? 0 : itmPrice), 2).toFixed(2);
  3637.  
  3638. $('#tvwotax').html(itmTotalPrice + ' ' + itmCurr);
  3639. $('#tvwotaxG').html('<br />' + mathRound(itmTotalPrice * parseFloat(eRAexch[itmCurr]), 4).toFixed(4) + ' GOLD');
  3640. });
  3641.  
  3642. $('#big_notifiers').css('padding-top', '15px').css('padding-bottom', '5px'); // frimen
  3643.  
  3644. // frimen - start
  3645. setInterval(function(){
  3646. var exchRateCit = parseFloat(eRAexch[country_currency[id_country[citCountry]]]);
  3647.  
  3648. $('.delete_offer').css('opacity', '1');
  3649.  
  3650. $('#sell_offers table tbody tr:gt(0)').each(function() {
  3651. var offId = $(this).attr('id').split('_')[1];
  3652. $('#' + $(this).attr('id') + ' [id^="gPrice_"], #' + $(this).attr('id') + ' [id^="priceCit_"], #' + $(this).attr('id') + ' [id^="basePrice_"], #' + $(this).attr('id') + ' [id^="basePriceG_"], #' + $(this).attr('id') + ' [id^="basePriceC_"], #' + $(this).attr('id') + ' [id^="totValue_"], #' + $(this).attr('id') + ' [id^="totValueG_"]').attr('id', function(index, attr){return $(this).attr('id').split('_')[0] + '_' + offId;});
  3653.  
  3654. if ($(this).find('.offer_flag').attr('src').split('/')[6] != undefined) {
  3655. var offCountryCode = country_currency[$(this).find('.offer_flag').attr('src').split('/')[6].split('.')[0]];
  3656. var offCountry = country_id[$(this).find('.offer_flag').attr('src').split('/')[6].split('.')[0].toLowerCase()];
  3657. } else {
  3658. var offCountryCode = country_currency[$(this).find('.offer_flag').attr('src').split('/')[4].split('.')[0]];
  3659. var offCountry = country_id[$(this).find('.offer_flag').attr('src').split('/')[4].split('.')[0].toLowerCase()];
  3660. }
  3661.  
  3662. var offIndustry = $(this).find('.offer_image').attr('src').split('/')[6];
  3663.  
  3664. if (parseFloat(offIndustry) > 0 && parseFloat(offIndustry) < 7) {
  3665. var offQuality = $(this).find('.offer_image').attr('src').split('/')[7].split('_')[0].replace('q', '');
  3666. } else {
  3667. var offQuality = "1";
  3668. }
  3669.  
  3670. var taxVat = parseFloat(eRAtax[id_country[offCountry]][offIndustry].vat); //Original Price = Total Price / (1 + Tax Rate / 100)
  3671. var taxImp = parseFloat(eRAtax[id_country[offCountry]][offIndustry].imp); //Original Price = Total Price / (1 + Tax Rate / 100)
  3672. var exchRate = parseFloat(eRAexch[offCountryCode]);
  3673.  
  3674. var buttPresent = $(this).find('#goto_offer');
  3675. var basePrice = parseFloat($(this).find('.offer_price strong').text().replace(/,/gi, ''));
  3676. var goldPrice = mathRound(parseFloat(basePrice) * exchRate, 4).toFixed(4);
  3677.  
  3678. var offAmount = parseFloat($(this).find('.offer_amount').text().replace(/,/gi, ''));
  3679.  
  3680. if (buttPresent.length == 0) {
  3681. $(this).find('.delete_offer').before('<a title="Visit market" target="_blank" class="fluid_blue_dark_small" style="padding-left: 3px;" id="visit_market" href="http://economy.erepublik.com/' + era.hostLang + '/market/' + offCountry + '/' + offIndustry + '/' + offQuality + '/citizen/0/price_asc/1">' +
  3682. '<span>M</span>' +
  3683. '</a>' +
  3684. '<a title="Show offer on market" id="goto_offer" href="http://economy.erepublik.com/' + era.hostLang + '/market/offer/' + offId + '">' +
  3685. '<img style="padding-left: 10px;" src="' + iconOffer + '">' +
  3686. '</a>');
  3687. } else {
  3688. $(this).find('#goto_offer').attr('href', 'http://economy.erepublik.com/' + era.hostLang + '/market/offer/' + offId);
  3689. }
  3690.  
  3691. if(offCountry == citCountry) {
  3692. if ($('#gPrice_' + offId).length == 0) {
  3693. $(this).find('.offer_price').append('<br/>' +
  3694. '<strong id="gPrice_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + goldPrice + '</strong>' +
  3695. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>');
  3696. } else {
  3697. $('#gPrice_' + offId).html(goldPrice);
  3698. }
  3699. } else {
  3700. if ($('#gPrice_' + offId).length == 0) {
  3701. $(this).find('.offer_price').append('<br/>' +
  3702. '<strong id="gPrice_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + goldPrice + '</strong>' +
  3703. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>' +
  3704. '<br/>' +
  3705. '<strong id="priceCit_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound(goldPrice / exchRateCit, 2).toFixed(2) + '</strong>' +
  3706. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;' + country_currency[id_country[citCountry]] + '</span>');
  3707. } else {
  3708. $('#gPrice_' + offId).html(goldPrice);
  3709. $('#priceCit_' + offId).html(mathRound(goldPrice / exchRateCit, 2).toFixed(2));
  3710. }
  3711. }
  3712.  
  3713. if(offCountry == citCountry) {
  3714. if ($('#basePrice_' + offId).length == 0) {
  3715. $(this).find('.offer_price').after('<td style="border-top: 1px solid #E2F3F9; color: #5E5E5E; padding: 5px 0px 5px 0px;">' +
  3716. '<strong id="basePrice_' + offId + '">' + mathRound(basePrice / (1 + taxVat / 100), 2).toFixed(2) + '</strong>&nbsp;' + offCountryCode + '<br>' +
  3717. '<strong id="basePriceG_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound((basePrice / (1 + taxVat / 100)) * exchRate, 4).toFixed(4) + '</strong>' +
  3718. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>' +
  3719. '</td>');
  3720. } else {
  3721. $('#basePrice_' + offId).html(mathRound(basePrice / (1 + taxVat / 100), 2).toFixed(2));
  3722. $('#basePriceG_' + offId).html(mathRound((basePrice / (1 + taxVat / 100)) * exchRate, 4).toFixed(4));
  3723. }
  3724. } else {
  3725. if ($('#basePrice_' + offId).length == 0) {
  3726. $(this).find('.offer_price').after('<td style="border-top: 1px solid #E2F3F9; color: #5E5E5E; padding: 5px 0px 5px 0px;">' +
  3727. '<strong id="basePrice_' + offId + '">' + mathRound(basePrice / (1 + (taxVat + taxImp) / 100), 2).toFixed(2) + '</strong>&nbsp;' + offCountryCode + '<br>' +
  3728. '<strong id="basePriceG_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound((basePrice / (1 + (taxVat + taxImp) / 100)) * exchRate, 4).toFixed(4) + '</strong>' +
  3729. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>' +
  3730. '<br>' +
  3731. '<strong id="basePriceC_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound(((basePrice / (1 + (taxVat + taxImp) / 100)) * exchRate) / exchRateCit, 4).toFixed(4) + '</strong>' +
  3732. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;' + country_currency[id_country[citCountry]] + '</span>' +
  3733. '</td>');
  3734. } else {
  3735. $('#basePrice_' + offId).html(mathRound(basePrice / (1 + (taxVat + taxImp) / 100), 2).toFixed(2));
  3736. $('#basePriceG_' + offId).html(mathRound((basePrice / (1 + (taxVat + taxImp) / 100)) * exchRate, 4).toFixed(4));
  3737. $('#basePriceC_' + offId).html(mathRound(((basePrice / (1 + (taxVat + taxImp) / 100)) * exchRate) / exchRateCit, 2).toFixed(2));
  3738. }
  3739. }
  3740.  
  3741. if(offCountry == citCountry) {
  3742. if ($('#totValue_' + offId).length == 0) {
  3743. $(this).find('#basePrice_' + offId).parent().after('<td style="border-top: 1px solid #E2F3F9; color: #5E5E5E; padding: 5px 0px 5px 0px;">' +
  3744. '<strong id="totValue_' + offId + '">' + mathRound(offAmount * (basePrice / (1 + taxVat / 100)), 2).toFixed(2) + '</strong>&nbsp;' + offCountryCode + '<br>' +
  3745. '<strong id="totValueG_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound(offAmount * (basePrice / (1 + taxVat / 100) * exchRate), 4).toFixed(4) + '</strong>' +
  3746. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>' +
  3747. '</td>');
  3748. } else {
  3749. $('#totValue_' + offId).html(mathRound(offAmount * (basePrice / (1 + taxVat / 100)), 2).toFixed(2));
  3750. $('#totValueG_' + offId).html(mathRound(offAmount * (basePrice / (1 + taxVat / 100) * exchRate), 4).toFixed(4));
  3751. }
  3752. } else {
  3753. if ($('#totValue_' + offId).length == 0) {
  3754. $(this).find('#basePrice_' + offId).parent().after('<td style="border-top: 1px solid #E2F3F9; color: #5E5E5E; padding: 5px 0px 5px 0px;">' +
  3755. '<strong id="totValue_' + offId + '">' + mathRound(offAmount * (basePrice / (1 + (taxVat + taxImp) / 100)), 2).toFixed(2) + '</strong>&nbsp;' + offCountryCode + '<br>' +
  3756. '<strong id="totValueG_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound(offAmount * (basePrice / (1 + (taxVat + taxImp) / 100) * exchRate), 4).toFixed(4) + '</strong>' +
  3757. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>' +
  3758. '<br>' +
  3759. '<strong id="totValueC_' + offId + '" style="color: #B2B2B2; font-size: 10px;">' + mathRound((offAmount * (basePrice / (1 + (taxVat + taxImp) / 100) * exchRate) / exchRateCit), 2).toFixed(2) + '</strong>' +
  3760. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;' + country_currency[id_country[citCountry]] + '</span>' +
  3761. '</td>');
  3762. } else {
  3763. $('#totValue_' + offId).html(mathRound(offAmount * (basePrice / (1 + (taxVat + taxImp) / 100)), 2).toFixed(2));
  3764. $('#totValueG_' + offId).html(mathRound(offAmount * (basePrice / (1 + (taxVat + taxImp) / 100) * exchRate), 4).toFixed(4));
  3765. $('#totValueC_' + offId).html(mathRound((offAmount * (basePrice / (1 + (taxVat + taxImp) / 100) * exchRate) / exchRateCit), 2).toFixed(2));
  3766. }
  3767. }
  3768. });
  3769. totalRow();
  3770. }, 500);
  3771. // frimen - end
  3772. $('.delete_offer').live('click', function() {
  3773. totalRow();
  3774. });
  3775. }
  3776.  
  3777. function totalRow() {
  3778. var cCountry = fixString2($('#content script:last').text().split('var ')[5].replace('citizenshipCountry = ', '').replace(';', ''));
  3779. var eRateCit = parseFloat(eRAexch[country_currency[id_country[cCountry]]]);
  3780. var sumValue = 0;
  3781.  
  3782. $('#sell_offers table tbody tr:gt(0)').each(function() {
  3783. if ($(this).find('.offer_flag').attr('src').split('/')[6] != undefined) {
  3784. var oCountryCode = country_currency[$(this).find('.offer_flag').attr('src').split('/')[6].split('.')[0]];
  3785. var oCountry = country_id[$(this).find('.offer_flag').attr('src').split('/')[6].split('.')[0].toLowerCase()];
  3786. } else {
  3787. var oCountryCode = country_currency[$(this).find('.offer_flag').attr('src').split('/')[4].split('.')[0]];
  3788. var oCountry = country_id[$(this).find('.offer_flag').attr('src').split('/')[4].split('.')[0].toLowerCase()];
  3789. }
  3790. var oIndustry = $(this).find('.offer_image').attr('src').split('/')[6];
  3791. var tVat = parseFloat(eRAtax[id_country[oCountry]][oIndustry].vat);
  3792. var tImp = parseFloat(eRAtax[id_country[oCountry]][oIndustry].imp);
  3793. var eRate = parseFloat(eRAexch[oCountryCode]);
  3794. var bPrice = parseFloat($(this).find('.offer_price strong').text().replace(/,/gi, ''));
  3795. var oAmount = parseFloat($(this).find('.offer_amount').text().replace(/,/gi, ''));
  3796.  
  3797. if ($(this).css('display') != 'none') {
  3798. if (oCountry == cCountry) {
  3799. sumValue += mathRound(oAmount * (bPrice / (1 + tVat / 100)), 2);
  3800. } else {
  3801. sumValue += mathRound((oAmount * (bPrice / (1 + (tVat + tImp) / 100) * eRate) / eRateCit), 2);
  3802. }
  3803. }
  3804. });
  3805.  
  3806. if ($('#marketTotals').length == 0) {
  3807. $('#sell_offers table').append('<tfoot>' +
  3808. '<tr style="background: none repeat scroll 0 0 #F7FCFF;">' +
  3809. '<td colspan="4">&nbsp;</td>' +
  3810. '<td id="marketTotals" style="border-top: 1px solid #E2F3F9; color: #5E5E5E; padding: 5px 0;">' +
  3811. '<strong>' + mathRound(sumValue, 2).toFixed(2) + '</strong>&nbsp;' + country_currency[id_country[cCountry]] + '<br>' +
  3812. '<strong style="color: #B2B2B2; font-size: 10px;">' + mathRound(sumValue * eRateCit, 4).toFixed(4) + '</strong>' +
  3813. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>' +
  3814. '</td>' +
  3815. '<td colspan="2">&nbsp;</td>' +
  3816. '</tr>' +
  3817. '</tfoot>');
  3818. } else {
  3819. $('#marketTotals').html('<strong>' + mathRound(sumValue, 2).toFixed(2) + '</strong>&nbsp;' + country_currency[id_country[cCountry]] + '<br>' +
  3820. '<strong style="color: #B2B2B2; font-size: 10px;">' + mathRound(sumValue * eRateCit, 4).toFixed(4) + '</strong>' +
  3821. '<span style="color: #B2B2B2; font-size: 10px;">&nbsp;GOLD</span>');
  3822. }
  3823. }
  3824.  
  3825. function taxTable() {
  3826. if (eRAopt['taxes'] == false) {
  3827. return;
  3828. }
  3829.  
  3830. var taxData = fixString2($('#content script:last').text().split('var ')[4].replace('countryList = ', '').replace(';', ''));
  3831. taxData = JSON.parse(taxData);
  3832. var citizenCountry = fixString2($('#content script:last').text().split('var ')[5].replace('citizenshipCountry = ', '').replace(';', ''));
  3833.  
  3834. $('#sell_offers').after('<div class="taxTbl" style="display: block;">' +
  3835. '<table id="taxTable" width="100%">' +
  3836. '<thead>' +
  3837. '<tr>' +
  3838. '<th style="height: 40px; text-align: center; padding-left: 0px;">&nbsp;</th>' +
  3839. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/1/q6.png"></th>' +
  3840. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/2/q6.png"></th>' +
  3841. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/3/q5.png"></th>' +
  3842. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/4/q5.png"></th>' +
  3843. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/5/q5.png"></th>' +
  3844. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/6/default.png"></th>' +
  3845. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/7/default.png"></th>' +
  3846. '<th style="height: 40px; text-align: center; padding-left: 0px;"><img width="35px" height="35px" src="http://www.erepublik.com/images/icons/industry/12/default.png"></th>' +
  3847. '</tr>' +
  3848. '</thead>' +
  3849. '<tbody></tbody>' +
  3850. '</table>' +
  3851. '</div>');
  3852.  
  3853. $('#market_licenses_select .ml_repeat li').each(function() {
  3854. var countrCode = country_id[$(this).find('img').attr('src').split('/')[6].split('.')[0].toLowerCase()];
  3855. var countrName = $(this).find('img').attr('alt');
  3856. var countrFlag = $(this).find('img').attr('src');
  3857.  
  3858. if (countrCode == citizenCountry) {
  3859. var taxSum1 = parseFloat(taxData[countrCode].taxes["1"].value_added_tax);
  3860. var taxSum2 = parseFloat(taxData[countrCode].taxes["2"].value_added_tax);
  3861. var taxSum3 = parseFloat(taxData[countrCode].taxes["3"].value_added_tax);
  3862. var taxSum4 = parseFloat(taxData[countrCode].taxes["4"].value_added_tax);
  3863. var taxSum5 = parseFloat(taxData[countrCode].taxes["5"].value_added_tax);
  3864. var taxSum6 = parseFloat(taxData[countrCode].taxes["6"].value_added_tax);
  3865. var taxSum7 = parseFloat(taxData[countrCode].taxes["7"].value_added_tax);
  3866. var taxSum12 = parseFloat(taxData[countrCode].taxes["12"].value_added_tax);
  3867. } else {
  3868. var taxSum1 = parseFloat(taxData[countrCode].taxes["1"].value_added_tax) + parseFloat(taxData[countrCode].taxes["1"].import_tax);
  3869. var taxSum2 = parseFloat(taxData[countrCode].taxes["2"].value_added_tax) + parseFloat(taxData[countrCode].taxes["2"].import_tax);
  3870. var taxSum3 = parseFloat(taxData[countrCode].taxes["3"].value_added_tax) + parseFloat(taxData[countrCode].taxes["3"].import_tax);
  3871. var taxSum4 = parseFloat(taxData[countrCode].taxes["4"].value_added_tax) + parseFloat(taxData[countrCode].taxes["4"].import_tax);
  3872. var taxSum5 = parseFloat(taxData[countrCode].taxes["5"].value_added_tax) + parseFloat(taxData[countrCode].taxes["5"].import_tax);
  3873. var taxSum6 = parseFloat(taxData[countrCode].taxes["6"].value_added_tax) + parseFloat(taxData[countrCode].taxes["6"].import_tax);
  3874. var taxSum7 = parseFloat(taxData[countrCode].taxes["7"].value_added_tax) + parseFloat(taxData[countrCode].taxes["7"].import_tax);
  3875. var taxSum12 = parseFloat(taxData[countrCode].taxes["12"].value_added_tax) + parseFloat(taxData[countrCode].taxes["12"].import_tax);
  3876. }
  3877.  
  3878. function generateItem(industry, quality) {
  3879. var genItem = '<a href="http://economy.erepublik.com/' + era.hostLang + '/market/' + countrCode + '/' + industry + '/' + quality + '/citizen/0/price_asc/1" target="_blank"><div class="taxLinkItem">Q' + quality + '</div></a>';
  3880. return (genItem);
  3881. }
  3882.  
  3883. $('#taxTable tbody').append('<tr>' +
  3884. '<td style="padding-left: 5px;"><img style="vertical-align: top;" src="' + countrFlag + '"> ' + countrName + '</td>' +
  3885. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3886. '<div class="taxLinkHolder">' +
  3887. '<div class="taxLinkItemTransparent">&nbsp;</div>' +
  3888. generateItem(1, 1) +
  3889. generateItem(1, 2) +
  3890. generateItem(1, 3) +
  3891. generateItem(1, 4) +
  3892. generateItem(1, 5) +
  3893. generateItem(1, 6) +
  3894. '</div>' +
  3895. '<span>' + taxSum1 + '%</span>' +
  3896. '</td>' +
  3897. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3898. '<div class="taxLinkHolder">' +
  3899. '<div class="taxLinkItemTransparent">&nbsp;</div>' +
  3900. generateItem(2, 1) +
  3901. generateItem(2, 2) +
  3902. generateItem(2, 3) +
  3903. generateItem(2, 4) +
  3904. generateItem(2, 5) +
  3905. generateItem(2, 6) +
  3906. '</div>' +
  3907. '<span>' + taxSum2 + '%</span>' +
  3908. '</td>' +
  3909. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3910. '<div class="taxLinkHolder">' +
  3911. '<div class="taxLinkItemTransparent">&nbsp;</div>' +
  3912. generateItem(3, 1) +
  3913. generateItem(3, 2) +
  3914. generateItem(3, 3) +
  3915. generateItem(3, 4) +
  3916. generateItem(3, 5) +
  3917. '</div>' +
  3918.  
  3919. '<span>' + taxSum3 + '%</span>' +
  3920. '</td>' +
  3921. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3922. '<div class="taxLinkHolder">' +
  3923. '<div class="taxLinkItemTransparent">&nbsp;</div>' +
  3924. generateItem(4, 1) +
  3925. generateItem(4, 2) +
  3926. generateItem(4, 3) +
  3927. generateItem(4, 4) +
  3928. generateItem(4, 5) +
  3929. '</div>' +
  3930. '<span>' + taxSum4 + '%</span>' +
  3931. '</td>' +
  3932. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3933. '<div class="taxLinkHolder">' +
  3934. '<div class="taxLinkItemTransparent">&nbsp;</div>' +
  3935. generateItem(5, 1) +
  3936. generateItem(5, 2) +
  3937. generateItem(5, 3) +
  3938. generateItem(5, 4) +
  3939. generateItem(5, 5) +
  3940. '</div>' +
  3941. '<span>' + taxSum5 + '%</span>' +
  3942. '</td>' +
  3943. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3944. '<div class="taxLinkHolder">' +
  3945. '<div class="taxLinkItemTransparent">&nbsp;</div>' +
  3946. generateItem(6, 1) +
  3947. generateItem(6, 2) +
  3948. generateItem(6, 3) +
  3949. generateItem(6, 4) +
  3950. generateItem(6, 5) +
  3951. '</div>' +
  3952. '<span>' + taxSum6 + '%</span>' +
  3953. '</td>' +
  3954. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3955. '<a href="http://economy.erepublik.com/' + era.hostLang + '/market/' + countrCode + '/7/1/citizen/0/price_asc/1" target="_blank">' + taxSum7 + '%</a>' +
  3956. '</td>' +
  3957. '<td class="taxLink" style="text-align: center; padding-left: 0px;">' +
  3958. '<a href="http://economy.erepublik.com/' + era.hostLang + '/market/' + countrCode + '/12/1/citizen/0/price_asc/1" target="_blank">' + taxSum12 + '%</a>' +
  3959. '</td>' +
  3960. '</tr>');
  3961. });
  3962.  
  3963. $('#taxTable tbody td').each(function() {
  3964. var cellWidth = $(this).width();
  3965. $(this).find('.taxLinkHolder').width(cellWidth - 4);
  3966. });
  3967. }
  3968. // ---------------------------------------------------------------------------------------------------------------------
  3969.  
  3970. // -- Profile ----------------------------------------------------------------------------------------------------------
  3971. function improveProfile () {
  3972. if (eRAopt['profile'] == false) return;
  3973.  
  3974. var strCurrent = parseFloat($('.citizen_military:eq(0) h4').text().replace(/,/gi, '').replace(/^\s+|\s+$/g, ''));
  3975. var rankCurrentValue = parseInt(rank_id[$('.citizen_military:eq(1) h4 a').text().replace(' *', '*').replace(/^\s+|\s+$/g, '').toLowerCase()]);
  3976. var topPlayer = $('#content h2:eq(0)').find('span[class*="top_player"]').length;
  3977. var topPlayerBonus = 0;
  3978.  
  3979. if(topPlayer > 0) {
  3980. topPlayerBonus = 0.1;
  3981. }
  3982.  
  3983. function clacTrainEffects (grounds, friends, natural, climbing, shooting, special, bonus) {
  3984. return {
  3985. 'strGain': grounds * (5 + (friends + natural) * 0.5) + climbing * 2 + shooting * 5 + special * 10 + bonus * Boolean(grounds + climbing + shooting + special),
  3986. 'goldLoss': climbing * 0.19 + shooting * 1.49 + special * 1.79,
  3987. 'healthLoss': (grounds + climbing + shooting + special) * 10
  3988. };
  3989. }
  3990.  
  3991. function calcInflu(firePower, rankValue, strength, natural) {
  3992. if(natural != 0){
  3993. return Math.floor(((rankValue - 1) / 20 + 0.3) * ((strength / 10) + 40) * (1 + firePower / 100)) + Math.floor(Math.floor(((rankValue - 1) / 20 + 0.3) * ((strength / 10) + 40) * (1 + firePower / 100)) * 0.1);
  3994. } else {
  3995. return Math.floor(((rankValue - 1) / 20 + 0.3) * ((strength / 10) + 40) * (1 + firePower / 100));
  3996. }
  3997. }
  3998.  
  3999. // --- ssCalc
  4000.  
  4001. function ssCalcUpdateView () {
  4002. var data = JSON.parse(GM_getValue(era.characterId + '.sscalc', '{}'));
  4003.  
  4004. typeof data.grounds == 'boolean' && $('#strGrounds').prop('checked', data.grounds);
  4005. typeof data.friends == 'number' && $('#strFriends').val(data.friends);
  4006. typeof data.natural == 'boolean' && $('#strNatural').prop('checked', data.natural);
  4007. typeof data.bonus == 'boolean' && $('#strBonus').prop('checked', data.bonus);
  4008.  
  4009. typeof data.climbing == 'boolean' && $('#strClimbing').prop('checked', data.climbing);
  4010. typeof data.shooting == 'boolean' && $('#strShooting').prop('checked', data.shooting);
  4011. typeof data.special == 'boolean' && $('#strSpecial').prop('checked', data.special);
  4012. }
  4013.  
  4014. function ssCalc () {
  4015. var data = {};
  4016.  
  4017. data.grounds = Boolean($('#strGrounds').prop('checked'));
  4018. data.friends = parseInt($('#strFriends').val());
  4019. data.natural = Boolean($('#strNatural').prop('checked'));
  4020. data.bonus = Boolean($('#strBonus').prop('checked'));
  4021.  
  4022. data.climbing = Boolean($('#strClimbing').prop('checked'));
  4023. data.shooting = Boolean($('#strShooting').prop('checked'));
  4024. data.special = Boolean($('#strSpecial').prop('checked'));
  4025.  
  4026. GM_setValue(era.characterId + '.sscalc', JSON.stringify(data));
  4027.  
  4028. var strNext = parseFloat($('.citizen_military:eq(0) .stat strong:eq(0)').text().split(' / ')[1].replace(/,/gi, ''));
  4029.  
  4030. var trainEffects = clacTrainEffects(data.grounds, data.friends, data.natural, data.climbing, data.shooting, data.special, data.bonus);
  4031. var daysLeft = trainEffects.strGain ? Math.ceil((strNext - strCurrent) / trainEffects.strGain) : 0;
  4032.  
  4033. $('#daysLeft').html('SS medal in ' + daysLeft + ' days (' + ((trainEffects.goldLoss * daysLeft).toFixed(2)) + ' Gold & ' + trainEffects.healthLoss * daysLeft + ' Health)');
  4034. }
  4035.  
  4036. function ssCalcCreateView () {
  4037. $('head style:last').append(
  4038. '#ssRow1, #ssRow2, #ssRow3 { color: #666666; font-size: 11px; margin-bottom: 8px; }' +
  4039.  
  4040. '#ssRow1 { width: 492px; }' +
  4041. '#ssRow1 td { width: 123px; }' +
  4042.  
  4043. '#ssRow2 { width: 360px; margin-bottom: 0px; }' +
  4044.  
  4045. '#ssRow3 { width: 510px; margin-top: 15px; margin-bottom: 20px; }' +
  4046.  
  4047. '#strGrounds, #strNatural, #strBonus, #strClimbing, #strShooting, #strSpecial { position: relative; top: 3px; margin-left: 6px; }' +
  4048.  
  4049. '#strFriends { text-align: left; width: 50px; margin-left: 6px; height: 24px; padding-left: 4px; background: url("/images/parts/shadow.gif") repeat-x scroll center top white; border-color: #AEAEAE #C8C8C8 #E3E3E3; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; color: #333; padding: 4px; font-size: 10px; }' +
  4050. '#strFriends:focus { background: none repeat scroll 0 0 #FFFFCC; }' +
  4051.  
  4052. '#daysLeft { text-align: center; font-weight: bold; }'
  4053. );
  4054.  
  4055. $('.citizen_military:eq(1)').after(
  4056. '<h3>Super Soldier Calculator</h3>' +
  4057.  
  4058. '<table id="ssRow1">' +
  4059. '<tr>' +
  4060. '<td align="left">Training grounds<input type="checkbox" id="strGrounds" /></td>' +
  4061. '<td align="center">Friends<select id="strFriends"><option value="0" selected="selected">0</option><option value="1">1</option><option value="2">2</option></select></td>' +
  4062. '<td align="center">Natural enemy<input type="checkbox" id="strNatural" /></td>' +
  4063. '<td align="right">Daily bonus strength<input type="checkbox" id="strBonus" /></td>' +
  4064. '</tr>' +
  4065. '</table>' +
  4066.  
  4067. '<table id="ssRow2">' +
  4068. '<tr>' +
  4069. '<td>Climbing center<input type="checkbox" id="strClimbing" /></td>' +
  4070. '<td>Shooting range<input type="checkbox" id="strShooting" /></td>' +
  4071. '<td>Special Forces Center<input type="checkbox" id="strSpecial" /></td>' +
  4072. '</tr>' +
  4073. '</table>' +
  4074.  
  4075. '<table id="ssRow3">' +
  4076. '<tr><td id="daysLeft">SS medal in 0 days (0.00 Gold & 0 Health)</td></tr>' +
  4077. '</table>'
  4078. );
  4079.  
  4080. $('#ssRow1, #ssRow2, #ssRow2 td').attr('align', 'center');
  4081. $('#strFriends').parent().attr('style', 'position: relative; top: 1px;');
  4082.  
  4083. $('#strGrounds, #strFriends, #strNatural, #strClimbing, #strShooting, #strSpecial, #strBonus').change(ssCalc);
  4084. }
  4085.  
  4086. ssCalcCreateView();
  4087. ssCalcUpdateView();
  4088. ssCalc();
  4089.  
  4090. // ---
  4091.  
  4092. // --- rankCalc
  4093.  
  4094. function rankCalcUpdateView () {
  4095. var data = JSON.parse(GM_getValue(era.characterId + '.rankcalc', '{}'));
  4096.  
  4097. typeof data.hits == 'number' && $('#rankHits').val(data.hits);
  4098. typeof data.weapon == 'number' && $('#rankWeapon').val(data.weapon);
  4099. typeof data.grounds == 'boolean' && $('#rankGrounds').prop('checked', data.grounds);
  4100. typeof data.friends == 'number' && $('#rankFriends').val(data.friends);
  4101. typeof data.natural == 'boolean' && $('#rankNatural').prop('checked', data.natural);
  4102.  
  4103. typeof data.bonus == 'boolean' && $('#rankBonus').prop('checked', data.bonus);
  4104. typeof data.climbing == 'boolean' && $('#rankClimbing').prop('checked', data.climbing);
  4105. typeof data.shooting == 'boolean' && $('#rankShooting').prop('checked', data.shooting);
  4106. typeof data.special == 'boolean' && $('#rankSpecial').prop('checked', data.special);
  4107. }
  4108.  
  4109. function rankCalc () {
  4110. var data = {};
  4111.  
  4112. data.hits = parseInt($('#rankHits').val());
  4113. data.weapon = parseInt($('#rankWeapon').val());
  4114. data.grounds = Boolean($('#rankGrounds').prop('checked'));
  4115. data.friends = parseInt($('#rankFriends').val());
  4116. data.natural = Boolean($('#rankNatural').prop('checked'));
  4117.  
  4118. data.bonus = Boolean($('#rankBonus').prop('checked'));
  4119. data.climbing = Boolean($('#rankClimbing').prop('checked'));
  4120. data.shooting = Boolean($('#rankShooting').prop('checked'));
  4121. data.special = Boolean($('#rankSpecial').prop('checked'));
  4122.  
  4123. if (isNaN(data.hits)) data.hits = 0;
  4124.  
  4125. GM_setValue(era.characterId + '.rankcalc', JSON.stringify(data));
  4126.  
  4127. if (data.hits < 1) {
  4128. $('#rankDaysLeft').html('Next rank in 0 days. Hits needed 0. Training cost 0.00 Gold');
  4129. return;
  4130. }
  4131.  
  4132. var rankCurrent = parseInt($('.citizen_military:eq(1) .stat small:eq(1) strong').html().split(' / ')[0].replace(/,/gi, ''));
  4133. var rankNext = parseInt($('.citizen_military:eq(1) .stat small:eq(1) strong').html().split(' / ')[1].replace(/,/gi, ''));
  4134.  
  4135. var dayRank = rankCurrent;
  4136. var dayStrength = strCurrent;
  4137. var dayGoldLoss = 0;
  4138. var dayFightHealthLoss = 0;
  4139. var dayTrainHealthLoss = 0;
  4140.  
  4141. var dayNeeded = 0;
  4142. var hitNeeded = 0;
  4143.  
  4144. do {
  4145. var trainEffects = clacTrainEffects(data.grounds, data.friends, data.natural, data.climbing, data.shooting, data.special, data.bonus);
  4146.  
  4147. dayStrength += trainEffects.strGain;
  4148. dayGoldLoss += trainEffects.goldLoss;
  4149. dayTrainHealthLoss += trainEffects.healthLoss;
  4150.  
  4151. for (var i = 0; i < data.hits && rankNext > dayRank; i++, hitNeeded++, dayFightHealthLoss += 10) {
  4152. dayRank += parseInt(Math.floor(calcInflu(data.weapon * 20, rankCurrentValue, dayStrength, 0)) / 10);
  4153. }
  4154.  
  4155. dayNeeded++;
  4156. } while (rankNext > dayRank);
  4157.  
  4158. $('#rankDaysLeft').html('Next rank in ' + dayNeeded + ' days. Needed ' + hitNeeded + ' hits. Training cost ' + dayGoldLoss.toFixed(2) + ' Gold & ' + dayTrainHealthLoss + ' Health');
  4159. }
  4160.  
  4161. function rankCalcCreateView () {
  4162. $('head style:last').append(
  4163. '#rankRow1, #rankRow2, #rankRow3 { width: 492px; color: #666666; font-size: 11px; margin-bottom: 8px; }' +
  4164.  
  4165. '#rankRow2 { margin-bottom: 12px; }' +
  4166. '#rankRow3 { margin-top: 15px; margin-bottom: 20px; }' +
  4167.  
  4168. '#rankGrounds, #rankNatural, #rankBonus, #rankClimbing, #rankShooting, #rankSpecial { position: relative; top: 3px; margin-left: 6px; }' +
  4169.  
  4170. '#rankWeapon, #rankFriends { text-align: left; width: 50px; margin-left: 6px; height: 24px; padding-left: 4px; background: url("/images/parts/shadow.gif") repeat-x scroll center top white; border-color: #AEAEAE #C8C8C8 #E3E3E3; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; color: #333; padding: 4px; font-size: 10px; }' +
  4171. '#rankWeapon:focus, #rankFriends:focus { background: none repeat scroll 0 0 #FFFFCC; }' +
  4172.  
  4173. '#rankHits { background: url("/images/parts/shadow.gif") repeat-x scroll center top white; border-color: #AEAEAE #C8C8C8 #E3E3E3; border-radius: 3px 3px 3px 3px; border-style: solid; border-width: 1px; color: #333; padding: 4px; text-align: center; width: 35px; font-size: 10px; }' +
  4174.  
  4175. '#rankDaysLeft { text-align: center; font-weight: bold; }'
  4176. );
  4177.  
  4178. $('#ssRow3').after(
  4179. '<h3>Rank Calculator</h3>' +
  4180.  
  4181. '<table id="rankRow1">' +
  4182. '<tr>' +
  4183. '<td align="left">Hits / day&nbsp;&nbsp;<input type="text" id="rankHits" value="1" /></td>' +
  4184. '<td align="center">Weapon<select id="rankWeapon"><option value="0" selected="selected">Q0</option><option value="1">Q1</option><option value="2">Q2</option><option value="3">Q3</option><option value="4">Q4</option><option value="5">Q5</option><option value="6">Q6</option></select></td>' +
  4185. '<td align="center">Training grounds<input type="checkbox" id="rankGrounds" /></td>' +
  4186. '<td align="center">Friends<select id="rankFriends"><option value="0" selected="selected">0</option><option value="1">1</option><option value="2">2</option></select></td>' +
  4187. '<td align="right">Nat. enemy<input type="checkbox" id="rankNatural" /></td>' +
  4188. '</tr>' +
  4189. '</table>' +
  4190.  
  4191. '<table id="rankRow2">' +
  4192. '<tr>' +
  4193. '<td>Daily bonus strength<input type="checkbox" id="rankBonus" /></td>' +
  4194. '<td>Climbing center<input type="checkbox" id="rankClimbing" /></td>' +
  4195. '<td>Shooting range<input type="checkbox" id="rankShooting" /></td>' +
  4196. '<td>Special Forces Center<input type="checkbox" id="rankSpecial" /></td>' +
  4197. '</tr>' +
  4198. '</table>' +
  4199. '<table id="rankRow3">' +
  4200. '<tr><td id="rankDaysLeft">Next rank in 0 days. Needed 0 hits. Training cost 0.00 Gold & 0 Health</td></tr>' +
  4201. '</table>'
  4202. );
  4203.  
  4204. $('#rankRow1, #rankRow2, #rankRow2 td, #rankRow3, #rankRow3 td').attr('align', 'center');
  4205. $('#rankHits, #rankWeapon, #rankFriends').parent().attr('style', 'position: relative; top: 1px;');
  4206.  
  4207. $('#rankWeapon, #rankGrounds, #rankFriends, #rankNatural, #rankBonus, #rankClimbing, #rankShooting, #rankSpecial').change(rankCalc);
  4208. $('#rankHits').keyup(rankCalc);
  4209. }
  4210.  
  4211. rankCalcCreateView();
  4212. rankCalcUpdateView();
  4213. rankCalc();
  4214.  
  4215. // ---
  4216.  
  4217. // --- influCalc
  4218.  
  4219. function influCalcUpdateView () {
  4220. var data = JSON.parse(GM_getValue(era.characterId + '.influcalc', '{}'));
  4221.  
  4222. typeof data.hits == 'number' && $('#influHits').val(data.hits);
  4223. typeof data.natural == 'boolean' && $('#influNatural').prop('checked', data.natural);
  4224. typeof data.food == 'number' && $('#influFood').val(data.food);
  4225. typeof data.cost == 'number' && $('#influGold').val(data.cost);
  4226. }
  4227.  
  4228. function influCalc () {
  4229. var data = {};
  4230. var oldData = JSON.parse(GM_getValue(era.characterId + '.influcalc', '{}'));
  4231.  
  4232. data.hits = parseInt($('#influHits').val());
  4233. data.natural = Boolean($('#influNatural').prop('checked'));
  4234. data.food = parseInt($('#influFood').val());
  4235. data.cost = parseFloat($('#influGold').val().replace(',', '.'));
  4236.  
  4237. if (isNaN(data.hits)) data.hits = 0;
  4238. if (isNaN(data.food)) data.food = 0;
  4239. if (isNaN(data.cost)) data.cost = 0;
  4240.  
  4241. if (data.hits >= 0) {
  4242. if (data.food < 0) data.food = 0;
  4243. if (data.cost < 0) data.cost = 0;
  4244.  
  4245. if (data.hits != oldData.hits || data.food != oldData.food) {
  4246. data.cost = data.hits > data.food ? (data.hits - data.food) * 0.5 : 0;
  4247. $('#influGold').val(isNaN(data.cost) ? (data.cost) = 0 : data.cost);
  4248. }
  4249.  
  4250. if (data.cost != oldData.cost) {
  4251. data.hits = parseInt(data.food + data.cost / 0.5);
  4252. $('#influHits').val(isNaN(data.hits) ? (data.hits = 0) : data.hits);
  4253. }
  4254.  
  4255. $('#influV0').html(Math.floor(calcInflu(0 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4256. $('#influV1').html(Math.floor(calcInflu(1 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4257. $('#influV2').html(Math.floor(calcInflu(2 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4258. $('#influV3').html(Math.floor(calcInflu(3 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4259. $('#influV4').html(Math.floor(calcInflu(4 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4260. $('#influV5').html(Math.floor(calcInflu(5 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4261. $('#influV6').html(Math.floor(calcInflu(6 * 20, rankCurrentValue, strCurrent, data.natural)) * data.hits);
  4262. /*
  4263. $('#influV0').html(Math.floor(calcInflu(0 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4264. $('#influV1').html(Math.floor(calcInflu(1 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4265. $('#influV2').html(Math.floor(calcInflu(2 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4266. $('#influV3').html(Math.floor(calcInflu(3 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4267. $('#influV4').html(Math.floor(calcInflu(4 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4268. $('#influV5').html(Math.floor(calcInflu(5 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4269. $('#influV6').html(Math.floor(calcInflu(6 * 20, rankCurrentValue, strCurrent)) * data.hits);
  4270. */
  4271. }
  4272.  
  4273. GM_setValue(era.characterId + '.influcalc', JSON.stringify(data));
  4274. }
  4275.  
  4276. $('#rankRow3').after(
  4277. '<div class="clear"></div>' +
  4278. '<h3 style="margin-bottom: 0px; margin-top: 15px;">Influence Calculator</h3>' +
  4279.  
  4280. '<div style="line-height: 44px; color: #666666; float: left; font-size: 11px; margin-left: 10px; margin-right: 1px;">Hits</div>' +
  4281. '<div class="influValueHolder"><input type="text" id="influHits" value="1" class="influValue"></div>' +
  4282.  
  4283. '<div style="line-height: 44px; color: #666666; float: left; font-size: 11px; margin-left: 10px;">Natural enemy</div>' +
  4284. '<div class="influNaturalHolder"><input type="checkbox" id="influNatural" class="influCheckbox"></div>' +
  4285.  
  4286. '<div style="line-height: 44px; color: #666666; float: left; font-size: 11px; margin-left: 10px; margin-right: 1px;">Food hits</div>' +
  4287. '<div class="influValueHolder"><input type="text" id="influFood" value="0" class="influValue"></div>' +
  4288.  
  4289. '<div style="line-height: 44px; color: #666666; float: right; font-size: 11px; margin-right: 5px;">Gold</div>' +
  4290. '<div class="influGoldHolder"><input type="text" id="influGold" value="0.00" class="influValue"></div>' +
  4291. '<div style="margin-top: 15px; color: #666666; float: right; font-size: 11px; margin-left: 3px; margin-right: 3px;">Cost of Health Kit\'s</div>' +
  4292.  
  4293. '<div id="influResults" class="citizen_military">' +
  4294. '<table class="influTable">' +
  4295. '<tr>' +
  4296. '<td class="influImageCell" style="width: 40px;"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q1.png" style="opacity: 0.3; margin-left: 6px;"></td>' +
  4297. '<td id="influV0" class="influValueCell">0</td>' +
  4298. '<td class="influImageCell"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q1.png"></td>' +
  4299. '<td id="influV1" class="influValueCell">0</td>' +
  4300. '<td class="influImageCell"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q2.png"></td>' +
  4301. '<td id="influV2" class="influValueCell">0</td>' +
  4302. '<td class="influImageCell"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q3.png"></td>' +
  4303. '<td id="influV3" class="influValueCell">0</td>' +
  4304. '<td class="influImageCell"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q4.png"></td>' +
  4305. '<td id="influV4" class="influValueCell">0</td>' +
  4306. '<td class="influImageCell"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q5.png"></td>' +
  4307. '<td id="influV5" class="influValueCell">0</td>' +
  4308. '<td class="influImageCell"><img class="influImage" src="http://www.erepublik.com/images/icons/industry/2/q6.png"></td>' +
  4309. '<td id="influV6" class="influValueCell">0</td>' +
  4310. '</tr>' +
  4311. '</table>' +
  4312. '</div>'
  4313. );
  4314.  
  4315. $('#influNatural').change(influCalc);
  4316. $('#influHits, #influFood, #influGold').keyup(influCalc);
  4317.  
  4318. influCalcUpdateView();
  4319. influCalc();
  4320.  
  4321. // ---
  4322.  
  4323. if(era.characterId == window.location.href.split('/')[6]) {
  4324. var eToday = parseFloat($('.eday strong').html().replace(/,/gi, ''));
  4325. var hitsTotal = 0;
  4326. var killsTotal = 0;
  4327. var influTotal = 0;
  4328. var rankTotal = 0;
  4329. readSettings('influence');
  4330.  
  4331. if (eRAinflu[eToday] == undefined) {
  4332. eRAinflu[eToday] = {};
  4333. eRAinflu[eToday]['Hits'] = 0;
  4334. eRAinflu[eToday]['Kills'] = 0;
  4335. eRAinflu[eToday]['Influence'] = 0;
  4336. eRAinflu[eToday]['Rank'] = 0;
  4337. }
  4338.  
  4339. if (parseFloat(eRAinflu[eToday]['Influence']) != 0 && parseFloat(eRAinflu[eToday]['Influence']) != undefined) {
  4340. var avHit = mathRound(parseFloat(eRAinflu[eToday]['Influence']) / parseFloat(eRAinflu[eToday]['Hits']), 0).toFixed(0);
  4341. } else {
  4342. var avHit = 0;
  4343. }
  4344.  
  4345. var influRow0 = '<tr class="current">' +
  4346. '<td style="color: #666666; font-size: 11px; width: 230px; padding-left: 10px;">' + eToday + '</td>' +
  4347. '<td style="color: #666666; font-size: 11px; width: 50px;">' + eRAinflu[eToday]['Hits'] + '</td>' +
  4348. '<td style="color: #666666; font-size: 11px; width: 50px;">' + eRAinflu[eToday]['Kills'] + '</td>' +
  4349. '<td style="color: #666666; font-size: 11px; width: 70px;">' + eRAinflu[eToday]['Influence'] + '</td>' +
  4350. //'<td style="color: #666666; font-size: 11px; width: 50px;">' + mathRound(parseFloat(eRAinflu[eToday]['Influence']) * 0.1, 0).toFixed(0) + '</td>' +
  4351. '<td style="color: #666666; font-size: 11px; width: 50px;">' + eRAinflu[eToday]['Rank'] + '</td>' +
  4352. '<td style="color: #666666; font-size: 11px; width: 50px;">' + avHit + '</td>' +
  4353. '</tr>';
  4354.  
  4355. var influ0 = eRAinflu[eToday]['Influence'];
  4356. var influ1 = eRAinflu[eToday - 1]['Influence'];
  4357. var influ2 = eRAinflu[eToday - 2]['Influence'];
  4358. var influ3 = eRAinflu[eToday - 3]['Influence'];
  4359. var influ4 = eRAinflu[eToday - 4]['Influence'];
  4360. var influ5 = eRAinflu[eToday - 5]['Influence'];
  4361. var influ6 = eRAinflu[eToday - 6]['Influence'];
  4362. var influ7 = eRAinflu[eToday - 7]['Influence'];
  4363. var influ8 = eRAinflu[eToday - 8]['Influence'];
  4364. var influ9 = eRAinflu[eToday - 9]['Influence'];
  4365.  
  4366. var influArray = [influ0, influ1, influ2, influ3, influ4, influ5, influ6, influ7, influ8, influ9];
  4367.  
  4368. var min_value = parseFloat(influ0);
  4369. for(var i = 0; i < influArray.length; i++) {
  4370. if(parseFloat(influArray[i]) <= min_value) {
  4371. min_value = parseFloat(influArray[i]);
  4372. }
  4373. }
  4374.  
  4375. if (min_value > 0) {
  4376. min_value = (Math.floor(min_value * 0.95 / 1000) * 1000).toFixed(0);
  4377. }
  4378.  
  4379. influ0 = parseFloat(influ0) - min_value;
  4380. influ1 = parseFloat(influ1) - min_value;
  4381. influ2 = parseFloat(influ2) - min_value;
  4382. influ3 = parseFloat(influ3) - min_value;
  4383. influ4 = parseFloat(influ4) - min_value;
  4384. influ5 = parseFloat(influ5) - min_value;
  4385. influ6 = parseFloat(influ6) - min_value;
  4386. influ7 = parseFloat(influ7) - min_value;
  4387. influ8 = parseFloat(influ8) - min_value;
  4388. influ9 = parseFloat(influ9) - min_value;
  4389.  
  4390. influArray = [influ0, influ1, influ2, influ3, influ4, influ5, influ6, influ7, influ8, influ9];
  4391.  
  4392. var max_value = parseFloat(influ0);
  4393. for(var i = 0; i < influArray.length; i++) {
  4394. if (parseFloat(influArray[i]) >= max_value) {
  4395. max_value = parseFloat(influArray[i]);
  4396. }
  4397. }
  4398.  
  4399. if (max_value > 0) {
  4400. max_value = (Math.floor(max_value * 1.2 / 1000) * 1000).toFixed(0);
  4401. }
  4402.  
  4403. influ0 = mathRound((influ0 / max_value) * 100, 0).toFixed(0);
  4404. influ1 = mathRound((influ1 / max_value) * 100, 0).toFixed(0);
  4405. influ2 = mathRound((influ2 / max_value) * 100, 0).toFixed(0);
  4406. influ3 = mathRound((influ3 / max_value) * 100, 0).toFixed(0);
  4407. influ4 = mathRound((influ4 / max_value) * 100, 0).toFixed(0);
  4408. influ5 = mathRound((influ5 / max_value) * 100, 0).toFixed(0);
  4409. influ6 = mathRound((influ6 / max_value) * 100, 0).toFixed(0);
  4410. influ7 = mathRound((influ7 / max_value) * 100, 0).toFixed(0);
  4411. influ8 = mathRound((influ8 / max_value) * 100, 0).toFixed(0);
  4412. influ9 = mathRound((influ9 / max_value) * 100, 0).toFixed(0);
  4413.  
  4414. var mInflu0 = eRAinflu[eToday]['Influence'];
  4415. var mInflu1 = eRAinflu[eToday - 1]['Influence'];
  4416. var mInflu2 = eRAinflu[eToday - 2]['Influence'];
  4417. var mInflu3 = eRAinflu[eToday - 3]['Influence'];
  4418. var mInflu4 = eRAinflu[eToday - 4]['Influence'];
  4419. var mInflu5 = eRAinflu[eToday - 5]['Influence'];
  4420. var mInflu6 = eRAinflu[eToday - 6]['Influence'];
  4421. var mInflu7 = eRAinflu[eToday - 7]['Influence'];
  4422. var mInflu8 = eRAinflu[eToday - 8]['Influence'];
  4423. var mInflu9 = eRAinflu[eToday - 9]['Influence'];
  4424.  
  4425. influArray = [mInflu0, mInflu1, mInflu2, mInflu3, mInflu4, mInflu5, mInflu6, mInflu7, mInflu8, mInflu9];
  4426.  
  4427. var max_value = parseFloat(mInflu0);
  4428. for(var i = 0; i < influArray.length; i++) {
  4429. if(parseFloat(influArray[i]) >= max_value) {
  4430. max_value = parseFloat(influArray[i]);
  4431. }
  4432. }
  4433.  
  4434. if (max_value > 0) {
  4435. max_value = (Math.floor(max_value * 1.2 / 1000) * 1000).toFixed(0);
  4436. }
  4437.  
  4438. var tInflu0 = eRAinflu[eToday]['Influence'];
  4439. var tInflu1 = eRAinflu[eToday - 1]['Influence'];
  4440. var tInflu2 = eRAinflu[eToday - 2]['Influence'];
  4441. var tInflu3 = eRAinflu[eToday - 3]['Influence'];
  4442. var tInflu4 = eRAinflu[eToday - 4]['Influence'];
  4443. var tInflu5 = eRAinflu[eToday - 5]['Influence'];
  4444. var tInflu6 = eRAinflu[eToday - 6]['Influence'];
  4445. var tInflu7 = eRAinflu[eToday - 7]['Influence'];
  4446. var tInflu8 = eRAinflu[eToday - 8]['Influence'];
  4447. var tInflu9 = eRAinflu[eToday - 9]['Influence'];
  4448.  
  4449. $('#influResults').after('<div class="clear"></div>' +
  4450. '<h3>Influence Done</h3>' +
  4451. '<table id="influTable" border="0" width="100%" class="details">' +
  4452. '<thead>' +
  4453. '<tr>' +
  4454. '<th style="padding-left: 10px;">eDay</th>' +
  4455. '<th>Hits</th>' +
  4456. '<th>Kills</th>' +
  4457. '<th>Influence</th>' +
  4458. '<th>Rank</th>' +
  4459. '<th>Av. hit</th>' +
  4460. '</tr>' +
  4461. '</thead>' +
  4462. '<tbody>' +
  4463. influRow0 +
  4464. '</tbody>' +
  4465. '</table>' +
  4466. '<div class="clear"></div>' +
  4467. '<div id="influChart">' +
  4468. '<img src="http://chart.googleapis.com/chart?cht=lc&chs=504x100&chd=t:' + influ9 + ',' + influ8 + ',' + influ7 + ',' + influ6 + ',' + influ5 + ',' + influ4 + ',' + influ3 + ',' + influ2 + ',' + influ1 + ',' + influ0 + '&chco=999999&chf=c,s,fafcf7&chxs=0,999999,10,0,lt,999999,e4fad3|1,999999,10,0,lt,999999,e4fad3&chm=t' + tInflu9 + ',999999,0,0,9,,hv|t' + tInflu8 + ',999999,0,1,9,,hv|t' + tInflu7 + ',999999,0,2,9,,hv|t' + tInflu6 + ',999999,0,3,9,,hv|t' + tInflu5 + ',999999,0,4,9,,hv|t' + tInflu4 + ',999999,0,5,9,,hv|t' + tInflu3 + ',999999,0,6,9,,hv|t' + tInflu2 + ',999999,0,7,9,,hv|t' + tInflu1 + ',999999,0,8,9,,hv|t' + tInflu0 + ',999999,0,9,9,,hv|o,999999,0,-1,4&chxt=x,y&chxl=0:|' + parseFloat(eToday - 9) + '|' + parseFloat(eToday - 8) + '|' + parseFloat(eToday - 7) + '|' + parseFloat(eToday - 6) + '|' + parseFloat(eToday - 5) + '|' + parseFloat(eToday - 4) + '|' + parseFloat(eToday - 3) + '|' + parseFloat(eToday - 2) + '|' + parseFloat(eToday - 1) + '|' + parseFloat(eToday) + '|1:|' + mathRound(min_value, 0).toFixed(0) + '|' + mathRound(max_value, 0).toFixed(0) + '" style="float: left; border: 1px solid #e4fad3; padding: 15px 2px 2px; border-radius: 5px 5px 5px 5px; margin-bottom: 15px;">' +
  4469. '</div>');
  4470.  
  4471. hitsTotal += parseFloat(eRAinflu[eToday]['Hits']);
  4472. killsTotal += parseFloat(eRAinflu[eToday]['Kills']);
  4473. influTotal += parseFloat(eRAinflu[eToday]['Influence']);
  4474. //rankTotal += parseFloat(eRAinflu[eToday]['Influence']) * 0.1;
  4475. rankTotal += parseFloat(eRAinflu[eToday]['Rank']);
  4476.  
  4477. var influRow1 = '';
  4478.  
  4479. for (var i = 1; i < 5; i++) {
  4480. var cDay = eToday - i;
  4481.  
  4482. if (eRAinflu[cDay] == undefined) {
  4483. eRAinflu[cDay] = {};
  4484. eRAinflu[cDay]['Hits'] = 0;
  4485. eRAinflu[cDay]['Kills'] = 0;
  4486. eRAinflu[cDay]['Influence'] = 0;
  4487. eRAinflu[cDay]['Rank'] = 0;
  4488. }
  4489.  
  4490. if (parseFloat(eRAinflu[cDay]['Influence']) != 0 && parseFloat(eRAinflu[cDay]['Influence']) != undefined) {
  4491. var avHitB = mathRound(parseFloat(eRAinflu[cDay]['Influence']) / parseFloat(eRAinflu[cDay]['Hits']), 0).toFixed(0);
  4492. } else {
  4493. var avHitB = 0;
  4494. }
  4495.  
  4496. influRow1 += '<tr class="current">' +
  4497. '<td style="color: #999999; font-size: 11px; width: 230px; padding-left: 10px;">' + cDay + '</td>' +
  4498. '<td style="color: #999999; font-size: 11px;">' + eRAinflu[cDay]['Hits'] + '</td>' +
  4499. '<td style="color: #999999; font-size: 11px;">' + eRAinflu[cDay]['Kills'] + '</td>' +
  4500. '<td style="color: #999999; font-size: 11px; width: 70px;">' + eRAinflu[cDay]['Influence'] + '</td>' +
  4501. //'<td style="color: #999999; font-size: 11px; width: 50px;">' + mathRound(parseFloat(eRAinflu[cDay]['Influence']) * 0.1, 0).toFixed(0) + '</td>' +
  4502. '<td style="color: #999999; font-size: 11px; width: 50px;">' + eRAinflu[cDay]['Rank'] + '</td>' +
  4503. '<td style="color: #999999; font-size: 11px; width: 50px;">' + avHitB + '</td>' +
  4504. '</tr>';
  4505.  
  4506. hitsTotal += parseFloat(eRAinflu[cDay]['Hits']);
  4507. killsTotal += parseFloat(eRAinflu[cDay]['Kills']);
  4508. influTotal += parseFloat(eRAinflu[cDay]['Influence']);
  4509. //rankTotal += parseFloat(eRAinflu[cDay]['Influence']) * 0.1;
  4510. rankTotal += parseFloat(eRAinflu[cDay]['Rank']);
  4511. }
  4512.  
  4513. influRow1 += '<tr class="current" style="font-weight: bold;">' +
  4514. '<td style="color: #999999; font-size: 11px; width: 230px; padding-right: 30px; text-align: right;">Total</td>' +
  4515. '<td style="color: #999999; font-size: 11px;">' + hitsTotal + '</td>' +
  4516. '<td style="color: #999999; font-size: 11px;">' + killsTotal + '</td>' +
  4517. '<td style="color: #999999; font-size: 11px; width: 70px;">' + influTotal + '</td>' +
  4518. //'<td style="color: #999999; font-size: 11px; width: 50px;">' + mathRound(rankTotal, 0).toFixed(0) + '</td>' +
  4519. '<td style="color: #999999; font-size: 11px; width: 50px;">' + rankTotal + '</td>' +
  4520. '<td style="color: #999999; font-size: 11px; width: 50px;">&nbsp;</td>' +
  4521. '</tr>' +
  4522. '<tr class="current" style="font-weight: bold;">' +
  4523. '<td style="color: #999999; font-size: 11px; width: 230px; padding-right: 30px; text-align: right;">Average</td>' +
  4524. '<td style="color: #999999; font-size: 11px;">' + mathRound(hitsTotal / 5, 0).toFixed(0) + '</td>' +
  4525. '<td style="color: #999999; font-size: 11px;">' + mathRound(killsTotal / 5, 0).toFixed(0) + '</td>' +
  4526. '<td style="color: #999999; font-size: 11px; width: 70px;">' + mathRound(influTotal / 5, 0).toFixed(0) + '</td>' +
  4527. '<td style="color: #999999; font-size: 11px; width: 50px;">' + mathRound(rankTotal / 5, 0).toFixed(0) + '</td>' +
  4528. '<td style="color: #999999; font-size: 11px; width: 50px;">&nbsp;</td>' +
  4529. '</tr>';
  4530.  
  4531. $('#influTable > tbody:last').append(influRow1);
  4532. }
  4533.  
  4534. fixAvatar();
  4535. }
  4536.  
  4537. function fixAvatar() {
  4538. var avatarLink = extractUrl($('.citizen_avatar').css('background-image')).split('_')[0] + '.jpg';
  4539. $('.citizen_avatar').wrap('<a href="' + avatarLink + '" target="_blank" />');
  4540. }
  4541. // ---------------------------------------------------------------------------------------------------------------------
  4542.  
  4543. // -- Logout button ----------------------------------------------------------------------------------------------------
  4544. function changeLogout() {
  4545. if (eRAopt['logout'] == false) {
  4546. return;
  4547. }
  4548.  
  4549. $('a[class*="logout"]').removeClass('logout').addClass('newLogout');
  4550. }
  4551. // ---------------------------------------------------------------------------------------------------------------------
  4552.  
  4553. // -- Work -------------------------------------------------------------------------------------------------------------
  4554. function improveWork() {
  4555. if (window.location.href.split('/')[5] == 'results') {
  4556. return;
  4557. }
  4558.  
  4559. var barWidth = $('.skill_tracker .tracks .progress').css('width').split('px')[0];//489
  4560.  
  4561. if(barWidth > 489) {
  4562. $('.skill_tracker .tracks .progress').css('width', '489px');
  4563. }
  4564. }
  4565. // ---------------------------------------------------------------------------------------------------------------------
  4566.  
  4567. // -- News Categories --------------------------------------------------------------------------------------------------
  4568. function newsCategories() {
  4569. if ($('#news').html() == undefined) {
  4570. return;
  4571. }
  4572.  
  4573. if (eRAopt['removecat'] == true) {
  4574. $('#news').remove();
  4575. return;
  4576. }
  4577.  
  4578. if (eRAopt['categories'] == false) {
  4579. return;
  4580. }
  4581.  
  4582. var countryName = $('.user_country img').attr('src').split('/')[4].split('.')[0];
  4583.  
  4584. $('#articles div:eq(0)').append('<a class="mbutton" href="/' + era.hostLang + '/news/rated/all">' +
  4585. '<img alt="" src="' + topRatedCat + '">' +
  4586. '<span>Top rated</span>' +
  4587. '</a>' +
  4588. '<a class="mbutton" href="/' + era.hostLang + '/news/latest/all/' + countryName + '/1">' +
  4589. '<img alt="" src="' + latestCat + '">' +
  4590. '<span>Latest news</span>' +
  4591. '</a>' +
  4592. '<a class="mbutton" href="/' + era.hostLang + '/news/international">' +
  4593. '<img alt="" src="' + internationalCat +'">' +
  4594. '<span>International</span>' +
  4595. '</a>');
  4596. }
  4597. // ---------------------------------------------------------------------------------------------------------------------
  4598.  
  4599. // -- Region Links -----------------------------------------------------------------------------------------------------
  4600. function linkRegions() {
  4601. $('#battle_listing li').each(function() {
  4602. var regionName = $(this).find('.county:eq(0) span').text();
  4603. var regionFullName = findElement(regionName.replace(/\./gi, ''), region_link);
  4604.  
  4605. $(this).find('.county:eq(0)').attr('href', 'http://www.erepublik.com/' + era.hostLang + '/region/' + region_link[regionFullName]);
  4606. });
  4607.  
  4608. $('#victory_listing li').each(function() {
  4609. var regionName = $(this).find('.county:eq(0) span').text();
  4610. var regionFullName = findElement(regionName.replace(/\./gi, ''), region_link);
  4611.  
  4612. $(this).find('.county:eq(0)').attr('href', 'http://www.erepublik.com/' + era.hostLang + '/region/' + region_link[regionFullName]);
  4613. });
  4614. }
  4615. // ---------------------------------------------------------------------------------------------------------------------
  4616.  
  4617. // -- Natural enemy ----------------------------------------------------------------------------------------------------
  4618. var neCountry;
  4619.  
  4620. function getNaturalEnemy() {
  4621. readSettings('natural');
  4622. readSettings('time');
  4623. readSettings('data');
  4624.  
  4625. var userCountry = id_country[fixString2(eRAdata['citizenMain'])];
  4626. var currentTime = new Date();
  4627.  
  4628. var prepared = new Array();
  4629.  
  4630. function run(variable) {
  4631. prepared[variable] = true;
  4632.  
  4633. if (prepared['natural']) {
  4634. changeFlags();
  4635. }
  4636. }
  4637.  
  4638. function dataGet() {
  4639. GM_xmlhttpRequest({
  4640. method: 'GET',
  4641. url: 'http://www.erepublik.com/' + era.hostLang + '/country/military/' + userCountry,
  4642. onload: function(response) {
  4643. neCountry = fixString2($(response.responseText).find('.indent:eq(0) .attacker .nameholder a').text());
  4644.  
  4645. eRAne = {};
  4646. eRAne['Time'] = currentTime.getTime();
  4647. eRAne['Enemy'] = neCountry;
  4648. writeSettings(era.characterId + '.Natural', eRAne);
  4649.  
  4650. run('natural');
  4651. }
  4652. });
  4653. }
  4654.  
  4655. if (eRAne['Time'] == undefined) {
  4656. eRAne['Time'] = currentTime.getTime();
  4657. writeSettings(era.characterId + '.Natural', eRAne);
  4658.  
  4659. dataGet();
  4660. } else {
  4661. var currTimeStamp = currentTime.getTime();
  4662. var timeStamp = parseFloat(eRAne['Time']) + 3600000;
  4663.  
  4664. if (currTimeStamp >= timeStamp || eRAne['Enemy'] == undefined || eRAne['Enemy'] == '') {
  4665. dataGet();
  4666. } else {
  4667. neCountry = eRAne['Enemy'];
  4668.  
  4669. changeFlags();
  4670. }
  4671. }
  4672. }
  4673.  
  4674. function changeFlags() {
  4675. readSettings('data');
  4676. var userCountry = id_country[fixString2(eRAdata['citizenMain'])];
  4677. $('.side_flags').each(function() {
  4678. var flagName = $(this).attr('src').split('/')[4].split('.')[0];
  4679. if (flagName == userCountry) {
  4680. $(this).parent().find('img[title*="' + neCountry + '"]').each(function() {
  4681. if ($(this).parent().find('img[class*="resistance_sign"]').attr('title') == undefined) {
  4682. $(this).after('<img alt="" title="Natural enemy" src="' + neIcon + '" style="margin-top: 8px; margin-left: -30px;">');
  4683. }
  4684. });
  4685. }
  4686. });
  4687. }
  4688. // ---------------------------------------------------------------------------------------------------------------------
  4689.  
  4690. // -- Top news ---------------------------------------------------------------------------------------------------------
  4691. var localNewsMain;
  4692. var interNewsMain;
  4693. var latestNewsMain;
  4694.  
  4695. function getOldLatest() {
  4696. if (eRAopt['topnews'] == false || $('#battle_listing').html() == undefined || window.location.href.split('/')[5] == 'campaigns') {
  4697. return;
  4698. }
  4699.  
  4700. readSettings('newsdata');
  4701.  
  4702. var currentTime = new Date();
  4703. var countryName = id_country[fixString2(eRAdata['citizenMain'])];
  4704. //var countryName = $('.user_country img').attr('src').split('/')[4].split('.')[0];
  4705.  
  4706. var prepared = new Array();
  4707.  
  4708. function run(variable) {
  4709. prepared[variable] = true;
  4710.  
  4711. if (prepared['localnews'] && prepared['internews'] && prepared['latestnews']) {
  4712. addOldNews();
  4713. }
  4714. }
  4715.  
  4716. function newsGet() {
  4717. if (!prepared['localnews']) {
  4718. GM_xmlhttpRequest({
  4719. method: 'GET',
  4720. url: 'http://www.erepublik.com/' + era.hostLang + '/news/rated/all',
  4721. onload: function(response) {
  4722. localNewsMain = $(response.responseText).find('#content').html();
  4723.  
  4724. if ($(localNewsMain).find('.errtxt .title').html() == 'Oops, something went wrong.') {
  4725. newsGet();
  4726. } else {
  4727. eRAoldnews['Local'] = localNewsMain;
  4728. writeSettings(era.characterId + '.OldNews', eRAoldnews);
  4729.  
  4730. run('localnews');
  4731. }
  4732. }
  4733. });
  4734. }
  4735.  
  4736. if (!prepared['internews']) {
  4737. GM_xmlhttpRequest({
  4738. method: 'GET',
  4739. url: 'http://www.erepublik.com/' + era.hostLang + '/news/international',
  4740. onload: function(response) {
  4741. interNewsMain = $(response.responseText).find('#content').html();
  4742.  
  4743. if ($(interNewsMain).find('.errtxt .title').html() == 'Oops, something went wrong.') {
  4744. newsGet();
  4745. } else {
  4746. eRAoldnews['International'] = interNewsMain;
  4747. writeSettings(era.characterId + '.OldNews', eRAoldnews);
  4748.  
  4749. run('internews');
  4750. }
  4751. }
  4752. });
  4753. }
  4754.  
  4755. if (!prepared['latestnews']) {
  4756. GM_xmlhttpRequest({
  4757. method: 'GET',
  4758. url: 'http://www.erepublik.com/' + era.hostLang + '/news/latest/all/' + countryName + '/1',
  4759. onload: function(response) {
  4760. latestNewsMain = $(response.responseText).find('#content').html();
  4761.  
  4762. if ($(latestNewsMain).find('.errtxt .title').html() == 'Oops, something went wrong.') {
  4763. newsGet();
  4764. } else {
  4765. eRAoldnews['Latest'] = latestNewsMain;
  4766. writeSettings(era.characterId + '.OldNews', eRAoldnews);
  4767.  
  4768. run('latestnews');
  4769. }
  4770. }
  4771. });
  4772. }
  4773. }
  4774.  
  4775. if (eRAoldnews['Time'] == undefined) {
  4776. eRAoldnews = {};
  4777. eRAoldnews['Time'] = currentTime.getTime();
  4778. writeSettings(era.characterId + '.OldNews', eRAoldnews);
  4779.  
  4780. newsGet();
  4781. } else {
  4782. var currTimeStamp = currentTime.getTime();
  4783. var timeStamp = parseFloat(eRAoldnews['Time']) + 60000;
  4784.  
  4785. if (currTimeStamp >= timeStamp || eRAoldnews['Latest'] == undefined || eRAoldnews['Latest'] == '') {
  4786. eRAoldnews = {};
  4787. eRAoldnews['Time'] = currentTime.getTime();
  4788. writeSettings(era.characterId + '.OldNews', eRAoldnews);
  4789.  
  4790. newsGet();
  4791. } else {
  4792. localNewsMain = eRAoldnews['Local'];
  4793. interNewsMain = eRAoldnews['International'];
  4794. latestNewsMain = eRAoldnews['Latest'];
  4795.  
  4796. addOldNews();
  4797. }
  4798. }
  4799. }
  4800.  
  4801. function addOldNews() {
  4802. var countryName = id_country[fixString2(eRAdata['citizenMain'])];
  4803. // var countryName = $('.user_country img').attr('src').split('/')[4].split('.')[0];
  4804. var newsItem;
  4805. var newsColection = '<div id="topnews" class="box" style="margin-bottom: 0px;">' +
  4806. '<div class="title" style="border-bottom: none; margin-bottom: 0px;">' +
  4807. '<h1 class="sIFR-replaced">' +
  4808. '<span class="sIFR-alternate">News</span>' +
  4809. '</h1>' +
  4810. '</div>' +
  4811. '<div class="oldNewsSwitchHolder">' +
  4812. '<div id="localSwitch" class="oldNewsSwitchActive" style="width: 95px;">Local</div>' +
  4813. '<div id="interSwitch" class="oldNewsSwitch" style="width: 120px;">International</div>' +
  4814. '<div id="latestSwitch" class="oldNewsSwitch" style="width: 100px;">Latest</div>' +
  4815. '</div>' +
  4816. '<div id="localNewsHolder" style="display: block;">';
  4817. var newsCount = 1;
  4818.  
  4819. $(localNewsMain).filter('[class="holder bordersep"]').each(function() {
  4820. if (newsCount < 6) {
  4821. newsItem = '<div class="topNewsItem">' + $(this).html().split('<div class="newspaperinf goright">')[0] + '</div>';
  4822. newsColection += newsItem;
  4823. newsCount++;
  4824. }
  4825. });
  4826.  
  4827. newsColection += '<div style="float: left; margin: 0 0 15px;"><a id="topLocalNews" class="greyButton" title="Top local news" href="http://www.erepublik.com/' + era.hostLang + '/news/rated/all"><span>Top local news</span></a></div></div><div id="interNewsHolder" style="display: none;">';
  4828.  
  4829. var interCount = 1;
  4830.  
  4831. $(interNewsMain).filter('[class="holder bordersep"]').each(function() {
  4832. if (interCount < 6) {
  4833. newsItem = '<div class="topNewsItem">' + $(this).html().split('<div class="newspaperinf goright">')[0] + '</div>';
  4834. newsColection += newsItem;
  4835. interCount++;
  4836. }
  4837. });
  4838.  
  4839. newsColection += '<div style="float: left; margin: 0 0 15px;"><a id="topInterNews" class="greyButton" title="Top international news" href="http://www.erepublik.com/' + era.hostLang + '/news/international"><span>Top international news</span></a></div></div><div id="latestNewsHolder" style="display: none;">';
  4840.  
  4841. var latestCount = 1;
  4842.  
  4843. $(latestNewsMain).filter('[class="holder bordersep"]').each(function() {
  4844. if (latestCount < 6) {
  4845. newsItem = '<div class="topNewsItem">' + $(this).html().split('<div class="newspaperinf goright">')[0] + '</div>';
  4846. newsColection += newsItem;
  4847. latestCount++;
  4848. }
  4849. });
  4850.  
  4851. newsColection += '<div style="float: left; margin: 0 0 15px;"><a id="latestNews" class="greyButton" title="Latest news" href="http://www.erepublik.com/' + era.hostLang + '/news/latest/all/' + countryName + '/1"><span>Latest news</span></a></div></div>';
  4852.  
  4853. if ($('#militaryEvents').html() != undefined) {
  4854. $('#militaryEvents').after(newsColection);
  4855. } else {
  4856. $('#battle_listing').after(newsColection);
  4857. }
  4858.  
  4859. $('#localSwitch').click(function() {
  4860. $('#interNewsHolder').css('display', 'none');
  4861. $('#latestNewsHolder').css('display', 'none');
  4862. $('#localNewsHolder').css('display', 'block');
  4863.  
  4864. $(this).removeClass('oldNewsSwitch');
  4865. $(this).addClass('oldNewsSwitchActive');
  4866. $('#interSwitch').removeClass('oldNewsSwitchActive');
  4867. $('#interSwitch').addClass('oldNewsSwitch');
  4868. $('#latestSwitch').removeClass('oldNewsSwitchActive');
  4869. $('#latestSwitch').addClass('oldNewsSwitch');
  4870.  
  4871. $('#localNewsHolder div[class*="box goleft"]').each(function() {
  4872. if ($.browser.mozilla) {
  4873. $(this).find('.item .holder p a').textOverflow();
  4874. } else {
  4875. $(this).find('.item .holder p').css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  4876. }
  4877. });
  4878. });
  4879.  
  4880. $('#interSwitch').click(function() {
  4881. $('#localNewsHolder').css('display', 'none');
  4882. $('#latestNewsHolder').css('display', 'none');
  4883. $('#interNewsHolder').css('display', 'block');
  4884.  
  4885. $(this).removeClass('oldNewsSwitch');
  4886. $(this).addClass('oldNewsSwitchActive');
  4887. $('#localSwitch').removeClass('oldNewsSwitchActive');
  4888. $('#localSwitch').addClass('oldNewsSwitch');
  4889. $('#latestSwitch').removeClass('oldNewsSwitchActive');
  4890. $('#latestSwitch').addClass('oldNewsSwitch');
  4891.  
  4892. $('#interNewsHolder div[class*="box goleft"]').each(function() {
  4893. if ($.browser.mozilla) {
  4894. $(this).find('.item .holder p a').textOverflow();
  4895. } else {
  4896. $(this).find('.item .holder p').css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  4897. }
  4898. });
  4899. });
  4900.  
  4901. $('#latestSwitch').click(function() {
  4902. $('#interNewsHolder').css('display', 'none');
  4903. $('#localNewsHolder').css('display', 'none');
  4904. $('#latestNewsHolder').css('display', 'block');
  4905.  
  4906. $(this).removeClass('oldNewsSwitch');
  4907. $(this).addClass('oldNewsSwitchActive');
  4908. $('#interSwitch').removeClass('oldNewsSwitchActive');
  4909. $('#interSwitch').addClass('oldNewsSwitch');
  4910. $('#localSwitch').removeClass('oldNewsSwitchActive');
  4911. $('#localSwitch').addClass('oldNewsSwitch');
  4912.  
  4913. $('#latestNewsHolder div[class*="box goleft"]').each(function() {
  4914. if ($.browser.mozilla) {
  4915. $(this).find('.item .holder p a').textOverflow();
  4916. } else {
  4917. $(this).find('.item .holder p').css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  4918. }
  4919. });
  4920. });
  4921.  
  4922. $('#localNewsHolder div[class*="box goleft"]').each(function() {
  4923. $(this).css('width', '333px');
  4924. $(this).css('margin-bottom', '0px');
  4925. $(this).css('padding-bottom', '0px');
  4926. $(this).find('.item').css('width', '333px');
  4927. $(this).find('.item').css('margin-bottom', '0px');
  4928. $(this).find('.item .rankholder').css('background', 'url("' + oldNewsVotesBack + '") no-repeat scroll 0 0px transparent');
  4929. $(this).find('.item .holder').css('width', '273px');
  4930. $(this).find('.item .holder p').css('width', '273px');
  4931. if ($.browser.mozilla) {
  4932. $(this).find('.item .holder p a').textOverflow();
  4933. } else {
  4934. $(this).find('.item .holder p').css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  4935. }
  4936. $(this).find('.item .holder .article_details').css('width', '273px');
  4937. $(this).find('.item .holder .article_details small:eq(2)').remove();
  4938. $(this).find('.item .holder .article_details small:eq(1)').remove();
  4939. $(this).find('.item .holder .article_details span:eq(2)').remove();
  4940. $(this).find('.item .holder .article_details span:eq(1)').remove();
  4941. $(this).find('.item .holder .article_details span:eq(0)').remove();
  4942. });
  4943.  
  4944. $('#interNewsHolder div[class*="box goleft"]').each(function() {
  4945. $(this).css('width', '333px');
  4946. $(this).css('margin-bottom', '0px');
  4947. $(this).css('padding-bottom', '0px');
  4948. $(this).find('.item').css('width', '333px');
  4949. $(this).find('.item').css('margin-bottom', '0px');
  4950. $(this).find('.item .rankholder').css('background', 'url("' + oldNewsVotesBack + '") no-repeat scroll 0 0px transparent');
  4951. $(this).find('.item .holder').css('width', '273px');
  4952. $(this).find('.item .holder p').css('width', '273px');
  4953. if ($.browser.mozilla) {
  4954. $(this).find('.item .holder p a').textOverflow();
  4955. } else {
  4956. $(this).find('.item .holder p').css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  4957. }
  4958. $(this).find('.item .holder .article_details').css('width', '273px');
  4959. $(this).find('.item .holder .article_details small:eq(1)').remove();
  4960. $(this).find('.item .holder .article_details span:eq(1)').remove();
  4961. });
  4962.  
  4963. $('#latestNewsHolder div[class*="box goleft"]').each(function() {
  4964. $(this).css('width', '333px');
  4965. $(this).css('margin-bottom', '0px');
  4966. $(this).css('padding-bottom', '0px');
  4967. $(this).find('.item').css('width', '333px');
  4968. $(this).find('.item').css('margin-bottom', '0px');
  4969. $(this).find('.item .rankholder').css('background', 'url("' + oldNewsVotesBack + '") no-repeat scroll 0 0px transparent');
  4970. $(this).find('.item .holder').css('width', '273px');
  4971. $(this).find('.item .holder p').css('width', '273px');
  4972. if ($.browser.mozilla) {
  4973. $(this).find('.item .holder p a').textOverflow();
  4974. } else {
  4975. $(this).find('.item .holder p').css({'whiteSpace' : 'nowrap', 'overflow' : 'hidden', 'textOverflow' : 'ellipsis'});
  4976. }
  4977. $(this).find('.item .holder .article_details').css('width', '273px');
  4978. $(this).find('.item .holder .article_details small:eq(2)').remove();
  4979. $(this).find('.item .holder .article_details small:eq(1)').remove();
  4980. $(this).find('.item .holder .article_details span:eq(2)').remove();
  4981. $(this).find('.item .holder .article_details span:eq(1)').remove();
  4982. $(this).find('.item .holder .article_details span:eq(0)').remove();
  4983. });
  4984. }
  4985. // ---------------------------------------------------------------------------------------------------------------------
  4986.  
  4987. // -- Military events feeds --------------------------------------------------------------------------------------------
  4988. function getMilitaryEvents() {
  4989. if (eRAopt['milevents'] == false || $('#battle_listing').html() == undefined || window.location.href.split('/')[5] == 'campaigns') {
  4990. return;
  4991. }
  4992.  
  4993. GM_xmlhttpRequest({
  4994. method: 'GET',
  4995. url: 'http://www.erepublik.com/rss/allMilitaryEvents',
  4996. onload: function(response) {
  4997. var eventsData = $(response.responseText);
  4998.  
  4999. var dataColection = '<div id="militaryEvents" style="clear: both; float: left; margin-bottom: 10px;">' +
  5000. '<div class="title" style="border-bottom: none; margin-bottom: 10px;">' +
  5001. '<h1 class="sIFR-replaced">' +
  5002. '<span class="sIFR-alternate">Military events</span>' +
  5003. '</h1>' +
  5004. '</div>' +
  5005. '<div id="eventsHolder" class="eventsHolder" style="display: block;">';
  5006.  
  5007. $(eventsData).find('entry').each(function() {
  5008. var eventTitle = $(this).find('title').html();
  5009.  
  5010. var serverDay = $('.eday strong').html().replace(/,/gi, '');
  5011. var serverHours = $('#live_time').html().split(':')[0];
  5012. var serverMinutes = $('#live_time').html().split(':')[1];
  5013. var startDate = Date.UTC(2007, 10, 20, 0, 0, 0, 0);
  5014. var serverDate = startDate + serverDay * 86400000 + serverHours * 3600000 + serverMinutes * 60000;
  5015.  
  5016. var eventYear = $(this).find('updated').html().split('T')[0].split('-')[0];
  5017. var eventMonth = $(this).find('updated').html().split('T')[0].split('-')[1];
  5018. var eventDay = $(this).find('updated').html().split('T')[0].split('-')[2];
  5019. var eventHours = $(this).find('updated').html().split('T')[1].split('Z')[0].split(':')[0];
  5020. var eventMinutes = $(this).find('updated').html().split('T')[1].split('Z')[0].split(':')[1];
  5021. var eventDate = Date.UTC(eventYear, parseFloat(eventMonth) - 1, eventDay, eventHours, eventMinutes, 0, 0);
  5022.  
  5023. var timePassed = serverDate - eventDate;
  5024.  
  5025. var minutesPassed = Math.floor(timePassed / 60000);
  5026. var hoursPassed = Math.floor(timePassed / 3600000);
  5027.  
  5028. if (hoursPassed > 24) {
  5029. if (hoursPassed < 48) {
  5030. var timeString = 'yesterday';
  5031. } else {
  5032. var timeString = 'more than a day ago';
  5033. }
  5034. } else {
  5035. if (hoursPassed > 0) {
  5036. if (hoursPassed < 2) {
  5037. var timeString = hoursPassed + ' hour ago';
  5038. } else {
  5039. var timeString = hoursPassed + ' hours ago';
  5040. }
  5041. } else {
  5042. if (minutesPassed > 0) {
  5043. if (minutesPassed < 2) {
  5044. var timeString = minutesPassed + ' minute ago';
  5045. } else {
  5046. var timeString = minutesPassed + ' minutes ago';
  5047. }
  5048. } else {
  5049. var timeString = 'less than min. ago';
  5050. }
  5051. }
  5052. }
  5053.  
  5054. var eventsItem = '<div class="eventsItem"><div class="eventsIcon">&nbsp;</div><div class="eventsDetailHolder"><p class="eventsTitle">' + eventTitle + '</p><div class="eventsDetails">' + timeString + '</div></div></div>';
  5055. dataColection += eventsItem;
  5056. });
  5057.  
  5058. dataColection += '</div><div style="clear: both; float: left;"><a id="moreEvents" class="greyButton" title="More events"><span>More events</span></a><a id="lessEvents" class="greyButtonArrowUp" title=""><span>&nbsp;</span></a></div>';
  5059.  
  5060. if ($('#topnews').html() != undefined) {
  5061. $('#topnews').before(dataColection);
  5062. } else {
  5063. $('#battle_listing').after(dataColection);
  5064. }
  5065.  
  5066. $('#militaryEvents .eventsItem').each(function() {
  5067. var eventTitle = $(this).find('.eventsTitle').html();
  5068. if (eventTitle.indexOf('signed an alliance') != -1) {
  5069. $(this).find('.eventsIcon').css('background-position', '0 -39px');
  5070. } else if (eventTitle.indexOf('signed peace') != -1) {
  5071. $(this).find('.eventsIcon').css('background-position', '0 -117px');
  5072. } else if (eventTitle.indexOf('was conquered') != -1) {
  5073. $(this).find('.eventsIcon').css('background-position', '0 -156px');
  5074. } else if (eventTitle.indexOf('was secured') != -1) {
  5075. $(this).find('.eventsIcon').css('background-position', '0 -195px');
  5076. } else if (eventTitle.indexOf('A resistance') != -1) {
  5077. $(this).find('.eventsIcon').css('background-position', '0 -234px');
  5078. } else if (eventTitle.indexOf('attacked') != -1) {
  5079. $(this).find('.eventsIcon').css('background-position', '0 -273px');
  5080. }
  5081. });
  5082.  
  5083. $('#militaryEvents .eventsItem:gt(2)').each(function() {
  5084. $(this).css('display', 'none');
  5085. });
  5086.  
  5087. $('#moreEvents').click(function() {
  5088. var itemCount = 0;
  5089. $('#militaryEvents .eventsItem[style*="display: none"]').each(function() {
  5090. if (itemCount < 5) {
  5091. $(this).show();
  5092. itemCount++;
  5093. }
  5094. });
  5095. });
  5096.  
  5097. $('#lessEvents').click(function() {
  5098. $('#militaryEvents .eventsItem:gt(2)').each(function() {
  5099. $(this).hide();
  5100. });
  5101. });
  5102. }
  5103. });
  5104. }
  5105. // ---------------------------------------------------------------------------------------------------------------------
  5106.  
  5107. // -- Subscriptions icon -----------------------------------------------------------------------------------------------
  5108. var subsMain;
  5109. var oldSubsMain;
  5110.  
  5111. function getSubs() {
  5112. if (eRAopt['subs'] == false) {
  5113. return;
  5114. }
  5115.  
  5116. readSettings('subscriptions');
  5117.  
  5118. if (eRAsubs['Subs'] == undefined || eRAsubs['Subs'] == '') {
  5119. oldSubsMain = '';
  5120. } else {
  5121. oldSubsMain = eRAsubs['Subs'];
  5122. }
  5123.  
  5124. var currentTime = new Date();
  5125.  
  5126. var prepared = new Array();
  5127.  
  5128. function run(variable) {
  5129. prepared[variable] = true;
  5130.  
  5131. if (prepared['subs']) {
  5132. addSubsIcon();
  5133. }
  5134. }
  5135.  
  5136. function subsGet() {
  5137. if (!prepared['localnews']) {
  5138. GM_xmlhttpRequest({
  5139. method: 'GET',
  5140. url: 'http://www.erepublik.com/' + era.hostLang + '/news/subscriptions',
  5141. onload: function(response) {
  5142. subsMain = $(response.responseText).find('#content').html();
  5143.  
  5144. if ($(subsMain).find('.errtxt .title').html() == 'Oops, something went wrong.') {
  5145. subsGet();
  5146. } else {
  5147. subsMain = $(subsMain).filter('[class="holder bordersep"]').eq(0).find('.holder:eq(0) p a').html();
  5148. if (subsMain == null) {
  5149. subsMain = '';
  5150. }
  5151. eRAsubs['Subs'] = subsMain;
  5152. writeSettings(era.characterId + '.Subs', eRAsubs);
  5153.  
  5154. run('subs');
  5155. }
  5156.  
  5157. }
  5158. });
  5159. }
  5160. }
  5161.  
  5162. if (eRAsubs['Time'] == undefined) {
  5163. eRAsubs = {};
  5164. eRAsubs['Time'] = currentTime.getTime();
  5165. writeSettings(era.characterId + '.Subs', eRAsubs);
  5166.  
  5167. subsGet();
  5168. } else {
  5169. var currTimeStamp = currentTime.getTime();
  5170. var timeStamp = parseFloat(eRAsubs['Time']) + 300000;
  5171.  
  5172. if (currTimeStamp >= timeStamp || eRAsubs['Subs'] == undefined || eRAsubs['Subs'] == '') {
  5173. eRAsubs = {};
  5174. eRAsubs['Time'] = currentTime.getTime();
  5175. writeSettings(era.characterId + '.Subs', eRAsubs);
  5176.  
  5177. subsGet();
  5178. } else {
  5179. subsMain = eRAsubs['Subs'];
  5180.  
  5181. addSubsIcon();
  5182. }
  5183. }
  5184. }
  5185.  
  5186. function addSubsIcon() {
  5187. $('.user_notify a:eq(0)').css('left', '15px');
  5188. $('.user_notify a:eq(1)').css('left', '68px');
  5189.  
  5190. if(oldSubsMain == subsMain) {
  5191. $('.user_notify').append('<a class="notify" title="Subscriptions" href="http://www.erepublik.com/' + era.hostLang + '/news/subscriptions" style="left: 121px;"><img alt="" src="' + subsIconOff + '"></a>');
  5192. } else {
  5193. $('.user_notify').append('<a class="notify" title="Subscriptions" href="http://www.erepublik.com/' + era.hostLang + '/news/subscriptions" style="left: 121px;"><img alt="" src="' + subsIconOn + '"></a>');
  5194. }
  5195. }
  5196. // ---------------------------------------------------------------------------------------------------------------------
  5197.  
  5198. // -- Improve shouts ---------------------------------------------------------------------------------------------------
  5199. function improveShouts() {
  5200. if ($('#citizen_older_feeds #lessCitizenPosts').length < 1) {
  5201. $('#citizen_older_feeds').append('<a id="lessCitizenPosts" class="blueButtonArrowUp" title=""><span>&nbsp;</span></a>');
  5202.  
  5203. $('#lessCitizenPosts').click(function() {
  5204. $('.wall_post_list li:gt(9)').each(function() {
  5205. $(this).hide();
  5206. });
  5207. });
  5208. }
  5209. if ($('#group_older_feeds #lessGroupPosts').length < 1) {
  5210. $('#group_older_feeds').append('<a id="lessGroupPosts" class="blueButtonArrowUp" title=""><span>&nbsp;</span></a>');
  5211.  
  5212. $('#lessGroupPosts').click(function() {
  5213. $('.wall_post_list li:gt(9)').each(function() {
  5214. $(this).hide();
  5215. });
  5216. });
  5217. }
  5218.  
  5219. loadShoutScript();
  5220. }
  5221.  
  5222. function shoutScript() {
  5223. $ = window.jQuery;
  5224.  
  5225. $('body').ajaxSuccess(function (event, requestData, settings) {
  5226. if (settings.url.match(/older/gi) != null ) {
  5227. if ($('#citizen_older_feeds #lessCitizenPosts').length < 1) {
  5228. $('#citizen_older_feeds').append('<a id="lessCitizenPosts" class="blueButtonArrowUp" title=""><span>&nbsp;</span></a>');
  5229.  
  5230. $('#lessCitizenPosts').click(function() {
  5231. $('.wall_post_list li:gt(9)').each(function() {
  5232. $(this).hide();
  5233. });
  5234. });
  5235. }
  5236. if ($('#group_older_feeds #lessGroupPosts').length < 1) {
  5237. $('#group_older_feeds').append('<a id="lessGroupPosts" class="blueButtonArrowUp" title=""><span>&nbsp;</span></a>');
  5238.  
  5239. $('#lessGroupPosts').click(function() {
  5240. $('.wall_post_list li:gt(9)').each(function() {
  5241. $(this).hide();
  5242. });
  5243. });
  5244. }
  5245. }
  5246. });
  5247. }
  5248.  
  5249. function loadShoutScript() {
  5250. if (document.getElementById('eRAShoutScript')) {
  5251. return;
  5252. }
  5253. var headID = document.getElementsByTagName('head')[0];
  5254. script = document.createElement('script');
  5255. script.id = 'eRAShoutScript';
  5256. script.type = 'text/javascript';
  5257. script.appendChild(document.createTextNode('('+ shoutScript +')();'));
  5258. headID.appendChild(script);
  5259. }
  5260. // ---------------------------------------------------------------------------------------------------------------------
  5261.  
  5262. // -- My land ----------------------------------------------------------------------------------------------------------
  5263. function improveLand() {
  5264. if (document.location.href.split('/')[6] != era.characterId) {
  5265. return;
  5266. }
  5267.  
  5268. readSettings('myland');
  5269.  
  5270. $('.land_holder li:gt(0)').each(function() {
  5271. var bId = 'erabid' + $(this).index();
  5272. $(this).attr('id', bId);
  5273. });
  5274.  
  5275. $('.land_holder li:gt(0)').each(function() {
  5276. $(this).find('.detail_holder .detail_content .inside .plain_blue_small').css('margin-right', '2px');
  5277.  
  5278. var ttipTextReplace1 = $(this).find('.detail_holder .detail_content .inside .plain_blue_small span').text().replace('Special', 'Spec.');
  5279. $(this).find('.detail_holder .detail_content .inside .plain_blue_small span').text(ttipTextReplace1);
  5280. var ttipTextReplace2 = $(this).find('.detail_holder .detail_content .inside .plain_blue_small span').text().replace('capacity: ', '');
  5281. $(this).find('.detail_holder .detail_content .inside .plain_blue_small span').text(ttipTextReplace2);
  5282.  
  5283. var buildingId = $(this).attr('id');
  5284. $(this).find('.detail_holder .detail_content .inside').append('<a id="hideBuilding_' + buildingId + '" class="hideBuildingButton"><div class="newTipsy"><div class="newTipsy-arrow">&nbsp;</div><div class="newTipsy-inner">Hide building</div></div></a>');
  5285.  
  5286. if (eRAopt['cnames'] != false) {
  5287. if ($(this).find('.detail_holder .detail_content .inside a:eq(0)').attr('original-title') != undefined) {
  5288. var buildingName = $(this).find('.detail_holder .detail_content .inside a:eq(0)').attr('original-title').replace('Work at ', '').replace('View results for ', '');
  5289. $(this).append('<div class="nameTablet">' + buildingName + '</div>');
  5290. }
  5291. }
  5292. });
  5293.  
  5294. $('a[id*="hideBuilding_"]').live('mouseup', function() {
  5295. var buildId = $(this).attr('id').split('_')[1];
  5296. eRAland[buildId] = true;
  5297. writeSettings(era.characterId + '.Land', eRAland);
  5298.  
  5299. $(this).parent().parent().parent().parent().parent().parent().parent().parent().hide();
  5300. });
  5301.  
  5302. $('#content .land_holder').css('margin-top', '45px');
  5303. $('#content h1').after('<div style="float: right; margin-top: 7px; position: relative; z-index: 3;"><a id="showAllBuildings" class="greyButton"><span>Show all buildings</span></a></div>');
  5304.  
  5305. $('#showAllBuildings').click(function() {
  5306. $('.land_holder li:gt(0)').each(function() {
  5307. eRAland = {};
  5308. writeSettings(era.characterId + '.Land', eRAland);
  5309.  
  5310. $(this).show();
  5311. });
  5312. });
  5313.  
  5314. for (var x in eRAland) {
  5315. if (eRAland[x] == true) {
  5316. var buildIdNum = x.replace('erabid', '');
  5317. $('.land_holder li:eq(' + buildIdNum + ')').hide();
  5318. }
  5319. }
  5320. }
  5321. // ---------------------------------------------------------------------------------------------------------------------
  5322.  
  5323. // -- Daily order tracker ----------------------------------------------------------------------------------------------
  5324. function dailyTrackerGet() {
  5325. if (eRAopt['dotrack'] == false || $('#battle_listing').html() == undefined) {
  5326. return;
  5327. }
  5328.  
  5329. var eToday = parseFloat($('.eday strong').html().replace(/,/gi, ''));
  5330.  
  5331. if ($('#orderContainer').html() != undefined) {
  5332. if ($('#orderContainer big').html() == undefined) {
  5333. eRAdaily = {};
  5334. eRAdaily['eDay'] = eToday;
  5335. eRAdaily['Battlefield'] = '0';
  5336. eRAdaily['Progress'] = '25';
  5337.  
  5338. writeSettings(era.characterId + '.Dod', eRAdaily);
  5339.  
  5340. return;
  5341. }
  5342. } else {
  5343. eRAdaily = {};
  5344. eRAdaily['eDay'] = eToday;
  5345. eRAdaily['Battlefield'] = '0';
  5346. eRAdaily['Progress'] = '0';
  5347.  
  5348. writeSettings(era.characterId + '.Dod', eRAdaily);
  5349.  
  5350. return;
  5351. }
  5352.  
  5353. var dailyBattle = $('#orderContainer a:eq(0)').attr('href');
  5354. var dailyProgress = $('#orderContainer big').html().split('/')[0];
  5355.  
  5356. readSettings('dailytracker');
  5357.  
  5358. if (eRAdaily['eDay'] == undefined || eRAdaily['eDay'] != eToday || eRAdaily['Progress'] == undefined || eRAdaily['Progress'] < parseFloat(dailyProgress)) {
  5359. eRAdaily = {};
  5360. eRAdaily['eDay'] = eToday;
  5361. eRAdaily['Battlefield'] = dailyBattle;
  5362. eRAdaily['Progress'] = dailyProgress;
  5363.  
  5364. writeSettings(era.characterId + '.Dod', eRAdaily);
  5365. }
  5366. }
  5367.  
  5368. function dailyTracker() {
  5369. if (eRAopt['dotrack'] == false) {
  5370. return;
  5371. }
  5372.  
  5373. readSettings('dailytracker');
  5374.  
  5375. $('#pvp_actions').after('<div class="dailyTrackerHolder">' +
  5376. '<div id="dailyTracker" class="dailyTrackerInner">' + eRAdaily['Progress'] + ' / 25</div>' +
  5377. '<div class="dtTipsy"><div class="dtTipsy-arrow">&nbsp;</div><div class="dtTipsy-inner">Daily orders progress</div></div>' +
  5378. '</div>');
  5379. }
  5380.  
  5381. function updateDailyTracker() {
  5382. if (eRAopt['dotrack'] == false) {
  5383. return;
  5384. }
  5385.  
  5386. readSettings('dailytracker');
  5387.  
  5388. var dailyBatt = eRAdaily['Battlefield'].split('/')[4];
  5389. var currBatt = location.href.split('/')[6];
  5390.  
  5391. if(dailyBatt == currBatt && parseFloat(eRAdaily['Progress']) < 25) {
  5392. eRAdaily['Progress'] = parseFloat(eRAdaily['Progress']) + 1;
  5393. writeSettings(era.characterId + '.Dod', eRAdaily);
  5394.  
  5395. $('#dailyTracker').html(eRAdaily['Progress'] + ' / 25');
  5396. }
  5397. }
  5398. // ---------------------------------------------------------------------------------------------------------------------
  5399.  
  5400. // -- Global namespace -------------------------------------------------------------------------------------------------
  5401.  
  5402. /**
  5403. * @namespace eRepublik Advanced
  5404. */
  5405. var era = {
  5406.  
  5407. /**
  5408. * Recognized ID in the host system.
  5409. * If this is not right then we can't run.
  5410. */
  5411. characterId: null,
  5412.  
  5413. /**
  5414. * Level of the character.
  5415. * NaN if character is an Organization.
  5416. */
  5417. characterLevel: null,
  5418.  
  5419. /**
  5420. * The host interface's language.
  5421. */
  5422. hostLang: null,
  5423.  
  5424. /**
  5425. * Day of the New World.
  5426. */
  5427. erepDay: null
  5428. };
  5429.  
  5430. /**
  5431. * @namespace Provides storage related stuff.
  5432. */
  5433. era.storage = {};
  5434.  
  5435. /**
  5436. * @namespace Stores last read values in memory.
  5437. */
  5438. era.storage.cache = {};
  5439.  
  5440. /**
  5441. * Initialize the storage object.
  5442. * Subscribe for system events.
  5443. */
  5444. era.storage.init = function() {
  5445. $(document).bind('maintainYourValues', this.maintainer);
  5446. };
  5447.  
  5448. /**
  5449. * Get accessor.
  5450. *
  5451. * The values in the storage are in JSON format. It's transparent
  5452. * from above.
  5453. *
  5454. * @example
  5455. * // 7823468.SomeValue
  5456. * era.storage.get('SomeValue');
  5457. *
  5458. * @param {String} dataKey Only after the period.
  5459. * @param [defaultValue] This will be returned if no value found.
  5460. * @returns The requested value or the defaultValue param.
  5461. */
  5462. era.storage.get = function(dataKey, defaultValue) {
  5463. var cache = GM_getValue(era.characterId + '.' + dataKey, defaultValue);
  5464. return era.storage.cache[dataKey] = typeof cache != 'undefined' ? JSON.parse(cache) : cache;
  5465. };
  5466.  
  5467. /**
  5468. * Set accessor.
  5469. *
  5470. * @example
  5471. * // 7823468.SomeValue
  5472. * var someValue = 142;
  5473. * era.storage.set('SomeValue', someValue);
  5474. *
  5475. * @param {String} dataKey Only after the period.
  5476. * @param value The value to be set.
  5477. * @returns undefined
  5478. */
  5479. era.storage.set = function(dataKey, value) {
  5480. return GM_setValue(era.characterId + '.' + dataKey, JSON.stringify(value));
  5481. };
  5482.  
  5483. /**
  5484. * Maintains the storage data's integrity to always work
  5485. * with a valid and up to date data.
  5486. */
  5487. era.storage.maintainer = function() {
  5488. var keys = GM_listValues();
  5489. for (var key in keys) (/^undefined\.[a-z]+$/i).test(keys[key]) && GM_deleteValue(keys[key]);
  5490. };
  5491.  
  5492. // era.storage END;
  5493.  
  5494. /**
  5495. * @namespace Style element.
  5496. */
  5497. era.style = {};
  5498.  
  5499. /**
  5500. * Initialize the style object.
  5501. */
  5502. era.style.init = function() {
  5503. this.element = $('<style/>');
  5504. this.element.attr('type', 'text/css').appendTo($('head')[0]);
  5505. };
  5506.  
  5507. // era.style END;
  5508.  
  5509. /**
  5510. * @namespace Logging the dealt influence.
  5511. */
  5512. era.influenceLog = {};
  5513.  
  5514. /**
  5515. * Initialize the influenceLog object.
  5516. * Subscribe for system events.
  5517. */
  5518. era.influenceLog.init = function() {
  5519. $(document).bind('maintainYourValues', this.storage.maintainer);
  5520. };
  5521.  
  5522. /**
  5523. * @namespace Provides storage related stuff for it's parent object.
  5524. */
  5525. era.influenceLog.storage = {};
  5526.  
  5527. /**
  5528. * Default values.
  5529. */
  5530. era.influenceLog.storage.values = {
  5531. 'Hits': 0,
  5532. 'Kills': 0,
  5533. 'Influence': 0,
  5534. 'Rank': 0
  5535. };
  5536.  
  5537. /**
  5538. * Maintains the storage data's integrity to always work
  5539. * with a valid and up to date data.
  5540. */
  5541. era.influenceLog.storage.maintainer = function() {
  5542. var influence = era.storage.get('Influence');
  5543.  
  5544. if (typeof influence != 'object') influence = {};
  5545.  
  5546. for (var i = 0; i < 10; i++) {
  5547. var day = era.erepDay - i;
  5548.  
  5549. if (typeof influence[day] != 'object') influence[day] = era.influenceLog.storage.values;
  5550. else if (isNaN(influence[day].Hits)) influence[day].Hits = 0;
  5551. else if (isNaN(influence[day].Kills)) influence[day].Kills = 0;
  5552. else if (isNaN(influence[day].Influence)) influence[day].Influence = 0;
  5553. else if (isNaN(influence[day].Rank)) influence[day].Rank = 0;
  5554. }
  5555.  
  5556. for (var i in influence) if (isNaN(i) || Math.abs(i - era.erepDay) > 9) delete influence[i];
  5557.  
  5558. era.storage.set('Influence', influence);
  5559. };
  5560.  
  5561. // era.influenceLog.storage END;
  5562.  
  5563. // era.influenceLog END;
  5564.  
  5565. // era END;
  5566.  
  5567. // ---------------------------------------------------------------------------------------------------------------------
  5568.  
  5569. /**
  5570. * The main function.
  5571. */
  5572. function Main() {
  5573. /**
  5574. * Only run if the user is signed in.
  5575. */
  5576. if (!document.getElementById('large_sidebar')) return false;
  5577.  
  5578. /**
  5579. * Determine the character id.
  5580. * Only run if it's valid.
  5581. */
  5582. era.characterId = parseInt($('#large_sidebar .user_section a:eq(0)').attr('href').split('/')[6]);
  5583. if (isNaN(era.characterId)) era.characterId = $('#large_sidebar .user_section a:eq(0)').attr('href').split('/')[4];
  5584. if (isNaN(era.characterId)) throw new TypeError('Character id is not number. Possible html change.');
  5585.  
  5586. era.hostLang = location.href.split('/')[3].split('?')[0];
  5587. era.characterLevel = parseInt($('.user_level b').html());
  5588. era.erepDay = parseInt($('.eday strong').html().replace(',', ''));
  5589.  
  5590. /**
  5591. * Initialize our objects.
  5592. */
  5593. era.storage.init();
  5594. era.style.init();
  5595.  
  5596. /**
  5597. * Tell the objects to maintain their storage values.
  5598. */
  5599. $(document).triggerHandler('maintainYourValues');
  5600.  
  5601. readSettings('options');
  5602.  
  5603. $('#miniprofile .avatarholder .backwhite').css('background-color', 'white');
  5604. $('#account_validation').css('display', 'none');
  5605. $('#citizen_feed h6 em').css('color', 'black');
  5606.  
  5607. if($('#battle_listing .victory_listing').html() != undefined) {
  5608. $('#battle_listing .victory_listing .victory_flag').each(function() {
  5609. $(this).css('padding-left', '57px');
  5610. });
  5611.  
  5612. $('#battle_listing .rest').html('<a id="militaryCampaigns" class="greyButton" title="Military campaigns" href="http://www.erepublik.com/' + era.hostLang + '/military/campaigns"><span>Military campaigns</span></a>' +
  5613. '<a id="latestEvents" class="greyButton" title="Latest events" href="http://www.erepublik.com/' + era.hostLang + '/news/military"><span>Latest events</span></a>');
  5614. }
  5615.  
  5616. cleanSettings();
  5617. createSidebar();
  5618. createMenu();
  5619. prepareSidebarData();
  5620. changeLogout();
  5621. linkRegions();
  5622. getNaturalEnemy();
  5623. newsCategories();
  5624. getOldLatest();
  5625. getMilitaryEvents();
  5626. getSubs();
  5627. improveShouts();
  5628. dailyTrackerGet();
  5629.  
  5630. var pagesFunctions = [
  5631. {p: 'company/employees/', f: getCompanyData},
  5632. {p: 'exchange', f: createMonMarketSwitch},
  5633. {p: 'exchange/myOffers', f: exchangeLink},
  5634. {p: 'market', f: enchanceMarket},
  5635. {p: 'main/search/', f: searchRedirect},
  5636. {p: 'economy/inventory', f: prepareInventory},
  5637. {p: 'economy/inventory', f: taxTable},
  5638. {p: 'article/', f: changeComments},
  5639. {p: 'elections/', f: improveElections},
  5640. {p: 'military/battlefield/', f: improveBattlefield},
  5641. {p: 'military/battlefield/', f: dailyTracker},
  5642. {p: 'citizen/profile/', f: improveProfile},
  5643. {p: 'work', f: improveWork},
  5644. {p: 'main/messages-inbox', f: fixMessages},
  5645. {p: 'land/overview', f: improveLand}
  5646. ];
  5647.  
  5648. pagesFunctions.forEach(function(v) {
  5649. if (location.href.substr(location.href.indexOf('/', location.href.indexOf('/') + 2) + 1 + era.hostLang.length + 1).substr(0, v.p.length) == v.p) {
  5650. v.f();
  5651. }
  5652. });
  5653.  
  5654. $('.banner_place').length && $('.banner_place').insertAfter('#content').css({clear: 'left', 'float': 'left', marginTop: ($.browser.mozilla ? 1 : 0) + 3 + 'px'});
  5655.  
  5656. $('#optionsContent').click(function() {
  5657. $(document).trigger('era.options.go');
  5658. $(this).unbind('click');
  5659. });
  5660.  
  5661. return true;
  5662. }
  5663.  
  5664. if ($.browser.mozilla) window.addEventListener('load', Main, false);
  5665. else if (typeof greasyChrome._eraMainStarted == 'boolean' && !greasyChrome._eraMainStarted) Main();
Add Comment
Please, Sign In to add comment