// JavaScript Document
function TO_array() {  // Inizio funzione TO_array

var $dime = arguments.length;
var $elem = new Array($dime);
var TO_temp;
var TO_str = "";
  
  for (var TO_i = 1; TO_i < $dime; TO_i++)
       if (isNaN($elem[TO_i] = parseInt(arguments[TO_i - 1],10))) {
           alert("La funzione TO_array richiede valori numerici");
           $dime = 0;
       }

  do {
           TO_temp = "";
                 for ($elem[--TO_i]; $elem[TO_i] > 1; --$elem[TO_i])
                      TO_temp += "new Array(" + TO_str + "),";
           TO_temp += "new Array(" + TO_str + ")";
          
    TO_str = TO_temp;
 
  } while(--$dime > 1 && 0 != TO_i);

    TO_str = "new Array(" + TO_str + ")";

return eval(TO_str);

} // Fine funzione TO_array

/*
<option value=‘0’>Algherot</option>
<option value=‘1’>Baia dell'Est </option>
<option value=‘2’>Baia dell'Ovest </option>
<option value=”3”>Bosco degli Elfi</option>
<option value=‘4’>Brewyth</option>
<option value=‘5’>Caledon</option>
<option value=‘6’>CastleRock</option>
<option value=‘7’>Catena dei Monti Scarlatti </option>
<option value=‘8’>Cerchio di Gamòn </option>
<option value=‘9’>Cime Innevate </option>
<option value=‘10’>Cinque Isole </option>
<option value=‘11’>Deserto</option>
<option value=‘12’>Domoth</option>
<option value=‘13’>Ezanel</option>
<option value=”14”>Hobbtain</option>
<option value=‘15’>Irduish</option>
<option value=‘16’>Laghi Ghiacciati </option>
<option value=‘17’>Laghi Salati </option>
<option value=‘18’>Lago Irduish </option>
<option value=‘19’>Lharamet</option>
<option value=‘20’>Mare di Ghiaccio </option>
<option value=‘21’>Naar</option>
<option value=‘22’>Paludi Eterne </option>
<option value=‘23’>Sabbie Mobili </option>
<option value=‘24’>Steppe Interminabili </option>
<option value=‘25’>Wayreth</option>
<option value=‘26’>Zone Inesplorate </option>
*/

var Distanza = TO_array(27,27);
//Algherot
Distanza[0][1] = "16";
Distanza[0][2] = "?";
Distanza[0][3] = "24";
Distanza[0][4] = "20";
Distanza[0][5] = "3";
Distanza[0][6] = "13";
Distanza[0][7] = "8";
Distanza[0][8] = "50";
Distanza[0][9] = "?";
Distanza[0][10] = "8";
Distanza[0][11] = "3";
Distanza[0][12] = "19";
Distanza[0][13] = "7";
Distanza[0][14] = "24";
Distanza[0][15] = "21";
Distanza[0][16] = "?";
Distanza[0][17] = "?";
Distanza[0][18] = "20";
Distanza[0][19] = "23";
Distanza[0][20] = "48";
Distanza[0][21] = "14";
Distanza[0][22] = "?";
Distanza[0][23] = "?";
Distanza[0][24] = "?";
Distanza[0][25] = "5";
Distanza[0][26] = "55";

//Baia dell'Est						//COMPLETO
Distanza[1][2] = "24";
Distanza[1][3] = "2";
Distanza[1][4] = "0.5";
Distanza[1][5] = "14";
Distanza[1][6] = "3";
Distanza[1][7] = "1";
Distanza[1][8] = "35";
Distanza[1][9] = "8";
Distanza[1][10] = "6";
Distanza[1][11] = "15";
Distanza[1][12] = "0.5";
Distanza[1][13] = "9";
Distanza[1][14] = "11";
Distanza[1][15] = "8";
Distanza[1][16] = "8";
Distanza[1][17] = "9";
Distanza[1][18] = "8";
Distanza[1][19] = "10";
Distanza[1][20] = "26";
Distanza[1][21] = "16";
Distanza[1][22] = "15";
Distanza[1][23] = "13";
Distanza[1][24] = "17";
Distanza[1][25] = "12";
Distanza[1][26] = "32";

