// ==UserScript==
// @name Overview Ikariam Icon
// @namespace Overview Ikariam Icon
// @description Report for Ikariam (table, etc.)
// @author frapao
// @include http://s*.ikariam.gameforge.*/*
// @exclude http://support.*.ikariam.com/index.php?*
// @icon http://s3.amazonaws.com/uso_ss/icon/41051/large.jpg
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_log
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// @version 4.42a
// ==/UserScript==
////GLOBAL VARIABLES////
////===============>>>>> SCRIPT VERSION !!!!!!!!!!!!!!
var version='Ikariam Overview Icon - 4.42a</td>'
var nameArmy = new Array ();
var countArmy = new Array ();
var s = new XMLSerializer();
var myday=''
var myora=''
var mymin=''
var mysec=''
var balloon=getVar("varTip")
var focusTable=getVar("varFocus")
var giu=getVar("yFine")
var currentId=''
var currentI=''
var view='';
xview=''
viewOn=0
var id ='';
unsafeWindow.ajax.Responder.wtChangeHTML = unsafeWindow.ajax.Responder.changeHTML;
unsafeWindow.ajax.Responder.changeHTML =
function(params, replaceView) {
var id = params[0];
unsafeWindow.ajax.Responder.wtChangeHTML(params, replaceView);
setTimeout( function() { testing(id);}, 0);
}
setInterval (function () {
elfine=document.getElementsByClassName("footerleft")
piede=elfine[0]
yend=trovaY(piede)
setVar ("yFine",yend)
},2000)
//Capacity of a ship
var cap = 500;
// list all buildings
var building = new Array(
"townHall","palace","palaceColony","tavern","museum","academy","workshop","temple",
"embassy","warehouse","dump","port","branchOffice","wall","safehouse","barracks",
"shipyard","forester","carpentering","winegrower","vineyard","stonemason","architect","glassblowing",
"optician","alchemist","fireworker","pirateFortress"
);
var LocalBuilding = new Array();
var IconBuilding = new Array();
var xArmy=new Array(
"skin/characters/military/x40_y40/y40_phalanx_faceright.png",
"skin/characters/military/x40_y40/y40_steamgiant_faceright.png",
"skin/characters/military/x40_y40/y40_spearman_faceright.png",
"skin/characters/military/x40_y40/y40_swordsman_faceright.png",
"skin/characters/military/x40_y40/y40_slinger_faceright.png",
"skin/characters/military/x40_y40/y40_archer_faceright.png",
"skin/characters/military/x40_y40/y40_marksman_faceright.png",
"skin/characters/military/x40_y40/y40_ram_faceright.png",
"skin/characters/military/x40_y40/y40_catapult_faceright.png",
"skin/characters/military/x40_y40/y40_mortar_faceright.png",
"skin/characters/military/x40_y40/y40_gyrocopter_faceright.png",
"skin/characters/military/x40_y40/y40_bombardier_faceright.png",
"skin/characters/military/x40_y40/y40_cook_faceright.png",
"skin/characters/military/x40_y40/y40_medic_faceright.png",
"skin/characters/military/x40_y40/y40_spartan_faceright.png"
)
var xFleet=new Array(
"ship_flamethrower",
"ship_steamboat",
"ship_ram",
"ship_catapult",
"ship_ballista",
"ship_mortar",
"ship_rocketship",
"ship_submarine",
"ship_paddlespeedship",
"ship_ballooncarrier",
"ship_tender"
)
var xUnit=new Array(
"phalanx",
"steamgiant",
"spearman",
"swordsman",
"slinger",
"archer",
"marksman",
"ram",
"catapult",
"mortar",
"gyrocopter",
"bombardier",
"cook",
"medic",
"spartan",
"ship_flamethrower",
"ship_steamboat",
"ship_ram",
"ship_catapult",
"ship_ballista",
"ship_mortar",
"ship_rocketship",
"ship_submarine",
"ship_paddlespeedship",
"ship_ballooncarrier",
"ship_tender"
)
var townHallSpaces = [0, 60, 96, 142, 200, 262, 332, 410, 492, 580, 672, 768, 870, 976, 1086, 1200, 1320, 1440, 1566, 1696, 1828, 1964, 2102, 2246, 2390, 2540,
2690, 2845, 3003, 3163, 3326,3492, 3660, 3830, 4004, 4180, 4360, 4540, 4724, 4910, 5098, 5290, 5482, 5678, 5876, 6076, 6278, 6484, 6710];
var MaxInhabitants =[townHallSpaces];
//Maximum ships
var Max_ship=10;
var cityNombre = new Array();
var cityRec = new Array();
var islaId = new Array();
var busy=0;
var actionRequest = 0;
var currentCity;
var missCity=new Array () // citys not visited
var JSONcitys = new Array; // all citys (mine)
var othersCitys= new Array () // others city
var cityId = new Array(); //cityId's
var cityIdX = new Array(); //cityId's others army
var cityIdY = new Array(); //cityId's others transport
var cityName = new Array();//citynames (mine)
var cityNameX = new Array();//citynames others army
var cityNameY = new Array();//citynames others transport
var ocCityName=new Array() //citynames occupied
var ocCityId=new Array()
var ocCityCoords=new Array()
var cityRecId = new Array();//cityresourcenumber
var cityRecStr = new Array();//cityresourcestring
var cityCoords = new Array();//citycoords
var islandId = new Array();//islandID of city
var cityaction = new Array();//actionpoints of city
var citypopulation = new Array();//free workforce
var citycitizens = new Array();//total population
var citywood = new Array();//wood in city
var citywine = new Array();//wine in city
var citymarble = new Array();//marble in city
var cityglass = new Array();//glass in city
var citysulfur = new Array();//sulfur in city
var cityReduxUse = new Array(); // wineuse after reduction
var ind_cityId = 0;
var citybuildings;
var servertime;
var CompTime;
var completed;
var ErrorString= '';
var JSONcitydata ='';
var ResSeafaring='';
var ResEco='';
var ResScience='';
var ResArmy='';
var ResSeafaringlevel=0;
var ResEcolevel=0;
var ResSciencelevel=0;
var ResArmylevel=0;
StyleBuilding = 'style="color:blue;font-weight:bold;text-align:center;background:'
StyleFinished = 'style="color:green;font-weight:bold;text-align:center;background:'
var baseURL = window.location.href.substring(0,window.location.href.indexOf(".php")+4);
//var server=location.href;
var server=window.location.href.substring(7,window.location.href.indexOf('.'))
view = window.location.href.substring(window.location.href.indexOf(".php")+10,window.location.href.indexOf("&"));
ctry=window.location.href.substring(window.location.href.indexOf('.')+1,window.location.href.indexOf('.ik'))
if (server.indexOf("-")>0) {
ctry=server.substr(server.indexOf("-")+1)
}
viewchk=window.location.href.indexOf("cityRight")
viewchk1=window.location.href.indexOf("view=city&cityRight=")
var numBuilding=28
var numPlace=18
/*
if (ctry=='it') {
numBuilding=27
numPlace=17
}
*/
var resourcetrad = new Array();
resourcetrad[0] = 'wood';
resourcetrad[1] = 'wine';
resourcetrad[2] = 'marble';
resourcetrad[3] = 'crystal';
resourcetrad[4] = 'sulfur';
//////////// bordi colonne e righe
var mark0='<td style="background:gold" width=1></td><td style="background:black" width=1></td>'
var mark= '<td style="background:maroon" width=2></td><td style="background:gold" width=1></td><td style="background:peru" width=0></td>'
var cola='<td style="background:maroon"height=2></td>'
var colb='<td style="background:gold"height=1></td>'
var colc='<td style="background:peru"height=0></td>'
col1=new Array ()
col2=new Array ()
col3=new Array ()
colrep= new Array ()
colrep[0]=56
colrep[1]=43
colrep[2]=41
for (k=0;k<3;k++) {
col1[k]=''
col2[k]=''
col3[k]=''
for(i=0;i<colrep[k];i++) {
col1[k]+=cola
col2[k]+=colb
col3[k]+=colc
}
}
var mark1='<tr>'+col1[0]+'</tr>'+'<tr>'+col2[0]+'</tr>'+'<tr>'+col3[0]+'</tr>'
var mark2='<tr>'+col1[1]+'</tr>'+'<tr>'+col2[1]+'</tr>'+'<tr>'+col3[1]+'</tr>'
var mark3='<tr>'+col1[2]+'</tr>'+'<tr>'+col2[2]+'</tr>'+'<tr>'+col3[2]+'</tr>'
///////////////////// getcitysdata call
getcitysdata();
////////////////////////////////////////
var ocupado = 0;
var name;
var citydata = new Array();
for(i=0;i<12;i++){
citydata[i] = new Array(numPlace)
}
for ( i = 0 ; i<12 ; i++){
for(j=0 ; j<numPlace ; j++){
citydata[i][j]="0";
}
}
///////////////////// getcitydata call ////////////
getcitydata() // fill currentcitydata
//////////////////////////////////////////////////////
for(i=0;i<cityName.length;i++){
var test = GM_getValue(document.location.host+"citybuildings"+cityName[i]);
if(test) {
JSONcitys[i]=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[i]));
missCity [i]=' '
}else{
missCity [i]=cityName[i]
//GM_log(i+' '+cityName[i] +'Error! citydata not found , visit city to get data');
}
}
for (i=0;i<numBuilding;i++){
LocalBuilding[i] ='.';
}
elMiss=''
for (i=0; i <cityName.length;i++) {
if (!JSONcitys[i] || JSONcitys[i] && JSONcitys[i].name!=cityName[i]) {
JSONcitys[i]=''
GM_deleteValue(document.location.host+"citybuildings"+cityName[i])
ErrorString= trad(ctry,'YOU HAVE NOT VISITED ALL CITIES YET')+'!!!'
elMiss+='\n'+trad(ctry,'city')+' "'+missCity[i]+'" '+trad(ctry,'not visited yet')+'!'
}else{
for(j=0;j<numPlace;j++){ //for all position in city
for(k=0;k<numBuilding;k++){ // for all possible buildings
if(JSONcitys[i].position[j].building){
if(building[k] == JSONcitys[i].position[j].building.replace(' constructionSite','')){ // if building exists...
LocalBuilding[k] = JSONcitys[i].position[j].name; // put the local-name in the array
}else{
}
}
}
}
}
}
if (ErrorString>' ') {
warn=ErrorString+elMiss
alert(warn)
}
//actionrequest = a0((document.getElementById("js_ChangeCityActionRequest").value));
//var data=baseURL+'?view=researchAdvisor&oldView=city&cityId=155877&backgroundView=city¤tCityId=155877&actionRequest='+actionrequest+'&backgroundView=city¤tCityId=155877&actionRequest='+actionrequest+'&ajax=1';
function testdata(text){
GetScienceData(text);
}
//ErrorString = ResSeafaring+" "+ResEco+" "+ResScience+" "+ResArmy;
var body = document;
var text = document.body.innerHTML;
var p,h,n1,n2,n3;
/// ZONA TEST
// 1. aggiunta codice in coda alla sezione head
// 2. dichiarazione di una classe di stili "firma" (vedi http://www.web-link.it/css/4classi.htm)
// 3. il richiamo della classe firma può essere fatta ad es. come <td class="firma">.....</td> o per altri tag (tr, p, ecc.)
p=document.head
stile=''
stileh='<style type="text/css">'
stilef='<\style>'
stile1='a.tt1{position:relative;z-index:24;color:#000;'+ //->* Colore del testo che ha il tooltip
'font-weight:bold;text-decoration:xnone;}'
stile2='a.tt1 span{ display: none; }'
stile3='a.tt1:hover{ z-index:25; cursor:xhelp;}a.tt1:hover span.tooltip{display:block;position:absolute;top:0px; left:0;padding: 15px 0 0 0;width:200px;'+
'color: darkred;'+ //->* Colore del testo della descrizione
'text-align: left;filter: alpha(opacity:90);KHTMLOpacity: 0.90;MozOpacity: 0.90;opacity: 0.90;}'
stile4='a.tt1:hover span.top{display: block;padding: 30px 8px 0;'+
'background:url(https:lh6.googleusercontent.com/_nT13UtBmmiU/TY38DxCB58I/AAAAAAAASlM/hysOphmwRQA/bubble.gif) no-repeat top;}'
//// parte di testo
stile5='a.tt1:hover span.middle{display: block;padding: 0 8px;font-weight:bold;font-style:italic;font-family:verdana,Arial, sans-serif;;'+
'background: url(https:lh3.googleusercontent.com/_nT13UtBmmiU/TY38PxK6qKI/AAAAAAAASlQ/SalZGy8YvoY/bubble_filler.gif) repeat bottom;text-decoration:none;}'
stile6='a.tt1:hover span.bottom{display: block;padding:3px 8px 10px;'+
'background: url(https:lh6.googleusercontent.com/_nT13UtBmmiU/TY38DxCB58I/AAAAAAAASlM/hysOphmwRQA/bubble.gif) no-repeat bottom;}'
stile=stileh+stile1+stile2+stile3+stile4+stile5+stile6+stilef
p.innerHTML=p.innerHTML+stile
// Tooltip 1 con CSS
//-----------------------------------------------
//La sintassi per inserire il tooltip è la seguente
//<a href="#" class="ttX">testo che ha il tooltip
//<span class="tooltip">
//<span class="top"></span>
//<span class="middle">Descrizione che sarà visualizzata dentro la finestra del tooltip</span>
//<span class="bottom"></span>
//</span></a>
//stili con le classi (inserire i tag style nella sez. head
//stile='<style type="text/css">'+
// '.firma {font-family: Verdana, Arial, sans-serif;color: #ff0000;font-size: 9pt;text-align: center;font-style: italic;background:red;}'+
// '</style>'
//p.innerHTML='<div id=questa una storia frapao></div>'
//h=document.createElement('div')
//h.id = "Div di frapao"
//p.appendChild(h)
///FINE ZONA TEST
if (!giu) {giu=780}
giu+=53
p = document.body;
h = document.createElement('div');
h.id = "ResourceDealer";
h.setAttribute('style','z-index:80;position:relative;top:'+giu+'px;margin:0px auto 0px;width:1074px;');
p.appendChild(h);
p = document.getElementById("ResourceDealer");
h = document.createElement('div');
h.id = "menu_dealer";
h.setAttribute('style','padding:7px 0px 7px 0px; position:relative;width:100%;auto 0px;clear:both;float:left;border-color:#C9A584 #5D4C2F #5D4C2F #C9A584;border-style:double;border-width:3px;'+
'background-image: url(skin/input/button.png) ;text-decoration:none;color:#612d04;font:bold 12px Arial, Helvetica, sans-serif;text-align:left;');
h.innerHTML = '<table align="left" width="100%"><tr>'+
'<td id="cel_menu_0" align="center" width="5%">'+
'<td id="cel_menu_1" align="center" width="70%">'+version+
'<td id="cel_menu_2" align="center" width="5%"></td>'+
'<td id="cel_menu_3" align="center" width="5%"></td>'+
'<td id="cel_menu_4" align="center" width="5%"></td>'+
'<td id="cel_menu_5" align="center" width="5%"></td>'+
'<td align="right"></td>'+
//'<td "Ships" id="ships" align="center" width="10%"></td>'+
'<td id="cel_menu_8" align="right" width="5%"></td>'+
'</tr></table>';
p.appendChild(h);
p = document.getElementById("ResourceDealer");
h = document.createElement('div');
h.className = 'table1';
h.id = "resourcedealer5";
h.setAttribute('style','position:relative;clear:both;width:100%;float:left;border-color:#C9A584 #5D4C2F #5D4C2F #C9A584;border-style:double;border-width:3px;'+
'text-decoration:none;color:#612d04;font:bold 12px Arial, Helvetica, sans-serif;');
p.appendChild(h);
p = document.getElementById("ResourceDealer");
h = document.createElement('div');
h.className = 'table2';
h.id = "resourcedealer5-2";
h.setAttribute('style',';position:relative;clear:both;width:100%;float:left;border-color:#C9A584 #5D4C2F #5D4C2F #C9A584;border-style:double;border-width:3px;background-image: url(skin/input/button.png) ;'+
'text-decoration:none;color:#612d04;font:12px Arial, Helvetica, sans-serif;');
p.appendChild(h);
p = document.getElementById("ResourceDealer");
h = document.createElement('div');
h.className = 'table3';
h.id = "ArmyTable";
h.setAttribute('style',';position:relative;clear:both;width:100%;float:left;border-color:#C9A584 #5D4C2F #5D4C2F #C9A584;border-style:double;border-width:3px;'+
'background-image: url(skin/input/button.png) ;text-decoration:none;color:#612d04;font:bold 12px Arial, Helvetica, sans-serif;');
p.appendChild(h);
p = document.getElementById("ResourceDealer");
h = document.createElement('div');
h.id = "ResourceDealerFooter";
h.setAttribute('style','padding:7px 0px 7px 0px; position:relative;clear:both;float:left;border-color:#C9A584 #5D4C2F #5D4C2F #C9A584;border-style:double;border-width:3px;background-image: url(skin/input/button.png) ;'+
'text-decoration:none;width:100%;color:#612d04;font:bold 12px Arial, Helvetica, sans-serif;text-align:left;');
h.innerHTML = '<table align="left" width="100%"><tr>'+
'<td id="celtest" align="left" width="10%"></td>'+
'<td id="cel_menu_9" align="center">'+
'<td width="80%"> </td>'+
'<td id="cel_menu_a" align="center"></tr></table>'
p.appendChild(h);
//ErrorString=''
p = document.getElementById("ResourceDealerFooter");
h = document.createElement('div');
h.id = "ResourceAlert";
h.setAttribute('style','padding:6px 0px 6px 0px; position:relative;clear:both;float:left;border-color:#C9A584 #5D4C2F #5D4C2F #C9A584;border-style:double;'+
'text-decoration:none;width:100%;color:red;font:bold 14px Arial, Helvetica, sans-serif;text-align:center;');
h.innerHTML =ErrorString
p.appendChild(h);
p = document.body;
h = document.createElement('div');
h.id = "background";
h.setAttribute('style','z-index:-1000;position:relative;overflow:visible;left:0px;top:-110px;height:1200px;width:1200;background-size:1920,1200;background-position:center;'+
//h.setAttribute('style','z-index:-1;position:relative;overflow:visible;left:-8px;top:-110px;height:1200px;width:1920;background-size:1920,1200;background-position:center;'+
'background-image: url(http://gf2.geo.gfsrv.net/cdn7d/6f875d52eb0d7fad05feca40164375.jpg) ;');
// 'background-image: url(http://gf2.geo.gfsrv.net/cdnaf/061a8c84d2d5c470a7d049f9d90cb8.jpg) ;');
h.innerHTML = ''
//h.innerHTML = 'testing'
p.appendChild(h);
p = document.body;
h = document.createElement('div');
h.id = "background2";
h.setAttribute('style','z-index:-2000;overflow:visible;position:relative;top:-110px;height:600px;;width:1920;background-size:1920,700;background-position:center;'+
//h.setAttribute('style','z-index:-2;overflow:visible;position:relative;top:-110px;height:600px;;width:1920;background-size:1920,700;background-position:center;'+
'background-image: url(http://gf2.geo.gfsrv.net/cdn7d/6f875d52eb0d7fad05feca40164375.jpg) ;');
h.innerHTML = ''
p.appendChild(h);
//Aggiunto
p = document.body;
h = document.createElement('div');
h.id = "background3";
h.setAttribute('style','z-index:-6000;overflow:visible;position:relative;top:-110px;height:150px;;width:1920;background-size:1920,200;background-position:center;'+
'background-image: url(http://gf2.geo.gfsrv.net/cdn7d/6f875d52eb0d7fad05feca40164375.jpg) ;');
h.innerHTML = ''
p.appendChild(h)
//Navi mercantili
freenavy=document.getElementById("js_GlobalMenu_freeTransporters").innerHTML
totnavy=document.getElementById("js_GlobalMenu_maxTransporters").innerHTML
var dispnavy=freenavy+'/'+totnavy
//Oro totale
tgold=document.getElementById("js_GlobalMenu_gold").innerHTML
xSp1=String.fromCharCode('8192')
xSp=xSp1
for (i=0;i<5;i++) {
xSp+=xSp
}
///////////////////// cargar_dealers() call ////////////
cargar_dealers();
/////////////////////////////////////////////////////////
if (focusTable==1 && (view=='city' || view=='finances' || (view=='townHall' || view=='cityMilitary') && viewchk>0
|| view=='merchantNavy' || view=='militaryAdvisor')) {
window.scrollBy(0,giu)
}
function cargar_dealers(){
var d=new Date();
CompTime = d.getTime();
CompTime= CompTime/1000;
cless='<img height="14" src="skin/resources/icon_time.png"> '
scientist='<img height="20" src="/skin/resources/icon_scientist.png"> '
research='<img height="17" src="/skin/resources/icon_research.png"> '
magnify='<img height="17" src="/skin/img/magnifySmall.png">'
rfmagn='<a title="'+trad(ctry,'Overview towns/finances')+'" href="?view=tradeAdvisor&oldView=city&cityId='+currentId+'"</a>'
//---------------------------------------------------------
//-------------------- TAVOLA LIVELLI EDIFICI
//---------------------------------------------------------
focusCity()
if (focusTable==1 && (xview=='resource' || xview=='tradegood' || view=='city' && viewchk1>0 )) {
window.scrollBy(0,-giu)
xview=''
}
for(k=0;k<numBuilding;k++){ // for all possible buildings
IconBuilding[k]='';
if (LocalBuilding[k]>'.') {
IconBuilding[k]='<img height="30" hspace="0" src="skin/buildings/y100/' + building[k] + '.png" title="' + LocalBuilding[k]+ '">';
}
}
////
//// Accademia (build 5) - Tip su icona
/////
if (LocalBuilding[5]=='.') {
LocalBuilding[5]=building[5]
}
tipAcc=getVar ("research")
if (!tipAcc) {
tipAcc='click !!'
}else {
ix1=tipAcc.indexOf(';',0)
ix2=tipAcc.indexOf(': ',ix1)
ix3=tipAcc.indexOf(';',ix2)
ix4=tipAcc.indexOf(': ',ix3)
pointRes=tipAcc.substring(ix2+2,ix3)
// per i siti tedeschi il "decimal point is comma"
comma=unsafeWindow.LocalizationStrings.thousandSeperator
pdec=unsafeWindow.LocalizationStrings.decimalPoint
pointHour=tipAcc.substring(ix4+2).replace(comma,'').replace(pdec,'.')
timeRes=StrToNum(getVar("timeRes"))/1000
pointResDin=formatNum(parseInt(StrToNum(pointRes)+pointHour*(CompTime-timeRes)/3600))
tipAcc=tipAcc.replace(pointRes,pointResDin)
pointDay=formatNum(Math.round(pointHour*24))+'/'+trad(ctry,'day')+'; '
pointWeek=formatNum(Math.round(pointHour*24*7))+'/'+trad(ctry,'week')+')'
tipAcc1='\n--------->>>>\n('+pointDay+pointWeek
if (balloon==1) {
ix=tipAcc.indexOf('-',0)
iy=tipAcc.indexOf(':',0)
sub=tipAcc.substring(ix+1,iy)
tipAcc=tipAcc.replace(sub,scientist)
ix=tipAcc.indexOf(';',0)
iy=tipAcc.indexOf(':',ix)
sub=tipAcc.substring(ix+2,iy)
tipAcc=tipAcc.replace(sub,research)
}
tipAcc+=tipAcc1
}
xtitle='title="'+ LocalBuilding[5]+' -\n'+tipAcc+'" '
fumetto=''
if (balloon==1 && xtitle.length>20) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span>'+
'<span class="middle">'+LocalBuilding[5]+' -\n'+tipAcc+'</span><span class="bottom"></span>'
}
IconBuilding[5]='<a href="?view=researchAdvisor&backgroundView=city&cityId='+currentId+'" '+
xtitle+'class="tt1"><img height="30" hspace="0" src="skin/buildings/y100/' + building[5] + '.png" >'+fumetto+'</a>';
/////
////Accademia ex
////
//"view=city&cityRight=" è parola chiave
atitle='title="'+trad(ctry,'Show Town')+'" '
aonclick='onclick="' + "window.open('http://"+document.location.host+"/index.php?view=city&cityRight=&cityId=" + cityId[currentI]+ "','_self')"+'"'
ahref=' href="javascript:void(0)" </a>'
link3='<a '+atitle+aonclick+ahref
tabla=''
document.getElementById("resourcedealer5").innerHTML = '';
tabla += '<table border="3" bordercolor="#c69262" width="100%">';
LineStyle = 'style="font-weight:bold;background-image: url(skin/input/button.png) "';
tabla += '<tr style="max-height:15px;font-weight:bold;background-image:url(skin/input/button.png)"><td width=2% align="center">'+
link3+'<img height=18 width=21 src="/skin/img/informations/flag_red.png" class="vertical_middle" /></td>'+mark0+
'<td align="center">'+rfmagn+magnify+'<b>'+trad(ctry,'Towns')+'</td>'+mark
var backgNCurrent = new Array ('#BFC287','#CDD4A6')
var backgNNotCurrent = new Array ('#EFC287','#FDD4A6')
for (i = 0 ; i < numBuilding ; i++){
tabla += '<td align="center" style="max-height:15px;min-width:1px;max-width:30px;overflow:xhidden;font-weight:bold;background-image:url(skin/input/button.png)">'+
IconBuilding[i]+'</td>'
if (i==2 || i==4 || i==8 || i==12 || i==16 || i==18 || i==20 || i==22 || i==24 || i==26 || i==27) {tabla+=mark0}
}
tabla += '</tr>'
tabla+=mark1
if (currentI<cityName.length) {
islandID=parseInt(JSONcitys[currentI].islandId)
link5='<a onclick="ajaxHandlerCall(this.href);return false;" href="?view=tradegood&backgroundView=island&islandId='+ islandID+'" </a>'
}
xIcon=new Array ()
for (var i = 0; i < cityName.length; i++) {
if (cityName[i]==missCity[i]) {
continue
}
xsize='font-size:9pt"'
if (i==currentI) {
xsize='font-size:10pt"'
}
var rem = i%2;
backgN=backgNNotCurrent[rem]
if ( rem >0 ) {
LineStyle = 'style= "text-align:left;background: #FDD4A6;font-weight:normal"'
}else {
LineStyle = 'style="text-align:left;background: #EFC287;font-weight:normal"'
}
if(JSONcitydata){ //worldview
if(JSONcitydata.name==cityName[i]){
backgN=backgNCurrent[rem]
if ( rem >0 ){ // split odd/even lines
LineStyle = 'style="text-align:left;background: #CDD4A6;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;background: #CDD4A6;font-weight:bold;'+xsize
}
else {
LineStyle = 'style="text-align:left;background: #BFC287;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;background: #BFC287;font-weight:bold;'+xsize
}
}
}
xlink=''
height1=14
if (i==currentI) {
xlink=link5
height1=18
}
islCoord=JSONcitys[i].islandName+' ['+JSONcitys[i].islandXCoord+':'+JSONcitys[i].islandYCoord+']'
xIcon[i]='<tr height="20"><td align="center" style="background: #eee0c0">'+xlink+'<b>'+
'<img title="'+islCoord+'" height="'+height1+'" src="skin/resources/icon_'+cityRecStr[i]+'.png"/></td>';
tabla+=xIcon[i]+mark0
//<a href="#" class="ttX">testo che ha il tooltip
//<span class="tooltip">
//<span class="top"></span>
//<span class="middle">Descrizione che sarà visualizzata all'interno della finestra del tooltip</span>
//<span class="bottom"></span>
//</span></a>
titleOcc=''
if (JSONcitys[i].occupierName) {
LineStyle= 'style="text-align:left;background: coral;font-weight:bold"'
titleOcc='title="'+trad(ctry,'City occupied by')+' --> ' +JSONcitys[i].occupierName+'" '
}
tabla += '<td nowrap '+titleOcc+LineStyle+'><a '+'href="/index.php?view=city&cityId='+cityId[i]+
'" class="tt1" '+LineStyle+'>' +String.fromCharCode('8192')+cityName[i]+'</a></td>'+mark
portOcc=0
for (build=0; build<numBuilding ; build++){
if ( rem >0 ) {
LineStyle = 'style="text-align:center;font-weight:normal;background: #FDD4A6"'
}else {
LineStyle = 'style="text-align:center;font-weight:normal;background: #EFC287"'
}
if(JSONcitydata){ //worldview
if(JSONcitydata.name==cityName[i]){
if ( rem >0 ){
LineStyle = 'style="text-align:center;background: #CDD4A6;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;background: #CDD4A6;font-weight:bold;'+xsize
}
else {
LineStyle = 'style="text-align:center;background: #BFC287;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;background: #BFC287;font-weight:bold;'+xsize
}
}
}
var pos=Findbuilding(i,building[build]); //find building position
if (pos == -1){//--------------------------------------
tabla += '<td '+ LineStyle +">"+"-"+'</td>';
}
else{
tabla += '<td '+LineStyle+'>';
tabdif= '<td '+LineStyle+'>'
var Level = parseInt(JSONcitys[i].position[pos].level);
lvActive=0
//******** edifici multipli **********************
if (build==9) { //edifici multipli : magazzini
var indMin=3;
var indMax=numPlace;
}
if (build==11) { //edifici multipli : porti
var indMin=1;
var indMax=3;
}
if (build==9 || build==11) { //// magazzini o porti
var Wlevel=0;
var WCount = 0;
for(Wpos=indMin;Wpos<indMax;Wpos++){
LineStylex=LineStyle;
var edificio=JSONcitys[i].position[Wpos].building;
edificio=edificio.replace(' constructionSite','');
if (build==9) {
tip1=trad(ctry,'Safe goods')+'='+JSONcitys[i].xsafe
}else {
tip1=String.fromCharCode('425')+' '+JSONcitys[i].chtime
if (JSONcitys[i].portControllerName) {
tip1+=',\n'+trad(ctry,'Port occupied by')+' --> '+JSONcitys[i].portControllerName
portOcc++
LineStylex= 'style="text-align:center;font-weight:bold;background: orange;'+xsize
}
}
if(edificio==building[build]){
WCount = WCount +1;
if(WCount > 1){
tabla += ' - ';
}
XXX=''
Level = parseInt(JSONcitys[i].position[Wpos].level);
if(JSONcitys[i].position[Wpos].completed){//--------------
LineStylex = StyleBuilding+backgN+';'+xsize
Level=Level+'=>'+(parseInt(Level)+1)
XXX=tempoNorm(parseInt(JSONcitys[i].position[Wpos].completed-CompTime))
YYY=Fecha(parseInt(JSONcitys[i].position[Wpos].completed*1000))
XXX=XXX+'\n('+YYY+')'
if (balloon==1) {
XXX=cless+XXX
}
if (portOcc>0) {
XXX+='\n'+trad(ctry,'Port occupied by')+' --> '+JSONcitys[i].portControllerName
}
if(JSONcitys[i].position[Wpos].completed < CompTime){
LineStylex = StyleFinished+backgN+';'+xsize
Level = parseInt(Level)+1
}
}
if (build==11 && portOcc==1) {
tabla=tabla.substring(0,tabla.length-tabdif.length)
tabla+= '<td style="text-align:center;background: coral;font-weight:bold;'+xsize+'>'
}
/////************** tip
tipGen=tip1
if (XXX>'') {
tipGen+=' \n --------------->>>\n'+XXX
}
tipLv=tipLevel(i,Wpos)
if (tipLv>'') {
tipGen+=' \n --------------->>>\n'+tipLv
}
if (balloon==1) {
xtitle=''
tipGen=tipGen.replace(/.....\|/g,' /'+xSp1)
fumetto='<span class="tooltip"><span class="top"></span>'+
'<span class="middle">'+tipGen+'</span><span class="bottom"></span>'
}
else {
xtitle='title="'+tipGen+'" '
fumetto=''
}
/////************ tip ex
tabla += '<a '+LineStylex+xtitle+'href="/index.php?view='+edificio+
'&cityId='+cityId[i]+'&position='+Wpos+'&oldView=city&backgroundView=city" class="tt1">'+Level+fumetto+'</a>';
}
}
}else { ////************ build != 9 && build != 11 (edifici diversi da magazzini e porti)
tip1=''
if (build==3 && JSONcitys[i].tavern) { ////*** Taverna
tip1=JSONcitys[i].tavern
}
if (build==4 && JSONcitys[i].museum) { ///**** Museo
tip1=JSONcitys[i].museum
}
if (build==5 && JSONcitys[i].scientists) { ///*** Accademia
tip1=JSONcitys[i].scientists
if (balloon==1) {
tip1=tip1.substring(tip1.indexOf(':'))
tip1=scientist+tip1
tip1=tip1.replace('Research',research)
}
}
if (build==14 && JSONcitys[i].movespy) { ///**** Nascondiglio
tip1=JSONcitys[i].movespy
appo=tip1+''
start=0
for (len=0;len<JSONcitys[i].movespy.length;len++) {
ixT=appo.indexOf(': ',start)
iyT=appo.indexOf(';',ixT)
subT=appo.substring(ixT+2,iyT)
resTime=JSONcitys[i].arrspy[len]-CompTime
subTnew=tempoNorm(resTime)
appo=appo.replace(subT,subTnew)
start=iyT
if (parseInt(resTime)>0) {
lvActive=1
}else {
lvActive=2
}
}
if (balloon==1) {
appo=appo.replace(/: /g,': '+cless)
}
tip1=appo.replace(/;/g,'').replace(/,/g,'')
}
if (build==6 && JSONcitys[i].Office) { ///*** Officina
tip1=JSONcitys[i].Office
/// dynamic time
appo=tip1
ixT=appo.indexOf('==>',1)
iyT=appo.indexOf(' (',ixT)
subT=appo.substring(ixT+3,iyT)
resTime=JSONcitys[i].OfficeT-CompTime
subTnew=tempoNorm(resTime)
appo=appo.replace(subT,subTnew)
ixP=appo.indexOf('(',0)
iyP=appo.indexOf('%',ixP)
perc=appo.substring(ixP,iyP)
progTime=JSONcitys[i].OfficeX*3600-resTime
percNew=parseInt(progTime/JSONcitys[i].OfficeX/3600*100)
if (percNew>100) {
percNew=100
}
percNew='('+percNew
appo=appo.replace(perc,percNew)
if (parseInt(resTime)>0) {
lvActive=1
}else {
lvActive=2
}
if (balloon==1) {
appo=appo.replace(/==>/g,'==>'+cless+' : ')
}
tip1=appo
}
if (build==27 && JSONcitys[i].Piracy) { ///*** Fortezza Pirata
tip1=JSONcitys[i].Piracy
/// dynamic time
appo=tip1
ixT=appo.indexOf('==>',1)
iyT=appo.indexOf(';',ixT)
subT=appo.substring(ixT+3,iyT)
resTime=JSONcitys[i].PiracyT-CompTime
subTnew=tempoNorm(resTime)
appo=appo.replace(subT,subTnew)
//progTime=JSONcitys[i].Piracy*3600-resTime
if (balloon==1) {
appo=appo.replace(/==>/g,'==>'+cless+' : ')
}
tip1=appo
}
if (build==15 && JSONcitys[i].upArmy || build==16 && JSONcitys[i].SupArmy) { ///*** Caserma e Cantiere Navale
upArmy=new Array()
upArmyT=new Array()
if (build==15 && JSONcitys[i].upArmy) {
upArmy=JSONcitys[i].upArmy
upArmyT=JSONcitys[i].upArmyT
upArmyX=JSONcitys[i].upArmyX
}else {
upArmy=JSONcitys[i].SupArmy
upArmyT=JSONcitys[i].SupArmyT
upArmyX=JSONcitys[i].SupArmyX
}
tip1=upArmy
/// dynamic time
appo=tip1
start=0
for (len=0;len<upArmyT.length;len++) {
ixT=appo.indexOf('==>',start)
iyT=appo.indexOf(';',ixT)
subT=appo.substring(ixT+3,iyT)
resTime=upArmyT[len]-CompTime
subTnew=tempoNorm(resTime)
appo=appo.replace(subT,subTnew).replace('==>','==>\n')
start=iyT
if (parseInt(resTime)>0) {
lvActive=1
}else {
lvActive=2
}
}
if (balloon==1) {
appo=appo.replace(/==>/g,'==>'+cless)
}
ixP=appo.indexOf('(',0)
iyP=appo.indexOf('%',ixP)
perc=appo.substring(ixP,iyP)
resTime=upArmyT[0]-CompTime
progTime=upArmyX-resTime
percNew=parseInt(progTime/upArmyX*100)
if (percNew>100) {
percNew=100
}
percNew='('+percNew
appo=appo.replace(perc,percNew)
tip1=appo
}
edificio=JSONcitys[i].position[pos].building;
edificio=edificio.replace(' constructionSite','');
if(JSONcitys[i].position[pos].completed){//--------------
LineStyle = 'style="color:blue;font-weight:bold;text-align:center;'+xsize
Level=Level+'=>'+(parseInt(Level)+1)
XXX=tempoNorm(parseInt(JSONcitys[i].position[pos].completed-CompTime))
YYY=Fecha(parseInt(JSONcitys[i].position[pos].completed*1000))
XXX=XXX+'\n('+YYY+')'
if (balloon==1) {
XXX=cless+XXX
}
if(JSONcitys[i].position[pos].completed < CompTime){
LineStyle = 'style="color:green;font-weight:bold;text-align:center;'+xsize
Level = parseInt(Level)+1;
}
}
if (JSONcitys[i].position[pos].completed) {
tipGen=XXX
if (tip1>'') {
tipGen=tip1+' \n ---------------->>>\n'+XXX
}
} else {
tipGen=tip1
}
tipLv=tipLevel(i,pos)
if (tipLv>'') {
if (tipGen>'') {
tipGen+=' \n ---------------->>>\n'+tipLv
}else {
tipGen=tipLv
}
}
if (tipGen=='') {
tipGen=Level
}
xtitle='title="'+tipGen+'" '
fumetto=''
if (balloon==1 && tipGen.length>15) {
xtitle=''
tipGen=tipGen.replace(/.....\|/g,' /'+xSp1)
//tipGen=tipGen.replace(/: /g,xSp1+':'+xSp1+xSp1)
fumetto='<span class="tooltip"><span class="top"></span>'+
'<span class="middle">'+tipGen+'</span><span class="bottom"></span>'
}
if (lvActive>0) {
if (lvActive==1) {
LineStyle = 'style="background:white;color:red;font-size=11pt;font-weight:bold;text-align:center;"'
}else {
LineStyle = 'style="background:maroon;color:yellow;font-size=12pt;font-weight:bold;text-align:center;"'
}
}
tabla += '<a '+LineStyle+xtitle+'href="/index.php?view='+edificio+
'&cityId='+cityId[i]+'&position='+pos+'&oldView=city&backgroundView=city" class="tt1">'+Level+fumetto+'</a>';
}
} // chiude if (pos == -1)...else -------------------------
if (build==2 || build==4 || build==8 || build==12 || build==16 || build==18 || build==20 || build==22
|| build==24 || build==26 || build==27) {tabla+=mark0}
} // chiude il for (build=0; build<numBuilding ---------------------------------
} // chiude il for (var i = 0; i < cityName.length -------------------------;
tabla += mark1+'</table>';
document.getElementById("resourcedealer5").innerHTML = tabla;
//-------------------- FINE TAVOLA LIVELLI EDIFICI
//---------------------------------------------------------
//-------------------- TAVOLA RISORSE
//---------------------------------------------------------
tabla ='';
document.getElementById("resourcedealer5-2").innerHTML = '';
var column=1 // if >0 activated
tablx='<td align="center" title="'+trad(ctry,'Merchant ships overview and control'+
'\n____________________________________'+
'\nyellow=loading goods/troops'+
'\nred=loading finished'+
'\nblue=goods/troops in transit'+
'\ngreen=goods/troops arrived') +'" style="align=right">'+
'<a href="/index.php?view=merchantNavy&backgroundView=city">'+
'<img height="22" src="/skin/characters/fleet/40x40/ship_transport_r_40x40.png">'+
'</a></td>'+mark
tabla += '<table style="align:center;font-style:bold" border="3" bordercolor="#c69252" width="100%">';
link1=''
link2=''
link3=''
link4=''
islandID=''
if (currentI<cityName.length) {
islandID=parseInt(JSONcitys[currentI].islandId)
}
link1='<a href="?view=townHall&position=0&oldView=city&backgroundView=city&cityId='+currentId+'"</a>'
link2='<a href="?view=finances&oldView=city&backgroundView=city"</a>'
link3='<a title="'+trad(ctry,'Show Island')+'" href="?view=island&islandId=' +islandID+ '"</a>'
///**************** Assegna risorse
link4='<a onclick="ajaxHandlerCall(this.href);return false;" href="?view=resource&type=resource&backgroundView=island&islandId='+ islandID+'" </a>'
link51=link52=link53=link54=''
height1=21
height2=16
height11=height12=height13=height14=18
height21=height22=height23=height24=12
txt4=txt5=txt51=txt52=txt53=txt54=''
if (currentI<cityName.length && JSONcitys[currentI].resourceLevel) {
txt4='<h style="font-size:8pt">('+JSONcitys[currentI].resourceLevel+')</h>'
txt5='<h style="font-size:8pt">('+JSONcitys[currentI].tradegoodLevel+')</h>'
}
if (currentI<cityName.length) {
if (cityRecId[currentI]==1) {
link51=link5
height11=height1
height21=height2
txt51=txt5
}else {
if (cityRecId[currentI]==2) {
link52=link5
height12=height1
height22=height2
txt52=txt5
}else {
if (cityRecId[currentI]==3) {
link53=link5
height13=height1
height23=height2
txt53=txt5
}else {
link54=link5
height14=height1
height24=height2
txt54=txt5
}
}
}
}
//************** Assegna risorse ex
dwood0=unsafeWindow.LocalizationStrings.wood
dwood1='<'+trad(ctry,'visit the forest')+'>'
if (getVar('resource'+JSONcitys[currentI].islandId)) {
dwood1=getVar('resource'+JSONcitys[currentI].islandId)
dwood1=normal(dwood1)
}
dwood='*** '+dwood0+' ***'+'\n'+dwood1
dwine0=unsafeWindow.LocalizationStrings.wine
dwine1=''
if (cityRecId[currentI]==1) {
if (getVar('tradegood'+JSONcitys[currentI].islandId)) {
dwine1=getVar('tradegood'+JSONcitys[currentI].islandId)
dwine1=normal(dwine1)
}else {
dwine1='<'+trad(ctry,'visit the Vines')+'>'
}
}
dwine='*** '+dwine0+' ***'+'\n'+dwine1
dmarble0=unsafeWindow.LocalizationStrings.marble
dmarble1=''
if (cityRecId[currentI]==2) {
if (getVar('tradegood'+JSONcitys[currentI].islandId)) {
dmarble1=getVar('tradegood'+JSONcitys[currentI].islandId)
dmarble1=normal(dmarble1)
}else {
dmarble1='<'+trad(ctry,'visit the Quarry')+'>'
}
}
dmarble='*** '+dmarble0+' ***'+'\n'+dmarble1
dglass0=unsafeWindow.LocalizationStrings.crystal
dglass1=''
if (cityRecId[currentI]==3) {
if (getVar('tradegood'+JSONcitys[currentI].islandId)) {
dglass1=getVar('tradegood'+JSONcitys[currentI].islandId)
dglass1=normal(dglass1)
}else {
dglass1='<'+trad(ctry,'visit the Crystal mine')+'>'
}
}
dglass='*** '+dglass0+' ***'+'\n'+dglass1
dsulfur0=unsafeWindow.LocalizationStrings.sulfur
dsulfur1=''
if (cityRecId[currentI]==4) {
if (getVar('tradegood'+JSONcitys[currentI].islandId)) {
dsulfur1=getVar('tradegood'+JSONcitys[currentI].islandId)
dsulfur1=normal(dsulfur1)
}else {
dsulfur1='<'+trad(ctry,'visit the Sulphur pit')+'>'
}
}
dsulfur='*** '+dsulfur0+' ***'+'\n'+dsulfur1
dgold=unsafeWindow.LocalizationStrings.gold
dcitz=unsafeWindow.LocalizationStrings.citizens
tabla += '<tr font-weight="bold" height="30"><td width=2%>'+
link3+'<img width=24 height=23 src="skin/layout/icon-island.png" class="vertical_middle" /></td>'+mark0+
'<td align="center">'+rfmagn+magnify+'<b>'+trad(ctry,'Towns')+'</td>'+mark+tablx+
'<td title="'+trad(ctry,'citizens')+', '+trad(ctry,'current population')+'\n'+
trad(ctry,'maximum population : growth')+'" align="center" colspan="3" >'+
link1 + '<img title="'+trad(ctry,'citizens')+', '+trad(ctry,'current population')+
'" align="left" hspace=35 height="24" src="skin/characters/40h/citizen_r.png">'+
'<img title="'+trad(ctry,'maximum population : growth')+'" height="20" src="skin/icons/growth_positive.png">'+mark0+'</td><td title="'+dgold+'" align="center"; colspan=3>'+
link2 + '<img title="'+dgold+'" height="20" src="skin/resources/icon_gold.png"><b></td>'+mark+
'<td title="'+dwood+'" align="center">'+link4+'<b>'+'<img height="21" src="skin/resources/icon_wood.png">'+txt4+'</td>'+
'<td title="'+dwood0+' ('+trad(ctry,'produced')+')" align="center">'+link4+'<b>'+'<img height="16" src="skin/resources/icon_wood.png"></td>'+mark0+
'<td title="'+dwine+'" align="center">'+link51+'<b>'+'<img height="'+height11+'" src="skin/resources/icon_wine.png">'+txt51+'</td>'+
'<td title="'+dwine0+' ('+trad(ctry,'consumption')+')" align="center">'+link51+'<b>'+'<img height="'+height21+'" src="skin/resources/icon_wine.png"></td>'+
'<td title="'+dwine0+' ('+trad(ctry,'produced')+')" align="center">'+link51+'<b>'+'<img height="'+height21+'" src="skin/resources/icon_wine.png"></td>'+mark0+
'<td title="'+dmarble+'" align="center">'+link52+'<b>'+'<img height="'+height12+'" src="skin/resources/icon_marble.png">'+txt52+'</td>'+
'<td title="'+dmarble0+' ('+trad(ctry,'produced')+')" align="center">'+link52+'<b>'+'<img height="'+height22+'" src="skin/resources/icon_marble.png"></td>'+mark0+
'<td title="'+dglass+'" align="center">'+link53+'<b>'+'<img height="'+height13+'" src="skin/resources/icon_crystal.png">'+txt53+'</td>'+
'<td title="'+dglass0+' ('+trad(ctry,'produced')+')" align="center">'+link53+'<b>'+'<img height="'+height23+'" src="skin/resources/icon_crystal.png"></td>'+mark0+
'<td title="'+dsulfur+'" align="center">'+link54+'<b>'+'<img height="'+height14+'" src="skin/resources/icon_sulfur.png">'+txt54+'</td>'+
'<td title="'+dsulfur0+' ('+trad(ctry,'produced')+')" align="center">'+link54+'<b>'+'<img height="'+height24+'" src="skin/resources/icon_sulfur.png"></td>'+mark0+
'</tr>'+mark2
////// preleva eventuali altre citta'
scanCityY ('navyout')
for (var i = 0; i < cityName.length+cityNameY.length; i++) {
if (i < cityName.length && cityName[i]==missCity[i]) {
continue
}
if ( i < cityName.length) {
wcityName=cityName[i]
wcity=JSONcitys[i]
wcityId=cityId[i]
}else {
wcityName=cityNameY[i-cityName.length]
wcity=othersCitys[i-cityName.length]
wcityId=othersCitys[i-cityName.length].cityIdX
}
xsize='font-size:9pt"'
if (i==currentI) {
xsize='font-size:10pt"'
}
rem = i%2
if(!wcity){
tabla += '<tr><td '+ LineStyle +'>'+(i+1)+'</td>'+mark0+'<td text-align:left;>'+wcityName+'</td>'+
mark+'<td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td><td>-</td></tr>';
}else {
if ( rem >0 ) {
LineStyle = 'style="text-align:left;color:black;background: #FDD4A6;font-weight:normal"'
LineStyleN = 'style="text-align:center;color:black;background: #FDD4A6;font-weight:normal"'
backgN='#FDD4A6'
}else {
LineStyle = 'style="text-align:left;color:black;background: #EFC287;font-weight:normal"'
LineStyleN = 'style="text-align:center;color:black;background: #EFC287;font-weight:normal"'
backgN='#EFC287'
}
if ( i < cityName.length) {
tabla+=xIcon[i]+mark0
}else {
if (wcity.hostile) {
tabla += '<tr><td align="center" style="background:tomato;font-weight:bold;color:white">X</td>'+mark0+'<td nowrap><a '+LineStyle+
'href="/index.php?view=plunder&destinationCityId='+wcityId+
'&backgroundView=island">'+String.fromCharCode('8192')+wcityName+'</a></td>'+mark
}else {
tabla+= '<tr><td align="center" style="background:green;font-weight:bold;color:white">O</td>'+mark0+'<td nowrap><a '+ LineStyle +
'href="/index.php?view=defendPort&destinationCityId='+wcityId+
'&backgroundView=island">'+String.fromCharCode('8192')+wcityName+'</a></td>'+mark
}
}
if(JSONcitydata.name==cityName[i]){
backgN=backgNCurrent[rem]
if ( rem >0 ){
LineStyle = 'style="text-align:left;color:black;background: #CDD4A6;font-weight:bold;'+xsize
LineStyleN ='style="text-align:center;color:black;background: #CDD4A6;font-weight:bold;'+xsize
}
else {
LineStyle = 'style="text-align:left;color:black;background: #BFC287;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;color:black;background: #BFC287;font-weight:bold;'+xsize
}
}
Linestylewarning = 'style="color: Crimson;text-align:center;background: '+ backgN+';font-weight:bold;'+xsize
Linestylewarning0 = 'style="color: purple;text-align:center;background: '+ backgN+';font-weight:bold;'+xsize
var max0=(StrToNum(wcity.maxstorage));
max=max0*.75;
var Time = parseInt(CompTime); //time now
var citytime=parseInt(wcity.servertime);
var time = parseInt(Time-citytime)/3600; //time dif
var LineN = LineStyleN;
var Line = LineStyle;
titleOcc=''
if (wcity.occupierName) {
LineStyle= 'style="text-align:left;background: coral;font-weight:bold;'+xsize
titleOcc='title="'+trad(ctry,'City occupied by')+' --> ' +wcity.occupierName+'" '
}
if (i<cityName.length) {
tabla += '<td nowrap '+titleOcc+LineStyle +'><a '+ LineStyle +'href="/index.php?view=city&cityId='+wcityId+'">'+
String.fromCharCode('8192')+wcityName+'</a></td>'+mark
}
woodcomp=0
winecomp=0
marblecomp=0
crystalcomp=0
sulfurcomp=0
unitcomp=new Array()
for (kk=0;kk<15;kk++) {
unitcomp[kk]=0
}
if (i<cityName.length && !wcity.source) {
LineStyleZ = 'style="text-align:center;background:url(skin/actions/transport.jpg) no-repeat;background-size:27px 52px;'
filler=String.fromCharCode('8192')+String.fromCharCode('8192')+String.fromCharCode('8192')+String.fromCharCode('8192')
if (i==currentI) {
tabla+='<td title="'+trad(ctry,'no transport to the same city')+'"'+
LineStyleZ +'background-position:50% 100%"'+'>'+filler+'</td>'+mark
}else {
tabla+='<td title="'+trad(ctry,'click for transport goods/army from current city')+'"'+LineStyleZ +'background-position:50% 0%"'+
'><a href="?view=transport&backgroundView=city&destinationCityId='+wcityId+
'">'+filler+'</a></td>'+mark
}
}
else {
info=''
inf1=''
inf2=''
iconstr=''
green=0
red=0
yellow=0
for (k=0;k<wcity.source.length;k++) {
if (wcity.chargeSt[k]==1) {
yellow=1
}
arrivo=tempoNorm(wcity.timeArr[k]-CompTime)
if (arrivo==trad(ctry,'completed')) {
if (wcity.chargeSt[k]==1) {
red=1
}else {
green=1
}
if (wcity.chargeSt[k]==0) {
/// scarico merci (unloading)
if (wcity.tr_wood[k]>' ') {
s_wood=estraiNum (wcity.tr_wood[k])
wcity.wood=formatNum(parseInt(StrToNum(wcity.wood))+
parseInt(s_wood))+'"'
}
if (wcity.tr_wine[k]>' ') {
s_wine=estraiNum (wcity.tr_wine[k])
wcity.wine=formatNum(parseInt(StrToNum(wcity.wine))+
parseInt(s_wine))+'"'
}
if (wcity.tr_marble[k]>' ') {
s_marble=estraiNum (wcity.tr_marble[k])
wcity.marble=formatNum(parseInt(StrToNum(wcity.marble))+
parseInt(s_marble))+'"'
}
if (wcity.tr_crystal[k]>' ') {
s_crystal=estraiNum (wcity.tr_crystal[k])
wcity.crystal=formatNum(parseInt(StrToNum(wcity.crystal))+
parseInt(s_crystal))+'"'
}
if (wcity.tr_sulfur[k]>' ') {
s_sulfur=estraiNum (wcity.tr_sulfur[k])
wcity.sulfur=formatNum(parseInt(StrToNum(wcity.sulfur))+
parseInt(s_sulfur))+'"'
}
wcity.chargeSt[k]=2
myJSONText = JSON.stringify(wcity)
if (i<cityName.length) {
nomevar='citybuildings'+wcityName
}else {
nomevar='navyout'+wcityName
}
setVar(nomevar,myJSONText)
}
if (wcity.chargeSt[k]!=1) {
if (wcity.tr_wood[k]>' ') {
woodcomp=1
}
if (wcity.tr_wine[k]>' ') {
winecomp=1
}
if (wcity.tr_marble[k]>' ') {
marblecomp=1
}
if (wcity.tr_crystal[k]>' ') {
crystalcomp=1
}
if (wcity.tr_sulfur[k]>' ') {
sulfurcomp=1
}
}
} else {
xxx=Fechar(parseInt(wcity.timeArr[k])*1000)
arrivo=arrivo+' ('+trad(ctry,'at')+' '+xxx+')'
}
strwood=''
strwine=''
strmarble=''
strcrystal=''
strsulfur=''
strunit=''
iconstr=''
if (wcity.tr_wood[k]>' ') {
strwood='\n'+wcity.tr_wood[k]
iconstr=iconstr+'<img height="14" src="skin/resources/icon_wood.png">'
}
if (wcity.tr_wine[k]>' ') {
strwine='\n'+wcity.tr_wine[k]
iconstr=iconstr+'<img height="14" src="skin/resources/icon_wine.png">'
}
if (wcity.tr_marble[k]>' ') {
strmarble='\n'+wcity.tr_marble[k]
iconstr=iconstr+'<img height="14" src="skin/resources/icon_marble.png">'
}
if (wcity.tr_crystal[k]>' ') {
strcrystal='\n'+wcity.tr_crystal[k]
iconstr=iconstr+'<img height="14" src="skin/resources/icon_crystal.png">'
}
if (wcity.tr_sulfur[k]>' ') {
strsulfur='\n'+wcity.tr_sulfur[k]
iconstr=iconstr+'<img height="14" src="skin/resources/icon_sulfur.png">'
}
for (kk=0;kk<15;kk++) {
if (wcity.tr_unit[k][kk]>' ') {
strunit=strunit+'\n'+wcity.tr_unit[k][kk]+' - '
iconstr=iconstr+'<img height="26" src="'+xArmy[kk]+'">'
}
}
infsource=' <== '+wcity.source[k]+' - '
infmission=wcity.mission[k]+'\n'+' - '
infgoods=strwood+strwine+strmarble+strcrystal+strsulfur+strunit+ ' - '
infend= '\n-----------------------------\n'
infx=infsource+infmission+arrivo+infgoods+infend
inf1=iconstr+infsource+infgoods+infmission+cless+arrivo+infend
inf2=inf2+infx // solo per tip tradizionali (vedi sotto)
info=info+inf1
}
LineStyleNx='style="text-align:center;background:DodgerBlue;font-weight:bold"'
if (yellow>0) {
LineStyleNx='style="text-align:center;background:yellow;font-weight:bold"'
}
if (red>0) {
LineStyleNx='style="text-align:center;background:Coral;font-weight:bold"'
}
if (green>0) {
LineStyleNx='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
if (balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span>'+
'<span class="middle">'+info+'</span><span class="bottom"></span>'
}
else {
xtitle='title="'+inf2+'" '
fumetto=''
}
xhref='"?view=merchantNavy&backgroundView=city"'
if (i!=currentI) {
xhref='"?view=transport&backgroundView=city&destinationCityId='+wcityId+'"'
}
tabla+='<td '+xtitle+'" align="center" '+ LineStyleNx +
'><a class="tt1" href='+xhref+'><img height="18" width="22" src="/skin/characters/fleet/40x40/ship_transport_r_40x40.png">'+
fumetto+'</a></td>'+mark
}
////////////////////////
if (!wcity.citizens) {
wcity.citizens='-'
}
tabla += '<td title="'+trad(ctry,'citizens')+'"'+ LineStyleN +">"+wcity.citizens+'</td>';
if (StrToNum(wcity.population) >= (wcity.MaxInhabitants)){
LineStyleN = 'style="color:FireBrick;text-align:center;background:'+backgN+';font-weight:bold;"'
}
if (!wcity.population) {
wcity.population='-'
}
tabla += '<td title="'+trad(ctry,'population')+'"'+ LineStyleN +">"+wcity.population;
LineStyleN = LineN;
/*//-----------------------------------------maxinhabitants and growth------
*///---------------------------------
///////////////////////////////////////////////////////////////
// variazione crescita popolazione e soddisfazione (DINAMIC)
///////////////////////////////////////////////////////////////
// H = soddisfazione prodotta dalla citta (taverne, musei, accordi, bonus, ricerche)
// h = soddisfazione corrente = H - p (p=popolazione)
// crescita (oraria) = G = dp/dt = h/50
//...===> equazione differenziale per separazione di variabili
//...===> p-p0 = h0*{1-e^[-(t-t0)/50]} ------ h0=soddisfazione al tempo t0= 50*G0
//...==> G=G0*e^[-(t-t0)/50]
////////////////////////////////////////////////////////////
///// tempo di riempimento città (=tx)
// pmax ==> popolazione massima
// p ===> popolazione corrente
// tx ==> 50*ln {50*G0/[50*G0-(pmax-p)]}
var popGrowth=wcity.PopulationGrowth
if (wcity.servertimeGrowth) {
var exp0=-((parseInt(CompTime)-wcity.servertimeGrowth)/(50*3600))
var exp=Math.pow(2.718281828, exp0)
var popG0=exp*wcity.PopulationGrowth
var popG1=Math.round(100*popG0)
popGrowth=parseInt(popG1)/100
}
deltap=0
if(!wcity.PopulationGrowth){
popGrowth = '-';
xGrow=0
}else {
deltap= wcity.MaxInhabitants-StrToNum(wcity.population)
xGrow=popGrowth
}
if(wcity.population && StrToNum(wcity.population) >= wcity.MaxInhabitants){
popGrowth = '#';
}
if(popGrowth>0) {
if(JSONcitydata.name==wcityName){
backgN=backgNCurrent[rem]
}
LineStyleN = 'style="color:darkgreen;text-align:center;background: '+ backgN+';font-weight:bold"'
}else{
if(popGrowth<0) {
LineStyleN = 'style="color:Blue;text-align:center;background: '+ backgN+';font-weight:bold"'
}
}
num=50*xGrow
argo=num/(num-deltap)
tx=50*Math.log(argo)
tx1=parseInt(tx*100)/100
tcomp=trad(ctry,'Full')+' '+trad(ctry,'within') +' : '+tx1+' '+trad(ctry,'hours')
tcompf=Fecha(1000*(CompTime+tx1*3600))
tcomp+='\n'+'('+tcompf+')'
if (num<=deltap) {
tcomp=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}
if (popGrowth=='#') {
tcomp=trad(ctry,'Full')+' !!'
}
xtitle='title="'+tcomp+'" '
fumetto=''
if (tcomp.length>20&&balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span><span class="middle">'+tcomp+'</span><span class="bottom"></span>'
}
xhref='href=?view=townHall&position=0&oldView=city&backgroundView=city&cityId='+cityId[i]+'&cityRight= '
if (!wcity.MaxInhabitants) {
wcity.MaxInhabitants='-'
}
tabla += '<td '+ LineStyleN +'><a '+xhref+LineStyleN+xtitle+'class="tt1">'+
wcity.MaxInhabitants+':'+popGrowth+fumetto+'</a></td>'+mark0
LineStyleN = LineN;
if(wcity.Bruto) {
tabla += '<td title="'+trad(ctry,'gold')+' '+trad(ctry,'produced')+'"'+ LineStyleN +'>'+wcity.Bruto;
}else {
tabla += '<td title="'+trad(ctry,'gold')+' '+trad(ctry,'produced')+'"'+ LineStyleN +">-";
}
if(wcity.ScienceCost) {
tabla += '<td title="'+trad(ctry,'gold')+' '+trad(ctry,'spent')+' ('+trad(ctry,'scientists')+')"'+
LineStyleN +'>'+wcity.ScienceCost;
}else {
tabla += '<td title="gold spent (scientist)"'+ LineStyleN +">-";
}
if(wcity.Netto) {
tabla += '<td title="'+trad(ctry,'net earning')+'"'+ LineStyleN +'>'+wcity.Netto+mark
}else {
tabla += '<td title="'+trad(ctry,'net earning')+'"'+ LineStyleN +">-"+mark
}
normalLine=LineStyleN;
//-----------------------------------wood---------------------
citywood[i] = StrToNum(wcity.wood);
var production = parseInt(StrToNum(wcity.woodprod));
production = parseInt(production*time);
citywood[i]= citywood[i]+production;
if(citywood[i] > max ){
LineStyleN = Linestylewarning;
}
if(citywood[i] >= max0 ){
citywood[i]=max0
LineStyleN = Linestylewarning0;
}
if (StrToNum(wcity.woodprod)>0) {
secToFull=parseInt((max0-citywood[i])/StrToNum(wcity.woodprod)*3600)
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+tempoNorm(secToFull)
xfull=Fecha((CompTime+secToFull)*1000)
full=full+'\n('+xfull+')'
}
else {
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}
if (woodcomp==1) {
LineStyleN='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
xtitle='title="'+full+'" '
fumetto=''
if (full.length>20&&balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span><span class="middle">'+full+'</span><span class="bottom"></span>'
}
xwood=formatNum(citywood[i])
if (!citywood[i]) {
xwood='-'
}
tabla += '<td '+ LineStyleN +'><a '+LineStyleN+xtitle+'class="tt1">'+xwood+fumetto+'</a></td>';
LineStyleN=normalLine
prodDay='Prod : '+formatNum(StrToNum(wcity.woodprod)*24)+' / '+trad(ctry,'day')
if (!wcity.woodprod) {
wcity.woodprod='-'
}
tabla += '<td '+ LineStyleN +'title="'+prodDay+'">'+wcity.woodprod+'</td>'+mark0
//----------------------------- wine city ---------------------------------------------------------------
citywine[i] = StrToNum(wcity.wine);
var Redux =1; //start at 100%
var pos = Findbuilding(i,building[20]); //building 20 is winepress
if(pos != -1){
var Redux = (100-((wcity.position[pos].level)))/100;
}
production=0;
if(cityRecId[i] == 1){
LineStyleN=LineStyleN.substring(0,LineStyleN.length-1)+';color:mediumblue;font-weight:bold;font-style=italic"'
if(wcity.tradegood) {
production = StrToNum(wcity.tradegood);
}
}
prod36=parseInt(production*36)
production=parseInt(production*time);
var HourUse = (wcity.winespending);
var ReduxUse=Math.round(HourUse*Redux);
cityReduxUse[i] = ReduxUse;
var use=parseInt(ReduxUse*time);
if((citywine[i]+production-use) > (max) ){ // 75% full
LineStyleN = Linestylewarning;
}
warninguse = parseInt(ReduxUse*36)
if((citywine[i]+prod36-warninguse) < (0) ){ // empty in 36 hours
LineStyleN = Linestylewarning;
}
citywine[i]=(citywine[i]-use+production);
if(citywine[i] >= max0 ){
citywine[i]=max0
LineStyleN = Linestylewarning0;
}
if (cityRecId[i] == 1 && StrToNum(wcity.tradegood)>parseInt(ReduxUse)) {
secToFull=parseInt((max0-citywine[i])/(StrToNum(wcity.tradegood)-parseInt(ReduxUse))*3600)
empty=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+tempoNorm(secToFull)
xempty=Fecha((CompTime+secToFull)*1000)
empty=empty+'\n('+xempty+')'
}
else {
wineprod=0
if (cityRecId[i] == 1) {
wineprod=StrToNum(wcity.tradegood)
}
if (parseInt(ReduxUse)>wineprod) {
secToEmpty=parseInt(citywine[i]/(parseInt(ReduxUse)-wineprod)*3600)
empty=trad(ctry,'Empty')+' '+trad(ctry,'within')+' : '+tempoNorm(secToEmpty)
xempty=Fecha((CompTime+secToEmpty)*1000)
empty=empty+'\n('+xempty+')'
}else {
if (cityRecId[i] == 1) {
empty=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}else {
empty=trad(ctry,'Empty')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}
}
}
if (winecomp==1) {
LineStyleN='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
xtitle='title="'+empty+'" '
fumetto=''
if (empty.length>20&&balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span><span class="middle">'+empty+'</span><span class="bottom"></span>'
}
xwine=formatNum(citywine[i])
if (!citywine[i]) {
xwine='-'
}
tabla += '<td '+ LineStyleN +'><a '+LineStyleN+xtitle+'class="tt1">'+xwine+fumetto+'</a></td>';
LineStyleN=normalLine;
useDay='Use : '+formatNum(parseInt(ReduxUse)*24)+' / '+trad(ctry,'day')
xuse=parseInt(ReduxUse)
if (!citywine[i]) {
xuse='-'
}
tabla += '<td '+ LineStyleN +'title="'+useDay+'">'+xuse+'</td>'
if(cityRecId[i] == 1){
prodDay='Prod : '+formatNum(StrToNum(wcity.tradegood)*24)+' / '+trad(ctry,'day')
tabla += '<td '+ LineStyleN +'title="'+prodDay+'">'+wcity.tradegood+'</td>'+mark0
}else{
if (i<cityName.length) {
tabla += '<td '+ LineStyleN +'>#</td>'+mark0
}else {
tabla += '<td '+ LineStyleN +'>-</td>'+mark0
}
}
//-------------------------------marble--------------
production=0;
citymarble[i] = StrToNum(wcity.marble);
if(cityRecId[i] == 2){
LineStyleN=LineStyleN.substring(0,LineStyleN.length-1)+';color:mediumblue;font-weight:bold;font-style=italic"'
var production = StrToNum(wcity.tradegood);
if(!production){
production=0;
}
production=production*time;
}
if((citymarble[i]+production) > (max) ){
LineStyleN = Linestylewarning;
}
citymarble[i]=parseInt(citymarble[i]+production);
if(citymarble[i] >= max0 ){
citymarble[i]=max0
LineStyleN = Linestylewarning0;
}
if (cityRecId[i] == 2 && StrToNum(wcity.tradegood)>0) {
secToFull=parseInt((max0-citymarble[i])/StrToNum(wcity.tradegood)*3600)
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+tempoNorm(secToFull)
xfull=Fecha((CompTime+secToFull)*1000)
full=full+'\n('+xfull+')'
}
else {
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}
if (marblecomp==1) {
LineStyleN='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
xtitle='title="'+full+'" '
fumetto=''
if (full.length>20&&balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span><span class="middle">'+full+'</span><span class="bottom"></span>'
}
xmarble=formatNum(citymarble[i])
if (!citymarble[i]) {
xmarble='-'
}
tabla += '<td '+ LineStyleN +'><a '+LineStyleN+xtitle+'class="tt1">'+xmarble+fumetto+'</a></td>'
LineStyleN=normalLine;
if(cityRecId[i] == 2){
prodDay='Prod : '+formatNum(StrToNum(wcity.tradegood)*24)+' / '+trad(ctry,'day')
tabla += '<td '+ LineStyleN +'title="'+prodDay+'">'+((wcity.tradegood))+'</td>'+mark0
}else{
tabla += '<td '+ LineStyleN +'>#</td>'+mark0
}
//-------------------crystal-----------------
production=0;
cityglass[i] = StrToNum(wcity.crystal);
if(cityRecId[i] == 3){
LineStyleN=LineStyleN.substring(0,LineStyleN.length-1)+';color:mediumblue;font-weight:bold;font-style=italic"'
var production = StrToNum(wcity.tradegood);
if(!production){
production=0;
}
production=parseInt(production*time);
}
if((cityglass[i]) > (max) ){
LineStyleN = Linestylewarning;
}
cityglass[i]=parseInt(cityglass[i]+production);
if(cityglass[i] >= max0 ){
cityglass[i]=max0
LineStyleN = Linestylewarning0;
}
if (cityRecId[i] == 3 && StrToNum(wcity.tradegood)>0) {
secToFull=parseInt((max0-cityglass[i])/StrToNum(wcity.tradegood)*3600)
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+tempoNorm(secToFull)
xfull=Fecha((CompTime+secToFull)*1000)
full=full+'\n('+xfull+')'
}
else {
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}
if (crystalcomp==1) {
LineStyleN='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
xtitle='title="'+full+'" '
fumetto=''
//attiva il "tip esteso"
if (full.length>20&&balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span><span class="middle">'+full+'</span><span class="bottom"></span>'
}
xglass=formatNum(cityglass[i])
if (!cityglass[i]) {
xglass='-'
}
tabla += '<td '+ LineStyleN +'><a '+LineStyleN+xtitle+'class="tt1">'+xglass+fumetto+'</a></td>'
LineStyleN=normalLine
LineStyle=normalLine;
if(cityRecId[i] == 3){
prodDay='Prod : '+formatNum(StrToNum(wcity.tradegood)*24)+' / '+trad(ctry,'day')
tabla += '<td '+ LineStyleN +'title="'+prodDay+'">'+((wcity.tradegood))+'</td>'+mark0
}else{
tabla += '<td '+ LineStyleN +'>#</td>'+mark0
}
//--------------sulfur---------------------------
production=0;
citysulfur[i] = StrToNum(wcity.sulfur);
if(cityRecId[i] == 4){
LineStyleN=LineStyleN.substring(0,LineStyleN.length-1)+';color:mediumblue;font-weight:bold;font-style=italic"'
var production = StrToNum(wcity.tradegood);
if(!production){
production=0;
}
production=parseInt(production*time);
}
if((citysulfur[i]+production) > (max) ){
LineStyleN = Linestylewarning;
}
citysulfur[i]=parseInt(citysulfur[i]+production);
if(citysulfur[i] >= max0 ){
citysulfur[i]=max0
LineStyleN = Linestylewarning0;
}
if (cityRecId[i] == 4 && StrToNum(wcity.tradegood)>0) {
secToFull=parseInt((max0-citysulfur[i])/StrToNum(wcity.tradegood)*3600)
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+tempoNorm(secToFull)
xfull=Fecha((CompTime+secToFull)*1000)
full=full+'\n('+xfull+')'
}
else {
full=trad(ctry,'Full')+' '+trad(ctry,'within')+' : '+trad(ctry,'never')
}
if (sulfurcomp==1) {
LineStyleN='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
xtitle='title="'+full+'" '
fumetto=''
if (full.length>20&&balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span><span class="middle">'+full+'</span><span class="bottom"></span>'
}
xsulfur=formatNum(citysulfur[i])
if (!citysulfur[i]) {
xsulfur='-'
}
tabla += '<td '+ LineStyleN +'><a '+LineStyleN+xtitle+'class="tt1">'+xsulfur+fumetto+'</a></td>';
LineStyleN=normalLine
LineStyle=normalLine;
if(cityRecId[i] == 4){
prodDay='Prod : '+formatNum(StrToNum(wcity.tradegood)*24)+' / '+trad(ctry,'day')
tabla += '<td '+ LineStyleN +'title="'+prodDay+'">'+((wcity.tradegood))+'</td>';
}else{
tabla += '<td '+LineStyleN +'>#</td>';
}
tabla +=mark0
}
tabla +='</tr>'
}
////////// Fine FOR (-i-) sulle city
tabla +=mark2
//---------------------- RIGHE DEI TOTALI RISORSE
tabla +='<tr style="color:black;font-family:times new roman,sans-serif;font-size:11pt;font-weight:bold"><td></td>'+mark0+
'<td >'+trad(ctry,'Total')+'</td>'+mark+'<td style="font-size:8pt" align="center" title="">'+dispnavy+'</td>'+mark
var val=0;
var sum=0;
for(i = 0 ; i < cityName.length; i++){
val=(StrToNum(JSONcitys[i].citizens));
sum = sum+val;
}
tabla +='<td title="'+trad(ctry,'total citizens')+'" align="center">'+formatNum(sum);
var val=0;
var sum=0;
var sum1=0
for(i = 0 ; i < cityName.length; i++){
val =(StrToNum(JSONcitys[i].population));
sum = sum+val;
sum1=sum1+(StrToNum(JSONcitys[i].MaxInhabitants))
}
tabla +='<td title="'+trad(ctry,'total population')+'" align="center">'+formatNum(sum);
//tabla +='<td align="center">'+ '-+-';
tabla +='<td title="'+trad(ctry,'population limit')+'" align="center">'+formatNum(sum1);
var wstyle=''
if (StrToNum(JSONcitys[0].goldHour)<0) {wstyle='style="color : red"'}
tabla += mark0+'<td title="'+trad(ctry,'gold held')+'" align="center" >'+tgold+'</td><td></td><td '+
wstyle+' align="center" title="'+trad(ctry,'net earning')+' / '+trad(ctry,'hour')+'">'+
JSONcitys[0].goldHour+' *</td>'+mark
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val=citywood[i];
sum = sum+val;
}
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Building material')+'" align="center">'+formatNum(sum);
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val =(StrToNum(JSONcitys[i].woodprod));
sum = sum+val;
}
var daywood=sum*24;
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Building material')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'hour')+'" align="center">'+formatNum(sum)+mark0
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val=citywine[i];
sum = sum+val;
}
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Wine')+'" align="center">'+formatNum(sum);
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val = cityReduxUse[i];
sum = sum+val;
}
sum = parseInt(sum);
var daywinespend=sum*24;
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Wine')+
' '+trad(ctry,'consumed')+' / '+trad(ctry,'hour')+'" align="center">'+formatNum(sum)
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
if(cityRecId[i] == 1){
val =(StrToNum(JSONcitys[i].tradegood));
sum = sum+val;
}
}
var daywine=sum*24;
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Wine')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'hour')+'" align="center">'+formatNum(sum)+mark0
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val=citymarble[i];
sum = sum+val;
}
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Marble')+'" align="center">'+formatNum(sum);
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
if(cityRecId[i] == 2){
val =(StrToNum(JSONcitys[i].tradegood));
sum = sum+val;
}
}
var daymarble=sum*24;
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Marble')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'hour')+'" align="center">'+formatNum(sum)+mark0
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val=cityglass[i];
sum = sum+val;
}
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Crystal Glass')+'" align="center">'+formatNum(sum);
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
if(cityRecId[i] == 3){
val =(StrToNum(JSONcitys[i].tradegood));
sum = sum+val;
}
}
var daycrystal=sum*24;
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Crystal Glass')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'hour')+'" align="center">'+formatNum(sum)+mark0
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
val=citysulfur[i];
sum = sum+val;
}
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Sulphur')+'" align="center">'+formatNum(sum);
var val =0;
var sum =0;
for(i = 0 ; i < cityName.length; i++){
if(cityRecId[i] == 4){
val =(StrToNum(JSONcitys[i].tradegood));
sum = sum+val;
}
}
var daysulfur=sum*24;
tabla +='<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Sulphur')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'hour')+'" align="center">'+formatNum(sum)
var goldD=StrToNum(JSONcitys[0].goldHour)*24
if (goldD>0) {
var goldDay=formatNum(goldD)
}else { var goldDay='-'+formatNum(-goldD)
}
tabla += mark0+'<tr style="color:black;font-family:times new roman,sans-serif;font-size:11pt;font-weight:bold"><td ></td>'+
mark0+'<td >'+trad(ctry,'Total/day')+'</td>'+mark+
'<td title="" style="color:black;font-family:verdana,Arial, sans-serif;font-size:9pt"></td>'+mark
////////////////////////
tabla += '<td></td>';//cityname
tabla += '<td></td>';//citizens
tabla += '<td></td>'+mark0
tabla += '<td></td>'
tabla += '<td></td>';//money
var wstyle=''
if (goldD<0) {wstyle='style="color : red"'}
tabla += '<td '+wstyle+' align="center" title="'+trad(ctry,'net earning')+' / '+trad(ctry,'day')+'">'+goldDay+'*</td>'+mark
tabla += '<td></td>'
tabla += '<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Building material')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'day')+'" align="center">'+formatNum(daywood)+'</td>'+mark0+'<td></td>'
tabla += '<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Wine')+
' '+trad(ctry,'consumed')+' / '+trad(ctry,'day')+'" align="center">'+formatNum(daywinespend)+'</td>'
tabla += '<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Wine')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'day')+'" align="center">'+formatNum(daywine)+'</td>'+mark0
tabla += '<td></td><td title="'+trad(ctry,'Total')+' '+trad(ctry,'Marble')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'day')+'" align="center">'+formatNum(daymarble)+'</td>'+mark0
tabla += '<td></td><td title="'+trad(ctry,'Total')+' '+trad(ctry,'Crystal Glass')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'day')+'" align="center">'+formatNum(daycrystal)+'</td>'+mark0+'<td></td>'
tabla += '<td title="'+trad(ctry,'Total')+' '+trad(ctry,'Sulphur')+
' '+trad(ctry,'produced')+' / '+trad(ctry,'day')+'" align="center">'+formatNum(daysulfur)+'</td>'+mark0
//-------------------------------------------------------------------------------
tabla +='</tr></table>';
document.getElementById("resourcedealer5-2").innerHTML = tabla;
//-------------------- FINE TAVOLA RISORSE
//////////////////////////////////////////********************************/////////////////////////////////////////////
//---------------------------------------------------------
//-------------------- TAVOLA UNITA' MILITARI
//---------------------------------------------------------
///////////////////////////********************************************///////////////////////////////////////////////
tabla ='';
document.getElementById("ArmyTable").innerHTML = '';
tablx='<td align="center" title="'+trad(ctry,'Military overview and control')+'">'+
'<a href="/index.php?view=militaryAdvisor&backgroundView=city">'+
'<table><tr><img height="14" width="25" src="skin/interface/mission_deployfleet.png">'+
'<tr><img height="14" width="25" src="skin/interface/mission_deployarmy.png"></table></a></td>'+mark
///////////////////////////////
apcurrentI=currentI
if (currentI==cityName.length) {
currentI=0
}
islX=cityCoords[currentI].substring(cityCoords[currentI].indexOf('[')+1,cityCoords[currentI].indexOf(':'))
islY=cityCoords[currentI].substring(cityCoords[currentI].indexOf(':')+1,cityCoords[currentI].indexOf(']'))
tabla += '<table align="center" border="3" bordercolor="#969262" width="100%">';
tabla += '<tr font-weight="bold" height="30"><td width=2% align="center">'+
'<a title="'+trad(ctry,'Show World')+'" href="?view=worldmap_iso&islandX='+islX+'&islandY='+islY+'">'+
'<img src="skin/layout/icon-world.png" ></a></td>'+mark0+'<td align="center">'+
rfmagn+magnify+'<b>'+trad(ctry,'Towns')+'</td>'+mark+tablx+
'<td align="center";'
currentI=apcurrentI
LineStyle = '<td style="max-height:20px;min-width: 20px; max-width: 30px; overflow: hidden;font-weight:bold;background-image: url(skin/input/button.png)">';
var imgHeight='<img height="30" src="';
xnameArmy= new Array ()
if (!JSONcitys[0].nameArmy) {
for (k=0;k<26;k++) {
xnameArmy[k]='Army'+k
}
JSONcitys[0].nameArmy=xnameArmy
}
var skinArmy=new Array (
"skin/characters/military/x60_y60/y60_phalanx_faceright.png", JSONcitys[0].nameArmy[0],
"skin/characters/military/x60_y60/y60_steamgiant_faceright.png", JSONcitys[0].nameArmy[1],
"skin/characters/military/x60_y60/y60_spearman_faceright.png", JSONcitys[0].nameArmy[2],
"skin/characters/military/x60_y60/y60_swordsman_faceright.png", JSONcitys[0].nameArmy[3],
"skin/characters/military/x60_y60/y60_slinger_faceright.png", JSONcitys[0].nameArmy[4],
"skin/characters/military/x60_y60/y60_archer_faceright.png", JSONcitys[0].nameArmy[5],
"skin/characters/military/x60_y60/y60_marksman_faceright.png", JSONcitys[0].nameArmy[6],
"skin/characters/military/x60_y60/y60_ram_faceright.png", JSONcitys[0].nameArmy[7],
"skin/characters/military/x60_y60/y60_catapult_faceright.png", JSONcitys[0].nameArmy[8],
"skin/characters/military/x60_y60/y60_mortar_faceright.png", JSONcitys[0].nameArmy[9],
"skin/characters/military/x60_y60/y60_gyrocopter_faceright.png", JSONcitys[0].nameArmy[10],
"skin/characters/military/x60_y60/y60_bombardier_faceright.png", JSONcitys[0].nameArmy[11],
"skin/characters/military/x60_y60/y60_cook_faceright.png", JSONcitys[0].nameArmy[12],
"skin/characters/military/x60_y60/y60_medic_faceright.png", JSONcitys[0].nameArmy[13],
"skin/characters/military/x60_y60/y60_spartan_faceright.png", JSONcitys[0].nameArmy[14],
"skin/characters/fleet/60x60/ship_flamethrower_faceright.png", JSONcitys[0].nameArmy[15],
"skin/characters/fleet/60x60/ship_steamboat_faceright.png", JSONcitys[0].nameArmy[16],
"skin/characters/fleet/60x60/ship_ram_faceright.png", JSONcitys[0].nameArmy[17],
"skin/characters/fleet/60x60/ship_catapult_faceright.png", JSONcitys[0].nameArmy[18],
"skin/characters/fleet/60x60/ship_ballista_faceright.png", JSONcitys[0].nameArmy[19],
"skin/characters/fleet/60x60/ship_mortar_faceright.png", JSONcitys[0].nameArmy[20],
"skin/characters/fleet/60x60/ship_rocketship_faceright.png", JSONcitys[0].nameArmy[21],
"skin/characters/fleet/60x60/ship_submarine_faceright.png", JSONcitys[0].nameArmy[22],
"skin/characters/fleet/60x60/ship_paddlespeedship_faceright.png", JSONcitys[0].nameArmy[23],
"skin/characters/fleet/60x60/ship_ballooncarrier_faceright.png", JSONcitys[0].nameArmy[24],
"skin/characters/fleet/60x60/ship_tender_faceright.png", JSONcitys[0].nameArmy[25]
);
ulink=''
ulink='<a href="/index.php?view=cityMilitary&activeTab=tabUnits&oldView=city&backgroundView=city&cityId='+currentId+'"</a>'
for (k=0; k<52; k=k+2) {
if (k>28) {
ulink='<a href="/index.php?view=cityMilitary&activeTab=tabShips&oldView=city&backgroundView=city&cityId='+
currentId+'"</a>'
}
tabla += LineStyle + ulink +
imgHeight + skinArmy[k] + '" title="' + skinArmy[k+1] + '"></td>';
if (k==28) {
tabla+=mark
}
}
tabla +=mark0+'</tr>'+mark3
var wcountArmy = new Array ();
var sumArmy = new Array();
for (var k = 0; k < 26; k++) {
sumArmy[k]=0;
wcountArmy[k]=0
}
///////////////////**************************** INIZIO LOOP CITTA'
////// preleva eventuali altre citta'
scanCityX ('armyout')
for (var i = 0; i < cityName.length+cityNameX.length+ocCityName.length; i++) {
if (i < cityName.length && cityName[i]==missCity[i]) {
continue
}
if ( i < cityName.length) {
wcityName=cityName[i]
wcity=JSONcitys[i]
wcityId=cityId[i]
}else {
if (i < cityName.length+cityNameX.length) {
wcityName=cityNameX[i-cityName.length]
wcity=othersCitys[i-cityName.length]
wcityId=cityIdX[i-cityName.length]
}else {
wcityName=ocCityName[i-cityName.length-cityNameX.length]
wcityId=ocCityId[i-cityName.length-cityNameX.length]
wcityCoords=ocCityCoords[i-cityName.length-cityNameX.length]
wcity=new Object()
wcity.sourceN=''
wcity.hostile=1
}
}
xsize='font-size:8pt'
if (i==currentI) {
xsize='font-size:10pt"'
}
var rem = i%2;
if ( rem >0 ){
LineStyle = 'style=" height:20px;text-align:left;color:black;background: #FDD4A6;font-weight:normal"'
LineStyleN = 'style="text-align:center;color:black;background: #FDD4A6;font-weight:normal"'
}
else{
LineStyle = 'style=" height:20px;text-align:left;color:black;background: #EFC287;font-weight:normal"'
LineStyleN = 'style="text-align:center;color:black;background: #EFC287;font-weight:normal"'
}
if(JSONcitydata){
if(JSONcitydata.name==cityName[i]){
var rem = i%2;
if ( rem >0 ){ // split odd/even lines
LineStyle = 'style="text-align:left;color:black;background: #CDD4A6;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;color:black;background: #CDD4A6;font-weight:bold;'+xsize
}
else {
LineStyle = 'style="text-align:left;color:black;background: #BFC287;font-weight:bold;'+xsize
LineStyleN = 'style="text-align:center;color:black;background: #BFC287;font-weight:bold;'+xsize
}
}
}
titleOcc=''
if ( i < cityName.length && JSONcitys[i].occupierName) {
LineStyle= 'style="text-align:left;background: coral;font-weight:bold"'
titleOcc='title="'+trad(ctry,'City occupied by')+' --> ' +JSONcitys[i].occupierName+'" '
}
if ( i < cityName.length && !wcity.hostile) {
tabla +=xIcon[i]+'</td>'+mark0+'<td nowrap '+titleOcc+LineStyle+
'><a '+ LineStyle +'href="/index.php?view=cityMilitary&activeTab=tabUnits&oldView=city&backgroundView=city&cityId='+
wcityId+'&cityRight=">'+String.fromCharCode('8192')+wcityName+'</a></td>'+mark
}else {
xref='href="/index.php?view=blockade&destinationCityId='
if (i < cityName.length) {
xref='href="/index.php?view=defendPort&destinationCityId='
}
if (wcity.hostile) {
tabla += '<tr><td align="center" style="background:tomato;font-weight:bold;color:white">X</td>'+mark0+'<td nowrap><a '+ LineStyle +
xref+wcityId+'&backgroundView=island">'+String.fromCharCode('8192')+wcityName+'</a></td>'+mark
}else {
xref='href="/index.php?view=defendPort&destinationCityId='
tabla += '<tr><td align="center" style="background:green;font-weight:bold;color:white">O</td>'+mark0+'<td nowrap><a '+ LineStyle +
xref+wcityId+'&backgroundView=island">'+String.fromCharCode('8192')+wcityName+'</a></td>'+mark
}
}
unitcompN=new Array()
for (kk=0;kk<26;kk++) {
unitcompN[kk]=0
}
linkfleet='<a title="'+trad(ctry,'deploy fleet')+'" class="tt1" href="?view=deployment&deploymentType=fleet'+
'&destinationCityId='+wcityId+'&backgroundView=island">'
linkarmy='<a title="'+trad(ctry,'deploy army')+'" class="tt1" href="?view=deployment&deploymentType=army'+
'&destinationCityId='+wcityId+'&backgroundView=island">'
imgfleet='<img vspace=0 align="left" height=10 width=17 src="skin/interface/mission_deployfleet.png">'
imgarmy='<img vspace=0 align="right" height=10 width=17 src="skin/interface/mission_deployarmy.png">'
if (i<cityName.length && !wcity.sourceN) {
if (i==currentI) {
tabla+='<td title="'+trad(ctry,'no fleet/army to the same city')+'"'+LineStyleN +'>--</td>'+mark
}else {
tabla+='<td width=35 '+LineStyleN+'>'+linkfleet+imgfleet+'</a>'+linkarmy+imgarmy+'</td>'+mark
}
}
else {
info=''
inf1=''
inf2=''
iconstr=''
green=0
red=0
yellow=0
purple=0
for (k=0;k<wcity.sourceN.length;k++) {
if (wcity.chargeStN[k]==1) {
yellow=1
}else {
if (wcity.chargeStN[k]==3) {
purple=1
}
}
arrivo=tempoNorm(wcity.timeArrN[k]-CompTime)
if (arrivo==trad(ctry,'completed')) {
if (wcity.chargeStN[k]==1) {
red=1
}else {
green=1
}
if (wcity.chargeStN[k]==0) {
for (kk=0;kk<26;kk++) {
if (wcity.TipNavy[k][kk]>' ') {
s_unit=wcity.NumNavy[k][kk]
wcity.countArmy[kk]=parseInt(wcity.countArmy[kk])+parseInt(s_unit)+''
}
}
wcity.chargeStN[k]=2
myJSONText = JSON.stringify(wcity)
if (i<cityName.length) {
nomevar='citybuildings'
}else {
nomevar='armyout'
}
setVar(nomevar+wcity.name,myJSONText)
}
} else {
xxx=Fechar(parseInt(wcity.timeArrN[k])*1000)
arrivo=arrivo+' ('+trad(ctry,'at')+' '+xxx+')'
}
strunit=''
iconstr=''
if (wcity.NumShip && wcity.NumShip[k]>0) {
strunit='\n'+wcity.NumShip[k]+' '+trad(ctry,'merchant ships')+' - '
iconstr='<img height="26" src="/skin/characters/fleet/40x40/ship_transport_r_40x40.png">'
}
for (kk=0;kk<26;kk++) {
if (wcity.TipNavy[k][kk]>' ') {
strunit=strunit+'\n'+wcity.NumNavy[k][kk]+' '+JSONcitys[0].nameArmy[kk]+' - '
if (kk>14) {
iconstr=iconstr+'<img height="26" src="skin/characters/fleet/60x60/'+wcity.TipNavy[k][kk]+'_faceright.png">'
}else {
iconstr=iconstr+'<img height="26" src="skin/characters/military/x60_y60/y60_'+wcity.TipNavy[k][kk]+'_faceright.png">'
}
}
}
infsource=' <== '+wcity.sourceN[k]+' - '
infmission=wcity.missionN[k]+'\n'
infunita=wcity.Units[k]+' = '+strunit
infend='\n-----------------------------\n'
infx=infsource+infunita+infmission+arrivo+infend
inf1=iconstr+infsource+infunita+infmission+cless+arrivo+infend
inf2=inf2+infx // solo per tip tradizionali (vedi sotto)
info=info+inf1
}
LineStyleNx='style="text-align:center;background:DodgerBlue;font-weight:bold"'
if (yellow>0) {
LineStyleNx='style="text-align:center;background:yellow;font-weight:bold"'
}
if (red>0) {
LineStyleNx='style="text-align:center;background:Coral;font-weight:bold"'
}
if (purple>0) {
LineStyleNx='style="text-align:center;background:MEDIUMSLATEBLUE;font-weight:bold"'
}
if (green>0) {
LineStyleNx='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
if (i>=cityName.length+cityNameX.length) {
LineStyleNx='style="text-align:center;background:red;font-weight:bold"'
info=trad(ctry,'island')+' : '+wcityCoords
}
if (balloon==1) {
xtitle=''
fumetto='<span class="tooltip"><span class="top"></span>'+
'<span class="middle">'+info+'</span><span class="bottom"></span>'
}
else {
xtitle='title="'+inf2+'" '
fumetto=''
}
xhref='"?view=militaryAdvisor&backgroundView=city"'
if (i!=currentI) {
if (i<cityName.length) {
titlex='"'+trad(ctry,'deploy fleet')+'"'
titley='"'+trad(ctry,'deploy army')+'"'
if (wcity.sourceN) {
titlex=''
titley=''
}
linkfleet='<a title="'+titlex+'" class="tt1" href="?view=deployment&deploymentType=fleet'+
'&destinationCityId='+wcityId+'&backgroundView=island">'
linkarmy='<a title="'+titley+'" class="tt1" href="?view=deployment&deploymentType=army'+
'&destinationCityId='+wcityId+'&backgroundView=island">'
}else {
if (!wcity.hostile) {
linkfleet='<a title="'+trad(ctry,'defend harbour')+'" class="tt1" href="?view=defendPort&destinationCityId='+
wcityId+'&backgroundView=island">'
linkarmy='<a title="'+trad(ctry,'defend city')+'" class="tt1" href="?view=defendCity&destinationCityId='+
wcityId+'&backgroundView=island">'
}else {
linkfleet='<a title="'+trad(ctry,'blockade harbour')+'" class="tt1" href="?view=blockade&destinationCityId='+
wcityId+'&backgroundView=island">'
linkarmy='<a title="'+trad(ctry,'occupy city')+'" class="tt1" href="?view=occupy&destinationCityId='+
wcityId+'&backgroundView=island">'
}
}
}
tabla+='<td '+xtitle+'" align="center" '+ LineStyleNx +'>'+
linkfleet+imgfleet+fumetto+'</a>'+linkarmy+imgarmy+fumetto+'</a>'+mark
}
//////******************
if (wcity.countArmy) {
wcountArmy=wcity.countArmy
}
//-------//
lun=0
for (k=0;k<26;k++) {
unitcompN[k]=0
}
if (wcity.sourceN) {
lun=wcity.sourceN.length
}
for (j=0;j<lun;j++) {
if (wcity.chargeStN[j]==2) {
for (k=0;k<26;k++) {
if (wcity.TipNavy[j][k]>' ') {
unitcompN[k]=1
}
}
}
}
////
for (var k = 0; k < 26; k++) {
normalLine=LineStyleN
if (unitcompN[k]==1) {
LineStyleN='style="text-align:center;background:MediumSeaGreen;font-weight:bold"'
}
if (wcity.countArmy && wcountArmy[k]>0) {
val=formatNum(wcountArmy[k]);
sumArmy[k] = sumArmy[k] + StrToNum(wcountArmy[k]);
tabla +='<td '+ LineStyleN +'>'+val+'</td>';
}
else {
tabla += '<td '+ LineStyleN +'>-</td>';
}
if (k==14) {
tabla+=mark
}
LineStyleN=normalLine
}
tabla+=mark0
}
////// FINE LOOP CITTA'
tabla +='</tr>'+mark3
//---------------------------------------
//---------------- totali militari
//----------------------------------------
tabla += '<td '+ LineStyleN +'></td>';
tabla +='<tr style="color:black;font-family:times new roman,sans-serif;font-size:11pt">'+
'<td></td>'+mark0+'<td>'+trad(ctry,'Total')+'</td>'+mark+'<td></td>'+mark
for (var k = 0; k < 26; k++) {
tabla +='<td align="center">'+ formatNum(sumArmy[k]) +'</td>';
if (k==14) {
tabla+=mark
}
}
tabla +=mark0+mark3+'</table>'
///test table
//resto='&containerWidth=1206px&containerHeight=892px&worldviewWidth=1206px&worldviewHeight=846px&worldmap_isoTop=897px&worldmap_isoLeft=103px&worldmap_isoWorldviewScale=1&backgroundView=city'
//click='<a style="font-size:15pt;color:black;font-weight:bold" onclick="ajaxHandlerCall(this.href);return false;" href="?view=tradeAdvisor&oldView=city&cityId='+cityId[currentI]+resto+'" title="Riepilogo delle città e delle finanze" class="normal">'
//tabla+='<table border="16" style="font-size:15pt;color:black;background:green"><tr><td rowspan="2">'+click+'Cella 1</a></td><td>Cella 2</td></tr><tr><td>Cella 3</td></tr><tr><td rowspan="2">Cella 4</td><td>Cella 5</td></tr><tr><td>Cella 6</td></tr></table>'
document.getElementById("ArmyTable").innerHTML = tabla;
//ErrorString='VISIT ALL YOURS CITYS !!!'
document.getElementById("ResourceAlert").innerHTML = ErrorString;
}
/////////////////////////////////////////////////////
////////////////////////////////////////////////////
//*************** OTHERS FUNCTION //////////////
//////////////////////////////////////////////////
//importata
/*
function insCSS(style) {
var getHead = document.getElementsByTagName("HEAD")[0];
var cssNode = window.document.createElement('style');
var elementStyle = getHead.appendChild(cssNode);
elementStyle.innerHTML = style;
return elementStyle;
}
*/
//modificata
function addLink(url) {
getHead = document.getElementsByTagName("HEAD")[0]
linkNode = window.document.createElement('link')
linkNode.type='text/css'
linkNode.rel='stylesheet'
linkNode.href=url
elementLink = getHead.appendChild(linkNode)
return elementLink
}
//
function normal (bigtip) {
ix=bigtip.indexOf('finish=',bigtip.length-50)
if (ix>0) {
iy=bigtip.indexOf("|",ix)
subT=bigtip.substring(ix+7,iy)
if (subT=='0') {
bigtip=bigtip.replace('finish=0|','')
return bigtip
}else {
resTime=subT-CompTime
subTnew=tempoNorm(resTime)
iz=bigtip.indexOf('[')
iw=bigtip.indexOf("]")
subX=bigtip.substring(iz+1,iw)
bigtip=bigtip.replace(subX,subTnew)
iv=bigtip.indexOf("%",ix)
totime=bigtip.substring(iv+1)
progTime=totime-resTime
percNew=parseInt(progTime/totime*100)
if (percNew>100) {
percNew=100
}
ir=bigtip.indexOf(xSp1,0)
it=bigtip.indexOf('%',ir)
percOld=bigtip.substring(ir,it)
percNew=xSp1+percNew
bigtip=bigtip.replace(percOld,percNew)
bigtip=bigtip.substring(0,ix-1)
return bigtip
}
}else {
return bigtip
}
}
function reinit () {
GMlista=GM_listValues ()
strDel=document.location.host
resp=confirm(trad(ctry,'After your confirmation, you must visit all the cities to refresh the data\n')+
'************************'+' '+trad(ctry,'Confirm')+' ?'+' '+'***************************')
if (!resp) {return}
for (i=0;i<GMlista.length;i++) {
if (GMlista[i].indexOf(strDel,0)>=0) {
GM_deleteValue(GMlista[i])
}
}
//alert ('Now you must visit all yours citys\n for refreshing data')
}
function scanCityX (stringa) {
GMlista=GM_listValues ()
strDel=document.location.host+stringa
k=0
for (i=0;i<GMlista.length;i++) {
if (GMlista[i].indexOf(strDel,0)>=0) {
othersCitys[k]=JSON.parse(GM_getValue(GMlista[i]))
cityNameX[k]=othersCitys[k].name
cityIdX[k]=othersCitys[k].cityIdX
k++
}
}
}
function scanCityY (stringa) {
GMlista=GM_listValues ()
strDel=document.location.host+stringa
k=0
for (i=0;i<GMlista.length;i++) {
if (GMlista[i].indexOf(strDel,0)>=0) {
othersCitys[k]=JSON.parse(GM_getValue(GMlista[i]))
cityNameY[k]=othersCitys[k].name
cityIdY[k]=othersCitys[k].cityIdX
k++
}
}
}
function num_to_func(num){
switch(num){
case "0": return "T"; break;
case "1": return "S"; break;
case "2": return "d"; break;
}
}
p = document.getElementById("cel_menu_3");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "b_s_h_deals";
if(getVar("s_h_deals")==0){
h.innerHTML = trad(ctry,'Show Buildings');
document.getElementById("resourcedealer5").style.display="none";
}else{
h.innerHTML = trad(ctry,'Hide Buildings');
document.getElementById("resourcedealer5").style.display="inline";
}
h.addEventListener("click",function(){f_s_h_deals();},false);
p.appendChild(h);
function f_s_h_deals(){
if(getVar("s_h_deals")==1){
setVar("s_h_deals",0);
document.getElementById("b_s_h_deals").innerHTML = trad(ctry,'Show Buildings');
document.getElementById("resourcedealer5").style.display="none";
}else{
setVar("s_h_deals",1);
document.getElementById("b_s_h_deals").innerHTML = trad(ctry,'Hide Buildings');
document.getElementById("resourcedealer5").style.display="inline";
}
}
p = document.getElementById("cel_menu_4");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "b_s_h_inform";
if(getVar("s_h_inform")==0){
h.innerHTML = trad(ctry,'Show Resources');
document.getElementById("resourcedealer5-2").style.display="none";
}else{
h.innerHTML = trad(ctry,'Hide Resources');
document.getElementById("resourcedealer5-2").style.display="inline";
}
h.addEventListener("click",function(){f_s_h_inform();},false);
p.appendChild(h);
function f_s_h_inform(){
if(getVar("s_h_inform")==1){
setVar("s_h_inform",0);
document.getElementById("b_s_h_inform").innerHTML = trad(ctry,'Show Resources');
document.getElementById("resourcedealer5-2").style.display="none";
}else{
setVar("s_h_inform",1);
document.getElementById("b_s_h_inform").innerHTML = trad(ctry,'Hide Resources');
document.getElementById("resourcedealer5-2").style.display="inline";
}
}
// spare button............
p = document.getElementById("cel_menu_5");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "b_s_h_Army";
if(getVar("s_h_Army")==0){
h.innerHTML = trad(ctry,'Show Army');
document.getElementById("ArmyTable").style.display="none";
}else{
h.innerHTML = trad(ctry,'Hide Army');
document.getElementById("ArmyTable").style.display="inline";
}
h.addEventListener("click",function(){f_s_h_Army();},false);
p.appendChild(h);
function f_s_h_Army(){
if(getVar("s_h_Army")==1){
setVar("s_h_Army",0);
document.getElementById("b_s_h_Army").innerHTML = trad(ctry,'Show Army');
document.getElementById("ArmyTable").style.display="none";
}else{
setVar("s_h_Army",1);
document.getElementById("b_s_h_Army").innerHTML = trad(ctry,'Hide Army');
document.getElementById("ArmyTable").style.display="inline";
}
}
///////////////// Tip personalizzato
p = document.getElementById("cel_menu_8");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "balloonTip";
if(getVar("varTip")!=1){
h.setAttribute('style','font:bold;color:red');
h.innerHTML = 'Balloon Tip is Off';
}else{
h.setAttribute('style','font:bold;color:blue');
h.innerHTML = 'Balloon Tips On';
}
h.addEventListener("click",function(){funTip();},false);
p.appendChild(h);
function funTip(){
if(getVar("varTip")==1){
setVar("varTip",0);
balloon=0
document.getElementById("balloonTip").innerHTML = 'Balloon Tip\n Off';
}else{
setVar("varTip",1);
balloon=1
document.getElementById("balloonTip").innerHTML = 'Balloon Tip\n On';
}
}
/* //off
p = document.getElementById("cel_menu_9");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "brefresh";
h.innerHTML = 'Reload page';
h.addEventListener("click",function(){refresh();},false);
p.appendChild(h);
*/
function refresh(){
window.location.reload()
//window.scrollBy(0,350)
}
p = document.getElementById("cel_menu_a");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "breinit";
h.innerHTML = trad(ctry,'Reset Data');
h.addEventListener("click",function(){reinit();},false);
p.appendChild(h);
p = document.getElementById("cel_menu_0");
h = document.createElement('a');
h.setAttribute('class','button');
h.id = "bfocus";
if(getVar("varFocus")!=1){
h.setAttribute('style','font:bold;color:red');
h.innerHTML = 'Focus Table Off';
}else{
h.setAttribute('style','font:bold;color:blue');
h.innerHTML = 'Focus Table On';
}
h.addEventListener("click",function(){focus();},false);
p.appendChild(h);
function focus(){
if(getVar("varFocus")==1){
setVar("varFocus",0);
focusTable=0
document.getElementById("bfocus").innerHTML = 'Focus Table Off';
}else{
setVar("varFocus",1);
focusTable=1
document.getElementById("bfocus").innerHTML = 'Focus Table is On';
}
}
//cella di test
p = document.getElementById("celtest");
h = document.createElement('a');
h.setAttribute('class','button');
h.setAttribute('style','font:bold;color:blue');
h.setAttribute('title','ikariam.wikia.com');
h.id = "btest";
h.innerHTML = 'Wiki Ikariam';
//h.addEventListener("click",function(){window.open("http://www.google.it","_self")});
//xref=trad(ctry,'"http://ikariam.wikia.com/wiki/Main_Page"')
xref=trad(ctry,'http://ikariam.wikia.com/wiki/Main_Page')
h.addEventListener("click",function(){window.open(xref,"_page")});
p.appendChild(h);
function test(){
window.open("http:google.it",false)
}
function tipLevel (i,p) {
////****** Tip upgrading
tipLv=nst=nwo=nwi=nma=ngl=nsu=nti=''
if (JSONcitys[i].tipLevel) {
if (JSONcitys[i].tipLevel[p].upStr) {
nst=JSONcitys[i].tipLevel[p].upStr
}
if (JSONcitys[i].tipLevel[p].upWood) {
nwo=JSONcitys[i].tipLevel[p].upWood
if (balloon==1) {
nwo=nwo.substring(nwo.indexOf(' :'))
nwo='<img height="14" src="skin/resources/icon_wood.png">'+nwo
}
}
if (JSONcitys[i].tipLevel[p].upMarble) {
nma=JSONcitys[i].tipLevel[p].upMarble
if (balloon==1) {
nma=nma.substring(nma.indexOf(' :'))
nma='<img height="14" src="skin/resources/icon_marble.png">'+nma
}
}
if (JSONcitys[i].tipLevel[p].upGlass) {
ngl=JSONcitys[i].tipLevel[p].upGlass
if (balloon==1) {
ngl=ngl.substring(ngl.indexOf(' :'))
ngl='<img height="14" src="skin/resources/icon_crystal.png">'+ngl
}
}
if (JSONcitys[i].tipLevel[p].upSulfur) {
nsu=JSONcitys[i].tipLevel[p].upSulfur
if (balloon==1) {
nsu=nsu.substring(nsu.indexOf(' :'))
nsu='<img height="14" src="skin/resources/icon_sulfur.png">'+nsu
}
}
if (JSONcitys[i].tipLevel[p].upWine) {
nwi=JSONcitys[i].tipLevel[p].upWine
if (balloon==1) {
nwi=nwi.substring(nwi.indexOf(' :'))
nwi='<img height="14" src="skin/resources/icon_wine.png">'+nwi
}
}
if (JSONcitys[i].tipLevel[p].upTime) {
nti=JSONcitys[i].tipLevel[p].upTime
if (balloon==1) {
nti=nti.substring(nti.indexOf(' :'))
nti='<img height="14" src="skin/resources/icon_time.png">'+nti
}
}
tipLv=nst+nwo+nwi+nma+ngl+nsu+nti
}
return tipLv
}
var momentoActual = new Date();
var m_ant = parseInt(momentoActual/(1000*60));
function trovaX (oggetto) {
curleft=0
if(piede.offsetParent) {
while(1) {
curleft += piede.offsetLeft
if(!piede.offsetParent) {
break
}
piede = piede.offsetParent
}
}
else {
if(piede.x) {
curleft += piede.x
}
}
return curleft
}
function trovaY (oggetto) {
curtop=0
if(piede.offsetParent) {
while(1) {
curtop += piede.offsetTop
if(!piede.offsetParent) {
break
}
piede = piede.offsetParent
}
}
else {
if(piede.y) {
curtop += piede.y
}
}
return curtop
}
function tempoNorm(sec){
var gg=parseInt(sec/86400);
var hh=parseInt((sec-gg*86400)/3600);
var mm=parseInt((sec-gg*86400-hh*3600)/60);
var ss=parseInt((sec-gg*86400-hh*3600-mm*60));
var tempo='';
if (gg>0) {
tempo=gg+trad(ctry,'D')+' '
}
if (hh>0) {
tempo+=hh+trad(ctry,'h')+' '
}
if (mm>0) {
tempo+=mm+trad(ctry,'m')+' '
}
if (ss>1) {
tempo+=ss+trad(ctry,'s')
}else {
tempo+='1'+trad(ctry,'s')
}
if (tempo=='1'+trad(ctry,'s')) {
tempo=trad(ctry,'completed')
}
return tempo;
}
function stringaTempo (str,xora,xmin,xsec) {
ih=str.indexOf('h',0)
if (ih>0) {
xora=str.substr(0,ih)
ix=str.indexOf(' ',ih)
str=str.substr(ix+1,str.length-ix)
}else{xora=0}
im=str.indexOf('m',0)
if (im>0) {
xmin=str.substr(0,im)
ix=str.indexOf(' ',im)
str=str.substr(ix+1,str.length-ix)
}else{xmin=0}
is=str.indexOf('s',0)
if (is>0) {
xsec=str.substr(0,is)
ix=str.indexOf(' ',is)
str=str.substr(ix+1,str.length-ix)
}else{xsec=0}
myora=xora
mymin=xmin
mysec=xsec
}
function strTempoExt (str,xday,xora,xmin,xsec) {
str=str.replace('G','g').replace('D','g').replace('d','g').replace('j','g').replace('T','g')
id=str.indexOf('g',0)
if (id>0) {
xday=str.substr(0,id)
ix=str.indexOf(' ',id)
str=str.substr(ix+1,str.length-ix)
}else{xday=0}
ih=str.indexOf('h',0)
if (ih>0) {
xora=str.substr(0,ih)
ix=str.indexOf(' ',ih)
str=str.substr(ix+1,str.length-ix)
}else{xora=0}
im=str.indexOf('m',0)
if (im>0) {
xmin=str.substr(0,im)
ix=str.indexOf(' ',im)
str=str.substr(ix+1,str.length-ix)
}else{xmin=0}
is=str.indexOf('s',0)
if (is>0) {
xsec=str.substr(0,is)
ix=str.indexOf(' ',is)
str=str.substr(ix+1,str.length-ix)
}else{xsec=0}
myday=xday
myora=xora
mymin=xmin
mysec=xsec
}
function estraiNum (wstring) {
ix=wstring.indexOf(' ',0)
wstring1=wstring.substr(0,ix)
return wstring1
}
function tindex (unit) {
for (j=0;j<26;j++) {
if (unit==xUnit[j]) {
return j
}
}
}
function StrToNum(str){
if(!str){
return 0;
}else{
//str = str.replace('.','');
//str = str.replace(/,/g,'');
str = str.replace(unsafeWindow.LocalizationStrings.thousandSeperator,'')
.replace(unsafeWindow.LocalizationStrings.thousandSeperator,'')
.replace(unsafeWindow.LocalizationStrings.thousandSeperator,'');
str = str.replace(unsafeWindow.LocalizationStrings.decimalPoint,'');
if (str.indexOf('k',0) > 0) {
str = str.replace("k","");
return parseInt(str) * 1000;
}
return parseInt(str);
}
}
function formatNum(a){ // format back to m1,m2.m3
var comma=unsafeWindow.LocalizationStrings.thousandSeperator
var m3=a-parseInt(a/1000)*1000
var m2=parseInt((a-parseInt(a/1000000)*1000000)/1000)
var m1=parseInt(a/1000000)
if (a>999) {
var M3=m3
if (m3<10) {M3='0'+M3}
if (m3<100) {M3='0'+M3}
}
if (a>999999) {
var M2=m2
if (m2<10) {M2='0'+M2}
if (m2<100) {M2='0'+M2}
return(m1+comma+M2+comma+M3)
}
else {
if (a>999) {
return(m2+comma+M3)
}
else {
return(m3)
}
}
}
function a0(str){
var out = str.toString();
if (out.length==1) {
return "0"+out;
}else{
return str;
}
}
function Fecha(time){
var momentoActual = new Date();
momentoActual.setTime(time)
wday=new Array ()
//wday=['Sunday','Monday','Tuesday','Wednesday','Thursday','Friday','Saturday']
wday=[trad(ctry,'Sunday'),trad(ctry,'Monday'),trad(ctry,'Tuesday'),
trad(ctry,'Wednesday'),trad(ctry,'Thursday'),trad(ctry,'Friday'),trad(ctry,'Saturday')]
y = momentoActual.getFullYear()
n = momentoActual.getMonth()+1
d = momentoActual.getDate()
h = momentoActual.getHours()
m = momentoActual.getMinutes()
g= momentoActual.getDay()
return wday[g]+' '+a0(d)+"/"+a0(n)+"/"+a0(y)+' '+trad(ctry,'at')+' '+a0(h)+":"+a0(m)
}
function Fechar(time){
var momentoActual = new Date(time);
h = momentoActual.getHours()
m = momentoActual.getMinutes()
return a0(h)+":"+a0(m)
}
function getVar(varname, vardefault) {
var res = GM_getValue(document.location.host+varname);
if (res == undefined) {
return vardefault;
}
return res;
}
function setVar(varname, varvalue) {
GM_setValue(document.location.host+varname, varvalue);
}
function Findbuilding(index,name){// find buildinglvl for building(name) for city(index)
for (i = 0 ; i<numPlace ; i++){
if(JSONcitys[index]){
if(JSONcitys[index].position[i].building.replace(' constructionSite','') == name) {
return i;
}
}
}
return -1; //building not found
}
PT(); /////the big timerloop for dynamic-updating
function PT(){
FechaActual();
cargar_dealers();
setTimeout(PT,6*1000);
}
function FechaActual(){
var momentoActual = new Date();
var y = momentoActual.getFullYear();
var n = momentoActual.getMonth()+1;
var d = momentoActual.getDate();
var h = momentoActual.getHours();
var m = momentoActual.getMinutes();
return a0(d)+"/"+a0(n)+"/"+a0(y)+" "+a0(h)+":"+a0(m);
}
//////////////////////// getcitydata() /////////////////////////////
function getcitydata(){ // get all data from currentcity
////////////////////////////////////////////////////////////////////
text=document.body.innerHTML; //first get data from page and make it JSON
var ini1 = text.indexOf('updateBackgroundData"',0); // get citydatastring
var ini2 = text.indexOf('"updateTemplateData',ini1); // find end
var citystring = "{"+(text.substring(ini1+23,ini2-3))+""; // make substring of data
if(citystring.length > 5){
JSONcitydata = JSON.parse(citystring); // make data JSON data
if (view == "city"){
for(i=0;i<cityName.length;i++){ //find current city
if(JSONcitydata.name == cityName[i]){
var test = GM_getValue(document.location.host+"citybuildings"+cityName[i]);
if(test) {
JSONcitys[i]=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[i]));
}else{
JSONcitys[i] = JSONcitydata; /// può dare problemi col reinit (?)
}
// data from string
JSONcitys[i].name=JSONcitydata.name;
JSONcitys[i].id=JSONcitydata.id;
JSONcitys[i].phase=JSONcitydata.phase;
JSONcitys[i].ownerId=JSONcitydata.ownerId;
JSONcitys[i].ownerName=JSONcitydata.ownerName;
JSONcitys[i].islandId=JSONcitydata.islandId;
JSONcitys[i].islandName=JSONcitydata.islandName;
JSONcitys[i].islandXCoord=JSONcitydata.islandXCoord;
JSONcitys[i].islandYCoord=JSONcitydata.islandYCoord;
JSONcitys[i].buildingSpeedupActive=JSONcitydata.buildingSpeedupActive;
JSONcitys[i].underConstruction=JSONcitydata.underConstruction;
JSONcitys[i].endUpgradeTime=JSONcitydata.endUpgradeTime;
JSONcitys[i].startUpgradeTime=JSONcitydata.startUpgradeTime;
JSONcitys[i].speedupState=JSONcitydata.speedupState;
JSONcitys[i].position=JSONcitydata.position;
JSONcitys[i].portControllerName=JSONcitydata.portControllerName
JSONcitys[i].occupierName=JSONcitydata.occupierName
// data from screen
JSONcitys[i].maxstorage=((document.getElementById("js_GlobalMenu_max_wood")).firstChild.nodeValue); // max storage
JSONcitys[i].servertime=(unsafeWindow.dataSetForView.serverTime)+'"'; //time of the update
JSONcitys[i].action=((document.getElementById("js_GlobalMenu_maxActionPoints")).firstChild.nodeValue);
JSONcitys[i].citizens=((document.getElementById("js_GlobalMenu_citizens")).firstChild.nodeValue);
JSONcitys[i].population=((document.getElementById("js_GlobalMenu_population")).firstChild.nodeValue);//total in current city
//JSONcitys[i].wood=((document.getElementById("js_GlobalMenu_wood")).firstChild.nodeValue);//wood in current city
var aaa =unsafeWindow.dataSetForView.currentResources.resource
JSONcitys[i].wood=aaa+'"'
///////////////// altre risorse
txtin=text.indexOf('currentResources:')
text1=text.substring(txtin,txtin+200)
txtin1=text1.indexOf('resource')
text2=text1.substring(txtin1,txtin1+120)
inw=text2.indexOf('"1')
fiw=text2.substring(inw,inw+20).indexOf(',')
JSONcitys[i].wine=text2.substring(inw+5,inw+fiw)
inw=text2.indexOf('"2')
fiw=text2.substring(inw,inw+20).indexOf(',')
JSONcitys[i].marble=text2.substring(inw+5,inw+fiw)
inw=text2.indexOf('"3')
fiw=text2.substring(inw,inw+20).indexOf('}')
JSONcitys[i].crystal=text2.substring(inw+5,inw+fiw)
inw=text2.indexOf('"4')
fiw=text2.substring(inw,inw+20).indexOf(',')
JSONcitys[i].sulfur=text2.substring(inw+5,inw+fiw)
////////////////////////
JSONcitys[i].woodprod=((document.getElementById("js_GlobalMenu_resourceProduction")).firstChild.nodeValue);//wood in current city
//JSONcitys[i].wine=((document.getElementById("js_GlobalMenu_wine")).firstChild.nodeValue);//wine in current city
//JSONcitys[i].marble=((document.getElementById("js_GlobalMenu_marble")).firstChild.nodeValue);//marble in current city
//JSONcitys[i].crystal=((document.getElementById("js_GlobalMenu_crystal")).firstChild.nodeValue);//cristal in current city
//JSONcitys[i].sulfur=((document.getElementById("js_GlobalMenu_sulfur")).firstChild.nodeValue);//sulfur in current city
var tradeName=new Array ("js_GlobalMenu_resourceProduction","js_GlobalMenu_production_wine",
"js_GlobalMenu_production_marble","js_GlobalMenu_production_crystal","js_GlobalMenu_production_sulfur")
var tradeg=document.getElementById(tradeName[cityRecId[i]]).firstChild.nodeValue
if (tradeg>='0') {
JSONcitys[i].tradegood=tradeg
}
if (!JSONcitys[i].tipLevel || JSONcitys[i].tipLevel.length<numPlace) {
tipLevel=new Array ()
for (k=0;k<numPlace;k++) {
tipLevel[k]=new Object ()
}
JSONcitys[i].tipLevel=tipLevel
}
JSONcitys[i].winespending=(unsafeWindow.dataSetForView.wineSpendings);
var myJSONText = JSON.stringify(JSONcitys[i]); //convert back to string for storage
var JSONcity = JSON.parse(myJSONText); // convert to JSON for use in program , If program fails here there is an error in the string
setVar("citybuildings"+JSONcitys[i].name,myJSONText); // store the data for the current city
}else{
}
var levelsdata=(levelsdata+")");
}
}
if (view == "island"){
if (JSONcitydata.isOwnCityOnIsland==true) {
for(i=0;i<cityName.length;i++){
citta=GM_getValue(document.location.host+"citybuildings"+cityName[i])
if (citta) {
jcitta=JSON.parse(citta)
if (JSONcitydata.id==jcitta.islandId) {
jcitta.resourceLevel=JSONcitydata.resourceLevel
jcitta.tradegoodLevel=JSONcitydata.tradegoodLevel
myJSONText=JSON.stringify(jcitta)
setVar("citybuildings"+jcitta.name,myJSONText)
}
}
}
}
}
servertime = unsafeWindow.dataSetForView.serverTime; // get the servertime
}
}
//////////////////////// getcitysdata() /////////////////////////////
function getcitysdata(){ // get all city's and rec,coords,id,relations
///////////////////////////////////////////////////////////////////////
JSONcitydata = (unsafeWindow.dataSetForView.relatedCityData.selectedCity); // current cityId
var elemx=document.getElementById("js_cityIdOnChange")
if (elemx.value>'0') {
JSONcitydata='city_'+elemx.value
}
ind_cityId = 0;
ind_ocCityId = 0;
for (var key in unsafeWindow.dataSetForView.relatedCityData) {
if ( unsafeWindow.dataSetForView.relatedCityData[key].relationship == 'ownCity'){
cityId[ind_cityId] = unsafeWindow.dataSetForView.relatedCityData[key].id;
cityCoords[ind_cityId] = unsafeWindow.dataSetForView.relatedCityData[key].coords;
cityName[ind_cityId] = unsafeWindow.dataSetForView.relatedCityData[key].name;
if (unsafeWindow.dataSetForView.relatedCityData[key].tradegood) {
cityRecId[ind_cityId] = unsafeWindow.dataSetForView.relatedCityData[key].tradegood;
cityRecStr[ind_cityId]=resourcetrad[(unsafeWindow.dataSetForView.relatedCityData[key].tradegood)].toLowerCase();
if (cityRecStr[ind_cityId]=="crystal glass"){
cityRecStr[ind_cityId] = "glass";
}
if (cityRecStr[ind_cityId]=="sulphur"){
cityRecStr[ind_cityId] = "sulfur";
}
}
ind_cityId++;
}else {
if ( unsafeWindow.dataSetForView.relatedCityData[key].relationship == 'occupiedCities') {
ocCityId[ind_ocCityId] = unsafeWindow.dataSetForView.relatedCityData[key].id;
ocCityCoords[ind_ocCityId] = unsafeWindow.dataSetForView.relatedCityData[key].coords
ocCityName[ind_ocCityId] = unsafeWindow.dataSetForView.relatedCityData[key].name;
}
ind_ocCityId++
}
}
}
function focusCity () {
//// definisce la citta' selezionata / cambiata come corrente
var cityId1 = (unsafeWindow.dataSetForView.relatedCityData.selectedCity); // current city
var elemx=document.getElementById("js_cityIdOnChange")
if (elemx.value>'0') {
cityId1='city_'+elemx.value
}
currentCity=unsafeWindow.dataSetForView.relatedCityData[cityId1].name
var test = GM_getValue(document.location.host+"citybuildings"+currentCity);
if(test) {
JSONcitydata=JSON.parse(GM_getValue(document.location.host+"citybuildings"+currentCity));
}
currentId=unsafeWindow.dataSetForView.relatedCityData.selectedCity.replace('city_','')
currentI=cityName.length
for (j=0;j<cityName.length;j++) {
if (currentCity==cityName[j]) {
currentI=j
break
}
}
//////////////////////
}
//-----------------------------------------------
//------------------------TESTING VIEW ----------
//-----------------------------------------------
function testing(view) {
focusCity()
///************* aggiunge CSS island, necessarie per corretta form di assegnazione risorse
getHead = document.getElementsByTagName("HEAD")[0];
xLink='/skin/compiled-'+ctry+'-island.css?rev=34893'
//xLink='/skin/compiled-'+ctry+'-island-0.5.1.1.css' //cambiano sempre ?
addLink(xLink)
///******************************************************
xview=view
/////////////////**************** TRANSPORT ************************/////////////////////////////
if (view == 'merchantNavy') {
var element=document.getElementById("merchantNavy")
var elevent=element.getElementsByClassName("eventRow")
var elpay=element.getElementsByClassName("payload")
///// Inizializza trasporti
for(i=0;i<cityName.length;i++){
appo=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[i]))
appo.source=null
appo.arrival=null
appo.chargeSt=null
appo.mission=null
appo.tr_wood=null
appo.tr_wine=null
appo.tr_marble=null
appo.tr_crystal=null
appo.tr_sulfur=null
appo.tr_unit=null
appo.timeArr=null
myJSONText = JSON.stringify(appo)
setVar("citybuildings"+cityName[i],myJSONText)
}
///// cancella le citta' non proprie
GMlista=GM_listValues ()
strDel=document.location.host+'navyout'
for (i=0;i<GMlista.length;i++) {
if (GMlista[i].indexOf(strDel,0)>=0) {
GM_deleteValue(GMlista[i])
}
}
/////// Individua i trasporti correnti
/// Source & Target
if (elevent.length>0) {
var source=new Array()
var target=new Array()
var cityNum=new Array()
var tr_unit=new Array()
var arrival=new Array()
var chargeStatus=new Array()
var mission=new Array()
var ostile= new Array()
/////**** missioni, tempi di arrivo e stati
for (i=0; i<elevent.length; i++) {
elmissionx=null
elmission=null
elmissiony=null
elmissionz=null
elmissionw=null
elmissionv=null
eltime=null
eltime=elevent[i].getElementsByClassName("eta")
elmissionx=elevent[i].getElementsByClassName("mission_icon deployarmy")
elmission=elevent[i].getElementsByClassName("mission_icon transport")
elmissiony=elevent[i].getElementsByClassName("mission_icon trade")
elmissionz=elevent[i].getElementsByClassName("mission_icon plunder")
elmissionw=elevent[i].getElementsByClassName("mission_icon defend")
elmissionv=elevent[i].getElementsByClassName("mission_icon occupy")
ostile[i]=0
if (elmissionx[0]) {
mission[i]=elmissionx[0].title
}else {
if (elmission[0]) {
mission[i]=elmission[0].title
}else {
if (elmissiony[0]) {
mission[i]=elmissiony[0].title
}else {
if (elmissionz[0]) {
ostile[i]=1
mission[i]=elmissionz[0].title
}else {
if (elmissionw[0]) {
mission[i]=elmissionw[0].title
}else {
ostile[i]=1
mission[i]=elmissionv[0].title
}
}
}
}
}
sour=elevent[i].getElementsByClassName("source")
taga=sour[0].getElementsByTagName("a")
source[i]=taga[0].text
targ=elevent[i].getElementsByClassName("target")
tagb=targ[0].getElementsByTagName("a")
target[i]=tagb[0].text
cityNum[i]=tagb[0].href.substring(tagb[0].href.indexOf('cityId=')+7)
tag1=eltime[0].getElementsByTagName("span")
if (elmissionx[0] || elmissionz[0] || elmissionw[0] || elmissionv[0]) {
arrival[i]=eltime[0].childNodes[0].nodeValue
}else {
arrival[i]=tag1[0].innerHTML
}
chargeStatus[i]=0
if (tag1[1]) {
if (tag1[1].childNodes[0]) {
chargeStatus[i]=1
}
}
for (k=0;k<15;k++) {
tr_unit[i]=new Array()
}
}
///**** Payload (merci e truppe)
var el2=new Array()
var tr_wood=new Array()
var tr_wine=new Array()
var tr_marble=new Array()
var tr_crystal=new Array()
var tr_sulfur=new Array()
for (i=0; i<elpay.length; i++) {
tr_wood[i]=null
tr_wine[i]=null
tr_marble[i]=null
tr_crystal[i]=null
tr_sulfur[i]=null
for (k=0;k<15;k++) {
tr_unit[i][k]=''
}
el2[i]=s.serializeToString(elpay[i])
iwood =el2[i].indexOf(' src="skin/resources/icon_wood.png"',0)
if (iwood>0) {
wtr_wood=el2[i].substring(iwood-41,iwood-1)
iiwood=wtr_wood.indexOf('title="',0)
tr_wood[i]=wtr_wood.substring(iiwood+7,40)
}
iwine =el2[i].indexOf(' src="skin/resources/icon_wine.png"',0)
if (iwine>0) {
wtr_wine=el2[i].substring(iwine-31,iwine-1)
iiwine=wtr_wine.indexOf('title="',0)
tr_wine[i]=wtr_wine.substring(iiwine+7,30)
}
imarble=el2[i].indexOf(' src="skin/resources/icon_marble.png"',0)
if (imarble>0) {
wtr_marble=el2[i].substring(imarble-31,imarble-1)
iimarble=wtr_marble.indexOf('title="',0)
tr_marble[i]=wtr_marble.substring(iimarble+7,30)
}
icrystal=el2[i].indexOf(' src="skin/resources/icon_glass.png"',0)
if (icrystal>0) {
wtr_crystal=el2[i].substring(icrystal-31,icrystal-1)
iicrystal=wtr_crystal.indexOf('title="',0)
tr_crystal[i]=wtr_crystal.substring(iicrystal+7,30)
}
isulfur =el2[i].indexOf(' src="skin/resources/icon_sulfur.png"',0)
if (isulfur>0) {
wtr_sulfur=el2[i].substring(isulfur-31,isulfur-1)
iisulfur=wtr_sulfur.indexOf('title="',0)
tr_sulfur[i]=wtr_sulfur.substring(iisulfur+7,30)
}
//////////*********** payload unità
for (k=0;k<15;k++) {
iunit=el2[i].indexOf(' src="'+xArmy[k],0)
if (iunit>0) {
wtr_unit=el2[i].substring(iunit-41,iunit-1)
iiunit=wtr_unit.indexOf('title="',0)
tr_unit[i][k]=wtr_unit.substring(iiunit+7,40)
}
}
}
//////////************** Crea una tabella cityNamY (e cityNumY) con le citta' non proprie
cityNamX=new Array ()
cityNumX=new Array ()
cityNamY=new Array ()
cityNumY=new Array ()
k=-1
for (i=0;i<target.length;i++) {
trov=0
for (j=0;j<cityName.length;j++) {
if (target[i]==cityName[j]) {
trov=1
break
}
}
if (trov==0) {
k++
cityNamX[k]=target[i]
cityNumX[k]=cityNum[i]
}
}
if (cityNamX.length>0) {
cityNamY[0]=cityNamX[0]
cityNumY[0]=cityNumX[0]
k=0
}
for (i=1;i<cityNamX.length;i++) {
trov=0
for (j=0;j<i;j++) {
if (cityNamX[i]==cityNamX[j]) {
trov=1
break
}
}
if (trov==0) {
k++
cityNamY[k]=cityNamX[i]
cityNumY[k]=cityNumX[i]
}
}
////////////********* Crea cityNamY exit
/////////////************ Loop (-j-) sulle città destinazione
for(j=0;j<cityName.length+cityNamY.length;j++) {
if (j<cityName.length) {
appo=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[j]))
}else {
appo=JSON.parse('{"name" : "'+cityNamY[j-cityName.length]+'"}')
appo.name=cityNamY[j-cityName.length]
}
memSource=new Array ()
memArrival=new Array ()
memChargeSt=new Array ()
memMission=new Array ()
memWood=new Array ()
memWine=new Array ()
memMarble=new Array ()
memCrystal=new Array ()
memSulfur=new Array ()
memTime=new Array ()
memTimeArr=new Array ()
memUnit=new Array ()
flag=0
kk=0
/////////////********* Loop (-i-) sulle missioni
for (i=0; i<elpay.length; i++) {
for (k=0;k<15;k++) {
memUnit[i]=new Array()
}
if (target[i]==cityName[j] || target[i]==cityNamY[j-cityName.length] ) {
if (target[i]==cityName[j]) {
flag=1
}else {
flag=2
}
if (ostile[i]==1) {
appo.hostile=1
}
memSource[kk]=source[i]
memArrival[kk]=arrival[i]
memChargeSt[kk]=chargeStatus[i]
memMission[kk]=mission[i]
memWood[kk]=tr_wood[i]
memWine[kk]=tr_wine[i]
memMarble[kk]=tr_marble[i]
memCrystal[kk]=tr_crystal[i]
memSulfur[kk]=tr_sulfur[i]
stringaTempo (memArrival[kk],myora,mymin,mysec)
memTime[kk]=parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
memTimeArr[kk]=parseInt(CompTime)+parseInt(memTime[kk])
for (k=0;k<15;k++) {
memUnit[kk][k]=tr_unit[i][k]
}
kk=kk+1
}
}
if (flag>0) {
if (flag==1) {
nomevar='citybuildings'+cityName[j]
}else {
nomevar='navyout'+cityNamY[j-cityName.length]
appo.cityIdX=cityNumY[j-cityName.length]
}
appo.source=memSource
appo.arrival=memArrival
appo.chargeSt=memChargeSt
appo.mission=memMission
appo.tr_wood=memWood
appo.tr_wine=memWine
appo.tr_marble=memMarble
appo.tr_crystal=memCrystal
appo.tr_sulfur=memSulfur
appo.timeArr=memTimeArr
appo.tr_unit=memUnit
myJSONText = JSON.stringify(appo)
setVar(nomevar,myJSONText)
}
}
}
}
//////////////////////////////////////
//////////////**************************** OTHERS VIEWS *********/////////////////////////////
if (view != 'finances' && view != 'cityMilitary' && view != 'merchantNavy') {
JSONcitydata.wood=document.getElementById("js_GlobalMenu_wood").firstChild.nodeValue
JSONcitydata.wine=document.getElementById("js_GlobalMenu_wine").firstChild.nodeValue
JSONcitydata.marble=document.getElementById("js_GlobalMenu_marble").firstChild.nodeValue
JSONcitydata.crystal=document.getElementById("js_GlobalMenu_crystal").firstChild.nodeValue
JSONcitydata.sulfur=document.getElementById("js_GlobalMenu_sulfur").firstChild.nodeValue
JSONcitydata.servertime=parseInt(CompTime)
elupgr=document.getElementById("buildingUpgrade")
if (elupgr) {
elh4=elupgr.getElementsByTagName("h4")
elres=elupgr.getElementsByClassName("resources")
strNeed=''
if (elres[0]) {
strNeed=elh4[0].firstChild.nodeValue+'\n'
}
nMat=''
nMarble=''
nGlt=''
nGlass=''
nSut=''
nSulfur=''
nWit=''
nWine=''
upbutton=document.getElementById("js_buildingUpgradeButton")
if (upbutton) {
nWo=elres[0].getElementsByClassName("wood")
nWot=nWo[0].title+' : '
nWood=nWo[0].childNodes[1].nodeValue+ '.....|\n'
nMa=elres[0].getElementsByClassName("marble")
if (nMa[0]) {
nMat=nMa[0].title+' : '
nMarble=nMa[0].childNodes[1].nodeValue+ '.....|\n'
}
nGl=elres[0].getElementsByClassName("glass")
if (nGl[0]) {
nGlt=nGl[0].title+' : '
nGlass=nGl[0].childNodes[1].nodeValue+ '.....|\n'
}
nSu=elres[0].getElementsByClassName("sulfur")
if (nSu[0]) {
nSut=nSu[0].title+' : '
nSulfur=nSu[0].childNodes[1].nodeValue+ '.....|\n'
}
nWi=elres[0].getElementsByClassName("wine")
if (nWi[0]) {
nWit=nWi[0].title+' : '
nWine=nWi[0].childNodes[1].nodeValue+ '.....|\n'
}
nTi=elres[0].getElementsByClassName("time")
if (nTi[0]) {
nTit=nTi[0].title+' : '
nTime=nTi[0].childNodes[1].nodeValue+ '\n'
}
}else {
strNeed='Max Level'
}
if (view=='townHall') {
ipos=0
}else {
eldow=elupgr.getElementsByClassName("downgrade")
elbut=eldow[0].getElementsByClassName("action_btn")
ix=elbut[0].href.indexOf('position=',0)
iy=elbut[0].href.indexOf('&',ix)
ipos=elbut[0].href.substring(ix+9,iy)
}
if (JSONcitydata.tipLevel && upbutton) {
JSONcitydata.tipLevel[ipos].upStr=strNeed
JSONcitydata.tipLevel[ipos].upWood=nWot+nWood
JSONcitydata.tipLevel[ipos].upMarble=nMat+nMarble
JSONcitydata.tipLevel[ipos].upGlass=nGlt+nGlass
JSONcitydata.tipLevel[ipos].upSulfur=nSut+nSulfur
JSONcitydata.tipLevel[ipos].upWine=nWit+nWine
JSONcitydata.tipLevel[ipos].upTime=nTit+nTime
}else {
JSONcitydata.tipLevel[ipos].upStr=strNeed
}
}
////************** CENTRO CITTA' **************////
if (view == 'townHall') {
JSONcitydata.PopulationGrowth=document.getElementById("js_TownHallPopulationGrowthValue").firstChild.nodeValue
JSONcitydata.servertimeGrowth=JSONcitydata.servertime
JSONcitydata.MaxInhabitants=document.getElementById("js_TownHallMaxInhabitants").firstChild.nodeValue
}
var myJSONText = JSON.stringify(JSONcitydata)
var JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
////////////////////********* MAGAZZINI *************///////////////////////////
if (view=='warehouse'){
xsafe=document.getElementsByClassName("capacitiesTableResult")
JSONcitydata.xsafe=xsafe[0].childNodes[3].innerHTML
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
///////////////////************** PORTI **************/////////////////////////////////////
if (view=='port'){
chtime=document.getElementById("js_loadingSpeedSumValue")
JSONcitydata.chtime=chtime.childNodes[0].nodeValue
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
/////////////////////************* ACCADEMIA *******************///////////////////////////////
if (view=='academy') {
elmac=document.getElementsByClassName("scientists")
elmac1=document.getElementById("valueWorkers")
elmac2=document.getElementById("valueResearch")
elmac3=document.getElementsByClassName("timeUnit")
JSONcitydata.scientists=elmac[0].firstChild.nodeValue+' '+elmac1.firstChild.nodeValue+
';\n'+trad(ctry,'Research')+': '+elmac2.firstChild.nodeValue+' '+elmac3[0].firstChild.nodeValue
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
//////////////////************** MUSEO ****************************////////////////////////////////
if (view=='museum') {
elmuse0=document.getElementsByClassName("goods")
elmuse1=elmuse0[0].getElementsByTagName("p")
strMus=s.serializeToString(elmuse1[0])
ix=strMus.indexOf('>',0)
iy=strMus.indexOf('<',ix)
strMus1=strMus.substring(ix+1,iy).trim()
ix=strMus.indexOf('/span>',0)
iy=strMus.indexOf('/span>',ix+1)
strMus2=strMus.substring(ix+6,iy-1).trim()
JSONcitydata.museum=strMus1+' '+strMus2
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
//////////////////************** TAVERNA ****************************////////////////////////////////
if (view=='tavern') {
/*
eltave0=document.getElementsByClassName("dropDownButton")
strTave=eltave0[1]
strTave1=strTave.getElementsByTagName("a")
strTave2=strTave1[0].firstChild.nodeValue
*/
eltavm=document.getElementById("wineAmount")
eltavm1=eltavm.getElementsByTagName("option")
eltavm2=eltavm1[eltavm1.length-1]
strTave3=eltavm2.firstChild.nodeValue
strTave4='\n(max = '+strTave3+')'
ix=strTave3.indexOf(' ',0)
strTave2=cityReduxUse[currentI]+' '+strTave3.substring(ix+1,strTave3.length)
JSONcitydata.tavern=strTave2+strTave4
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
//////////////////************** NASCONDIGLIO ****************************////////////////////////////////
if (view=='safehouse') {
JSONcitydata.movespy=null
JSONcitydata.arrspy=null
elspy=document.getElementsByClassName("spyinfo")
if (elspy[0]) {
tipspy=new Array()
arrspy=new Array()
sep=''
for (i=0;i<elspy.length;i++) {
if (i>0) {
sep='\n---------------------------\n'
}
strspy1=elspy[i].getElementsByClassName("city")[0].innerHTML
strspy2=elspy[i].getElementsByTagName("li")[1].innerHTML
strspy3=elspy[i].getElementsByClassName("status")[0].innerHTML
eltime=elspy[i].getElementsByClassName("time")[0].childNodes[2].nodeValue
/// replace per trim
tipspy[i]=sep+strspy2+' - '+strspy3+' - \n'+'==> '+strspy1.replace(/^\s+|\s+$/g,"")+' : '+eltime.replace(/^\s+|\s+$/g,"")+';'
strTempoExt (eltime,myday,myora,mymin,mysec)
aptime=parseInt(86400*myday)+parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
arrspy[i]=parseInt(CompTime)+parseInt(aptime)
}
JSONcitydata.movespy=tipspy
JSONcitydata.arrspy=arrspy
}
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
//////////////////************** OFFICINA ****************************////////////////////////////////
if (view=='workshop') {
JSONcitydata.Office=null
JSONcitydata.OfficeT=null
JSONcitydata.OfficeX=null
work0=document.getElementById("upgradeCountdown")
if (work0) {
work1=work0.parentNode.parentNode
arma=work1.firstChild.nodeValue.trim()
work2=work1.getElementsByTagName("p")
upgr=work2[0].firstChild.nodeValue
work3=s.serializeToString(document.getElementById("upgradeProgress"))
xpos=work3.indexOf("width: ",1)
ypos=work3.indexOf("%",xpos)
perc=work3.substring(xpos+7,ypos)
work4=work1.parentNode.parentNode.parentNode.parentNode
ww=s.serializeToString(work4)
//alert(ww)
xpos=ww.indexOf('div title="',1)
ypos=ww.indexOf('"',xpos+11)
unit=ww.substring(xpos+11,ypos)
ore=work4.getElementsByTagName("li")[2].innerHTML.replace('h','')
restime=parseInt(3600*ore*(1-perc/100))
artime=parseInt(CompTime)+restime
restim=tempoNorm(restime)
JSONcitydata.Office=unit+' : '+arma+'; '+upgr+'\n==> '+restim+' ('+parseInt(perc)+'%)'
JSONcitydata.OfficeT=artime
JSONcitydata.OfficeX=ore
}
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
//////////////////************** CASERMA o CANTIERE NAVALE ****************************///////////////
if (view=='barracks' || view=='shipyard') {
if (view=='barracks') {
JSONcitydata.upArmy=null
JSONcitydata.upArmyT=null
JSONcitydata.upArmyX=null
}else {
JSONcitydata.SupArmy=null
JSONcitydata.SupArmyT=null
JSONcitydata.SupArmyX=null
}
elclist=document.getElementById("unitConstructionList")
if (elclist) {
elclist1=elclist.childNodes[1].innerHTML.replace(':','') ///"In costruzione :"
elcarmyT=elclist.getElementsByClassName("army_wrapper")
elcarmyN=elclist.getElementsByClassName("unitcounttextlabel")
elctime=document.getElementById("buildCountDown")
elcbloc=elclist.getElementsByClassName("constructionBlock")
elcperc=document.getElementById("buildProgress").title
elclist1=elclist1+'('+elcperc+')'
elcperc=1-elcperc.replace('%','')/100
elctim=elctime.innerHTML
strTempoExt (elctim,myday,myora,mymin,mysec)
aptime=parseInt(86400*myday)+parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
totime=parseInt(aptime/elcperc)
arTime=new Array()
arTime[0]=parseInt(CompTime)+parseInt(aptime)
lqueue=0
if (elcbloc) {
strbloc=''
for (i=0;i<elcbloc.length;i++) {
h4=elcbloc[i].getElementsByTagName("h4")
xspan=h4[0].getElementsByTagName("span")
qdes=h4[0].firstChild.nodeValue //"In coda - n"
qtime=xspan[0].firstChild.nodeValue //Tempo di coda
strTempoExt (qtime,myday,myora,mymin,mysec)
aptime=parseInt(86400*myday)+parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
arTime[i+1]=parseInt(CompTime)+parseInt(aptime)
elbarmyT=elcbloc[i].getElementsByClassName("army_wrapper")
elbarmyN=elcbloc[i].getElementsByClassName("unitcounttextlabel")
strbarm=''
for (j=0;j<elbarmyT.length;j++) {
lqueue++
elbarmT=elbarmyT[j].title
elbarmN=elbarmyN[j].firstChild.nodeValue+';'
strbarm+=elbarmT+' : '+elbarmN+'\n'
}
strbloc+='---------------------------\n'+qdes+'==>\n'+qtime+';\n'+strbarm
}
}
strcarm=''
for (i=0;i<elcarmyT.length-lqueue;i++) {
elcarmT=elcarmyT[i].title
elcarmN=elcarmyN[i].firstChild.nodeValue+';'
strcarm+=elcarmT+' : '+elcarmN+'\n'
}
if (view=='barracks') {
JSONcitydata.upArmy=elclist1+' ==> '+elctim+';\n'+strcarm+strbloc
JSONcitydata.upArmyT=arTime
JSONcitydata.upArmyX=totime
}else {
JSONcitydata.SupArmy=elclist1+' ==> '+elctim+';\n'+strcarm+strbloc
JSONcitydata.SupArmyT=arTime
JSONcitydata.SupArmyX=totime
}
}
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
////////////////////**************** FORTEZZA PIRATA **************///////////////////////////////
if (view=='pirateFortress') {
JSONcitydata.Piracy=null
JSONcitydata.PiracyT=null
elpira=document.getElementsByClassName("pirateHeader")
elpoint=elpira[0].getElementsByClassName("capturePoints")[0]
tpoint=elpira[0].getElementsByClassName("textLabel")[0].innerHTML
ppoint=elpira[0].getElementsByClassName("value")[0].innerHTML
tequip=elpira[0].getElementsByClassName("textLabel")[1].innerHTML
pequip=elpira[0].getElementsByClassName("value")[6].innerHTML
ntime=elpira[0].getElementsByClassName("time")[0]
ttime=ntime.getElementsByClassName("textLabel")[0].innerHTML
ptime=ntime.getElementsByClassName("value")[0].innerHTML
strTempoExt (ptime,myday,myora,mymin,mysec)
aptime=parseInt(86400*myday)+parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
artime=parseInt(CompTime)+aptime
restim=tempoNorm(aptime)
JSONcitydata.Piracy=tpoint+' '+ppoint+'\n'+tequip+' '+pequip+'\n'+ttime+' ==> '+ptime+';'
JSONcitydata.PiracyT=artime
myJSONText = JSON.stringify(JSONcitydata)
JSONcity = JSON.parse(myJSONText)
setVar("citybuildings"+currentCity,myJSONText)
}
////////////////////**************** RESEARCH ADVISOR **************///////////////////////////////
if (view=='researchAdvisor') {
elrese=document.getElementById("js_researchAdvisorScientists")
if (elrese) {
elreset=document.getElementsByClassName("scientists")
elrese1=document.getElementById("js_researchAdvisorPoints")
elrese1t=document.getElementsByClassName("points")
elrese2=document.getElementById("js_researchAdvisorTime")
elrese2t=document.getElementsByClassName("time")
resdata=elreset[0].firstChild.nodeValue+' '+elrese.firstChild.nodeValue+ ';\n'+
elrese1t[0].firstChild.nodeValue+' '+elrese1.firstChild.nodeValue+ ';\n'+
elrese2t[0].firstChild.nodeValue+' '+elrese2.firstChild.nodeValue
setVar ("research",resdata)
setVar ("timeRes",a0(CompTime)+'"')
}
}
////////////////////**************** FALEGNAMERIA e CAVE **************///////////////////////////////
if (view=='resource' || view=='tradegood') {
elrich=document.getElementsByClassName("dynamic resUpgrade")
elliv1=elrich[0].getElementsByTagName("p")[0].firstChild.nodeValue
elliv2=elrich[0].getElementsByTagName("p")[1].firstChild.nodeValue
elric1=elrich[0].getElementsByTagName("h4")[0].firstChild.nodeValue
//quando è in upgrading
/*
<div class="headline bold center is_upgrading margin10">Wird ausgebaut!</div>
<h4 class="bold center">Nächste Stufe: 6</h4>
<div class="progressbar margin10center"><div class="bar" id="upgradeProgress" title="17%" style="width: 17%;"></div></div>
<div class="center" id="upgradeCountDown">1h 16m</div>
*/
finishx='0'
elupd1=''
totime=''
if (elrich[0].getElementsByTagName("li")[0]) {
elric2=elrich[0].getElementsByTagName("li")[0].firstChild.nodeValue
eldis1=elrich[0].getElementsByTagName("h4")[1].firstChild.nodeValue
eldis2=elrich[0].getElementsByTagName("li")[1].firstChild.nodeValue
string0=elliv1+'==> '+elliv2+'\n'+elric1+'==> '+elric2+'\n'+eldis1+'==> '+eldis2+'\n'+'-----------------------------\n'
}else {
elupd1=document.getElementById("upgradeProgress").title
elupd2=document.getElementById("upgradeCountDown").firstChild.nodeValue
strTempoExt (elupd2,myday,myora,mymin,mysec)
aptime=parseInt(86400*myday)+parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
finishx=parseInt(CompTime)+parseInt(aptime)
perc=1-elupd1.replace('%','')/100
totime=parseInt(aptime/perc)
string0=elliv1+'==> '+elliv2+'\n'+elric1+'\n'+xSp1+elupd1+' ==> '+'['+elupd2+']\n'+'-----------------------------\n'
}
elreso=document.getElementById("resourceUsers")
eluser=elreso.getElementsByClassName("ownerName")
inumb=eluser.length
if (inumb>1) {
eltown=elreso.getElementsByClassName("cityName")
elleve=elreso.getElementsByClassName("cityLevel")
elwork=elreso.getElementsByClassName("cityWorkers")
eldona=elreso.getElementsByClassName("ownerDonation")
user=new Array()
town=new Array()
leve=new Array()
work=new Array()
dona=new Array()
umax=tmax=lmax=wmax=dmax=0
//campo=new Array(20).join("0").concat('oiu') //prova padding
//alert (campo)
for (i=0;i<inumb;i++) {
user[i]=eluser[i].innerHTML
if (user[i]==' ') {
user[i]=user[i-1]
}
town[i]=eltown[i].firstChild.nodeValue
leve[i]=elleve[i].firstChild.nodeValue
work[i]=elwork[i].firstChild.nodeValue
if (eldona[i].firstChild) {
dona[i]=eldona[i].firstChild.nodeValue
}else {
dona[i]='******'
}
if (umax<user[i].length) {umax=user[i].length}
if (tmax<town[i].length) {tmax=town[i].length}
if (lmax<leve[i].length) {lmax=leve[i].length}
if (wmax<work[i].length) {wmax=work[i].length}
if (dmax<dona[i].length) {dmax=dona[i].length}
}
string=string1=''
for (i=0;i<inumb;i++) {
string1+=user[i]+' -'+new Array(umax+1-user[i].length).join(xSp1)+
town[i]+' -'+new Array(tmax+1-town[i].length).join(xSp1)+
leve[i]+' -'+new Array(lmax+2-leve[i].length).join(xSp1)+
work[i]+new Array(wmax+2-work[i].length).join(xSp1)+
'==> '+dona[i]+'\n' //new Array(dmax+3-dona[i].length).join(xSp1)+'\n'
}
setVar(view+JSONcitys[currentI].islandId,string0+string1+'finish='+finishx+'|'+elupd1+totime)
}
}
//////////////////////////////////////******** MILITARY ADVISOR ***********/////////////////////////////
if (view=='militaryAdvisor') {
//////// Inizializza le missioni
for(i=0;i<cityName.length;i++){
appo=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[i]))
appo.sourceN=null
appo.arrivalN=null
appo.missionN=null
appo.chargeStN=null
appo.Units=null
appo.TipNavy=null
appo.NumNavy=null
appo.NumShip=null
appo.timeArrN=null
appo.friend=null
appo.hostile=null
myJSONText = JSON.stringify(appo)
setVar("citybuildings"+cityName[i],myJSONText)
}
///// cancella le citta' non proprie
GMlista=GM_listValues ()
strDel=document.location.host+'armyout'
for (i=0;i<GMlista.length;i++) {
if (GMlista[i].indexOf(strDel,0)>=0) {
GM_deleteValue(GMlista[i])
}
}
wcountArmy=new Array ()
for (var k = 0; k < 26; k++) {
wcountArmy[k]=0
}
////////////////// check missioni
elnavy=document.getElementsByClassName("mission_icon deployfleet")
elarmy=document.getElementsByClassName("mission_icon deployarmy")
eldefen=document.getElementsByClassName("mission_icon defend_port")
eldefci=document.getElementsByClassName("mission_icon defend")
elblock=document.getElementsByClassName("mission_icon blockade")
elplund=document.getElementsByClassName("mission_icon plunder")
eloccup=document.getElementsByClassName("mission_icon occupy")
elpraid=document.getElementsByClassName("mission_icon piracyRaid")
if (elnavy && elnavy[0] != null ||
elarmy && elarmy[0] != null ||
eldefen && eldefen[0] != null ||
eldefci && eldefci[0] != null ||
elblock && elblock[0] != null ||
elplund && elplund[0] != null ||
eloccup && eloccup[0] != null
|| elpraid && elpraid[0]
) {
strNavy= new Array()
arrival=new Array()
chargeStN=new Array()
units=new Array()
source=new Array()
cityNum=new Array()
target=new Array()
elMission=new Array()
NumNavy=new Array()
strN=new Array()
len1=elnavy.length //distribuisci flotta
len2=len1+elarmy.length //distribuisci esercito
len3=len2+eldefen.length //difendi porto
len4=len3+eldefci.length //difendi città
len5=len4+elblock.length //blocca porto
len6=len5+elplund.length //saccheggia
len7=len6+eloccup.length //occupa città
len8=len7+elpraid.length //raid pirata
for (i=0;i<len8;i++) {
chargeStN[i]=0
if (i<len1) {
elmiss=elnavy[i].parentNode.parentNode
}else {
if (i<len2) {
elmiss=elarmy[i-len1].parentNode.parentNode
}else {
if (i<len3) {
elmiss=eldefen[i-len2].parentNode.parentNode
}else {
if (i<len4) {
elmiss=eldefci[i-len3].parentNode.parentNode
}else {
if (i<len5) {
elmiss=elblock[i-len4].parentNode.parentNode
}else {
if (i<len6) {
elmiss=elplund[i-len5].parentNode.parentNode
}else {
if (i<len7) {
elmiss=eloccup[i-len6].parentNode.parentNode
}else {
elmiss=elpraid[i-len7].parentNode.parentNode
}
}
}
}
}
}
}
strNavy[i]=s.serializeToString(elmiss)
/////////////////************************** tempo di arrivo (arrival)
ix=strNavy[i].indexOf('ArrivalTime',0)
iy=strNavy[i].indexOf('"',ix)
ix=strNavy[i].indexOf('id="',ix-42)
evid=strNavy[i].substring(ix+4,iy)
arrival[i]=document.getElementById(evid).firstChild.nodeValue
/////////////////************************** Unità generiche (units)
ix=strNavy[i].indexOf('Units',0)
if (ix==-1) {
units[i]='------'
}else {
iy=strNavy[i].indexOf('</div>',ix)
units[i]=strNavy[i].substring(ix+7,iy)
}
/////////////////************************** Città di partenza (source)
ix=strNavy[i].indexOf('OriginLink',0)
iy=strNavy[i].indexOf('>',ix)
iz=strNavy[i].indexOf('<',iy)
source[i]=strNavy[i].substring(iy+1,iz)
////**************** Stato ("caricamento","in corso",o "annullato)
arrow=elmiss.getElementsByClassName("mission arrow_right")
if (arrow[0]) {
chargeStN[i]=1
}else {
arrow=elmiss.getElementsByClassName("mission arrow_left_green")
if (arrow[0]) {
chargeStN[i]=3
}
}
/////////////////************************** Città e Id di arrivo (target e cityNum)
ix=strNavy[i].indexOf('TargetLink',0)
if (ix==-1) {
target[i]='?????'
cityNum[i]='!!!!!'
}else {
iy=strNavy[i].indexOf('>',ix)
iz=strNavy[i].indexOf('<',iy)
target[i]=strNavy[i].substring(iy+1,iz)
ix=ix-70
iy=strNavy[i].indexOf('cityId=',ix)
iz=strNavy[i].indexOf('"',iy)
cityNum[i]=strNavy[i].substring(iy+7,iz)
}
/////////////////************************** Nome missione (elMission)
ix=strNavy[i].indexOf('Mission"',0)
iy=strNavy[i].indexOf('OriginAvatar',0)
iz=strNavy[i].indexOf('js_Military',iy)
idMission=strNavy[i].substring(iz,ix+7)
elMission[i]=document.getElementById(idMission).title
/////////////////*********************** Nome e numero delle unità di dettaglio (strN e NumNavy)
ix=strNavy[i].indexOf('UnitDetails',0)
iy=strNavy[i].indexOf('Tooltip"',0)
iz=strNavy[i].indexOf('js_Military',iy)
idDetail=strNavy[i].substring(iz,ix+11)
NumNavy[i]=new Array()
strN[i]=new Array()
elDetail=document.getElementById(idDetail)
if (elDetail) {
collection=elDetail.childNodes
for (k=0;k<collection.length;k++) {
strN0=s.serializeToString(elDetail.childNodes[k])
ix=strN0.indexOf('class=',0)
iy=strN0.indexOf('">',ix)
strN[i][k]=strN0.substring(ix+7,iy)
strN[i][k]=strN[i][k].replace('unit_detail_icon floatleft icon40 bold center ','')
NumNavy[i][k]=elDetail.childNodes[k].innerHTML
}
}else {
NumNavy[i]='??'
strN[i]='?????'
}
}
///////////////////////************ Fine loop sulle missioni
//////////************** Crea una tabella cityNamY (e cityNumY) con le citta' non proprie
target0=new Array ()
cityNum0=new Array ()
cityNamX=new Array ()
cityNumX=new Array ()
cityNamY=new Array ()
cityNumY=new Array ()
/// il deployfleet può andare al contrario a partire da un porto occupato
/// in quel caso un città non propria (target di ritorno) può ricadere prima di len2
///pertanto si sostituiscono le istruzioni che seguono (tenere sotto controllo)
/*
for (i=0;i<len7-len2;i++) {
target0[i]=target[i+len2]
cityNum0[i]=cityNum[i+len2]
}
*/
for (i=0;i<len8;i++) {
target0[i]=target[i]
cityNum0[i]=cityNum[i]
}
if (target0.length>0) {
cityNamX[0]=target0[0]
cityNumX[0]=cityNum0[0]
k=0
}
for (i=1;i<target0.length;i++) {
trov=0
for (j=0;j<i;j++) {
if (target0[i]==cityNamX[j]) {
trov=1
break
}
}
if (trov==0) {
k++
cityNamX[k]=target0[i]
cityNumX[k]=cityNum[i]
}
}
//// qualche città propria potrebbe trovarsi tra len2 e len4 : la si elimina copiando da cityNamX a cityNamY
k=-1
for (i=0;i<cityNamX.length;i++) {
trov=0
for (j=0;j<cityName.length;j++) {
if (cityNamX[i]==cityName[j]) {
trov=1
break
}
}
if (trov==0) {
k++
cityNamY[k]=cityNamX[i]
cityNumY[k]=cityNumX[i]
}
}
////////////********* Crea cityNamY exit
////////////****** Loop (-j-) sulle città, proprie e non, di destinazione delle missioni
for(j=0;j<cityName.length+cityNamY.length;j++) {
if (j<cityName.length) {
appo=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[j]))
}else {
appo=JSON.parse('{"name" : "'+cityNamY[j-cityName.length]+'"}')
appo.name=cityNamY[j-cityName.length]
}
memSource=new Array ()
memUnits=new Array ()
memNumUnit=new Array ()
memTipUnit=new Array ()
memNumShip=new Array ()
memArrival=new Array ()
memChargeStN=new Array ()
memMission=new Array ()
memTime=new Array ()
memTimeArr=new Array ()
flag=0
kk=0
////////////******** Loop (-i-) sulle missioni verso ciascuna città
for (i=0; i<len8; i++) {
for (k=0;k<26;k++) {
memNumUnit[i]=new Array ()
memTipUnit[i]=new Array ()
}
if (target[i]==cityName[j] || target[i]==cityNamY[j-cityName.length] ) {
if (target[i]==cityName[j]) {
flag=1
}else {
flag=2
}
if (i<len4) {
appo.friend=1 /// attività amichevoli
}else {
appo.hostile=1 /// attività ostili
}
memSource[kk]=source[i]
memUnits[kk]=units[i]
memArrival[kk]=arrival[i]
memChargeStN[kk]=chargeStN[i]
memMission[kk]=elMission[i]
stringaTempo (memArrival[kk],myora,mymin,mysec)
memTime[kk]=parseInt(3600*myora)+parseInt(60*mymin)+parseInt(mysec)
memTimeArr[kk]=parseInt(CompTime)+parseInt(memTime[kk])
if (strN[i][0]=='ship_transport') {
memNumShip[kk]=NumNavy[i][0]
}
////***** Loop (-k-) sulle unità di dettaglio di ciascuna missione
for (k=0;k<26;k++) {
//// indice dell'unità in viaggio
if (strN[i][k]>' ' && strN[i][k] !='ship_transport') {
mm=tindex(strN[i][k])
memNumUnit[kk][mm]=NumNavy[i][k]
memTipUnit[kk][mm]=strN[i][k]
}
}
kk=kk+1
}
}
if (flag>0) {
if (flag==1) {
nomevar='citybuildings'+cityName[j]
}else {
nomevar='armyout'+cityNamY[j-cityName.length]
appo.cityIdX=cityNumY[j-cityName.length]
appo.countArmy=wcountArmy
}
appo.sourceN=memSource
appo.Units=memUnits
appo.arrivalN=memArrival
appo.chargeStN=memChargeStN
appo.missionN=memMission
appo.timeArrN=memTimeArr
appo.NumNavy=memNumUnit
appo.NumShip=memNumShip
appo.TipNavy=memTipUnit
myJSONText = JSON.stringify(appo)
setVar(nomevar,myJSONText)
}
}
}
}
//////////////////////////////
/////////////******************************** FINANCES ********************////////////////////////
if (view =='finances') {
var element=document.getElementById("finances");
var el1=element.getElementsByClassName("table01 border upkeepReductionTable")
var el2=el1[2]
var el2Str = s.serializeToString(el2)
var in1=el2Str.indexOf('"hidden bold"',0)
var in2=el2Str.indexOf('<',in1)
var goldHour=el2Str.substr(in1+14,in2-in1-14)
if (!goldHour) {
in2=el2Str.indexOf('<',in1+15)
goldHour=el2Str.substr(in1+37,in2-in1-37)}
// ZONA TEST
/*
xCSS='@import "http://' + document.location.host + '/skin/compiled-it-island-0.5.1.1.css"'
insCSS(xCSS)
getHead = document.getElementsByTagName("HEAD")[0];
alert(s.serializeToString(getHead))
//GM_log (JSON.stringify(JSONcitydata))
//*** per i test su xmlhttpRequest
//GM_xmlhttpRequest({
// method: "GET",
//url: "http://s3.it.ikariam.com/index.php?view=city&oldBackgroundView=city&mainbox_x=274&mainbox_y=0&mainbox_z=5&sidebar_x=45&sidebar_y=0&sidebar_z=170&containerWidth=1037px&containerHeight=889px&worldviewWidth=1037px&worldviewHeight=843px&cityTop=-180px&cityLeft=-1933px&cityRight=&cityWorldviewScale=0.8/",
// onload: function(response) {
// GM_log(response.responseText)
// alert(response.responseText);
// }
//})
// per i test sul parser
var strXml= '<tr>aaaa</tr><tr>bbbbbbbbbbbbb</tr>'
var parser = new DOMParser();
var docu = parser.parseFromString(strXml, "application/xml")
str=s.serializeToString(docu) //.childNodes[1].childNodes[2])
alert (str)
*/
// FINE ZONA TEST
banner = (element.childNodes[1].childNodes[1].childNodes[0].childNodes[0]); //check for add_banner above table
b=0;
if(banner){ // if banner all nodes are shifted 2 up
b=1;
}
for(i=0;i<cityName.length;i++){
var test = GM_getValue(document.location.host+"citybuildings"+cityName[i]);
if(test) {
JSONcitys[i]=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[i]));
j=i*2;
JSONcitys[i].Bruto = (element.childNodes[1].childNodes[1].childNodes[7+b].childNodes[1].childNodes[j+2].childNodes[3].innerHTML);
JSONcitys[i].ScienceCost = (element.childNodes[1].childNodes[1].childNodes[7+b].childNodes[1].childNodes[j+2].childNodes[5].childNodes[0].innerHTML);
JSONcitys[i].Netto = (element.childNodes[1].childNodes[1].childNodes[7+b].childNodes[1].childNodes[j+2].childNodes[7].innerHTML);
JSONcitys[i].goldHour=goldHour
var myJSONText = JSON.stringify(JSONcitys[i]); //convert back to string for storage
var JSONcity = JSON.parse(myJSONText); // convert to JSON for use in program , If program fails here there is an error in the string
setVar("citybuildings"+cityName[i],myJSONText); // store the data for the city
}else{
}
}
}
//////////////////////////////////////////////////
/////////////////////******************** CITYMILITARY **********//////////////////////////////////////
if (view == 'cityMilitary'){
//window.location.reload()
//window.parent.frames[1].location.reload()
var element=document.getElementById("tabUnits");
////////////////////////////////////////////////////////////////////////////////////////////////
//* blocco di istruzioni per reperire, in maniera alternativa, nomi e numero di unita' - xnome e xcont
//
xnome= new Array ()
xcont=new Array()
e=element.getElementsByClassName("table01")
d0=e[0].getElementsByClassName("title_img_row")
e0=e[0].getElementsByClassName("count")
d00=d0[0].getElementsByTagName("th")
e00=e0[0].getElementsByTagName("td")
d1=e[1].getElementsByClassName("title_img_row")
e1=e[1].getElementsByClassName("count")
d10=d1[0].getElementsByTagName("th")
e10=e1[0].getElementsByTagName("td")
d2=e[2].getElementsByClassName("title_img_row")
e2=e[2].getElementsByClassName("count")
d20=d2[0].getElementsByTagName("th")
e20=e2[0].getElementsByTagName("td")
for (j=0; j<d00.length; j++) {
xnome[j]=d00[j].title
xcont[j]=e00[j].childNodes[0].nodeValue
}
k=j
for (j=0; j<d10.length; j++) {
xnome[k]=d10[j].title
xcont[k]=e10[j].childNodes[0].nodeValue
k=k+1
}
m=k
for (j=0; j<d20.length; j++) {
xnome[m]=d20[j].title
xcont[m]=e20[j].childNodes[0].nodeValue
m=m+1
}
var element=document.getElementById("tabShips");
e=element.getElementsByClassName("table01")
d0=e[0].getElementsByClassName("title_img_row")
e0=e[0].getElementsByClassName("count")
d00=d0[0].getElementsByTagName("th")
e00=e0[0].getElementsByTagName("td")
d1=e[1].getElementsByClassName("title_img_row")
e1=e[1].getElementsByClassName("count")
d10=d1[0].getElementsByTagName("th")
e10=e1[0].getElementsByTagName("td")
for (j=0; j<d00.length; j++) {
xnome[m]=d00[j].title
xcont[m]=e00[j].childNodes[0].nodeValue
m=m+1
}
for (j=0; j<d10.length; j++) {
xnome[m]=d10[j].title
xcont[m]=e10[j].childNodes[0].nodeValue
m=m+1
}
// fine blocco di istruzioni alternative
///////////////////////////////////////////////////////////////////////////////////////////
/*
banner = (element.childNodes[1].childNodes[1].childNodes[0].childNodes[0]); //check for add_banner above table
b=0;
if(banner){ // if banner all nodes are shifted 2 up
b=2;
}
///////////// Imposta e salva le unita' militari
var elem= new Array(2);
elem[0]=document.getElementById("tabUnits");
elem[1]=document.getElementById("tabShips");
var ind3=new Array (1,1,1,1,1,1,1,3,3,3,3,3,3,3,1,1,1,1,1,1,3,3,3,3,3);
var ind6=new Array (1,3,5,7,9,11,13,1,3,5,7,9,11,13,1,3,5,7,9,11,1,3,5,7,9);
for (k=0; k<25; k++) {
var j = parseInt(k/14);
nameArmy[k] = elem[j].childNodes[1].childNodes[3].childNodes[ind3[k]].childNodes[1].childNodes[0].childNodes[ind6[k]].title;
countArmy[k]=elem[j].childNodes[1].childNodes[3].childNodes[ind3[k]].childNodes[1].childNodes[2].childNodes[ind6[k]].firstChild.nodeValue;
}
*/
for (k=0; k<26; k++) {
nameArmy[k] = xnome[k];
countArmy[k]= xcont[k];
}
JSONcitydata.nameArmy=nameArmy;
JSONcitydata.countArmy=countArmy;
var myJSONText = JSON.stringify(JSONcitydata); //convert back to string for storage
var JSONcity = JSON.parse(myJSONText); // convert to JSON for use in program , If program fails here there is an error in the string
setVar("citybuildings"+currentCity,myJSONText); // store the data for the city
}
////////////////////////////////////////
//////////////////// ALL VIEWS
///reload all on array
for(i=0;i<cityName.length;i++){
var test = GM_getValue(document.location.host+"citybuildings"+cityName[i]);
if(test) {
JSONcitys[i]=JSON.parse(GM_getValue(document.location.host+"citybuildings"+cityName[i]));
}else{
//GM_log(i+' '+cityName[i] +'Error! citydata not found , visit city to get data');
}
}
///////////////////////////////////////
cargar_dealers(); // update display
}
///// TRADUZIONI IN ALTRE LINGUE
function trad(paese,stringa) {
switch (stringa) {
case 'http://ikariam.wikia.com/wiki/Main_Page' :
switch (paese) {
case 'it' :
return 'http://it.ikariam.wikia.com/wiki/Ikariam_Wiki'
break
case 'fr' :
return 'http://fr.ikariam.wikia.com/wiki/Accueil'
break
case 'de' :
return 'http://de.ikariam.wikia.com/wiki/Ikariam-_Wiki'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'http://es.ikariam.wikia.com/wiki/Portada'
break
case 'br' :
case 'pt' :
return 'http://pt.ikariam.wikia.com/wiki/Página_principal'
break
default :
return stringa
break
}
break
case 'Towns' :
switch (paese) {
case 'it' :
return 'Città'
break
case 'fr' :
return 'Villes'
break
case 'de' :
return 'Städte'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Ciudades'
break
case 'br' :
case 'pt' :
return 'Cidades'
break
default :
return stringa
break
}
case 'city' :
switch (paese) {
case 'it' :
return 'città'
break
case 'fr' :
return 'ville'
break
case 'de' :
return 'städte'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'ciudad'
break
case 'br' :
case 'pt' :
return 'cidade'
break
default :
return stringa
break
}
break
case 'Total' :
switch (paese) {
case 'it' :
return 'Totale'
break
case 'fr' :
return 'Total'
break
case 'de' :
return 'Gesamt'
break
default :
return stringa
break
}
break
case 'Total/day' :
switch (paese) {
case 'it' :
return 'Totale/giorno'
break
case 'fr' :
return 'Total/jour'
break
case 'de' :
return 'Gesamt/tag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Total/día'
break
case 'br' :
case 'pt' :
return 'Total/dia'
break
default :
return stringa
break
}
break
case 'Show Buildings' :
switch (paese) {
case 'it' :
return 'Mostra Edifici'
break
case 'fr' :
return 'Montrer bâtiments'
break
case 'de' :
return 'Zeige Gebäude'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mostrar Edificios'
break
case 'br' :
case 'pt' :
return 'Mostrar Edifícios'
break
default :
return stringa
break
}
break
case 'Hide Buildings' :
switch (paese) {
case 'it' :
return 'Nascondi Edifici'
break
case 'fr' :
return 'Cacher bâtiments'
break
case 'de' :
return 'Verberge Gebäude'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Ocultar Edificios'
break
case 'br' :
case 'pt' :
return 'Esconder Edifícios'
break
default :
return stringa
break
}
break
case 'Show Resources' :
switch (paese) {
case 'it' :
return 'Mostra Risorse'
break
case 'fr' :
return 'Montrer Ressources'
break
case 'de' :
return 'Zeige Ressourcen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mostrar Recursos'
break
case 'br' :
case 'pt' :
return 'Mostrar Recursos'
break
default :
return stringa
break
}
break
case 'Hide Resources' :
switch (paese) {
case 'it' :
return 'Nascondi Risorse'
break
case 'fr' :
return 'Cacher Ressources'
break
case 'de' :
return 'Verberge Ressourcen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Ocultar Recursos'
break
case 'br' :
case 'pt' :
return 'Esconder Recursos'
break
default :
return stringa
break
}
break
case 'Show Army' :
switch (paese) {
case 'it' :
return 'Mostra Armate'
break
case 'fr' :
return 'Montrer Armée'
break
case 'de' :
return 'Zeige Armee'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mostrar Milicia'
break
case 'br' :
case 'pt' :
return 'Mostrar Exército'
break
default :
return stringa
break
}
break
case 'Hide Army' :
switch (paese) {
case 'it' :
return 'Nascondi Armate'
break
case 'fr' :
return 'Cacher Armée'
break
case 'de' :
return 'Verberge Armee'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Ocultar Milicia'
break
case 'br' :
case 'pt' :
return 'Esconder Exército'
break
default :
return stringa
break
}
break
case 'Reset Data' :
switch (paese) {
case 'it' :
return 'Reinizializzazione'
break
case 'fr' :
return 'Réinitialiser'
break
case 'de' :
return 'Daten zurücksetzen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Restablecer los datos'
break
case 'br' :
case 'pt' :
return 'Restaurar dados'
break
default :
return stringa
break
}
break
case 'Show Town' :
switch (paese) {
case 'it' :
return 'Mostra Città'
break
case 'fr' :
return 'Montrer la ville'
break
case 'de' :
return 'Zeige Stadt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mostrar Ciudad'
break
case 'br' :
case 'pt' :
return 'Mostrar Cidade'
break
default :
return stringa
break
}
break
case 'Show Island' :
switch (paese) {
case 'it' :
return "Mostra Isola"
break
case 'fr' :
return "Montrer l'île"
break
case 'de' :
return 'Zeige Insel'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mostrar Isla'
break
case 'br' :
case 'pt' :
return 'Mostrar Ilha'
break
default :
return stringa
break
}
break
case 'Show World' :
switch (paese) {
case 'it' :
return 'Mostra Mondo'
break
case 'fr' :
return 'Montrer le monde'
break
case 'de' :
return 'Zeige Weltkarte'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mostrar Mundo'
break
case 'br' :
case 'pt' :
return 'Mostrar Mundo'
break
default :
return stringa
break
}
break
case 'Monday' :
switch (paese) {
case 'it' :
return 'Lunedi'
break
case 'fr' :
return 'Lundi'
break
case 'de' :
return 'Montag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Lunes'
break
case 'br' :
case 'pt' :
return 'Segunda-feira'
break
default :
return stringa
break
}
break
case 'Tuesday' :
switch (paese) {
case 'it' :
return 'Martedi'
break
case 'fr' :
return 'Mardi'
break
case 'de' :
return 'Dienstag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Martes'
break
case 'br' :
case 'pt' :
return 'Terça-feira'
break
default :
return stringa
break
}
break
case 'Wednesday' :
switch (paese) {
case 'it' :
return 'Mercoledi'
break
case 'fr' :
return 'Mercredi'
break
case 'de' :
return 'Mittwoch'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Miércoles'
break
case 'br' :
case 'pt' :
return 'Quarta-feira'
break
default :
return stringa
break
}
break
case 'Thursday' :
switch (paese) {
case 'it' :
return 'Giovedi'
break
case 'fr' :
return 'Jeudi'
break
case 'de' :
return 'Donnerstag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Jueves'
break
case 'br' :
case 'pt' :
return 'Quinta-feira'
break
default :
return stringa
break
}
break
case 'Friday' :
switch (paese) {
case 'it' :
return 'Venerdi'
break
case 'fr' :
return 'Vendredi'
break
case 'de' :
return 'Freitag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Viernes'
break
case 'br' :
case 'pt' :
return 'Sexta-feira'
break
default :
return stringa
break
}
break
case 'Saturday' :
switch (paese) {
case 'it' :
return 'Sabato'
break
case 'fr' :
return 'Samedi'
break
case 'de' :
return 'Samstag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Sábado'
break
case 'br' :
case 'pt' :
return 'Sábado'
break
default :
return stringa
break
}
break
case 'Sunday' :
switch (paese) {
case 'it' :
return 'Domenica'
break
case 'fr' :
return 'Dimanche'
break
case 'de' :
return 'Sonntag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Domingo'
break
case 'br' :
case 'pt' :
return 'Domingo'
break
default :
return stringa
break
}
break
case 'day' :
switch (paese) {
case 'it' :
return 'giorno'
break
case 'fr' :
return 'jour'
break
case 'de' :
return 'tag'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'día'
break
case 'br' :
case 'pt' :
return 'dia'
break
default :
return stringa
break
}
break
case 'week' :
switch (paese) {
case 'it' :
return 'settimana'
break
case 'fr' :
return 'semaine'
break
case 'de' :
return 'woche'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'semana'
break
case 'br' :
case 'pt' :
return 'semana'
break
default :
return stringa
break
}
break
case 'at' :
switch (paese) {
case 'it' :
return 'alle'
break
case 'fr' :
return 'à'
break
case 'de' :
return 'um'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'a'
break
case 'br' :
case 'pt' :
return 'às'
break
default :
return stringa
break
}
break
case 'D' :
switch (paese) {
case 'it' :
return 'G'
break
case 'fr' :
return 'J'
break
case 'de' :
return 'T'
break
default :
return stringa
break
}
break
case 'Merchant ships overview and control'+
'\n____________________________________'+
'\nyellow=loading goods/troops'+
'\nred=loading finished'+
'\nblue=goods/troops in transit'+
'\ngreen=goods/troops arrived' :
switch (paese) {
case 'it' :
return 'Riepilogo e controllo delle navi mercantili'+
'\n________________________________________________'+
'\ngiallo=carico merci/truppe'+
'\nrosso=carico merci/truppe terminato'+
'\nblu=merci/truppe in viaggio'+
'\nverde=merci/truppe arrivate'
break
case 'fr' :
return 'Vue et contrôle des navires marchands'+
'\n__________________________________________'+
'\njaune=chargement ressources/troupes'+
'\nrouge=chargement terminé'+
'\nbleu=ressources/troupes en transit'+
'\nvert=ressources/troupes arrivées'
break
case 'de' :
return 'Handelsschiffe Übersicht und Kontrolle'+
'\n__________________________________________'+
'\ngelb=belade Waren/Truppen'+
'\nrot=beladen Waren/Truppen'+
'\nblau=Waren/Truppen unterwegs'+
'\ngrün=Waren/Truppen eingetroffen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Visión general y control de los barcos mercantes'+
'\n__________________________________________'+
'\namarillo=carga mercancías/tropas'+
'\nrojo=carga mercancías/tropas completada'+
'\nazul=Mercancias/tropas en tránsito'+
'\nverde=Mercancias/tropas llegado'
break
case 'br' :
case 'pt' :
return 'Resumo e controle dos barcos de comércio'+
'\n__________________________________________'+
'\namarelo=carga mercadorias/tropas'+
'\nvermelho=carga mercadorias/tropas concluída'+
'\nazul=Mercadorias/tropas em trânsito'+
'\nverde=Mercadorias/tropas chegaram'
break
default :
return stringa
break
}
break
case 'Safe goods' :
switch (paese) {
case 'it' :
return 'Merci protette'
break
case 'fr' :
return 'Marchandises sécurisées'
break
case 'de' :
return 'Plündersicher'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Bienes protegidos'
break
case 'br' :
case 'pt' :
return 'Bens protegidos'
break
default :
return stringa
break
}
break
case 'Overview towns/finances' :
switch (paese) {
case 'it' :
return 'Riepilogo città/finanze'
break
case 'fr' :
return 'Vue villes/finances'
break
case 'de' :
return 'Übersicht Städte/Finanzen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Informe sobre ciudades y finanzas'
break
case 'br' :
case 'pt' :
return 'Vista geral das cidades y finanças'
break
default :
return stringa
break
}
break
case 'Military overview and control' :
switch (paese) {
case 'it' :
return 'Riepilogo e controllo Forze Armate'
break
case 'fr' :
return "Vue et contrôle de l'Armée"
break
case 'de' :
return "Übersicht und Kontrolle Militär"
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return "Informe militar"
break
case 'br' :
case 'pt' :
return "Vista geral militar"
break
default :
return stringa
break
}
break
case 'citizens' :
switch (paese) {
case 'it' :
return 'cittadini'
break
case 'fr' :
return 'citoyens'
break
case 'de' :
return 'Bürger'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'ciudadanos'
break
case 'br' :
case 'pt' :
return 'cidadãos'
break
default :
return stringa
break
}
break
case 'current population' :
switch (paese) {
case 'it' :
return 'popolazione attuale'
break
case 'fr' :
return 'population actuelle'
break
case 'de' :
return 'derzeitige Bevölkerung'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'población actual'
break
case 'br' :
case 'pt' :
return 'população atual'
break
default :
return stringa
break
}
break
case 'maximum population : growth' :
switch (paese) {
case 'it' :
return 'popolazione massima : crescita'
break
case 'fr' :
return 'population maximale : croissance'
break
case 'de' :
return 'maximale Bevölkerung : Wachstum'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'población máxima : crecimiento'
break
case 'br' :
case 'pt' :
return 'população máxima: crescimento'
break
default :
return stringa
break
}
break
case 'total citizens' :
switch (paese) {
case 'it' :
return 'totale cittadini'
break
case 'fr' :
return 'total de citoyens'
break
case 'de' :
return 'Gesamt Bürger'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'total ciudadanos'
break
case 'br' :
case 'pt' :
return 'total cidadãos'
break
default :
return stringa
break
}
break
case 'total population' :
switch (paese) {
case 'it' :
return 'totale popolazione'
break
case 'fr' :
return 'population totale'
break
case 'de' :
return 'Gesamtbevölkerung'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'total población'
break
case 'br' :
case 'pt' :
return 'total população'
break
default :
return stringa
break
}
break
case 'population limit' :
switch (paese) {
case 'it' :
return 'popolazione limite'
break
case 'fr' :
return 'limite de population'
break
case 'de' :
return 'Bevölkerung Grenze'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'población límite'
break
case 'br' :
case 'pt' :
return 'limite de população'
break
default :
return stringa
break
}
break
case 'population' :
switch (paese) {
case 'it' :
return 'popolazione'
break
case 'fr' :
return 'population'
break
case 'de' :
return 'Bevölkerung'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'población'
break
case 'br' :
case 'pt' :
return 'população'
break
default :
return stringa
break
}
break
case 'Full' :
switch (paese) {
case 'it' :
return 'Pieno'
break
case 'fr' :
return 'Complète'
break
case 'de' :
return 'Voll'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Completo'
break
case 'br' :
case 'pt' :
return 'Completo'
break
default :
return stringa
break
}
break
case 'Empty' :
switch (paese) {
case 'it' :
return 'Vuoto'
break
case 'fr' :
return 'Vide'
break
case 'de' :
return 'Leer'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Vacío'
break
case 'br' :
case 'pt' :
return 'Vazio'
break
default :
return stringa
break
}
break
case 'within' :
switch (paese) {
case 'it' :
return 'entro'
break
case 'fr' :
return 'dans'
break
case 'de' :
return 'in'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'en'
break
case 'br' :
case 'pt' :
return 'em'
break
default :
return stringa
break
}
break
case 'never' :
switch (paese) {
case 'it' :
return 'mai'
break
case 'fr' :
return 'jamais'
break
case 'de' :
return 'nie'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'nunca'
break
case 'br' :
case 'pt' :
return 'nunca'
break
default :
return stringa
break
}
break
case 'hours' :
switch (paese) {
case 'it' :
return 'ore'
break
case 'fr' :
return 'heures'
break
case 'de' :
return 'Stunden'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'horas'
break
case 'br' :
case 'pt' :
return 'horas'
break
default :
return stringa
break
}
break
case 'hour' :
switch (paese) {
case 'it' :
return 'ora'
break
case 'fr' :
return 'heure'
break
case 'de' :
return 'Stunde'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'hora'
break
case 'br' :
case 'pt' :
return 'hora'
break
default :
return stringa
break
}
break
case 'gold' :
switch (paese) {
case 'it' :
return 'oro'
break
case 'fr' :
return 'or'
break
case 'de' :
return 'Gold'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'oro'
break
case 'br' :
case 'pt' :
return 'ouro'
break
default :
return stringa
break
}
break
case 'produced' :
switch (paese) {
case 'it' :
return 'prodotto'
break
case 'fr' :
return 'produit'
break
case 'de' :
return 'produziert'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'producido'
break
case 'br' :
case 'pt' :
return 'produzido'
break
default :
return stringa
break
}
break
case 'scientists' :
switch (paese) {
case 'it' :
return 'scienziati'
break
case 'fr' :
return 'scientifiques'
break
case 'de' :
return 'Wissenschaftler'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'científicos'
break
case 'br' :
case 'pt' :
return 'cientistas'
break
default :
return stringa
break
}
break
case 'Research' :
switch (paese) {
case 'it' :
return 'Ricerca'
break
case 'fr' :
return 'Recherche'
break
case 'de' :
return 'Forschungsleistung'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Investigación'
break
case 'br' :
case 'pt' :
return 'Pesquisa'
break
default :
return stringa
break
}
break
case 'spent' :
switch (paese) {
case 'it' :
return 'speso'
break
case 'fr' :
return 'dépensé'
break
case 'de' :
return 'verbraucht'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'gastado'
break
case 'br' :
case 'pt' :
return 'gasto'
break
default :
return stringa
break
}
break
case 'net earning' :
switch (paese) {
case 'it' :
return 'guadagno netto'
break
case 'fr' :
return 'gain net'
break
case 'de' :
return 'Nettoergebnis'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'ganancia neta'
break
case 'br' :
case 'pt' :
return 'ganho líquido'
break
default :
return stringa
break
}
break
case 'gold held' :
switch (paese) {
case 'it' :
return 'oro posseduto'
break
case 'fr' :
return 'or détenu'
break
case 'de' :
return 'Goldbestand'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'oro en su poder'
break
case 'br' :
case 'pt' :
return 'ouro mantido'
break
default :
return stringa
break
}
break
case 'Building material' :
switch (paese) {
case 'it' :
return 'Legno'
break
case 'fr' :
return 'Matériau de construction'
break
case 'de' :
return 'Baumaterial'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Madera'
break
case 'br' :
case 'pt' :
return 'Materiais de construção'
break
default :
return stringa
break
}
break
case 'Wine' :
switch (paese) {
case 'it' :
return 'Vino'
break
case 'fr' :
return 'Vin'
break
case 'de' :
return 'Wein'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Vino'
break
case 'br' :
case 'pt' :
return 'Vinho'
break
default :
return stringa
break
}
break
case 'Marble' :
switch (paese) {
case 'it' :
return 'Marmo'
break
case 'fr' :
return 'Marbre'
break
case 'de' :
return 'Marmor'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Mármol'
break
case 'br' :
case 'pt' :
return 'Mármore'
break
default :
return stringa
break
}
break
case 'Crystal Glass' :
switch (paese) {
case 'it' :
return 'Cristallo'
break
case 'fr' :
return 'Verre de cristal'
break
case 'de' :
return 'Kristallglas'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Cristal'
break
case 'br' :
case 'pt' :
return 'Cristal'
break
default :
return stringa
break
}
break
case 'Sulphur' :
switch (paese) {
case 'it' :
return 'Zolfo'
break
case 'fr' :
return 'Soufre'
break
case 'de' :
return 'Schwefel'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Azufre'
break
case 'br' :
case 'es' :
return 'Enxofre'
break
default :
return stringa
break
}
break
case 'consumed' :
switch (paese) {
case 'it' :
return 'consumato'
break
case 'fr' :
return 'consommé'
break
case 'de' :
return 'verbraucht'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'consumida'
break
case 'br' :
case 'pt' :
return 'consumida'
break
default :
return stringa
break
}
break
case 'consumption' :
switch (paese) {
case 'it' :
return 'consumo'
break
case 'fr' :
return 'consommation'
break
case 'de' :
return 'Verbrauch'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'consumo'
break
case 'br' :
case 'pt' :
return 'consumo'
break
default :
return stringa
break
}
break
case 'After your confirmation, you must visit all the cities to refresh the data\n' :
switch (paese) {
case 'it' :
return 'Dopo la conferma, è necessario visitare tutte le città per aggiornare i dati\n'
break
case 'fr' :
return 'Après la confirmation, vous devez visiter toutes'+
' les villes pour rafraîchir les données\n'
break
case 'de' :
return 'Nach Ihrer Bestätigung, müssen Sie besuchen alle Städte, um die Daten zu aktualisieren\n'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Después de su confirmación, deberá visitar todas las ciudades para actualizar los datos\n'
break
case 'br' :
case 'pt' :
return 'Após a confirmação, você deve visitar todas as cidades para atualizar os dados\n'
break
default :
return stringa
break
}
break
case 'Confirm' :
switch (paese) {
case 'it' :
return 'Confermi'
break
case 'fr' :
return 'Confirmer'
break
case 'de' :
return 'Bestätigen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Confirmar'
break
case 'br' :
case 'pt' :
return 'Confirmar'
break
default :
return stringa
break
}
break
case 'click for transport goods/army from current city' :
switch (paese) {
case 'it' :
return 'clicca per il trasporto di merci/esercito dalla città corrente'
break
case 'fr' :
return 'cliquez pour le transport de marchandises/armée de la ville actuelle'
break
case 'de' :
return 'Klicken Sie für den Transport Waren/Armee aus aktuellen Stadt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'clic para el transporte de mercancías/ejército de la ciudad actual'
break
case 'br' :
case 'pt' :
return 'clique para transporte de mercadorias/exército de cidade atual'
break
default :
return stringa
break
}
break
case 'no transport to the same city' :
switch (paese) {
case 'it' :
return 'nessun trasporto per la città stessa'
break
case 'fr' :
return 'pas de transport dans la même ville'
break
case 'de' :
return 'kein Transport aus der gleichen Stadt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'no hay transporte a la misma ciudad'
break
case 'br' :
case 'pt' :
return 'nenhum transporte para a mesma cidade'
break
default :
return stringa
break
}
break
case 'no fleet/army to the same city' :
switch (paese) {
case 'it' :
return 'nessuna flotta/esercito per la città stessa'
break
case 'fr' :
return 'pas de flotte/armée dans la même ville'
break
case 'de' :
return 'kein Flotte/Armee aus der gleichen Stadt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'no hay flota/ejército a la misma ciudad'
break
case 'br' :
case 'pt' :
return 'nenhum frota/exército para a mesma cidade'
break
default :
return stringa
break
}
'no fleet/army to the same city'
break
case 'Port occupied by' :
switch (paese) {
case 'it' :
return 'Porto occupato da'
break
case 'fr' :
return 'Port occupé par'
break
case 'de' :
return 'Hafen besetzt durch'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Puerto ocupado por'
break
case 'br' :
case 'pt' :
return 'Porto ocupado pela'
break
default :
return stringa
break
}
break
case 'City occupied by' :
switch (paese) {
case 'it' :
return 'Città occupata da'
break
case 'fr' :
return 'Ville occupée par'
break
case 'de' :
return 'Stadt besetzt durch'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'Ciudad ocupada por'
break
case 'br' :
case 'pt' :
return 'Cidade ocupada pela'
break
default :
return stringa
break
}
break
case 'deploy fleet' :
switch (paese) {
case 'it' :
return 'dispiega flotta'
break
case 'fr' :
return 'déployer flotte'
break
case 'de' :
return 'stationiere Flotte'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'despliegue flota'
break
case 'br' :
case 'pt' :
return 'implantar frota'
break
default :
return stringa
break
}
break
case 'deploy army' :
switch (paese) {
case 'it' :
return 'dispiega esercito'
break
case 'fr' :
return 'déployer armée'
break
case 'de' :
return 'stationiere Armee'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'despliegue ejército'
break
case 'br' :
case 'pt' :
return 'implantar exército'
break
default :
return stringa
break
}
break
case 'defend harbour' :
switch (paese) {
case 'it' :
return 'difendi porto'
break
case 'fr' :
return 'défendre port'
break
case 'de' :
return 'verteidige Hafen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'defender puerto'
break
case 'br' :
case 'pt' :
return 'defender porto'
break
default :
return stringa
break
}
break
case 'defend city' :
switch (paese) {
case 'it' :
return 'difendi città'
break
case 'fr' :
return 'défendre port'
break
case 'de' :
return 'verteidige Stadt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'defender ciudad'
break
case 'br' :
case 'pt' :
return 'defender cidade'
break
default :
return stringa
break
}
break
case 'blockade harbour' :
switch (paese) {
case 'it' :
return 'blocca porto'
break
case 'fr' :
return 'bloquer port'
break
case 'de' :
return 'blockade Hafen'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'bloquear puerto'
break
case 'br' :
case 'pt' :
return 'bloqueia porto'
break
default :
return stringa
break
}
break
case 'occupy city' :
switch (paese) {
case 'it' :
return 'occupa città'
break
case 'fr' :
return 'occuper ville'
break
case 'de' :
return 'besetzen Stadt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'ocupar ciudad'
break
case 'br' :
case 'pt' :
return 'ocupar cidade'
break
default :
return stringa
break
}
break
case 'completed' :
switch (paese) {
case 'it' :
return 'completato'
break
case 'fr' :
return 'terminé'
break
case 'de' :
return 'fertiggestellt'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'terminado'
break
case 'br' :
case 'pt' :
return 'concluído'
break
default :
return stringa
break
}
break
case 'merchant ships' :
switch (paese) {
case 'it' :
return 'navi mercantili'
break
case 'fr' :
return 'navires marchands'
break
case 'de' :
return 'Handlsschiffe'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'barcos mercantes'
break
case 'br' :
case 'pt' :
return 'barcos de comércio'
break
default :
return stringa
break
}
break
case 'visit the forest' :
switch (paese) {
case 'it' :
return 'visitare la foresta'
break
case 'fr' :
return 'visiter la forêt'
break
case 'de' :
return 'besuchen Sie den Wald'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'visitar el bosque'
break
case 'br' :
case 'pt' :
return 'visitara floresta'
break
default :
return stringa
break
}
break
case 'visit the Sulphur pit' :
switch (paese) {
case 'it' :
return 'visitare la cava di Zolfo'
break
case 'fr' :
return 'visiter la Soufrière'
break
case 'de' :
return 'besuchen Sie den Schwefelgrube'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'visitar la mina de Azufre'
break
case 'br' :
case 'pt' :
return 'visitar o poço de Enxofre'
break
default :
return stringa
break
}
break
case 'visit the Quarry' :
switch (paese) {
case 'it' :
return 'visitare la Cava'
break
case 'fr' :
return 'visiter la Carrière'
break
case 'de' :
return 'besuchen Sie die Marmormine'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'visitar la Cantera'
break
case 'br' :
case 'pt' :
return 'visitar a Pedreira'
break
default :
return stringa
break
}
break
case 'visit the Crystal mine' :
switch (paese) {
case 'it' :
return 'visitare la miniera di Cristallo'
break
case 'fr' :
return 'visiter la mine de Cristal'
break
case 'de' :
return 'besuchen Sie die Kristalmine'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'visitar la mina de Cristal'
break
case 'br' :
case 'pt' :
return 'visitar a mina de Cristal'
break
default :
return stringa
break
}
break
case 'visit the Vines' :
switch (paese) {
case 'it' :
return 'visitare i Vigneti'
break
case 'fr' :
return 'visiter les Vignes'
break
case 'de' :
return 'besuchen Sie die Weinberge'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'visitar los Viñedos'
break
case 'br' :
case 'pt' :
return 'visitar as Vinhas'
break
default :
return stringa
break
}
break
case 'not visited yet' :
switch (paese) {
case 'it' :
return 'non ancora visitata'
break
case 'fr' :
return 'pas encore visitée'
break
case 'de' :
return 'nicht besucht'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'aún no visitados'
break
case 'br' :
case 'pt' :
return 'ainda não visitadas'
break
default :
return stringa
break
}
break
case 'YOU HAVE NOT VISITED ALL CITIES YET' :
switch (paese) {
case 'it' :
return 'NON HAI ANCORA VISITATO TUTTE LE CITTÀ'
break
case 'fr' :
return "VOUS N'AVEZ PAS VISITÉ ENCORE TOUTES LES VILLES"
break
case 'de' :
return 'SIE HABEN NOCH NICHT ALLE STÄDTE BESUCHT'
break
case 'ar' :
case 'cl' :
case 'co' :
case 'mx' :
case 'pe' :
case 've' :
case 'es' :
return 'AÚN NO HA VISITADO TODAS LAS CIUDADES'
break
case 'br' :
case 'pt' :
return 'AINDA NÃO VISITOU TODAS AS CIDADES'
break
default :
return stringa
break
}
break
default :
return stringa
break
}
}