Overview Ikariam Icon

Report for Ikariam (table, etc.)

// ==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&currentCityId=155877&actionRequest='+actionrequest+'&backgroundView=city&currentCityId=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&amp;oldView=city&amp;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]=='&nbsp;') {
					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
	}
}