//Baia dell'Ovest
Distanza[2][3] = "14";
Distanza[2][4] = "23";
Distanza[2][5] = "?";
Distanza[2][6] = "?";
Distanza[2][7] = "17";
Distanza[2][8] = "?";
Distanza[2][9] = "?";
Distanza[2][10] = "?";
Distanza[2][11] = "?";
Distanza[2][12] = "?";
Distanza[2][13] = "?";
Distanza[2][14] = "11";
Distanza[2][15] = "14";
Distanza[2][16] = "?";
Distanza[2][17] = "?";
Distanza[2][18] = "12";
Distanza[2][19] = "12";
Distanza[2][20] = "?";
Distanza[2][21] = "?";
Distanza[2][22] = "?";
Distanza[2][23] = "?";
Distanza[2][24] = "?";
Distanza[2][25] = "?";
Distanza[2][26] = "?";

//Bosco degli Elfi				//COMPLETO
Distanza[3][4] = "2";
Distanza[3][5] = "21";
Distanza[3][6] = "6";
Distanza[3][7] = "4";
Distanza[3][8] = "25";
Distanza[3][9] = "2";
Distanza[3][10] = "9";
Distanza[3][11] = "14";
Distanza[3][12] = "14";
Distanza[3][13] = "11";
Distanza[3][14] = "0.5";
Distanza[3][15] = "2";
Distanza[3][16] = "2";
Distanza[3][17] = "7";
Distanza[3][18] = "1";
Distanza[3][19] = "0.5";
Distanza[3][20] = "17";
Distanza[3][21] = "12";
Distanza[3][22] = "7";
Distanza[3][23] = "5";
Distanza[3][24] = "7";
Distanza[3][25] = "19";
Distanza[3][26] = "27";

//Brewyth						//COMPLETO
Distanza[4][5] = "17";
Distanza[4][6] = "6";
Distanza[4][7] = "4";
Distanza[4][8] = "34";
Distanza[4][9] = "7";
Distanza[4][10] = "12";
Distanza[4][11] = "18";
Distanza[4][12] = "4";
Distanza[4][13] = "15";
Distanza[4][14] = "12";
Distanza[4][15] = "9";
Distanza[4][16] = "7";
Distanza[4][17] = "11";
Distanza[4][18] = "9";
Distanza[4][19] = "11";
Distanza[4][20] = "25";
Distanza[4][21] = "17";
Distanza[4][22] = "14";
Distanza[4][23] = "12";
Distanza[4][24] = "16";
Distanza[4][25] = "15";
Distanza[4][26] = "31";

//Caledon
Distanza[5][6] = "10";
Distanza[5][7] = "5";
Distanza[5][8] = "47";
Distanza[5][9] = "?";
Distanza[5][10] = "7";
Distanza[5][11] = "2";
Distanza[5][12] = "16";
Distanza[5][13] = "6";
Distanza[5][14] = "21";
Distanza[5][15] = "18";
Distanza[5][16] = "?";
Distanza[5][17] = "?";
Distanza[5][18] = "17";
Distanza[5][19] = "20";
Distanza[5][20] = "45";
Distanza[5][21] = "11";
Distanza[5][22] = "?";
Distanza[5][23] = "?";
Distanza[5][24] = "?";
Distanza[5][25] = "2";
Distanza[5][26] = "52";

//CastleRock
Distanza[6][7] = "0.5";
Distanza[6][8] = "38";
Distanza[6][9] = "?";
Distanza[6][10] = "13";
Distanza[6][11] = "18";
Distanza[6][12] = "7";
Distanza[6][13] = "13";
Distanza[6][14] = "13";
Distanza[6][15] = "9";
Distanza[6][16] = "?";
Distanza[6][17] = "?";
Distanza[6][18] = "9";
Distanza[6][19] = "12";
Distanza[6][20] = "29";
Distanza[6][21] = "13";
Distanza[6][22] = "?";
Distanza[6][23] = "?";
Distanza[6][24] = "?";
Distanza[6][25] = "10";
Distanza[6][26] = "36";

//Catena dei Monti Scarlatti	//COMPLETO
Distanza[7][8] = "37";
Distanza[7][9] = "10";
Distanza[7][10] = "12";
Distanza[7][11] = "1";
Distanza[7][12] = "6";
Distanza[7][13] = "12";
Distanza[7][14] = "8";
Distanza[7][15] = "3";
Distanza[7][16] = "10";
Distanza[7][17] = "14";
Distanza[7][18] = "2";
Distanza[7][19] = "7";
Distanza[7][20] = "29";
Distanza[7][21] = "0.5";
Distanza[7][22] = "17";
Distanza[7][23] = "15";
Distanza[7][24] = "19";
Distanza[7][25] = "3";
Distanza[7][26] = "36";

//Cerchio di Gamòn
Distanza[8][9] = "21";
Distanza[8][10] = "40";
Distanza[8][11] = "39";
Distanza[8][12] = "44";
Distanza[8][13] = "43";
Distanza[8][14] = "26";
Distanza[8][15] = "29";
Distanza[8][16] = "23";
Distanza[8][17] = "16";
Distanza[8][18] = "28";
Distanza[8][19] = "27";
Distanza[8][20] = "7";
Distanza[8][21] = "37";
Distanza[8][22] = "12";
Distanza[8][23] = "16";
Distanza[8][24] = "4";
Distanza[8][25] = "45";
Distanza[8][26] = "10";

//Cime Innevate
Distanza[9][10] = "?";
Distanza[9][11] = "?";
Distanza[9][12] = "?";
Distanza[9][13] = "?";
Distanza[9][14] = "7";
Distanza[9][15] = "10";
Distanza[9][16] = "0.5";
Distanza[9][17] = "5";
Distanza[9][18] = "9";
Distanza[9][19] = "8";
Distanza[9][20] = "12";
Distanza[9][21] = "?";
Distanza[9][22] = "7";
Distanza[9][23] = "7";
Distanza[9][24] = "4";
Distanza[9][25] = "?";
Distanza[9][26] = "22";

//Cinque Isole
Distanza[10][11] = "7";
Distanza[10][12] = "7";
Distanza[10][13] = "2";
Distanza[10][14] = "19";
Distanza[10][15] = "15";
Distanza[10][16] = "?";
Distanza[10][17] = "?";
Distanza[10][18] = "15";
Distanza[10][19] = "18";
Distanza[10][20] = "34";
Distanza[10][21] = "18";
Distanza[10][22] = "?";
Distanza[10][23] = "?";
Distanza[10][24] = "?";
Distanza[10][25] = "8";
Distanza[10][26] = "41";

//Deserto
Distanza[11][12] = "17";
Distanza[11][13] = "6";
Distanza[11][14] = "14";
Distanza[11][15] = "11";
Distanza[11][16] = "?";
Distanza[11][17] = "?";
Distanza[11][18] = "10";
Distanza[11][19] = "13";
Distanza[11][20] = "46";
Distanza[11][21] = "3";
Distanza[11][22] = "?";
Distanza[11][23] = "?";
Distanza[11][24] = "?";
Distanza[11][25] = "2";
Distanza[11][26] = "53";

//Domoth
Distanza[12][13] = "10";
Distanza[12][14] = "17";
Distanza[12][15] = "14";
Distanza[12][16] = "?";
Distanza[12][17] = "?";
Distanza[12][18] = "14";
Distanza[12][19] = "16";
Distanza[12][20] = "29";
Distanza[12][21] = "16";
Distanza[12][22] = "?";
Distanza[12][23] = "?";
Distanza[12][24] = "?";
Distanza[12][25] = "14";
Distanza[12][26] = "36";

//Ezanel
Distanza[13][14] = "21";
Distanza[13][15] = "18";
Distanza[13][16] = "?";
Distanza[13][17] = "?";
Distanza[13][18] = "18";
Distanza[13][19] = "20";
Distanza[13][20] = "36";
Distanza[13][21] = "17";
Distanza[13][22] = "?";
Distanza[13][23] = "?";
Distanza[13][24] = "?";
Distanza[13][25] = "7";
Distanza[13][26] = "43";

//Hobbtain					//COMPLETATO
Distanza[14][15] = "5";
Distanza[14][16] = "8";
Distanza[14][17] = "17";
Distanza[14][18] = "2";
Distanza[14][19] = "0.5";
Distanza[14][20] = "27";
Distanza[14][21] = "12";
Distanza[14][22] = "9";
Distanza[14][23] = "7";
Distanza[14][24] = "10";
Distanza[14][25] = "19";
Distanza[14][26] = "39";

//Irduish					//COMPLETATO
Distanza[15][16] = "11";
Distanza[15][17] = "20";
Distanza[15][18] = "0.5";
Distanza[15][19] = "4";
Distanza[15][20] = "30";
Distanza[15][21] = "9";
Distanza[15][22] = "12";
Distanza[15][23] = "10";
Distanza[15][24] = "13";
Distanza[15][25] = "16";
Distanza[15][26] = "42";

//Laghi Ghiacciati
Distanza[16][17] = "7";
Distanza[16][18] = "10";
Distanza[16][19] = "9";
Distanza[16][20] = "14";
Distanza[16][21] = "?";
Distanza[16][22] = "11";
Distanza[16][23] = "11";
Distanza[16][24] = "9";
Distanza[16][25] = "?";
Distanza[16][26] = "24";

//Laghi Salati
Distanza[17][18] = "19";
Distanza[17][19] = "18";
Distanza[17][20] = "7";
Distanza[17][21] = "?";
Distanza[17][22] = "13";
Distanza[17][23] = "13";
Distanza[17][24] = "9";
Distanza[17][25] = "?";
Distanza[17][26] = "17";

//Lago Irduish					//COMPLETO
Distanza[18][19] = "1";
Distanza[18][20] = "29";
Distanza[18][21] = "8";
Distanza[18][22] = "11";
Distanza[18][23] = "10";
Distanza[18][24] = "12";
Distanza[18][25] = "15";
Distanza[18][26] = "41";

//Lharamet						//COMPLETO
Distanza[19][20] = "28";
Distanza[19][21] = "11";
Distanza[19][22] = "10";
Distanza[19][23] = "8";
Distanza[19][24] = "11";
Distanza[19][25] = "18";
Distanza[19][26] = "40";

//Mare di Ghiaccio				//COMPLETO
Distanza[20][21] = "42";
Distanza[20][22] = "14";
Distanza[20][23] = "18";
Distanza[20][24] = "7";
Distanza[20][25] = "43";
Distanza[20][26] = "0.5";

//Naar
Distanza[21][22] = "?";
Distanza[21][23] = "?";
Distanza[21][24] = "?";
Distanza[21][25] = "9";
Distanza[21][26] = "49";

//Paludi Eterne
Distanza[22][23] = "0.5";
Distanza[22][24] = "5";
Distanza[22][25] = "?";
Distanza[22][26] = "27";

//Sabbie Mobili
Distanza[23][24] = "8";
Distanza[23][25] = "?";
Distanza[23][26] = "33";

//Steppe Interminabili
Distanza[24][25] = "?";
Distanza[24][26] = "13";

//Wayreth
Distanza[25][26] = "?";

//Zone Inesplorate

var Nome_luogoA = "";
var Nome_luogoB = "";
var Nome_mezzo = "";
var dist = "";
document.form1.TextDistanza.value = "";

function ConvertiLuoghi(NumLuogoA, NumLuogoB, NumMezzo){
  switch (NumLuogoA){
    case 0: 	  Nome_luogoA = "Algherot";	  						break;
    case 1: 	  Nome_luogoA = "Baia dell'Est";	 			 	break;	 
    case 2: 	  Nome_luogoA = "Baia dell'Ovest";	 				break;
    case 3: 	  Nome_luogoA = "Bosco degli Elfi";	 			 	break;	 
    case 4: 	  Nome_luogoA = "Brewyth";	  						break;
    case 5: 	  Nome_luogoA = "Caledon";	  						break;	 
    case 6: 	  Nome_luogoA = "CastleRock";	  					break;
    case 7: 	  Nome_luogoA = "Catena dei Monti Scarlatti";	  	break;	 
    case 8: 	  Nome_luogoA = "Cerchio di Gamòn";	  				break;
    case 9: 	  Nome_luogoA = "Cime Innevate";				  	break;	 
    case 10: 	  Nome_luogoA = "Cinque Isole";	  					break;
    case 11: 	  Nome_luogoA = "Deserto";	  						break;	
    case 12: 	  Nome_luogoA = "Domoth";	  						break;
    case 13: 	  Nome_luogoA = "Ezanel";	  						break;	 
    case 14: 	  Nome_luogoA = "Hobbtain";	  						break;
    case 15: 	  Nome_luogoA = "Irduish";	  						break;	 
    case 16: 	  Nome_luogoA = "Laghi Ghiacciati";				  	break;
    case 17: 	  Nome_luogoA = "Laghi Salati";	  					break;	 
    case 18: 	  Nome_luogoA = "Lago Irduish";	  					break;
    case 19: 	  Nome_luogoA = "Lharamet";	  						break;	 
    case 20: 	  Nome_luogoA = "Mare di Ghiaccio";	 			 	break;
    case 21: 	  Nome_luogoA = "Naar";	  							break;	 
    case 22: 	  Nome_luogoA = "Paludi Eterne";				  	break;
    case 23: 	  Nome_luogoA = "Sabbie Mobili";				  	break;	 
    case 24: 	  Nome_luogoA = "Steppe Interminabili";				break;
    case 25: 	  Nome_luogoA = "Wayreth";	  						break;	
    case 26: 	  Nome_luogoA = "Zone Inesplorate";	 				break;	 							 					
  }	 
  switch (NumLuogoB){
    case 0: 	  Nome_luogoB = "Algherot";	  						break;
    case 1: 	  Nome_luogoB = "Baia dell'Est";	 			 	break;	 
    case 2: 	  Nome_luogoB = "Baia dell'Ovest";	 				break;
    case 3: 	  Nome_luogoB = "Bosco degli Elfi";	 			 	break;	 
    case 4: 	  Nome_luogoB = "Brewyth";	  						break;
    case 5: 	  Nome_luogoB = "Caledon";	  						break;	 
    case 6: 	  Nome_luogoB = "CastleRock";	  					break;
    case 7: 	  Nome_luogoB = "Catena dei Monti Scarlatti";	  	break;	 
    case 8: 	  Nome_luogoB = "Cerchio di Gamòn";	  				break;
    case 9: 	  Nome_luogoB = "Cime Innevate";				  	break;	 
    case 10: 	  Nome_luogoB = "Cinque Isole";	  					break;
    case 11: 	  Nome_luogoB = "Deserto";	  						break;	
    case 12: 	  Nome_luogoB = "Domoth";	  						break;
    case 13: 	  Nome_luogoB = "Ezanel";	  						break;	 
    case 14: 	  Nome_luogoB = "Hobbtain";	  						break;
    case 15: 	  Nome_luogoB = "Irduish";	  						break;	 
    case 16: 	  Nome_luogoB = "Laghi Ghiacciati";				  	break;
    case 17: 	  Nome_luogoB = "Laghi Salati";	  					break;	 
    case 18: 	  Nome_luogoB = "Lago Irduish";	  					break;
    case 19: 	  Nome_luogoB = "Lharamet";	  						break;	 
    case 20: 	  Nome_luogoB = "Mare di Ghiaccio";	 			 	break;
    case 21: 	  Nome_luogoB = "Naar";	  							break;	 
    case 22: 	  Nome_luogoB = "Paludi Eterne";				  	break;
    case 23: 	  Nome_luogoB = "Sabbie Mobili";				  	break;	 
    case 24: 	  Nome_luogoB = "Steppe Interminabili";				break;
    case 25: 	  Nome_luogoB = "Wayreth";	  						break;	
    case 26: 	  Nome_luogoB = "Zone Inesplorate";	 				break;	   
  }   
  switch(NumMezzo){
    case '1':	  Nome_mezzo = "a <strong>piedi";		  break;
    case '1.5':	  Nome_mezzo = "a <strong>cavallo";		  break;
    case '1.3':	  Nome_mezzo = "in <strong>carro";		  break;	  	  
  }

}

function CalcolaDistanza(){
  luogoA = parseInt(document.form1.Luogo1.value);
  luogoB = parseInt(document.form1.Luogo2.value); 
  mezzo = document.form1.Mezzo.value;
  ConvertiLuoghi(luogoA, luogoB, mezzo);
  document.getElementById('percorso').innerHTML = "Da <strong>"+ Nome_luogoA + "</strong> a <strong>" + Nome_luogoB + "</strong>, " + Nome_mezzo + "</strong>";
  if(luogoB < luogoA){
    luogoC = luogoB;
	luogoB = luogoA;
	luogoA = luogoC;
  } 
  document.getElementById('dopo_giorni').innerHTML = " giorni di viaggio";
  if(luogoB == luogoA){
    document.form1.TextDistanza.value = "0";
    document.form1.TextDistanza.value = "";	
    document.getElementById('dopo_giorni').innerHTML = "";		
	document.getElementById('percorso').innerHTML = "";
	document.getElementById('errore').innerHTML = "Luogo di Partenza e di Arrivo uguali. <br>Ricontrollare il percorso.";
  }
  else{
    dist = Math.round((Distanza[luogoA][luogoB] / document.form1.Mezzo.value) * 10) / 10;
    document.form1.TextDistanza.value = dist;
    document.getElementById('errore').innerHTML = "";	
	if(document.form1.TextDistanza.value == "NaN"){
      document.form1.TextDistanza.value = "";	
      document.getElementById('dopo_giorni').innerHTML = "";	  
	  document.getElementById('errore').innerHTML = "Attenzione: Questa Funzione è ancora Beta. <br>Il percorso richiesto non è calcolabile.";
	}  
  }
}