Source for "OGame Transfert"

By Gillou
Has 3 other scripts.


the source is over 100KB, syntax highlighting in the browser is too slow

/* OGAME TRANSFERT

Creation (MM/JJ/AAAA): 12/10/2007
Gillou
http://www.vbc3.com/script/ogametransfert.user.js

Supported GreaseMonkey version : 0,7.20080121.0

Script under Creative Commons licence (http://creativecommons.org/licenses/by-nc-nd/2.0/fr/deed.en)

Supported Ogame domain :
- fr
- org
- it : Thanks to Fiox for the translation
*/




// ==UserScript==
// @name           OGame Transfert
// @namespace      V0.8 Compatible Ogame V0.78c
// @description    Management of tranfers, Empire view, Global resources view
// @include        http://uni*.ogame.*
// ==/UserScript==





/* PARAMETRES DE MISE A JOUR (A NE PAS MODIFIER!!!)
 -------------------------------------------------- */

var C_ScriptName = 'OgameTransfert';                                    // Nom du script
var C_ScriptVersion = '0.8 beta';                                       // Version du script pour les mises a jour majeures
var C_ScriptBuild = '014';                                              // Sous-version du script pour les mises a jour mineures
var C_ScriptDate = '05/07/2008';                                        // Date de la publication (MM/JJ/AAAA)





/* PLAN DU SCRIPT
   -------------------------------------------------

- PARAMETRES DE MISE A JOUR
- TODO (Elements a implementer)
- DESCRIPTION DES MISES A JOUR
- LISTE DES VARIABLES MEMORISEES VIA GREASEMONKEY

- COMPTEUR DU TEMPS EXECUTION DU SCRIPT
- DECLARATIONS GLOBALES
- TEXTE DES LANGUES
- RECUPERATION DES DONNEES PRINCIPALES D'OGAME

- CHARGEMENT DES IDENTIFIANTS ET COUTS DE CONSTRUCTION ET DES NOMS DES CONSTRUCTIONS
- CHARGEMENT DES INFORMATIONS MEMORISEES VIA GREASEMONKEY

- GESTION DES LIENS DU MENU

- FONCTIONS GENERALES
- FONCTIONS ET DECLARATIONS GENERALES DU SCRIPT

- DETECTION DE LA VERSION DU SCRIPT PRECEDEMMENT INSTALLE

(Recuperation des donnees et memorisation via GreaseMonkey)
- TOUTES LA PAGES : RECUPERATION DES RESSOURCES DE LA PLANETE ET DES NOMS DES PLANETES
- PAGE GENERALE
- PAGE DES PRE-REQUIS DE CONSTRUCTION
- PAGE RESSOURCES
- PAGE BATIMENT
- PAGE LABORATOIRE
- PAGE DEFENSE
- PAGE DEFENSE ET CHANTIER SPATIAL
- PAGE FLOTTE

- REALISATION DES ACTIONS

- PANNEAU DE CONFIGURATION (Page Options)

- MODIFICATION DU LIEN 'Liste des membres' pour tri par des membres
- CORRECTION LIEN OVERLIB PAGE GALAXIE (FR)

- MISE A JOUR AUTOMATIQUE

- AFFICHAGE DU TABLEAU DE RESSOURCES

- PAGE EMPIRE

- FONCTIONS NECESSAIRES AUX CALCULS DES TRANSFERTS
- PAGES FLOTTE (Affichage des formulaires pour les differentes pages : Flotte, Coordonnees & Vitesse, Ressources)

- CSS

- COMPATIBILITES AFFICHAGE (SKIN)
- EXECUTION DU CODE JAVASCRIPT DE L'UTILISATEUR

- TEMPS D'EXECUTION ET LIEN DE MISE A JOUR





   TODO
   -------------------------------------------------

- Ajout : Transfert : Calcul des transferts en utilisant gt et pt ensemble
- Ajout : Empire : Prise en compte des temps de construction
- Ajout : Transfert : Gestion d'un transfert 'global' (memorisation des destinations precedentes)
- Ajout : Empire : Niveau energie pour les listes de pourcentages
- Correction : Empire : calcul du temps avant construction (si aucune production de deuterium affiche 'infini' ou aucun resultat)
- Correction : Transfert : erreur lorsque le tableau de ressources 'genere' n'est pas utilise
- Correction : Exportation : Texte trop long pour certains forums
- Correction : Tableau de ressources : pliage par rapport au id et a la position
- A verifier : Nombre de construction de vaisseaux et defenses limite a 999





   DESCRIPTION DES MISES A JOUR
   --------------------------------------------------

0.8 beta 014 - 05/07/2008
- Changement de serveur

0.8 Beta 013 - 05/04/2008
- Correction : Langue : Texte incorrect en italien
- Correction : Compte : Une erreur creer des comptes a chaque mise a jour
- Correction : Page recherche : Detection du niveau pour ogame.org
- Correction : Empire : Nombre de vaisseaux necessaire pour transferer les ressources

0.8 Beta 012 - 05/03/2008
- Correction : Tableaux des ressources : Ordre des planetes (bug lors de suppression et d'ajout de planetes)
- Correction : Tableaux des ressources : Ressources en surcapacite en mode temps reel
- Ajout : Empire : Calcul de l'energie consomme ou produite (mine et centrale)
- Ajout : Empire : Calcul du temps de construction
- Ajout : Empire : Nombre de vaisseaux necessaire pour transferer les ressources
- Correction : Empire & Transfert : Modification du transfert des ressources

0.8 Beta 011 - 04/23/2008
- Correction : Tableau de ressources : colonne total
- Correction : Transfert : Couleur panneau transfert sans tableau de ressources

0.8 Beta 010 - 04/23/2008
- Correction : Calcul temps reel des ressources : anti depassement de la capacite de stockage
- Correction : Construction batiment : ressources centrales de fusion
- Ajout : Options : Empire : Forcer l'affichage du tableau des ressources en mode empire

0.8 Beta 009 - 04/23/2008
- Ajout : Calcul temps reel des ressources : anti depassement de la capacite de stockage
- Correction : Empire : bug si tableau de ressources desactive et temps reel active

0.8 Beta 008 - 04/22/2008
- Ajout : Options : Systeme de gestion de l'ordre des planetes
- Correction : Page recherche : Identifiant de la planete de construction
- Correction : Page Batiment : Lors de la mise a jour automatique les demandes d'actualisation ne s'affiche pas (Detection fin de construction batiment modifiant la production)

0.8 Beta 007 - 04/22/2008
- Ajout : Empire : Export : Generation sous forme de tableau et suppression des caracteres speciaux 
- Correction : Page Batiment : Retour automatique a la batiment apres visite de la page ressources (Detection fin de construction batiment modifiant la production)

0.8 Beta 006 - 04/22/2008
- Correction : Langue italien
- Correction : Transfert : bug avec une certaine combinaison de parametres

0.8 Beta 005 - 04/21/2008
- Ajout : Support .org et langue anglais par defaut
- Correction : Langue, francais et italien
- Correction : Tableaux des ressources : calcul du total des ressources lorsque le calcul temps reel est desactive
- Correction : Tableaux des ressources : plus de retour a la ligne (mise a jour)
- Correction : Page Batiment : Detection fin de construction batiment modifiant la production
- Correction : Page defenses et chantier spatial : Detection vaisseaux et defenses en construction 
- Ajout : Transfert : Transfert vers lune ou planete 'autre destination'
- Ajout : Empire : Exportation en BBCode
- Correction : Empire : Reduction des colonnes du tableau de ressources et reduction du tableau
- Ajout : Option : Tableaux des ressources : Possibilite de cacher le nom de la planete

0.8 Beta 004 - 04/14/2008
- Correction : pre-requis de construction pour le labo de recherche errone

0.8 Beta 003 - 04/13/2008
- Ajout : Options : Parametres generaux : Option d'ajout des infos bulles
- Correction : Transfert : Utiliser les ressources de la planete selectionnee

0.8 Beta 002 - 04/13/2008
- Correction : Tableaux de ressources : Retour a la ligne des coordonnees
- Correction : Transfert : Affiche la date d'arrivee si on choisi le mode date pour le calcul
- Correction : Transfert : La date est affichee avec les abreviations dans le language actif

0.8 Beta 001 - 04/12/2008
- Correction : refonte totale de la gestion des constantes (C_*), tableaux (A_*) et variables sauvegardees
- Ajout : Changement de page comme un humain, plus de lien direct
- Ajout : Detection de la version et affichage des informations de la version lors de la premiere utilisation
- Ajout : Support multilingue (FR et IT)
- Ajout : Detection du domaine et affichage s'il n'est pas supporte
- Ajout : Tableaux de ressources : pliage de chaque colonne (avec memorisation du pliage)
- Ajout : Tableau des ressources : Changement des graduations de couleur en temps reel
- Ajout : Tableaux de ressources : Une fois qu'une mise a jour auto est lance elle peut peut etre stoppee (via le bouton d'actualisation qui est remplace par un bouton stop pendant la mise a jour)
- Correction : Page Ressources : Lecture des pourcentages incorrects
- Ajout : Page Batiment : Si un batiment modifiant la page ressources vient d'etre construit affichage d'un message de demande de mise a jour de la page ressources
- Correction : Mise a jour auto : Plus de saut direct d'une page d'un certain type (batiment, ressources,...) vers une autre page d'un autre type
- Correction : Mise a jour auto : Seule la page ayant le labo le plus eleve est parsee
- Ajout : Transfert : Choix de l'heure d'arrivee ou de la duree du trajet (menu transfert)
- Ajout : Transfert : Le panneau des options de transferts est maintenant pliable
- Ajout : Transfert : Sauvegarde des options de transferts
- Correction : Transfert : Une fois tous les tranferts termines, le transfert est supprime automatiquement
- Correction : Transfert : Effacement du transfert dans certains cas si on changeait de page en cours de transfert
- Ajout : Options : Toutes les options sont unique a chaque compte ogame
- Ajout : Options : Parametres generaux : Ajout option de suppression du lien marchand
- Ajout : Options : Parametres generaux : Ajout option de debuggage (active ou non l'affichage des messages d'erreurs)
- Ajout : Options : Tableaux de ressources : Ajout option d'affichage des colonnes total et antimatiere
- Ajout : Options : Empire : Ajout d'une option pour cacher par defaut le panneau ressources lorsque le menu empire est active
- Ajout : Options : Ajout de la section transfert
- Ajout : Options : Transfert : possibilite d'utiliser les ressources calculer en temps reel pour les transferts
- Ajout : Options : Transfert : Forcer la mise a jour en temps reel du tableau des ressources du panneau de transfert
- Ajout : Options : Transfert : Afficher le tableau de transfert si un transfert est en cours
- Correction : Options : Liens additionnels : Suppression de tous les liens
- Ajout : Empire : Toutes les sections sont pliables
- Ajout : Empire : Ressources : Ajout du facteur de production
- Ajout : Empire : Ajout section construction des vaisseaux et defenses en cours
- Ajout : Empire : Terraformeur et techno. graviton, ajout de l'affichage du cout de construction des satellites (en orange), le temps avant construction en tient compte
- Correction : l'image PHP de mise a jour s'affiche maintenant uniquement sur la vue generale et uniquement si aucune mise a jour auto n'est en cours

0.7 Beta 050 - 03/12/2008
- Ajout : image php affichant si la version est a jour ou non,
          (par defaut desactive, car via une image php on peut recuperer beaucoup de chose et je ne force personne a croire en ma bonne foi)
          (de plus si vous le desirez je peux vous transmettre la source php)

0.7 Beta 049 - 03/12/2008
- Ajout : ajout du temps avant la possibilite de construction
- Ajout : recalage automatique de l'affichage lors du clic sur section du panneau de configuration
- Correction : validation de la possibilite de construction en fonction des technologies de toutes les planetes

0.7 Beta 048 - 03/12/2008
- Ajout : option d'affichage uniquement du total des ressources
- Ajout : option d'affichage des coordonnees des planetes
- Ajout : possibilite d'ajouter du code javascript
- Ajout : menu option avec pliage pour chaque sous-section
- Ajout : temps entre chaque changement de graduation de couleur parametrable
- Correction : erreur avec verification ip active

0.7 Beta 047 - 03/11/2008
- Correction : un bug empechait l'ajout de lien

0.7 Beta 046 - 03/11/2008
- Correction : bug de chargement a la premiere utilisation

0.7 Beta 045 - 03/11/2008
- Ajout : production horaire dans le menu empire
- Ajout : cout total pour chaque type de defense et flotte en pointant le total
- Correction : generation des liens du menu avec la page galaxie

0.7 Beta 044 - 03/11/2008
- Ajout : lien arreter la construction dans le menu empire pour les batiments et technologies
- Correction : valeurs des pre-requis

0.7 Beta 043 - 03/11/2008
- Ajout : si un batiment est en cours sur la planete aucun autre ne peut etre lance

0.7 Beta 042 - 03/11/2008
- Ajout : retour automatique apres lancement de construction depuis la page empire
- Correction : la fonction de validation retournee une erreur pour certain type de batiment

0.7 Beta 041 - 03/11/2008
- Ajout : Batiment et technologie en construction dans le menu empire
- Ajout : Affiche dans l'empire les pré-requis de construction s'il ne sont pas acquis et empeche la construction
- Correction : enregistrement uniquement des options modifies (panneau de configuration)

0.7 Beta 040 - 03/09/2008
- Correction : optimisation de l'execution dela page generale
- Correction : MAJ auto generait une erreur lors d'une double mise a jour simultanee

0.7 Beta 039 - 03/09/2008
- Ajout : mise a jour automatique de toutes les pages memorisables
- Ajout : option d'affiche du lien de mise a jour automatique des pages memorisables
- Ajout : calcul en temps reel des ressources sur la planete
- Ajout : option activation du calcul en temps reel des ressources (avec choix du delai de mise a jour)
- Correction : affichage bouton pages flotte
- Correction : transfert deja effectue remise a zero incorrect

0.7 Beta 038 - 03/08/2008
- Correction : code genere valide W3C

0.7 Beta 037 - 03/08/2008
- Correction : la page empire si elle est demandee remplace maintenant n'importe quelle page (faille detection du script)
- Correction : la page recherche ete automatiquement remplacee par la page empire

0.7 Beta 036 - 03/07/2008
- Ajout : option delai variable pour l'actualisation automatique des pages

0.7 Beta 035 - 03/07/2008
- Correction : sauvegarde des donnees entrees via formulaire

0.7 Beta 034 - 03/06/2008
- Ajout : Actualisation automatique des pages

0.7 Beta 033 - 03/05/2008
- Correction : mise au premier plan du popup overDiv

0.7 Beta 032 - 03/05/2008
- Correction : mise a jour pages batiment, laboratoire et defense sans skin

0.7 Beta 031 - 03/05/2008
- Correction : la correction du bug enlever le classement de l'alliance pour NeoGame

0.7 Beta 030 - 03/05/2008
- Correction : Lancement d'un flotte en vol avec transfert en cours

0.7 Beta 029 - 03/05/2008
- Ajout : correction bug ogame sur la page galaxie, affichage description alliance 

0.7 Beta 028 - 03/04/2008
- Ajout : enregistrement des parametres via le bouton sauvegarde du menu option
- Correction : suppression du clignotement des ressources pour les lunes

0.7 Beta 027 - 03/04/2008
- Correction : Lien entete tableau de ressources
- Correction : bug laboratoire non construit

0.7 Beta 026 - 03/04/2008
- Ajout : parametrage de la position du block principal
- Ajout : parametrage code css pour toutes les pages
- Ajout : bouton de changement de planete manuel
- Correction : support verification d'ip

0.7 Beta 025 - 03/04/2008
- Ajout : support petit transporteur pour les transferts
- Ajout : verification de la flotte total disponible avant envoi
- Correction : suppression des liens officiers
- Correction : bug transfert ressources vers destination externe
- Correction : faille de detection du script





   LISTE DES VARIABLES MEMORISEES VIA GREASEMONKEY
   -------------------------------------------------- 

AccountNumber : A remplacer par l'id du compte
PlanetId : A remplacer par l'id de chaque planete du compte

Parametres generaux :
*******************

- OT_Account                                (Identifiant des comptes)
- OT_AccountNumber_Version                  (Version d'OT du compte)
- OT_AccountNumber_MainOption               (Options generales)
- OT_AccountNumber_ScreenOption             (Options d'affichage)
- OT_AccountNumber_CssCode                  (Code css de l'utilisateur)
- OT_AccountNumber_JSCode                   (Script js de l'utilisateur)
- OT_AccountNumber_ResourcesTableOption     (Options du tableau des ressources)
- OT_AccountNumber_PlanetOrder              (Options de tri des planetes)
- OT_AccountNumber_EmpireOption             (Options du menu empire)
- 0T_AccountNumber_TransferOption           (Options de transfert)
- OT_AccountNumber_LinkOption               (Creation de lien du menu ogame)
- OT_AccountNumber_TransferCalcOption       (Options de calcul des transferts)
- OT_AccountNumber_Refresh                  (Parametres de mise a jour automatique)    
- OT_OgameEmpire                            (Affiche le menu empire)
- OT_AccountNumber_Transfer                 (Variable de transfert)
- OT_AccountNumber_ConstructionName         (Memorisation du noms des constructions)
- OT_AccountNumber_Actions                  (Liste des actions a realiser)
- OT_AccountNumber_ShowHideColumn           (Memorisation de l'affichage des colonnes du tableau de ressources)

Memorisation de chaque planete :
******************************

- OT_AccountNumber_Research                 (Parametres du panneau de recherche)
- OT_AccountNumber_PlanetName               (Nom des planetes lie a leur ID)
- OT_PlanetId_Planet                        (Informations generales sur la planete)
- OT_PlanetId_Resources                     (Informations sur les ressources)
- OT_PlanetId_Production                    (Production horaire de chaque ressources)
- OT_PlanetId_Pourcent                      (Taux d'utilisation des batiments de production)
- OT_PlanetId_Buildings                     (Informations sur les batiments)
- OT_PlanetId_Defenses                      (Informations sur les defenses)
- OT_PlanetId_Fleets                        (Informations sur les vaisseaux)
- OT_PlanetId_FleetsDefensesUC              (Informations sur les vaisseaux et defenses en cours de construction)
- OT_PlanetId_Transfer                      (Informations sur les transferts)







   COMPTEUR DU TEMPS EXECUTION DU SCRIPT (NE PAS MODIFIER!!!)
   -------------------------------------------------- */

var Counter = new Date();
CounterStart = Counter.getTime();





/* DECLARATIONS GLOBALES
   -------------------------------------------------- */

// Prototypes : Informations sur une planete
function P_Planet() {
  this.Id = '';
  this.Name = '';
  this.Session = '';
  this.Type = '';
  this.Url = '';
  
  this.Galaxy = '';
  this.System = '';
  this.Planet = '';
  
  this.UsedSpace = 0;
  this.TotalSpace = 0;
  this.Diameter = 0;
  this.MinTemperature = 0;
  this.MaxTemperature = 0;
  this.ImageUrl = '';
  this.Update = '';
}

// Prototypes : Ressources
function P_Resources() {
  this.Metal = '';
  this.Crystal = '';
  this.Deuterium = '';
  this.FreeEnergy = '';
  this.TotalEnergy = '';
  this.MetalOver = false;
  this.CrystalOver = false;
  this.DeuteriumOver = false;
  this.EnergyOver = false;
  this.Update = '';
}

// Prototypes : Pourcentage d'utilisation des batiments (page ressources)
function P_Pourcent() {
  this.rate = '';
  this.Metal = '';
  this.Crystal = '';
  this.Deuterium = '';
  this.Solar = '';
  this.Fusion = '';
  this.Ship212 = '';
  this.Update = '';
}

// Prototypes : Production horaire (page ressources)
function P_Production() {
  this.Metal = 0;
  this.Crystal = 0;
  this.Deuterium = 0;
  this.MetalMax = 0;
  this.CrystalMax = 0;
  this.DeuteriumMax = 0;
  this.Update = '';
}

// Prototypes : Construction (batiment,recherche,flotte,defense)
function P_Construction(Id,Metal,Crystal,Deuterium,Energy,PlanetType,Group0,Element0,Level0,Group1,Element1,Level1,Group2,Element2,Level2,Group3,Element3,Level3) {
  this.Id = Id;
  this.Name = null;
  
  // Cout
  this.Metal = Metal;
  this.Crystal = Crystal;
  this.Deuterium = Deuterium;
  this.Energy = Energy;
  
  // Pre-requis de construction
  this.PlanetType = PlanetType;
  this.Group0 = Group0;
  this.Element0 = Element0;
  this.Level0 = Level0;
  this.Group1 = Group1;
  this.Element1 = Element1;
  this.Level1 = Level1;
  this.Group2 = Group2;
  this.Element2 = Element2;
  this.Level2 = Level2;
  this.Group3 = Group3;
  this.Element3 = Element3;
  this.Level3 = Level3;
}

// Prototypes : Description de la construction
function P_ConstructionDescription() {
  this.Level = '';
  this.UC = 0;
}

// Prototypes : Description de la recherche
function P_ResearchDescription() {
  this.Level = '';
  this.UC = 0;
  this.Update = '';
}

// Prototypes : Liste de construction des vaisseaux et defenses
function P_FleetsDefensesUC() {
  this.List = '';
  this.Update = 0;
}

// Prototypes : Transfert
function P_Transfer() {
  this.Checked = false;
  this.OriginePlanet = 0;
  this.OrigineSystem = 0;
  this.OrigineGalaxy = 0;
  this.Metal = 0;
  this.Crystal = 0;
  this.Deuterium = 0;
  this.Speed = 0;
  this.TransportShip = 0;
  this.Recycler = 0;
  this.State = 0;
}

// Prototypes : Ressources en temps reel
function P_RealTimeResources() {
  this.Metal = 0;
  this.Crystal = 0;
  this.Deuterium = 0;
}

// Prototypes : Ressources en temps reel
function P_PlanetName() {
  this.Name = '';
  this.Id = '';
}

// Prototypes : Overlib
function P_OverLib() {
  this.Text = '';
  this.Link = '';
}

// Type de planete;
var C_Planet = 0;
var C_Moon = 1;
var C_All = 2;

// Constantes des constructions
const C_Buildings = 0;
const C_Research = 1;
const C_Fleets = 2;
const C_Defenses = 3;

var i,j,k // Variables d'incrementation

// Separateur pour le parsage des donnees memorisees via GreaseMonkey
var Separator = new RegExp("[|]+", "g");
var KeySeparator = new RegExp("[=]+", "g");

// Mise en memoire des variables memorisees via GreaseMonkey
var Get = new String();

// Tableau des comptes
var A_Account = new Array();

// Tableau des informations memorisees via GreaseMonkey
var A_Planet = new Array();
var A_PlanetName = new Array();
var A_PlanetOrder = new Array();
var A_PlanetOrderIndex = new Array();
var PlanetOrderIndex = 0;
var A_Resources = new Array();
var A_Pourcent = new Array();
var A_Production = new Array();
var A_Buildings = new Array();
var A_BuildingsUpdate = new Array();
var A_Research = new Array();
var ResearchUpdate = '-'; // Variable de mise a jour des recherches
var A_Fleets = new Array();
var A_FleetsUpdate = new Array();
var A_Defenses = new Array();
var A_DefensesUpdate = new Array();
var A_FleetsDefensesUC = new Array();
var A_Transfer = new Array();

// Tableau des ressources en temps reel
var A_RealTimeResources = new Array();

// Tableau des actions a realiser
var A_Actions = new Array();
var NotRun = false; // Pas de report du lancement de l'action

// Tableau des parametres d'affichage des colonnes du tableau de ressources
var A_ShowHideColomn = new Array();

// Tableau pour le transfert des ressources
var A_TransferMetal = new Array();
var A_TransferCrystal = new Array();
var A_TransferDeuterium = new Array();

// Code pour input numerique afin d'empecher la saisi de texte
var NoStringInput = 'onkeypress="if((event.keyCode < 48 && event.keyCode != 39 && event.keyCode != 37 && event.keyCode != 46 && event.keyCode != 8) || event.keyCode > 57) event.returnValue = false; if((event.which < 48 && event.which != 46 && event.which != 8 && event.which != 37 && event.which != 39) || event.which > 57) return false;"'; 

// Variable d'activation de la description avancee des erreurs
var Debug = true; // Initialisation de la valeur, cette valeur est reparametree lors du chargement des parametres generaux
const DebugAdvanced = false;

// Constante contenant l'adresse de base vers le serveur image (vous pouvez le changer vers votre serveur perso si les images ne vous plaisent pas ;) )
const C_Server = 'http://www.vbc3.com/script/';

// Retour a la ligne
const C_CRLF = String.fromCharCode(13)+String.fromCharCode(10);





/* TEXTE DES LANGUES
   -------------------------------------------------- */

// Detection de la langue
var Host = window.location.host;
var Language, OgameExtension = '';
var A_OgameExtension = Host.split('.');
var SupportedExtension = true;
j = 0;
for (i=0; i<A_OgameExtension.length;i++) {
  if (A_OgameExtension[i] == 'ogame') {
    j = i+1;
  }
  else if (j > 0) {
    OgameExtension += '.'+A_OgameExtension[i];
  }
}
if (OgameExtension == '.org') {
  Language = 0;
}
else if (OgameExtension == '.fr') {
  Language = 1;
}
else if (OgameExtension == '.it') {
  Language = 2;
}
else {
  Language = 0;
  SupportedExtension = false;
}

// Texte
// For accented character, use octal code to replace it, use this link (http://www.vbc3.com/script/diacritics.html)
var A_Language = new Array();
if (Language == 1) { // FR
  i = 0;
  A_Language[i] = 'Plan\350te'; i++;
  A_Language[i] = 'Lune'; i++;
  A_Language[i] = 'M\351tal'; var C_Metal=i; i++;
  A_Language[i] = 'Cristal'; var C_Crystal=i; i++;
  A_Language[i] = 'Deut\351rium'; var C_Deuterium=i; i++;
  A_Language[i] = 'Energie'; var C_Energy=i; i++;
  A_Language[i] = 'Antimati\350re'; var C_DarkMatter=i; i++;
  A_Language[i] = 'Empire'; var C_Empire=i; i++;
  A_Language[i] = 'Diam\350tre'; var C_Diameter=i; i++;
  A_Language[i] = 'Temp\351rature'; var C_Temperature=i; i++;
  A_Language[i] = 'Total'; var C_Total=i; i++;
  A_Language[i] = 'Ressources'; var C_Resources=i; i++;
  A_Language[i] = 'Mise \340 jour'; var C_Update=i; i++;
  A_Language[i] = 'Oui'; var C_Yes=i; i++;
  A_Language[i] = 'Non'; var C_No=i; i++;
  A_Language[i] = 'Afficher'; var C_Show=i; i++;
  A_Language[i] = 'Cacher'; var C_Hide=i; i++;
  // Required text for analysis, include spaces, must be exact
  A_Language[i] = 'Production de mati\350res premi\350res'; var C_ResourcesTableHeader=i; i++; // Beginning of the first row from the resources table (resources page)
  A_Language[i] = 'N\351cessite'; var C_Require=i; i++; // First word of the right cell in tree technology table
  A_Language[i] = 'Facteur de production : '; var C_ProductionRate=i; i++; // Text before production rate number in resources page
  // ValidateBuilding
  A_Language[i] = 'Nombre de cases libres insuffisant'; var C_NotEnoughFreeField=i; i++;
  A_Language[i] = 'La base lunaire n\'a pas encore \351t\351 construite'; var C_LunarBaseNotBuilt=i; i++;
  A_Language[i] = 'Construction impossible sur une plan\350te'; var C_NotOnPlanet=i; i++;
  A_Language[i] = 'Construction impossible sur une lune'; var C_NotOnMoon=i; i++;
  // AddLink
  A_Language[i] = 'Mots cl\351s :\n\nCertaine partie de l\'adresse du lien peuvent \352tre remplac\351e par des mots cl\351s qui seront remplac\351s lors de la cr\351ation du lien.\n\n'+
  '[session] retourne l\'identifiant de la session ogame active\n'+
  '[host] retourne le domaine ogame de la session active\n\n'+
  '[Nom de la plan\350te] retourne l\'identifiant de la plan\350te d\351sign\351e de la session active\n\n'+
  'Ex: cr\351ation d\'un lien vers la vue g\351n\351rale de la plan\350te nomm\351e \253Colonie\273 :\n'+
  'http://[host]/game/index.php?page=overview&session=[session]&cp=[Colonie]\n\n'+
  'Deviendra (si vous \352tes sur l\'univers 10 fr) :\n'+
  'http://uni10.ogame.fr/game/index.php?page=overview&session=2943046dc47f&cp=34317957'; var C_KeyWordsInformations=i; i++;
  // SaveParameter
  A_Language[i] = 'La valeur de la transparence des cellules n\'est pas correct.\nElle doit \352tre comprise entre 1 et 100'; var C_TransparencyError=i; i++;
  A_Language[i] = 'Le num\351ro de ligne du menu empire saisi est incorrect.\nIl doit \352tre compris entre 1 et '; var C_EmpireRowError=i; i++;
  A_Language[i] = 'Le nom du lien vers le menu empire doit au moins contenir un caract\350re.'; var C_EmpireTxtError=i; i++;
  A_Language[i] = 'La taille des ic\364nes des plan\350tes du menu empire doit faire au moins 1 pixel.'; var C_EmpireSizeIconError=i; i++;
  A_Language[i] = 'Le lien n\260'; var C_LinkPositionError1=i; i++;
  A_Language[i] = ' ne sera pas sauvegard\351.\nV\351rifier le nom, le lien ou la position de votre lien.\nLa position du lien doit \352tre comprise entre 1 et '; var C_LinkPositionError2=i; i++;
  A_Language[i] = 'Les informations correctes ont \351t\351 sauvegard\351es.\nAfin que vous puissiez corriger, la page ne sera pas actualis\351e.'; var C_SaveParameterError=i; i++;
  // ShowHideTable
  A_Language[i] = 'Plier'; var C_RollUp=i; i++;
  A_Language[i] = 'D\351plier'; var C_Unfold=i; i++;
  // Options : General parameters
  A_Language[i] = 'Param\350tres g\351n\351raux'; var C_MainOption=i; i++;
  A_Language[i] = 'Afficher les nombres en kilo'; var C_ShowInKilo=i; i++;
  A_Language[i] = 'Afficher les secondes pour les mises \340 jour sup\351rieures \340 24h'; var C_ShowSecondForUpperUpdateTimeInDay=i; i++;
  A_Language[i] = 'Supprimer les liens \'officier\''; var C_DeleteOfficerLink=i; i++;
  A_Language[i] = 'Supprimer le lien \'marchand\''; var C_DeleteTraderLink=i; i++;
  A_Language[i] = 'Coordonn\351es'; var C_Coordinates=i; i++;
  A_Language[i] = 'Nom'; var C_Name=i; i++;
  A_Language[i] = 'Statut'; var C_Status=i; i++;
  A_Language[i] = 'Points'; var C_Points=i; i++;
  A_Language[i] = 'Adh\351sion'; var C_MemberShip=i; i++;
  A_Language[i] = 'En ligne'; var C_Online=i; i++;
  A_Language[i] = 'Mode par d\351faut du tri des membres de l\'alliance'; var C_SortMember=i; i++;
  A_Language[i] = 'Croissant'; var C_Increasing=i; i++;
  A_Language[i] = 'D\351croissant'; var C_Lessening=i; i++;
  A_Language[i] = 'Ordre par d\351faut du tri des membres de l\'alliance'; var C_SortOrder=i;i++;
  A_Language[i] = 'Ajouter les infos bulles de description aux liens'; var C_AddToolTip=i; i++;
  A_Language[i] = 'Afficher un message demandant la mise \340 jour de la page ressources si nouveau b\342timent la modifiant est construit'; var C_ShowRequestToUpdateResourcesPage=i; i++;
  A_Language[i] = 'Afficher un lien permettant de mise \340 jour automatique de toutes les pages'; var C_ShowAutoUpdate=i; i++;
  A_Language[i] = 'Utiliser un d\351lai variable pour le rafraichissement automatique des pages (entre 2 et 10s)'; var C_UseRandomUpdateTime=i; i++;
  A_Language[i] = 'Ajouter une image php de v\351rification de version \340 la barre en bas de page'; var C_AddImageVersion=i; i++;
  A_Language[i] = 'Activer l\'affichage des erreurs (D\351bogage)'; var C_Debug=i; i++;
  // Options : Display options
  A_Language[i] = 'Param\350tres d\'affichage'; var C_ScreenOption=i; i++;
  A_Language[i] = 'Afficher la liste d\351roulante de s\351lection des plan\350tes'; var C_ShowHeaderPlanetList=i; i++;
  A_Language[i] = 'Afficher le tableau des ressources par d\351faut'; var C_ShowHeaderResourcesList=i; i++;
  A_Language[i] = 'Ajouter le total au tableau des ressources par d\351faut'; var C_AddResourcesTotal=i; i++;
  A_Language[i] = 'Activer le changement de position du cadre de l\'ent\352te (liste d\351roulante de s\351lection des plan\350tes)'; var C_ChangeHeaderPosition=i; i++;
  A_Language[i] = 'Position du cadre contenant l\'ent\352te (en css)'; var C_HeaderPosition=i; i++;
  A_Language[i] = 'Afin de vous assurez que vous position soit bien pris en compte, vous pouvez ajouter \253!important\273 apr\350s votre position.'; var C_PositionInformations=i; i++;
  A_Language[i] = 'Activer le changement de position du cadre central'; var C_ChangeContentPosition=i; i++;
  A_Language[i] = 'Position du cadre central (en css)'; var C_ContentPosition=i; i++;
  A_Language[i] = 'Ajouter du code css sur l\'ensemble des pages'; var C_AddCssCode=i; i++;
  A_Language[i] = 'Supprimer le code css'; var C_RemoveCssCode=i; i++;
  A_Language[i] = 'Ajouter du code javascript sur l\'ensemble des pages'; var C_AddJSCode=i; i++;
  A_Language[i] = 'Supprimer le code javascript'; var C_RemoveJSCode=i; i++;
  A_Language[i] = 'Inscrivez ici votre code'; var C_WriteCode=i; i++;
  // Options : Resources table
  A_Language[i] = 'Tableau des ressources'; var C_ResourcesTableOption=i; i++;
  A_Language[i] = 'Afficher le tableau des ressources'; var C_ShowHeaderResourcesTable=i; i++;
  A_Language[i] = 'Afficher le nom de la plan\350te'; var C_ShowPlanetName=i; i++;
  A_Language[i] = 'Afficher les coordonn\351es'; var C_ShowCoordinates=i; i++;
  A_Language[i] = 'Afficher la colonne total'; var C_ShowTotal=i; i++;
  A_Language[i] = 'Afficher la colonne antimati\350re'; var C_ShowDarkMatter=i; i++;
  A_Language[i] = 'Afficher le temps depuis la derni\350re mise \340 jour'; var C_ShowTimeUpdate=i; i++;
  A_Language[i] = 'Afficher uniquement les ressources de la session active'; var C_ShowResourcesOnlyActiveSession=i; i++;
  A_Language[i] = 'Calculer les ressources en temps r\351el'; var C_RealTimeResources=i; i++;
  A_Language[i] = 'Intervalle en seconde entre chaque calcul'; var C_RealTimeResourcesDelay=i; i++;
  A_Language[i] = 'Style de l\'ent\352te de la plan\350te active (en css)'; var C_HeaderSelectedPlanetStyle=i; i++;
  A_Language[i] = 'Transparence des cellules contenant les ressources (1 \340 100)'; var C_Transparency=i; i++;
  A_Language[i] = 'Temps correspondant aux couleurs des graduations (en seconde) (couleur valide si le temps depuis la derni\350re mise \340 jour est inf\351rieure au temps saisi)'; var C_UpdateTimeColor=i; i++;
  A_Language[i] = 'Et rouge si le temps de la mise \340 jour est sup\351rieure.'; var C_UpdateTimeRed=i; i++;
  A_Language[i] = 'Activer le tri des plan\350tes'; var C_PlanetOrder=i; i++;
  A_Language[i] = 'Choisissez la plan\350te et utiliser les fl\350ches pour la d\351placer'; var C_PlanetOrderDescription=i; i++;
  // Options : Empire
  A_Language[i] = 'Afficher le menu empire'; var C_ShowEmpire=i; i++;
  A_Language[i] = 'Nom du lien dans le menu'; var C_EmpireLinkName=i; i++;
  A_Language[i] = 'Emplacement dans le menu o\371 sera inser\351 le lien vers le menu empire'; var C_EmpireMenuRow=i; i++;
  A_Language[i] = 'Taille en pixel des images repr\351sentant les plan\350tes'; var C_EmpireIconSize=i; i++;
  A_Language[i] = 'Cacher le tableau de ressources par d\351faut'; var C_HideDefaultResourcesTable=i; i++;
  A_Language[i] = 'Forcer l\'affichage du tableau des ressources g\351n\351r\351'; var C_ForceDisplayHeaderResourcesTableWithEmpire=i; i++;
  // Options : Transfer
  A_Language[i] = 'Transfert'; var C_Transfer=i; i++;
  A_Language[i] = 'Utiliser les ressources en temps r\352el pour les calculs'; var C_UseRealTimeResources=i; i++;
  A_Language[i] = 'Forcer la mise \340 jour visuelle en temps r\351el du tableau des ressources (Utilisation importante du CPU)'; var C_ForceResourcesTransferTableUpdate=i; i++;
  A_Language[i] = 'Afficher le panneau de transfert si un transfert est en cours'; var C_ShowTransferTableIfActiveTransfer=i; i++;
  // Options : Additional links
  A_Language[i] = 'Liens additionnels'; var C_LinkOption=i; i++;
  A_Language[i] = 'Nom du lien'; var C_LinkName=i; i++;
  A_Language[i] = 'Adresse du lien'; var C_LinkUrl=i; i++;
  A_Language[i] = 'Emplacement du lien dans le menu'; var C_LinkPosition=i; i++;
  A_Language[i] = 'Ouvrir dans une nouvelle fen\352tre le lien'; var C_LinkNewWindow=i; i++;
  A_Language[i] = 'Texte affich\351 au passage de la souris sur le lien (Affiche l\'adresse si vide)'; var C_LinkTitle=i; i++;
  A_Language[i] = 'Ajouter un lien'; var C_AddLink=i; i++;
  A_Language[i] = 'Lien n\260'; var C_LinkNumber=i; i++;
  A_Language[i] = 'Supprimer'; var C_Delete=i; i++;
  // Options
  A_Language[i] = 'Sauvegarder'; var C_Save=i; i++;
  A_Language[i] = 'Panneau de configuration'; var C_ControlPanel=i; i++;
  // Automatic update
  A_Language[i] = 'MAJ Start'; var C_StartUpdate=i; i++;
  A_Language[i] = 'MAJ Stop'; var C_StopUpdate=i; i++;
  A_Language[i] = 'Arr\352ter la mise \340 jour automatique'; var C_UpdateStopInformations=i; i++;
  A_Language[i] = 'Mise \340 jour automatique des pages m\351morisables'; var C_UpdateInformations=i; i++;
  // Resources table
  A_Language[i] = 'Plan\350te suivante'; var C_NextPlanet=i; i++;
  A_Language[i] = 'Plan\350te pr\351c\351dente'; var C_PreviousPlanet=i; i++;
  A_Language[i] = 'Actualiser la page actuelle de toutes les plan\350tes'; var C_UpdatePages=i; i++;
  // Empire
  A_Language[i] = 'Type'; var C_Type=i; i++;
  A_Language[i] = 'Nombre de cases'; var C_FieldNumber=i; i++;
  A_Language[i] = '\340'; var C_To=i; i++;
  A_Language[i] = 'Appliquer'; var C_Apply=i; i++;
  A_Language[i] = 'Image non m\351moris\351e'; var C_ImageNotSaved=i; i++;
  A_Language[i] = 'Informations g\351n\351rales'; var C_MainInformations=i; i++;
  A_Language[i] = 'Production horaire'; var C_HourProduction=i; i++;
  A_Language[i] = 'Production journali\350re'; var C_DayProduction=i; i++;
  A_Language[i] = 'B\342timents'; var C_BuildingsTxt=i; i++;
  A_Language[i] = 'D\351fense'; var C_DefensesTxt=i; i++;
  A_Language[i] = 'Recherche'; var C_ResearchTxt=i; i++;
  A_Language[i] = 'Flotte'; var C_FleetsTxt=i; i++;
  A_Language[i] = 'Liste'; var C_List=i; i++;
  A_Language[i] = 'Vaisseaux et d\351fenses en cours de construction'; var C_FleetsDefensesUC=i; i++;
  A_Language[i] = 'Allez \340 la page b\342timent'; var C_ToBuildings=i; i++;
  A_Language[i] = 'Allez au laboratoire'; var C_ToResearch=i; i++;
  A_Language[i] = 'Allez \340 la page d\351fense'; var C_ToDefenses=i; i++;
  A_Language[i] = 'Allez au chantier spatial'; var C_ToFleets=i; i++;
  A_Language[i] = 'Energie produite par satellite solaire'; var C_Ship212Production=i; i++;
  A_Language[i] = 'Nombre de satellites n\351cessaires'; var C_Ship212NecessaryNumber=i; i++;
  A_Language[i] = 'Construction possible'; var C_ConstructionAvailable=i; i++;
  A_Language[i] = 'Avec les ressources de la plan\350te'; var C_WithPlanetResources=i; i++;
  A_Language[i] = 'Avec les ressources de toutes les plan\350tes'; var C_WithAllPlanetsResources=i; i++;
  A_Language[i] = 'Une autre construction est d\351j\340 en cours sur cette plan\350te'; var C_OtherBuildingsInConstruction=i; i++;
  A_Language[i] = 'Une autre recheche est d\351j\340 en cours sur une de vos plan\350tes'; var C_OtherResearchInDevelopment=i; i++;
  A_Language[i] = 'Co\373t total de construction'; var C_TotalBuildingsCost=i; i++;
  A_Language[i] = 'Co\373t niveau'; var C_LevelCost1=i; i++;
  A_Language[i] = ''; var C_LevelCost2=i; i++;
  A_Language[i] = 'Arr\352ter la construction'; var C_StopBuildings=i; i++;
  A_Language[i] = 'Arr\352ter la recherche'; var C_StopResearch=i; i++;
  A_Language[i] = 'Lancer la construction'; var C_LaunchBuildings=i; i++;
  A_Language[i] = 'Lancer la recherche'; var C_LaunchResearch=i; i++;
  A_Language[i] = 'Construire les d\351fenses'; var C_BuildDefenses=i; i++;
  A_Language[i] = 'Construire les vaisseaux'; var C_BuildFleets=i; i++;
  A_Language[i] = 'Temps de construction'; var C_BuildingTime=i; i++;
  // Empire : Export
  A_Language[i] = 'Exporter'; var C_Export=i; i++;
  A_Language[i] = 'Options de g\351n\351ration'; var C_GeneratorOptions=i; i++;
  A_Language[i] = 'Centr\351'; var C_Center=i; i++;
  A_Language[i] = 'Tableau'; var C_LayoutInTable=i; i++;
  A_Language[i] = 'Pas de caract\350res sp\351ciaux'; var C_NoSpecialCharacter=i; i++;
  A_Language[i] = 'G\351n\351rer'; var C_Generate=i; i++;
  // Transfer
  A_Language[i] = 'Transf\351rer les ressources'; var C_TransferResources=i; i++;
  A_Language[i] = 'Vous n\'avez saisi aucune ressource \340 envoyer.'; var C_NoResources=i; i++;
  A_Language[i] = 'Le transfert n\'est pas possible. Vous manquez de vaisseaux sur certaines plan\350tes.'; var C_NotEnoughShip1=i; i++;
  A_Language[i] = 'Si tous vos vaisseaux n\'ont pas \351t\351 pris en compte, revisitez les pages \253Flottes\273 \340 mettre \340 jour.'; var C_NotEnoughShip2=i; i++;
  A_Language[i] = 'Destination'; var C_Destination=i; i++;
  A_Language[i] = 'A Envoyer'; var C_ToTransfer=i; i++;
  A_Language[i] = 'Envoy\351'; var C_Transfered=i; i++;
  A_Language[i] = 'Vitesse'; var C_Speed=i; i++;
  A_Language[i] = 'Recycleur n\351cessaire'; var C_NeededRecycler=i; i++;
  A_Language[i] = 'Etat de l\'envoi'; var C_TransferState=i; i++;
  A_Language[i] = 'GT'; var C_LargeCargoShip=i; i++; // Abbreviation of Large Cargo Ship
  A_Language[i] = 'PT'; var C_SmallCargoShip=i; i++; // Abbreviation of Small Cargo Ship
  A_Language[i] = 'Vous ne pouvez pas envoyer de ressources \340 partir de la plan\350te de destination.'; var C_NoTransferFromDestinationPlanet=i; i++;
  A_Language[i] = 'Vous n\'avez aucun recycleur.'; var C_NoRecycler=i; i++;
  A_Language[i] = 'Vous n\'avez pas assez de grands transporteurs.'; var C_NotEnoughLargeCargoShip=i; i++;
  A_Language[i] = 'Vous n\'avez pas assez de petits transporteurs.'; var C_NotEnoughSmallCargoShip=i; i++;
  A_Language[i] = 'Les ressources ont d\351j\340 \351t\351 envoy\351es'; var C_AlreadyTransfered=i; i++;
  A_Language[i] = 'La plan\350te n\'a pas \351t\351 s\351lectionn\351e lors du calcul.'; var C_PlanetNotSelected=i; i++;
  A_Language[i] = 'Aucune m\351morisation n\'a \351t\351 fa\356te.'; var C_NoTransfer=i; i++;
  A_Language[i] = 'Col. \340 utiliser'; var C_ColonyToBeUsed=i; i++;
  A_Language[i] = 'Autre destination'; var C_OtherDestination=i; i++;
  A_Language[i] = 'Entrez les ressources n\351cessaires pour le transfert'; var C_NeededResources=i; i++;
  A_Language[i] = 'Reste'; var C_Rest=i; i++;
  A_Language[i] = 'M\351tal \340 envoyer'; var C_MetalToBeSent=i; i++;
  A_Language[i] = 'Cristal \340 envoyer'; var C_CrystalToBeSent=i; i++;
  A_Language[i] = 'Deuterium \340 envoyer'; var C_DeuteriumToBeSent=i; i++;
  A_Language[i] = 'Dur\351e de vol'; var C_FlightTime=i; i++;
  A_Language[i] = 'Vitesse d\'envoi'; var C_SendingSpeed=i; i++;
  A_Language[i] = 'Carburant consomm\351'; var C_DeuteriumConsumption=i; i++;
  A_Language[i] = 'GT ou PT \340 envoyer'; var C_TransportShipNumber=i; i++;
  A_Language[i] = 'Options de calcul'; var C_TransferCalcOption=i; i++;
  A_Language[i] = 'Mode de calcul'; var C_CalcMode=i; i++;
  A_Language[i] = 'Utiliser les plan\350tes ayant le plus de ressources (Reste similaire sur chaque plan\350te apr\350s transfert)'; var C_SameRest=i; i++;
  A_Language[i] = 'Utiliser la m\352me quantit\351 de ressources sur chaque plan\350te'; var C_SameQuantity=i; i++;
  A_Language[i] = 'Utiliser les ressources de la plan\350te de destination en priorit\351'; var C_UseTotalResourcesDestinationPlanet=i; i++;
  A_Language[i] = 'Temps de vol le plus proche possible'; var C_SameTime=i; i++;
  A_Language[i] = 'Le plus rapide possible'; var C_Fastest=i; i++;
  A_Language[i] = 'Date d\'arriv\351e'; var C_ArrivalDate=i; i++;
  A_Language[i] = 'Ann\351e'; var C_Year=i; i++;
  A_Language[i] = 'Mois'; var C_Month=i; i++;
  A_Language[i] = 'Jour'; var C_Day=i; i++;
  A_Language[i] = 'Heure'; var C_Hour=i; i++;
  A_Language[i] = 'Minute'; var C_Minute=i; i++;
  A_Language[i] = 'Jour(s)'; var C_Days=i; i++;
  A_Language[i] = 'Heure(s)'; var C_Hours=i; i++;
  A_Language[i] = 'Minute(s)'; var C_Minutes=i; i++;
  A_Language[i] = 'j'; var C_DayAbbreviation=i; i++;
  A_Language[i] = 'h'; var C_HourAbbreviation=i; i++;
  A_Language[i] = 'm'; var C_MinuteAbbreviation=i; i++;
  A_Language[i] = 's'; var C_SecondAbbreviation=i; i++;
  A_Language[i] = 'Ajouter 1 recycleur si n\351cessaire pour affiner le temps de vol'; var C_AddRecycler=i; i++;
  A_Language[i] = 'Vaisseaux de transport'; var C_TransportShip=i; i++;
  A_Language[i] = 'M\351moriser le transfert'; var C_SaveTransfer=i; i++;
  A_Language[i] = 'Annuler le transfert'; var C_CancelTransfer=i; i++;
  A_Language[i] = 'Remplir les vaisseaux'; var C_FillShip=i; i++;
  A_Language[i] = 'Des plan\350tes non memoris\351es ont \351\351 trouv\351es, merci de les visiter au moins une fois.'; var C_UnsavedPlanets=i; i++;
  A_Language[i] = 'Remplir les coordonn\351es et la vitesse'; var C_FillCoordinatesAndSpeed=i; i++;
  A_Language[i] = 'Remplir les ressources'; var C_FillResources=i; i++;
  // Other
  A_Language[i] = 'La construction d\'un b\342timent modifiant les valeurs de la page ressources vient de se terminer,\n\nVoulez-vous mettre \340 jour la page ressources maintenant?'; var C_ResourcesBuildingsUC=i; i++;
  A_Language[i] = 'Temps d\'ex\351cution'; var C_RunTime=i; i++;
  // Welcome message
  A_Language[i] = 'Bienvenue dans la nouvelle version de \253'+C_ScriptName+'\273 (version: '+C_ScriptVersion+', build: '+C_ScriptBuild+')\nTraduction italien : Fiox\nMerci \340 tous les b\352ta-testeurs.\n\n'+
  'Pour cette version, la plupart du code a \351t\351 r\351\351crit, il est donc conseill\351 de lancer une actualisation automatique des pages \340 la suite de ce message.\n\n'+
  'Juste apr\350s votre clic sur OK, le script chargera la page des technologies pour m\351moriser le nom de chaque construction.\n\n'+
  'Pour voir les modifications de cette version, allez \340 la section nomm\351e \253DESCRIPTION DES MISES A JOUR\273 dans le script'; var C_NewVersion=i; i++;
  A_Language[i] = 'Bienvenue dans la nouvelle version de \253'+C_ScriptName+'\273 (version: '+C_ScriptVersion+', build: '+C_ScriptBuild+')\nTraduction italien : Fiox\nMerci \340 tous les b\352ta-testeurs.\n\n'+
  'Pour voir les modifications de cette version, allez \340 la section nomm\351e \253DESCRIPTION DES MISES A JOUR\273 dans le script'; var C_NewBuild=i; i++;
}
else if (Language == 2) { // IT
  // For accented character, use octal code to replace it, use this link (http://www.vbc3.com/script/diacritics.html)
  i = 0;
  A_Language[i] = 'Pianeta'; i++;
  A_Language[i] = 'Luna'; i++;
  A_Language[i] = 'Metallo'; var C_Metal=i; i++;
  A_Language[i] = 'Cristallo'; var C_Crystal=i; i++;
  A_Language[i] = 'Deuterio'; var C_Deuterium=i; i++;
  A_Language[i] = 'Energia'; var C_Energy=i; i++;
  A_Language[i] = 'Materia Oscura'; var C_DarkMatter=i; i++;
  A_Language[i] = 'Impero'; var C_Empire=i; i++;
  A_Language[i] = 'Diametro'; var C_Diameter=i; i++;
  A_Language[i] = 'Temperatura'; var C_Temperature=i; i++;
  A_Language[i] = 'Somma'; var C_Total=i; i++;
  A_Language[i] = 'Risorse'; var C_Resources=i; i++;
  A_Language[i] = 'Update'; var C_Update=i; i++;
  A_Language[i] = 'Si'; var C_Yes=i; i++;
  A_Language[i] = 'No'; var C_No=i; i++;
  A_Language[i] = 'Visualizza'; var C_Show=i; i++;
  A_Language[i] = 'Nascondi'; var C_Hide=i; i++;
  // Required text for analysis, include spaces, must be exact
  A_Language[i] = 'Risorse su'; var C_ResourcesTableHeader=i; i++; // Beginning of the first row from the resources table (resources page) 
  A_Language[i] = 'Requisiti'; var C_Require=i; i++; // First word of the right cell in tree technology table 
  A_Language[i] = 'Fattore di produzione:'; var C_ProductionRate=i; i++; // Text before production rate number in resources page
  // ValidateBuilding
  A_Language[i] = 'Numero si spazi liberi insufficinte'; var C_NotEnoughFreeField=i; i++;
  A_Language[i] = 'L\' avamposto lunare non pu\362 esser costruito ancora'; var C_LunarBaseNotBuilt=i; i++;
  A_Language[i] = 'Costruzione impossibile sul pianeta'; var C_NotOnPlanet=i; i++;
  A_Language[i] = 'Costruzione impossibile sulla luna'; var C_NotOnMoon=i; i++;
  // AddLink
  A_Language[i] = 'Key words :\n\nAlcune parti dell\'indirizzo o dei link possono esser sostituiti da keywords.\n\n'+
  '[session] Restituisce l\' IDentificatore della sessione attiva di ogame\n'+
  '[host] Ogame Restituisce il campo della sessione attiva\n'+
  '[Nome Pianeta] Restituisce l\' identificatore del pianeta nella sessione corrente\n\n'+
  'Es: creazione di un link alla pagina \'overview\' del pianeta chiamato \253Colonia\273 :\n'+
  'http://[host]/game/index.php?page=overview&session=[session]&cp=[Colonia]\n\n'+
  'Diventa (se ad es. tu stai in uni 10 it) :\n'+
  'http://uni10.ogame.it/game/index.php?page=overview&session=2943046dc47f&cp=34317957'; var C_KeyWordsInformations=i; i++;
  // SaveParameter
  A_Language[i] = 'Il valore di trasparenza non e\' corretto.\nIl valore deve essere compreso fra 1 e 100'; var C_TransparencyError=i; i++;
  A_Language[i] = 'Il numero di linee del menu Impero non e\' corretto.\nIl valore deve essere compreso fra 1 e '; var C_EmpireRowError=i; i++;
  A_Language[i] = 'Il nome delle linee del menu Impero deve contenere almeno un carattere.'; var C_EmpireTxtError=i; i++;
  A_Language[i] = 'Le dimensioni delle icone dei pianeti del menu Impero devono essere di almeno 1 pixel.'; var C_EmpireSizeIconError=i; i++;
  A_Language[i] = 'Il link'; var C_LinkPositionError1=i; i++;
  A_Language[i] = ' non puo\' esser salvato\nVerificare il nome, il link o l\'indirizzo del vostro link.\nLa posizione del link deve essere compreso fra 1 e '; var C_LinkPositionError2=i; i++;
  A_Language[i] = 'Le informazioni verranno correttamente salvate\nAlla fine delle correzioni, la pagina non sara\'aggiornata.'; var C_SaveParameterError=i; i++;
  // ShowHideTable
  A_Language[i] = 'Ripiega'; var C_RollUp=i; i++;
  A_Language[i] = 'Espandi'; var C_Unfold=i; i++;
  // Options : General parameters
  A_Language[i] = 'Parametri generali'; var C_MainOption=i; i++;
  A_Language[i] = 'Visualizza i numeri in kilo'; var C_ShowInKilo=i; i++;
  A_Language[i] = 'Visualizza i secondi per l\'aggiornamento'; var C_ShowSecondForUpperUpdateTimeInDay=i; i++;
  A_Language[i] = 'Cancella Links \'ufficiali\''; var C_DeleteOfficerLink=i; i++;
  A_Language[i] = 'Cancella Links \'mercante\''; var C_DeleteTraderLink=i; i++;
  A_Language[i] = 'Coordinate'; var C_Coordinates=i; i++;
  A_Language[i] = 'Nome'; var C_Name=i; i++;
  A_Language[i] = 'Stato'; var C_Status=i; i++;
  A_Language[i] = 'Punti'; var C_Points=i; i++;
  A_Language[i] = 'Adesione'; var C_MemberShip=i; i++;
  A_Language[i] = 'Online'; var C_Online=i; i++;
  A_Language[i] = 'Ordine di default della lista membri dell\' alleanza'; var C_SortMember=i; i++;
  A_Language[i] = 'Crescente'; var C_Increasing=i; i++;
  A_Language[i] = 'Decrescente'; var C_Lessening=i; i++;
  A_Language[i] = 'Riordina i membri dell\'ally'; var C_SortOrder=i;i++;
  A_Language[i] = 'Aggiungi tooltip a tutti i link'; var C_AddToolTip=i; i++;
  A_Language[i] = 'Avverti, con un messaggio, la necessita\' di aggiornare le risorse dopo una costruzione'; var C_ShowRequestToUpdateResourcesPage=i; i++;
  A_Language[i] = 'Visualizza un link che permetta l\'aggiornamento automatico di tutte le pagine'; var C_ShowAutoUpdate=i; i++;
  A_Language[i] = 'Usa un tempo random per l\'autoaggiornamento automatico delle pagine (tra 2 e 10s)'; var C_UseRandomUpdateTime=i; i++;
  A_Language[i] = 'Aggiungi una immagine di controllo della versione, per gli aggiornamenti, nella barra alla fine della pagina'; var C_AddImageVersion=i; i++;
  A_Language[i] = 'Attiva la visualizzazione degli errori (Debugging)'; var C_Debug=i; i++;
  // Options : Display options
  A_Language[i] = 'Parametri di visualizzazione'; var C_ScreenOption=i; i++;
  A_Language[i] = 'Visualizza elenco a discesa dei pianeti'; var C_ShowHeaderPlanetList=i; i++;
  A_Language[i] = 'Visualizza la tabella delle risorse di default'; var C_ShowHeaderResourcesList=i; i++;
  A_Language[i] = 'Visualizza la tabella di default risorse'; var C_AddResourcesTotal=i; i++;
  A_Language[i] = 'Attiva la possibilita\' di cambiare la posizione dell\' header frame (Elenco a discesa dei pianeti)'; var C_ChangeHeaderPosition=i; i++;
  A_Language[i] = 'Posizione dell\' header (in css)'; var C_HeaderPosition=i; i++;
  A_Language[i] = 'Per esser sicuro della tua posizione, considera di poter aggiungere, per esempio, \253!importante\273 per avere un riferimento.'; var C_PositionInformations=i; i++;
  A_Language[i] = 'Attiva la possibilita\' di cambiare la posizione del main frame'; var C_ChangeContentPosition=i; i++;
  A_Language[i] = 'Posizione del main frame (in css)'; var C_ContentPosition=i; i++;
  A_Language[i] = 'Aggiunge codice CSS in tutte le pagine'; var C_AddCssCode=i; i++;
  A_Language[i] = 'Rimuoce CSS code'; var C_RemoveCssCode=i; i++;
  A_Language[i] = 'Aggiunge codice JavaScript in tutte le pagine'; var C_AddJSCode=i; i++;
  A_Language[i] = 'Rimuove JavaScript code'; var C_RemoveJSCode=i; i++;
  A_Language[i] = 'Inserisci il tuo codice'; var C_WriteCode=i; i++;
  // Options : Resources table
  A_Language[i] = 'Tabella risorse'; var C_ResourcesTableOption=i; i++;
  A_Language[i] = 'Visualizza la Tabella risorse'; var C_ShowHeaderResourcesTable=i; i++;
  A_Language[i] = 'Visualizza i nomi dei pianeti'; var C_ShowPlanetName=i; i++;
  A_Language[i] = 'Visualizza le coordinate'; var C_ShowCoordinates=i; i++;
  A_Language[i] = 'Visualizza il totale nella colonna'; var C_ShowTotal=i; i++;
  A_Language[i] = 'Visualizza la materia oscura nella colonna'; var C_ShowDarkMatter=i; i++;
  A_Language[i] = 'Visualizza il tempo trascorso dall\'ultimo aggiornamento'; var C_ShowTimeUpdate=i; i++;
  A_Language[i] = 'Visualizza solo le risorse della sessione attiva'; var C_ShowResourcesOnlyActiveSession=i; i++
  A_Language[i] = 'Calcola le risorse in tempo reale'; var C_RealTimeResources=i; i++;
  A_Language[i] = 'Intervallo in secondi tra ogni calcolo'; var C_RealTimeResourcesDelay=i; i++;
  A_Language[i] = 'Stile di visualizzazione del pianeta corrente, header (in css)'; var C_HeaderSelectedPlanetStyle=i; i++;
  A_Language[i] = 'Trasparenza delle celle contenenti le risorse (1 to 100)'; var C_Transparency=i; i++;
  A_Language[i] = 'Tempo trascorso, corrispondente alla gradazione di colore (in seconi) (Colore valido se il tempo, dal momento dell\'ultimo aggiornamento \350 inferiore al tempo di entrata)'; var C_UpdateTimeColor=i; i++;
  A_Language[i] = 'E rosso, se il tempo di aggiornamento \350 superiore.'; var C_UpdateTimeRed=i; i++;
  A_Language[i] = 'Attiva il riordine dei pianeti'; var C_PlanetOrder=i; i++;
  A_Language[i] = 'Seleziona un pianeta o usa le frecce per cambiarne la posizione'; var C_PlanetOrderDescription=i; i++;
  // Options : Empire
  A_Language[i] = 'Visualizza il menu Impero'; var C_ShowEmpire=i; i++;
  A_Language[i] = 'Nome del link nel menu'; var C_EmpireLinkName=i; i++;
  A_Language[i] = 'Posizione del link al menu Impero'; var C_EmpireMenuRow=i; i++;
  A_Language[i] = 'Dimensione in pixel delle immagini dei pianeti'; var C_EmpireIconSize=i; i++;
  A_Language[i] = 'Nascondi la tabella delle risorse di default'; var C_HideDefaultResourcesTable=i; i++;
  A_Language[i] = 'Forza la visualizzazione delle risorse generate nella tabella'; var C_ForceDisplayHeaderResourcesTableWithEmpire=i; i++;
  // Options : Transfer
  A_Language[i] = 'Trasferimento'; var C_Transfer=i; i++;
  A_Language[i] = 'Usa il calcolo delle risorse in tempo reale'; var C_UseRealTimeResources=i; i++;
  A_Language[i] = 'Forza la visualizzazione in real-time dell\'aggiornamento in tabella risorse (Important CPU usage)'; var C_ForceResourcesTransferTableUpdate=i; i++;
  A_Language[i] = 'Visualizza la tabella trasferimento se qualche trasferimento e\' attivo'; var C_ShowTransferTableIfActiveTransfer=i; i++;
  // Options : Additional links
  A_Language[i] = 'Link addizionali'; var C_LinkOption=i; i++;
  A_Language[i] = 'Nome del link'; var C_LinkName=i; i++;
  A_Language[i] = 'Indirizzo del link'; var C_LinkUrl=i; i++;
  A_Language[i] = 'Posizione del link nel menu'; var C_LinkPosition=i; i++;
  A_Language[i] = 'Apri il link in una nuova finestra'; var C_LinkNewWindow=i; i++;
  A_Language[i] = 'Testo evidenziato al passaggio del mouse'; var C_LinkTitle=i; i++;
  A_Language[i] = 'Add link'; var C_AddLink=i; i++;
  A_Language[i] = 'Link n\260'; var C_LinkNumber=i; i++;
  A_Language[i] = 'Cancella'; var C_Delete=i; i++;
  // Options
  A_Language[i] = 'Salva'; var C_Save=i; i++;
  A_Language[i] = 'Control panel'; var C_ControlPanel=i; i++;
  // Automatic update
  A_Language[i] = 'Update Start'; var C_StartUpdate=i; i++;
  A_Language[i] = 'Update Stop'; var C_StopUpdate=i; i++;
  A_Language[i] = 'Arresta Update automatico'; var C_UpdateStopInformations=i; i++;
  A_Language[i] = 'Aggiornamento automatico delle pagine memorizzate'; var C_UpdateInformations=i; i++;
  // Resources table
  A_Language[i] = 'Prossimo pianeta'; var C_NextPlanet=i; i++;
  A_Language[i] = 'Pianeta precedente'; var C_PreviousPlanet=i; i++;
  A_Language[i] = 'Refresh della pagina corrente e di tutti i pianeti'; var C_UpdatePages=i; i++;
  // Empire
  A_Language[i] = 'Tipo'; var C_Type=i; i++;
  A_Language[i] = 'Numero di spazi'; var C_FieldNumber=i; i++;
  A_Language[i] = 'a'; var C_To=i; i++;
  A_Language[i] = 'Applica'; var C_Apply=i; i++;
  A_Language[i] = 'Immagine non memorizzata'; var C_ImageNotSaved=i; i++;
  A_Language[i] = 'Informazioni generali'; var C_MainInformations=i; i++;
  A_Language[i] = 'Produzione oraria'; var C_HourProduction=i; i++;
  A_Language[i] = 'Produzione quotidiana'; var C_DayProduction=i; i++;
  A_Language[i] = 'Costruzioni'; var C_BuildingsTxt=i; i++;
  A_Language[i] = 'Difesa'; var C_DefensesTxt=i; i++;
  A_Language[i] = 'Ricerca'; var C_ResearchTxt=i; i++;
  A_Language[i] = 'Flotte'; var C_FleetsTxt=i; i++;
  A_Language[i] = 'Lista'; var C_List=i; i++;
  A_Language[i] = 'Navi e difese in costruzione'; var C_FleetsDefensesUC=i; i++;
  A_Language[i] = 'Vai a costruzioni'; var C_ToBuildings=i; i++;
  A_Language[i] = 'Vai a ricerca'; var C_ToResearch=i; i++;
  A_Language[i] = 'Vai a difesa'; var C_ToDefenses=i; i++;
  A_Language[i] = 'Vai a cantiere spaziale'; var C_ToFleets=i; i++;
  A_Language[i] = 'Energia prodotta dai satelliti sol.'; var C_Ship212Production=i; i++;
  A_Language[i] = 'Num. di satelliti necessari'; var C_Ship212NecessaryNumber=i; i++;
  A_Language[i] = 'Costruzione possibile'; var C_ConstructionAvailable=i; i++;
  A_Language[i] = 'Con le risorse del pianeta fra'; var C_WithPlanetResources=i; i++;
  A_Language[i] = 'Con le risorse di tutti i pianeti fra'; var C_WithAllPlanetsResources=i; i++;
  A_Language[i] = 'Un\'altra costruzione in corso sul pianeta'; var C_OtherBuildingsInConstruction=i; i++;
  A_Language[i] = 'Un\'altra ricerca in corso su uno dei pianeti'; var C_OtherResearchInDevelopment=i; i++;
  A_Language[i] = 'Risorse impiegate'; var C_TotalBuildingsCost=i; i++;
  A_Language[i] = 'Il livello'; var C_LevelCost1=i; i++;
  A_Language[i] = ' richiede'; var C_LevelCost2=i; i++;
  A_Language[i] = 'Arresta la costruzione'; var C_StopBuildings=i; i++;
  A_Language[i] = 'Arresta la ricerca'; var C_StopResearch=i; i++;
  A_Language[i] = 'Lancia la costruzione'; var C_LaunchBuildings=i; i++;
  A_Language[i] = 'Lancia la ricerca'; var C_LaunchResearch=i; i++;
  A_Language[i] = 'Costruire difese'; var C_BuildDefenses=i; i++;
  A_Language[i] = 'Costruzione Navi'; var C_BuildFleets=i; i++;
  A_Language[i] = 'Tempo di produzione'; var C_BuildingTime=i; i++;
  // Empire : Export
  A_Language[i] = 'Esporta'; var C_Export=i; i++;
  A_Language[i] = 'Generatore opzioni'; var C_GeneratorOptions=i; i++;
  A_Language[i] = 'Centrato'; var C_Center=i; i++;
  A_Language[i] = 'In tabella'; var C_LayoutInTable=i; i++;
  A_Language[i] = 'Senza caratteri speciali'; var C_NoSpecialCharacter=i; i++;
  A_Language[i] = 'Genera'; var C_Generate=i; i++;
  // Transfer
  A_Language[i] = 'Trasferimento Risorse'; var C_TransferResources=i; i++;
  A_Language[i] = 'Non hai risorse da inviare.'; var C_NoResources=i; i++;
  A_Language[i] = 'Il trasferimento e\' impossibile. Non hai flotta sui pianeti.'; var C_NotEnoughShip1=i; i++;
  A_Language[i] = 'Dovresti rivisitare la pagina di tutti i pianeti per aggiornare il numero delle navi.'; var C_NotEnoughShip2=i; i++;
  A_Language[i] = 'Destinazione'; var C_Destination=i; i++;
  A_Language[i] = 'Da inviare'; var C_ToTransfer=i; i++;
  A_Language[i] = 'Inviato'; var C_Transfered=i; i++;
  A_Language[i] = 'Velocit\340'; var C_Speed=i; i++;
  A_Language[i] = 'Riciclatrici ?'; var C_NeededRecycler=i; i++;
  A_Language[i] = 'Stato dell\'invio'; var C_TransferState=i; i++;
  A_Language[i] = 'CP'; var C_LargeCargoShip=i; i++; // Abbreviation of Large Cargo Ship
  A_Language[i] = 'CL'; var C_SmallCargoShip=i; i++; // Abbreviation of Small Cargo Ship
  A_Language[i] = 'Non puoi inviare risorse dal pianeta di destinazione.'; var C_NoTransferFromDestinationPlanet=i; i++;
  A_Language[i] = 'Non hai nessuna riciclatrice.'; var C_NoRecycler=i; i++;
  A_Language[i] = 'Non hai abbastanza cargo pesanti.'; var C_NotEnoughLargeCargoShip=i; i++;
  A_Language[i] = 'Non hai abbastanza cargo leggeri.'; var C_NotEnoughSmallCargoShip=i; i++;
  A_Language[i] = 'Le risorse son gia\' state inviate'; var C_AlreadyTransfered=i; i++;
  A_Language[i] = 'Il pianeta non e\' stato incluso nel calcolo.'; var C_PlanetNotSelected=i; i++;
  A_Language[i] = 'Nessuna memorizzazione dati.'; var C_NoTransfer=i; i++;
  A_Language[i] = 'Colonia selezionata'; var C_ColonyToBeUsed=i; i++;
  A_Language[i] = 'Altra destinazione'; var C_OtherDestination=i; i++;
  A_Language[i] = 'Introduci le risorse necessarie allo trasferimento'; var C_NeededResources=i; i++;
  A_Language[i] = 'Restano'; var C_Rest=i; i++;
  A_Language[i] = 'Metallo da inviare'; var C_MetalToBeSent=i; i++;
  A_Language[i] = 'Cristallo da inviare'; var C_CrystalToBeSent=i; i++;
  A_Language[i] = 'Deuterio da inviare'; var C_DeuteriumToBeSent=i; i++;
  A_Language[i] = 'Durata del volo'; var C_FlightTime=i; i++;
  A_Language[i] = 'Velocit\340 di invio'; var C_SendingSpeed=i; i++;
  A_Language[i] = 'Carburante consumato'; var C_DeuteriumConsumption=i; i++;
  A_Language[i] = 'Cl o Cp da inviare'; var C_TransportShipNumber=i; i++;
  A_Language[i] = 'Opzioni di calcolo'; var C_TransferCalcOption=i; i++;
  A_Language[i] = 'Modalita\' di calcolo'; var C_CalcMode=i; i++;
  A_Language[i] = 'Usa i pianeti che hanno pi\371 risorse'; var C_SameRest=i; i++;
  A_Language[i] = 'Usa la stessa quantit\340 di risorse per tutti i pianeti'; var C_SameQuantity=i; i++;
  A_Language[i] = 'Usa prima le risorse del pianeta di destinazione'; var C_UseTotalResourcesDestinationPlanet=i; i++;
  A_Language[i] = 'Tempo di volo il pi\371 breve possibile'; var C_SameTime=i; i++;
  A_Language[i] = 'Il pi\371 veloce possibile'; var C_Fastest=i; i++;
  A_Language[i] = 'Data di arrivo'; var C_ArrivalDate=i; i++;
  A_Language[i] = 'Anno'; var C_Year=i; i++;
  A_Language[i] = 'Mese'; var C_Month=i; i++;
  A_Language[i] = 'Giorno'; var C_Day=i; i++;
  A_Language[i] = 'Ora'; var C_Hour=i; i++;
  A_Language[i] = 'Minuto'; var C_Minute=i; i++;
  A_Language[i] = 'Giorno(i)'; var C_Days=i; i++;
  A_Language[i] = 'Ora(e)'; var C_Hours=i; i++;
  A_Language[i] = 'Minuto(i)'; var C_Minutes=i; i++;
  A_Language[i] = 'g'; var C_DayAbbreviation=i; i++;
  A_Language[i] = 'h'; var C_HourAbbreviation=i; i++;
  A_Language[i] = 'm'; var C_MinuteAbbreviation=i; i++;
  A_Language[i] = 's'; var C_SecondAbbreviation=i; i++;
  A_Language[i] = 'Aggiungi una riciclatrice s\350 necessario, per affinare il tempo di volo'; var C_AddRecycler=i; i++;
  A_Language[i] = 'Cargo'; var C_TransportShip=i; i++;
  A_Language[i] = 'Memorizza il trasferimento'; var C_SaveTransfer=i; i++;
  A_Language[i] = 'Annulla il trasferimento'; var C_CancelTransfer=i; i++;
  A_Language[i] = 'Riempi i cargo'; var C_FillShip=i; i++;
  A_Language[i] = 'Alcuni pianeti non son stati memorizzati.'; var C_UnsavedPlanets=i; i++;
  A_Language[i] = 'Riempire i campi con coordinate e velocit\340'; var C_FillCoordinatesAndSpeed=i; i++;
  A_Language[i] = 'Riempire con risorse'; var C_FillResources=i; i++;
  // Other
  A_Language[i] = 'La costruzione, modifica i valori delle risorse disponibili,\n\nVuoi aggiornare la pagina Risorse ora?'; var C_ResourcesBuildingsUC=i; i++;
  A_Language[i] = 'Tempo d\'esecuzione'; var C_RunTime=i; i++;
  // Welcome message
  A_Language[i] = 'Welcome to the new version of \253'+C_ScriptName+'\273 (version: '+C_ScriptVersion+', build: '+C_ScriptBuild+')\nItalian translation : by Fiox\nThanks to all beta tester.\n\n'+
  'For this version, most of the code were rewritten, it is thus advised to launch an automatic updating of pages from your account following this message.\n\n'+
  'Just after your click on OK, the script will load the tree technology page to get the name of each construction.\n\n'+
  'To see the changes about this version, go to the section named \253DESCRIPTION DES MISES A JOUR\273 in the script (Only in french).'; var C_NewVersion=i; i++;
  A_Language[i] = 'Welcome to the new version of \253'+C_ScriptName+'\273 (version: '+C_ScriptVersion+', build: '+C_ScriptBuild+')\nItalian translation : by Fiox\nThanks to all beta tester.\n\n'+
  'To see the changes about this version, go to the section named \253DESCRIPTION DES MISES A JOUR\273 in the script (Only in french).'; var C_NewBuild=i; i++;
}
else { // EN
  // For accented character, use octal code to replace it, use this link (http://www.vbc3.com/script/diacritics.html)
  i = 0;
  A_Language[i] = 'Planet'; i++;
  A_Language[i] = 'Moon'; i++;
  A_Language[i] = 'Metal'; var C_Metal=i; i++;
  A_Language[i] = 'Crystal'; var C_Crystal=i; i++;
  A_Language[i] = 'Deuterium'; var C_Deuterium=i; i++;
  A_Language[i] = 'Energy'; var C_Energy=i; i++;
  A_Language[i] = 'Dark Matter'; var C_DarkMatter=i; i++;
  A_Language[i] = 'Empire'; var C_Empire=i; i++;
  A_Language[i] = 'Diameter'; var C_Diameter=i; i++;
  A_Language[i] = 'Temperature'; var C_Temperature=i; i++;
  A_Language[i] = 'Total'; var C_Total=i; i++;
  A_Language[i] = 'Resources'; var C_Resources=i; i++;
  A_Language[i] = 'Update'; var C_Update=i; i++;
  A_Language[i] = 'Yes'; var C_Yes=i; i++;
  A_Language[i] = 'No'; var C_No=i; i++;
  A_Language[i] = 'Show'; var C_Show=i; i++;
  A_Language[i] = 'Hide'; var C_Hide=i; i++;
  // Required text for analysis, include spaces, must be exact
  A_Language[i] = 'Resource production on'; var C_ResourcesTableHeader=i; i++; // Beginning of the first row from the resources table (resources page) 
  A_Language[i] = 'Requirements'; var C_Require=i; i++; // First word of the right cell in tree technology table 
  A_Language[i] = 'Production Factor: '; var C_ProductionRate=i; i++; // Text before production rate number in resources page
  // ValidateBuilding
  A_Language[i] = 'Numbers of free field are insufficient'; var C_NotEnoughFreeField=i; i++;
  A_Language[i] = 'The lunar base aren\'t built'; var C_LunarBaseNotBuilt=i; i++;
  A_Language[i] = 'Not available on plant'; var C_NotOnPlanet=i; i++;
  A_Language[i] = 'Not available on moon'; var C_NotOnMoon=i; i++;
  // AddLink
  A_Language[i] = 'Key words :\n\nSome part can be replaced keywords.\n\n'+
  '[session] To get the id of the current session\n'+
  '[host] To get the domain of the ogame universe\n'+
  '[Planet name] To get the id of one of your planets\n\n'+
  'Ex: Creation of a link to the \'overview\' page of the planet named \253Homeworld\273 :\n'+
  'http://[host]/game/index.php?page=overview&session=[session]&cp=[Homeworld]\n\n'+
  'Become (for universe 10) :\n'+
  'http://uni10.ogame.org/game/index.php?page=overview&session=2943046dc47f&cp=34317957'; var C_KeyWordsInformations=i; i++;
  // SaveParameter
  A_Language[i] = 'There is an error in the value of transparency.\nThe value must be included between 1 and 100'; var C_TransparencyError=i; i++;
  A_Language[i] = 'The value of the empire row is not correct.\nThe value must be included between 1 and '; var C_EmpireRowError=i; i++;
  A_Language[i] = 'The name of the link towards the empire menu must contain at least one character'; var C_EmpireTxtError=i; i++;
  A_Language[i] = 'The icons size of planets in empire view must be upper to 1 pixel.'; var C_EmpireSizeIconError=i; i++;
  A_Language[i] = 'The link'; var C_LinkPositionError1=i; i++;
  A_Language[i] = ' can\'t be saved.\nVerify the name, link and row number.\nThe link row must be included between 1 and '; var C_LinkPositionError2=i; i++;
  A_Language[i] = 'Correct datas were been saved\nSo that you can correct, the page will not be refreshed.'; var C_SaveParameterError=i; i++;
  // ShowHideTable
  A_Language[i] = 'Roll up'; var C_RollUp=i; i++;
  A_Language[i] = 'Unfold'; var C_Unfold=i; i++;
  // Options : General parameters
  A_Language[i] = 'General parameters'; var C_MainOption=i; i++;
  A_Language[i] = 'Show numbers in kilo'; var C_ShowInKilo=i; i++;
  A_Language[i] = 'Show seconds for the upper update at 24h'; var C_ShowSecondForUpperUpdateTimeInDay=i; i++;
  A_Language[i] = 'Delete Links \'officers\''; var C_DeleteOfficerLink=i; i++;
  A_Language[i] = 'Delete Link \'merchant\''; var C_DeleteTraderLink=i; i++;
  A_Language[i] = 'Position'; var C_Coordinates=i; i++;
  A_Language[i] = 'Name'; var C_Name=i; i++;
  A_Language[i] = 'Status'; var C_Status=i; i++;
  A_Language[i] = 'Points'; var C_Points=i; i++;
  A_Language[i] = 'Membership'; var C_MemberShip=i; i++;
  A_Language[i] = 'Online'; var C_Online=i; i++;
  A_Language[i] = 'Sort member list'; var C_SortMember=i; i++;
  A_Language[i] = 'Ascending'; var C_Increasing=i; i++;
  A_Language[i] = 'Descending'; var C_Lessening=i; i++;
  A_Language[i] = 'Order of member list sorting'; var C_SortOrder=i;i++;
  A_Language[i] = 'Add tooltip to all link'; var C_AddToolTip=i; i++;
  A_Language[i] = 'Show a message asking to update the resources page if a new building modifying it was built'; var C_ShowRequestToUpdateResourcesPage=i; i++;
  A_Language[i] = 'Show a link to update all pages in automatic.'; var C_ShowAutoUpdate=i; i++;
  A_Language[i] = 'Use a random time to update pages in automatic (between 2 and 10s)'; var C_UseRandomUpdateTime=i; i++;
  A_Language[i] = 'Add a version check php image at the bottom of page'; var C_AddImageVersion=i; i++;
  A_Language[i] = 'Show the error messages (Debugging)'; var C_Debug=i; i++;
  // Options : Display options
  A_Language[i] = 'Display options'; var C_ScreenOption=i; i++;
  A_Language[i] = 'Show drop-down list of planets'; var C_ShowHeaderPlanetList=i; i++;
  A_Language[i] = 'Show the default resources table'; var C_ShowHeaderResourcesList=i; i++;
  A_Language[i] = 'Add the resources total to the default resources table'; var C_AddResourcesTotal=i; i++;
  A_Language[i] = 'Activate the possibility to change the header frame position (Drop-down list of planets)'; var C_ChangeHeaderPosition=i; i++;
  A_Language[i] = 'Position of the header frame (in css)'; var C_HeaderPosition=i; i++;
  A_Language[i] = 'To be sure that your position is taken in consideration, you can add \253!important\273 after the position.'; var C_PositionInformations=i; i++;
  A_Language[i] = 'Activate the possibility to change the position of the main frame.'; var C_ChangeContentPosition=i; i++;
  A_Language[i] = 'Position of the main frame (in css)'; var C_ContentPosition=i; i++;
  A_Language[i] = 'Add CSS code in all pages'; var C_AddCssCode=i; i++;
  A_Language[i] = 'Remove CSS code'; var C_RemoveCssCode=i; i++;
  A_Language[i] = 'Add JavaScript code in all pages'; var C_AddJSCode=i; i++;
  A_Language[i] = 'Remove JavaScript code'; var C_RemoveJSCode=i; i++;
  A_Language[i] = 'Write your code here'; var C_WriteCode=i; i++;
  // Options : Resources table
  A_Language[i] = 'Resources table'; var C_ResourcesTableOption=i; i++;
  A_Language[i] = 'Show the resources table'; var C_ShowHeaderResourcesTable=i; i++;
  A_Language[i] = 'Show planet name'; var C_ShowPlanetName=i; i++;
  A_Language[i] = 'Show the coordinates of planets'; var C_ShowCoordinates=i; i++;
  A_Language[i] = 'Add total resources column'; var C_ShowTotal=i; i++;
  A_Language[i] = 'Show dark matter column'; var C_ShowDarkMatter=i; i++;
  A_Language[i] = 'Show the time since the last update'; var C_ShowTimeUpdate=i; i++;
  A_Language[i] = 'Show only resources of active session'; var C_ShowResourcesOnlyActiveSession=i; i++
  A_Language[i] = 'Calculate resources in real time'; var C_RealTimeResources=i; i++;
  A_Language[i] = 'Interval of time between each calculation'; var C_RealTimeResourcesDelay=i; i++;
  A_Language[i] = 'Style of header of current planet (in css)'; var C_HeaderSelectedPlanetStyle=i; i++;
  A_Language[i] = 'Transparency of resources cells (1 to 100)'; var C_Transparency=i; i++;
  A_Language[i] = 'Time corresponding to the colors of graduations (in second) (the color used is the one whoise time since the last update is just inferior of filled time)'; var C_UpdateTimeColor=i; i++;
  A_Language[i] = 'And red, if update time is superior.'; var C_UpdateTimeRed=i; i++;
  A_Language[i] = 'Activate planets sort'; var C_PlanetOrder=i; i++;
  A_Language[i] = 'Choose one planet and use arrows to change its position'; var C_PlanetOrderDescription=i; i++;
  // Options : Empire
  A_Language[i] = 'Show empire link'; var C_ShowEmpire=i; i++;
  A_Language[i] = 'Name of empire link'; var C_EmpireLinkName=i; i++;
  A_Language[i] = 'Row number in ogame menu'; var C_EmpireMenuRow=i; i++;
  A_Language[i] = 'Size in pixel of planets thumbnails'; var C_EmpireIconSize=i; i++;
  A_Language[i] = 'Hide default resources table'; var C_HideDefaultResourcesTable=i; i++;
  A_Language[i] = 'Force the display of the generated resources table'; var C_ForceDisplayHeaderResourcesTableWithEmpire=i; i++;
  // Options : Transfer
  A_Language[i] = 'Transfer'; var C_Transfer=i; i++;
  A_Language[i] = 'Use result of real time resources calculation'; var C_UseRealTimeResources=i; i++;
  A_Language[i] = 'Force the display of the resources calculated real time (Important CPU usage)'; var C_ForceResourcesTransferTableUpdate=i; i++;
  A_Language[i] = 'Show transfer form if a transfer is in progress'; var C_ShowTransferTableIfActiveTransfer=i; i++;
  // Options : Additional links
  A_Language[i] = 'Additional links'; var C_LinkOption=i; i++;
  A_Language[i] = 'Name of link'; var C_LinkName=i; i++;
  A_Language[i] = 'Url of link'; var C_LinkUrl=i; i++;
  A_Language[i] = 'Row number in menu'; var C_LinkPosition=i; i++;
  A_Language[i] = 'Open the link in a new window'; var C_LinkNewWindow=i; i++;
  A_Language[i] = 'Text shown the mouse is over the link'; var C_LinkTitle=i; i++;
  A_Language[i] = 'Add link'; var C_AddLink=i; i++;
  A_Language[i] = 'Link n\260'; var C_LinkNumber=i; i++;
  A_Language[i] = 'Delete'; var C_Delete=i; i++;
  // Options
  A_Language[i] = 'Save'; var C_Save=i; i++;
  A_Language[i] = 'Control panel'; var C_ControlPanel=i; i++;
  // Automatic update
  A_Language[i] = 'Update Start'; var C_StartUpdate=i; i++;
  A_Language[i] = 'Update Stop'; var C_StopUpdate=i; i++;
  A_Language[i] = 'Stop automatic update'; var C_UpdateStopInformations=i; i++;
  A_Language[i] = 'Update in automatic all pages'; var C_UpdateInformations=i; i++;
  // Resources table
  A_Language[i] = 'Next planet'; var C_NextPlanet=i; i++;
  A_Language[i] = 'Previous planet'; var C_PreviousPlanet=i; i++;
  A_Language[i] = 'Refresh the current page on all planets'; var C_UpdatePages=i; i++;
  // Empire
  A_Language[i] = 'Type'; var C_Type=i; i++;
  A_Language[i] = 'Number of field'; var C_FieldNumber=i; i++;
  A_Language[i] = 'to'; var C_To=i; i++;
  A_Language[i] = 'Apply'; var C_Apply=i; i++;
  A_Language[i] = 'Image not saved'; var C_ImageNotSaved=i; i++;
  A_Language[i] = 'Main informations'; var C_MainInformations=i; i++;
  A_Language[i] = 'Hourly production'; var C_HourProduction=i; i++;
  A_Language[i] = 'Daily Production'; var C_DayProduction=i; i++;
  A_Language[i] = 'Buildings'; var C_BuildingsTxt=i; i++;
  A_Language[i] = 'Defense'; var C_DefensesTxt=i; i++;
  A_Language[i] = 'Research'; var C_ResearchTxt=i; i++;
  A_Language[i] = 'Fleet'; var C_FleetsTxt=i; i++;
  A_Language[i] = 'List'; var C_List=i; i++;
  A_Language[i] = 'Ship and defenses under construction'; var C_FleetsDefensesUC=i; i++;
  A_Language[i] = 'Go to buildings'; var C_ToBuildings=i; i++;
  A_Language[i] = 'Go to research'; var C_ToResearch=i; i++;
  A_Language[i] = 'Go to defense'; var C_ToDefenses=i; i++;
  A_Language[i] = 'Go to shipyard'; var C_ToFleets=i; i++;
  A_Language[i] = 'Energy provide by solar satellites.'; var C_Ship212Production=i; i++;
  A_Language[i] = 'Num. of solar satellites needed'; var C_Ship212NecessaryNumber=i; i++;
  A_Language[i] = 'Construction available'; var C_ConstructionAvailable=i; i++;
  A_Language[i] = 'With resources from planet'; var C_WithPlanetResources=i; i++;
  A_Language[i] = 'With resources from all planets'; var C_WithAllPlanetsResources=i; i++;
  A_Language[i] = 'An other construction is in progress on this planet'; var C_OtherBuildingsInConstruction=i; i++;
  A_Language[i] = 'An other research is in development on planet'; var C_OtherResearchInDevelopment=i; i++;
  A_Language[i] = 'Total cost of buildings'; var C_TotalBuildingsCost=i; i++;
  A_Language[i] = 'Level cost'; var C_LevelCost1=i; i++;
  A_Language[i] = ' required'; var C_LevelCost2=i; i++;
  A_Language[i] = 'Cancel building'; var C_StopBuildings=i; i++;
  A_Language[i] = 'Cancel research'; var C_StopResearch=i; i++;
  A_Language[i] = 'Start building'; var C_LaunchBuildings=i; i++;
  A_Language[i] = 'Start research'; var C_LaunchResearch=i; i++;
  A_Language[i] = 'Build defense'; var C_BuildDefenses=i; i++;
  A_Language[i] = 'Build ship'; var C_BuildFleets=i; i++;
  A_Language[i] = 'Building time'; var C_BuildingTime=i; i++;
  // Empire : Export
  A_Language[i] = 'Export'; var C_Export=i; i++;
  A_Language[i] = 'Generator options'; var C_GeneratorOptions=i; i++;
  A_Language[i] = 'Centred'; var C_Center=i; i++;
  A_Language[i] = 'Table'; var C_LayoutInTable=i; i++;
  A_Language[i] = 'No special character'; var C_NoSpecialCharacter=i; i++;
  A_Language[i] = 'Generate'; var C_Generate=i; i++;
  // Transfer
  A_Language[i] = 'Transfer resources'; var C_TransferResources=i; i++;
  A_Language[i] = 'There are any resources to be transfered.'; var C_NoResources=i; i++;
  A_Language[i] = 'Transfer is impossibile. You haven\'t enough ship on certain planets.'; var C_NotEnoughShip1=i; i++;
  A_Language[i] = 'You should revisit all fleet pages to update ship number.'; var C_NotEnoughShip2=i; i++;
  A_Language[i] = 'Destination'; var C_Destination=i; i++;
  A_Language[i] = 'To be sent'; var C_ToTransfer=i; i++;
  A_Language[i] = 'Sent'; var C_Transfered=i; i++;
  A_Language[i] = 'Speed'; var C_Speed=i; i++;
  A_Language[i] = 'Recycler ?'; var C_NeededRecycler=i; i++;
  A_Language[i] = 'Transfer status'; var C_TransferState=i; i++;
  A_Language[i] = 'SC'; var C_LargeCargoShip=i; i++; // Abbreviation of Large Cargo Ship
  A_Language[i] = 'LC'; var C_SmallCargoShip=i; i++; // Abbreviation of Small Cargo Ship
  A_Language[i] = 'The transfer isn\'t possible from destination planet.'; var C_NoTransferFromDestinationPlanet=i; i++;
  A_Language[i] = 'It lacks recyclers.'; var C_NoRecycler=i; i++;
  A_Language[i] = 'There isn\'t enough large cargos.'; var C_NotEnoughLargeCargoShip=i; i++;
  A_Language[i] = 'There isn\'t enough small cargos.'; var C_NotEnoughSmallCargoShip=i; i++;
  A_Language[i] = 'Resources had already sent from this planet.'; var C_AlreadyTransfered=i; i++;
  A_Language[i] = 'This planet hadn\'t been selected for the transfer.'; var C_PlanetNotSelected=i; i++;
  A_Language[i] = 'No transfer in progress.'; var C_NoTransfer=i; i++;
  A_Language[i] = 'Selected colony'; var C_ColonyToBeUsed=i; i++;
  A_Language[i] = 'Other destination'; var C_OtherDestination=i; i++;
  A_Language[i] = 'Fill resources to be transfered'; var C_NeededResources=i; i++;
  A_Language[i] = 'Rest'; var C_Rest=i; i++;
  A_Language[i] = 'Metal to be sent'; var C_MetalToBeSent=i; i++;
  A_Language[i] = 'Crystal to be sent'; var C_CrystalToBeSent=i; i++;
  A_Language[i] = 'Deuterium to be sent'; var C_DeuteriumToBeSent=i; i++;
  A_Language[i] = 'Flight time'; var C_FlightTime=i; i++;
  A_Language[i] = 'Speed'; var C_SendingSpeed=i; i++;
  A_Language[i] = 'Fuel consumption'; var C_DeuteriumConsumption=i; i++;
  A_Language[i] = 'SC or LC to be sent'; var C_TransportShipNumber=i; i++;
  A_Language[i] = 'Calculation options'; var C_TransferCalcOption=i; i++;
  A_Language[i] = 'Calculation mode'; var C_CalcMode=i; i++;
  A_Language[i] = 'Transfer resources from planets with maximum resources (Same rest after transfer)'; var C_SameRest=i; i++;
  A_Language[i] = 'Transfer the same quantity on each planet'; var C_SameQuantity=i; i++;
  A_Language[i] = 'Use all resources on destination planet'; var C_UseTotalResourcesDestinationPlanet=i; i++;
  A_Language[i] = 'Flight time the closest possible'; var C_SameTime=i; i++;
  A_Language[i] = 'Fastest possible'; var C_Fastest=i; i++;
  A_Language[i] = 'Arrival date'; var C_ArrivalDate=i; i++;
  A_Language[i] = 'Year'; var C_Year=i; i++;
  A_Language[i] = 'Month'; var C_Month=i; i++;
  A_Language[i] = 'Day'; var C_Day=i; i++;
  A_Language[i] = 'Hour'; var C_Hour=i; i++;
  A_Language[i] = 'Minute'; var C_Minute=i; i++;
  A_Language[i] = 'Day(s)'; var C_Days=i; i++;
  A_Language[i] = 'Hour(s)'; var C_Hours=i; i++;
  A_Language[i] = 'Minute(s)'; var C_Minutes=i; i++;
  A_Language[i] = 'd'; var C_DayAbbreviation=i; i++;
  A_Language[i] = 'h'; var C_HourAbbreviation=i; i++;
  A_Language[i] = 'm'; var C_MinuteAbbreviation=i; i++;
  A_Language[i] = 's'; var C_SecondAbbreviation=i; i++;
  A_Language[i] = 'Add a recycler if needed to adjust flight time'; var C_AddRecycler=i; i++;
  A_Language[i] = 'Cargo'; var C_TransportShip=i; i++;
  A_Language[i] = 'Save transfer'; var C_SaveTransfer=i; i++;
  A_Language[i] = 'Cancel transfer'; var C_CancelTransfer=i; i++;
  A_Language[i] = 'Fill cargos'; var C_FillShip=i; i++;
  A_Language[i] = 'Planets unsaved had been found. You should revisit them.'; var C_UnsavedPlanets=i; i++;
  A_Language[i] = 'Fill position and speed'; var C_FillCoordinatesAndSpeed=i; i++;
  A_Language[i] = 'Fill resources'; var C_FillResources=i; i++;
  // Other
  A_Language[i] = 'Execution time'; var C_RunTime=i; i++;
  A_Language[i] = 'A buildings which modify production factor had been found.\n\nDo you want to update the resources page now?'; var C_ResourcesBuildingsUC=i; i++;
  // Welcome message
  A_Language[i] = 'Welcome to the new version of \253'+C_ScriptName+'\273 (version: '+C_ScriptVersion+', build: '+C_ScriptBuild+')\nItalian translation : by Fiox\nThanks to all beta tester.\n\n'+
  'For this version, most of the code were rewritten, it is thus advised to launch an automatic updating of pages from your account following this message.\n\n'+
  'Just after your click on OK, the script will load the tree technology page to get the name of each construction.\n\n'+
  'To see the changes about this version, go to the section named \253DESCRIPTION DES MISES A JOUR\273 in the script (Only in french).'; var C_NewVersion=i; i++;
  A_Language[i] = 'Welcome to the new version of \253'+C_ScriptName+'\273 (version: '+C_ScriptVersion+', build: '+C_ScriptBuild+')\nItalian translation : by Fiox\nThanks to all beta tester.\n\n'+
  'To see the changes about this version, go to the section named \253DESCRIPTION DES MISES A JOUR\273 in the script (Only in french).'; var C_NewBuild=i; i++;
}





/* RECUPERATION DES DONNEES PRINCIPALES D'OGAME
   -------------------------------------------------- */

var Divs = document.getElementsByTagName('div');
for (i = 0; i < Divs.length; i++) {
	if (Divs[i].id == 'header_top') {
    var HeaderDiv = Divs[i];
  }
  else if (Divs[i].id == 'menu') {
    var MenuDiv = Divs[i];
  }
  else if (Divs[i].id == 'content') {
    var ContentDiv = Divs[i];
  }
}

// Recuperation de l'adresse du skin
var SkinUrl = '';
var OgameCss = document.getElementsByTagName('link');
if (OgameCss) {
  for (i = 0; i < OgameCss.length; i++) {
    if (OgameCss[i].href.match('css/') == null) {
      SkinUrl = OgameCss[i].href.substr(0, OgameCss[i].href.lastIndexOf('/', OgameCss[i].href.length-1)+1);
    }
  }
}

// Adresse de base de la page
var BaseUrl = document.URL.match(/([^\?]+)/);
BaseUrl = (BaseUrl?BaseUrl[1]:'');

// Page ogame en cours
var OgamePage = document.URL.match(/page=([^\&]+)/);
OgamePage = (OgamePage?OgamePage[1]:'');
var OgameMode = document.URL.match(/mode=([^\&]+)/);
OgameMode = (OgameMode?OgameMode[1]:'');

// Presence de l'entete
var OgameHeader = true;
if (document.URL.match(/no_header=([^\&]+)/)) {
  OgameHeader = ((document.URL.match(/no_header=([^\&]+)/)[1] == '1') ? false : true);
}

var PlanetSelect = 0, PlanetSelectedIndex, Session = '';
if ((OgameHeader == true) && (HeaderDiv)) {
  PlanetSelect = HeaderDiv.getElementsByTagName('select');
  PlanetSelect = PlanetSelect[0].options;
  Session = PlanetSelect[0].value.match(/session=([^\&]+)/)[1]; // Identifiant de la session

  // Recuperation du nom, de l'identifiant et du lien de chaque planete et de la planete active
  for (i = 0; i < PlanetSelect.length; i++) {
    A_Planet[i] = new P_Planet();
    var Temp = PlanetSelect[i].firstChild.nodeValue.match(/([a-zA-Z0-9 \.\-\_\(\)]+)				  \[([0-9]{1,2}):([0-9]{1,3}):([0-9]{1,2})\]/);
    A_Planet[i].Id = PlanetSelect[i].value.match(/cp=([0-9]+)/)[1];
    A_Planet[i].Name = Temp[1];
    A_Planet[i].Galaxy = Temp[2];
    A_Planet[i].System = Temp[3];
    A_Planet[i].Planet = Temp[4];
    A_Planet[i].Url = PlanetSelect[i].value;
    if (PlanetSelect[i].selected == true) {
      PlanetSelectedIndex = i;
      A_Planet[i].Session = Session;
    }
  }
}
else if (MenuDiv) { // Si la page n'a pas d'entete
  // Recuperation de l'adresse du lien  'Ressources'
  var SearchRow = 0;
  var Table = MenuDiv.getElementsByTagName('table')[0];
  for (i = 0; i < Table.rows.length; i++) {
    var Cell = Table.rows[i].cells[0];
    var Page = Cell.innerHTML.match(/page=([^\&]+)/);
    if (Page) {
      if (Page[1] == 'suche') {
        SearchRow = i;
        break;
      }
    }
  }
  if (Table.rows[SearchRow].cells[0].innerHTML.match(/\<a/g)) {
    var Href = Table.rows[SearchRow].cells[0].getElementsByTagName('a')[0].href;
    if (Href.match(/session=([a-zA-Z0-9]+)/)) {
      Session = Href.match(/session=([a-zA-Z0-9]+)/)[1];
    }
  }
}





/* CHARGEMENT DES IDENTIFIANTS ET COUTS DE CONSTRUCTION ET DES NOMS DES CONSTRUCTIONS
   -------------------------------------------------- */

// Declaration des identifiants des differentes constructions (batiment, defense, technologie, flotte)
var A_Construction = new Array();
// Batiment
A_Construction[C_Buildings] = new Array(18);
A_Construction[C_Buildings][0] = new P_Construction(1,0,0,0,0,C_Planet);
A_Construction[C_Buildings][1] = new P_Construction(2,0,0,0,0,C_Planet);
A_Construction[C_Buildings][2] = new P_Construction(3,0,0,0,0,C_Planet);
A_Construction[C_Buildings][3] = new P_Construction(4,0,0,0,0,C_Planet);
A_Construction[C_Buildings][4] = new P_Construction(12,0,0,0,0,C_Planet,C_Buildings,2,5,C_Research,5,3);
A_Construction[C_Buildings][5] = new P_Construction(14,400,120,200,0,C_All);
A_Construction[C_Buildings][6] = new P_Construction(15,1000000,500000,100000,0,C_Planet,C_Buildings,5,10,C_Research,1,10);
A_Construction[C_Buildings][7] = new P_Construction(21,400,200,100,0,C_All,C_Buildings,5,2);
A_Construction[C_Buildings][8] = new P_Construction(22,2000,0,0,0,C_All);
A_Construction[C_Buildings][9] = new P_Construction(23,2000,1000,0,0,C_All);
A_Construction[C_Buildings][10] = new P_Construction(24,2000,2000,0,0,C_All);
A_Construction[C_Buildings][11] = new P_Construction(31,200,400,200,0,C_Planet);
A_Construction[C_Buildings][12] = new P_Construction(33,0,50000,100000,1000,C_Planet,C_Buildings,6,1,C_Research,5,12);
A_Construction[C_Buildings][13] = new P_Construction(34,20000,40000,0,0,C_Planet);
A_Construction[C_Buildings][14] = new P_Construction(44,20000,20000,1000,0,C_Planet);
A_Construction[C_Buildings][15] = new P_Construction(41,20000,40000,20000,0,C_Moon);
A_Construction[C_Buildings][16] = new P_Construction(42,20000,40000,20000,0,C_Moon);
A_Construction[C_Buildings][17] = new P_Construction(43,2000000,4000000,2000000,0,C_Moon,C_Research,6,7);
// Technologie
A_Construction[C_Research] = new Array(16);
A_Construction[C_Research][0] = new P_Construction(106,200,1000,200,0,C_Planet,C_Buildings,11,3);
A_Construction[C_Research][1] = new P_Construction(108,0,400,600,0,C_Planet,C_Buildings,11,1);
A_Construction[C_Research][2] = new P_Construction(109,800,200,0,0,C_Planet,C_Buildings,11,4);
A_Construction[C_Research][3] = new P_Construction(110,200,600,0,0,C_Planet,C_Buildings,11,6,C_Research,5,3);
A_Construction[C_Research][4] = new P_Construction(111,1000,0,0,0,C_Planet,C_Buildings,11,2);
A_Construction[C_Research][5] = new P_Construction(113,0,800,400,0,C_Planet,C_Buildings,11,1);
A_Construction[C_Research][6] = new P_Construction(114,0,4000,2000,0,C_Planet,C_Buildings,11,7,C_Research,3,5,C_Research,5,5);
A_Construction[C_Research][7] = new P_Construction(115,400,0,600,0,C_Planet,C_Buildings,11,1,C_Research,5,1);
A_Construction[C_Research][8] = new P_Construction(117,2000,4000,600,0,C_Planet,C_Buildings,11,2,C_Research,5,1);
A_Construction[C_Research][9] = new P_Construction(118,10000,20000,6000,0,C_Planet,C_Buildings,11,7,C_Research,6,3);
A_Construction[C_Research][10] = new P_Construction(120,200,100,0,0,C_Planet,C_Buildings,11,1,C_Research,5,2);
A_Construction[C_Research][11] = new P_Construction(121,1000,300,100,0,C_Planet,C_Buildings,11,4,C_Research,10,5,C_Research,5,4);
A_Construction[C_Research][12] = new P_Construction(122,2000,4000,1000,0,C_Planet,C_Buildings,11,4,C_Research,10,10,C_Research,5,8,C_Research,11,5);
A_Construction[C_Research][13] = new P_Construction(123,240000,400000,160000,0,C_Planet,C_Buildings,11,10,C_Research,1,8,C_Research,6,8);
A_Construction[C_Research][14] = new P_Construction(124,4000,8000,4000,0,C_Planet,C_Buildings,11,3,C_Research,0,4,C_Research,8,3);
A_Construction[C_Research][15] = new P_Construction(199,0,0,0,300000,C_Planet,C_Buildings,11,12);
// Flotte
A_Construction[C_Fleets] = new Array(14);
A_Construction[C_Fleets][0] = new P_Construction(202,2000,2000,0,0,C_All,C_Buildings,7,2,C_Research,7,2);
A_Construction[C_Fleets][1] = new P_Construction(203,6000,6000,0,0,C_All,C_Buildings,7,4,C_Research,7,6);
A_Construction[C_Fleets][2] = new P_Construction(204,3000,1000,0,0,C_All,C_Buildings,7,1,C_Research,7,1);
A_Construction[C_Fleets][3] = new P_Construction(205,6000,4000,0,0,C_All,C_Buildings,7,3,C_Research,8,2,C_Research,4,2);
A_Construction[C_Fleets][4] = new P_Construction(206,20000,7000,2000,0,C_All,C_Buildings,7,5,C_Research,8,4,C_Research,11,2);
A_Construction[C_Fleets][5] = new P_Construction(207,45000,15000,0,0,C_All,C_Buildings,7,7,C_Research,9,4);
A_Construction[C_Fleets][6] = new P_Construction(208,10000,20000,10000,0,C_All,C_Buildings,7,4,C_Research,8,3);
A_Construction[C_Fleets][7] = new P_Construction(209,10000,6000,2000,0,C_All,C_Buildings,7,4,C_Research,7,6,C_Research,3,2);
A_Construction[C_Fleets][8] = new P_Construction(210,0,1000,0,0,C_All,C_Buildings,7,3,C_Research,7,3,C_Research,0,2);
A_Construction[C_Fleets][9] = new P_Construction(211,50000,25000,15000,0,C_All,C_Buildings,7,8,C_Research,8,6,C_Research,12,5);
A_Construction[C_Fleets][10] = new P_Construction(212,0,2000,500,0,C_All,C_Buildings,7,1);
A_Construction[C_Fleets][11] = new P_Construction(213,60000,50000,15000,0,C_All,C_Buildings,7,9,C_Research,9,6,C_Research,6,5);
A_Construction[C_Fleets][12] = new P_Construction(214,5000000,4000000,1000000,0,C_All,C_Buildings,7,12,C_Research,9,7,C_Research,6,6,C_Research,15,1);
A_Construction[C_Fleets][13] = new P_Construction(215,30000,40000,15000,0,C_All,C_Buildings,7,8,C_Research,9,5,C_Research,6,5,C_Research,10,12);
// Defense
A_Construction[C_Defenses] = new Array(10);
A_Construction[C_Defenses][0] = new P_Construction(401,2000,0,0,0,C_All,C_Buildings,7,1);
A_Construction[C_Defenses][1] = new P_Construction(402,1500,500,0,0,C_All,C_Buildings,7,2,C_Research,5,1,C_Research,10,3);
A_Construction[C_Defenses][2] = new P_Construction(403,6000,2000,0,0,C_All,C_Buildings,7,4,C_Research,5,3,C_Research,10,6);
A_Construction[C_Defenses][3] = new P_Construction(404,20000,15000,2000,0,C_All,C_Buildings,7,6,C_Research,5,6,C_Research,2,3,C_Research,3,1);
A_Construction[C_Defenses][4] = new P_Construction(405,2000,6000,0,0,C_All,C_Buildings,7,4,C_Research,11,4);
A_Construction[C_Defenses][5] = new P_Construction(406,50000,50000,30000,0,C_All,C_Buildings,7,8,C_Research,12,7);
A_Construction[C_Defenses][6] = new P_Construction(407,10000,10000,0,0,C_All,C_Buildings,7,1,C_Research,3,2);
A_Construction[C_Defenses][7] = new P_Construction(408,50000,50000,0,0,C_All,C_Buildings,7,6,C_Research,3,6);
A_Construction[C_Defenses][8] = new P_Construction(502,8000,0,2000,0,C_All,C_Buildings,7,1,C_Buildings,14,2);
A_Construction[C_Defenses][9] = new P_Construction(503,12500,2500,10000,0,C_All,C_Buildings,7,1,C_Buildings,14,4);





/* CHARGEMENT DES INFORMATIONS MEMORISEES VIA GREASEMONKEY
   -------------------------------------------------- */

try {

  // Recherche de l'identifiant du compte
  Get = GM_getValue('OT_Account', '');
  var Account = 0, AccountNb = 0;
  var AccountFound = false;
  var A_AccountTmp = new Array();
  if (Get.length > 0) {
    var A_AccountTmp = Get.split(Separator);
    var A_AccountTmp2 = new Array();
    for (i = 0; i < A_AccountTmp.length; i++) {
      A_AccountTmp2 = A_AccountTmp[i].split(/\;/g);
      if (parseInt(A_AccountTmp2[0]) > 0) {
        A_Account[AccountNb] = new Array(A_AccountTmp2.length);
        for (j = 0; j < A_AccountTmp2.length; j++) {
          A_Account[AccountNb][j] = A_AccountTmp2[j];
          if (AccountFound == false) {
            if (OgamePage != 'galaxy') {
              for (k = 0; k < PlanetSelect.length; k++) {
                if (A_Planet[k].Id == A_Account[AccountNb][j]) {
                  AccountFound = true;
                  Account = AccountNb;
                  break;
                }
              }
            }
          }
        }
        AccountNb++;
      }
    }
  }
  if (AccountFound == false) {
    if (A_Account.length > 0) {
      Account = A_Account.length;
    }
    A_Account[Account] = new Array(PlanetSelect.length);
    for (i = 0; i < PlanetSelect.length; i++) {
      A_Account[Account][i] = A_Planet[i].Id;
    }
  }
  SaveAccount();
  
  // Informations de la version
  Get = GM_getValue('OT_'+Account+'_Version', '');
  var ScriptVersion = GetValue(Get, 'Version', '');
  var ScriptBuild = GetValue(Get, 'Build', '');
  
  // Parametres generaux
  Get = GM_getValue('OT_'+Account+'_MainOption', '');
  var ShowInKilo = GetValue(Get, 'ShowInKilo', false);
  var ShowSecondForUpperUpdateTimeInDay = GetValue(Get, 'ShowSecondForUpperUpdateTimeInDay', false);
  var DeleteOfficerLink = GetValue(Get, 'DeleteOfficerLink', true);
  var DeleteTraderLink = GetValue(Get, 'DeleteTraderLink', true);
  var SortMember = GetValue(Get, 'SortMember', 3); // 0:Coordonnees, 1:Nom, 2:Statut, 3:Points, 4:Adhesion, 5:En ligne
  var SortOrder = GetValue(Get, 'SortOrder', 1); // 0:Croissant, 1:Decroissant
  var AddToolTip = GetValue(Get, 'AddToolTip', true);
  var ShowRequestToUpdateResourcesPage = GetValue(Get, 'ShowRequestToUpdateResourcesPage', false);
  var ShowAutoUpdate = GetValue(Get, 'ShowAutoUpdate', true);
  var UseRandomUpdateTime = GetValue(Get, 'UseRandomUpdateTime', true);
  var AddImageVersion = GetValue(Get, 'AddImageVersion', false);
  Debug = GetValue(Get, 'Debug', false);
  
  // Parametres d'affichage
  Get = GM_getValue('OT_'+Account+'_ScreenOption', '');
  var ShowHeaderPlanetList = GetValue(Get, 'ShowHeaderPlanetList', false); 
  var ShowHeaderResourcesList = GetValue(Get, 'ShowHeaderResourcesList', false); 
  var AddResourcesTotal = GetValue(Get, 'AddResourcesTotal', false); 
  var ChangeHeaderPosition = GetValue(Get, 'ChangeHeaderPosition', false); 
  var HeaderPosition = GetValue(Get, 'HeaderPosition', 'left: 15% !important; top: 120px !important;'); 
  var ChangeContentPosition = GetValue(Get, 'ChangeContentPosition', false); 
  var ContentPosition = GetValue(Get, 'ContentPosition', 'left: 100px !important;'); 
  var AddCssCode = GetValue(Get, 'AddCssCode', false); 
  var CssCode = GM_getValue('OT_'+Account+'_CssCode', '/* '+A_Language[C_WriteCode]+' */'); 
  var AddJSCode = GetValue(Get, 'AddJSCode', false); 
  var JSCode = GM_getValue('OT_'+Account+'_JSCode', '/* '+A_Language[C_WriteCode]+' */');
  
  // Tableau des ressources
  Get = GM_getValue('OT_'+Account+'_ResourcesTableOption', '');
  var ShowHeaderResourcesTable = GetValue(Get, 'ShowHeaderResourcesTable', true);
  var ShowPlanetName =  GetValue(Get, 'ShowPlanetName', true);
  var ShowCoordinates =  GetValue(Get, 'ShowCoordinates', false);
  var ShowTotal = GetValue(Get, 'ShowTotal', true);
  var ShowDarkMatter = GetValue(Get, 'ShowDarkMatter', true);
  var ShowTimeUpdate = GetValue(Get, 'ShowTimeUpdate', true);
  var ShowResourcesOnlyActiveSession = GetValue(Get, 'ShowResourcesOnlyActiveSession', false);
  var RealTimeResources = GetValue(Get, 'RealTimeResources', true);
  var RealTimeResourcesDelay = GetValue(Get, 'RealTimeResourcesDelay', 5);
  RealTimeResourcesDelay = ((RealTimeResourcesDelay < 1) ? 1 : RealTimeResourcesDelay);
  var HeaderSelectedPlanetStyle = GetValue(Get, 'HeaderSelectedPlanetStyle', 'background-color: #005500; background-image: none;');
  var Transparency = GetValue(Get, 'Transparency', 80);
  var A_UpdateTimeColor = new Array();
  for (i = 0; i < 10; i++) {
    A_UpdateTimeColor[i] = GetValue(Get, 'UpdateTimeColor'+i, Math.ceil((i+1)*54340+Math.pow(2580,(1+(1+i)/10))));
  }
  var PlanetOrder = GetValue(Get, 'PlanetOrder', false);
  Get = GM_getValue('OT_'+Account+'_PlanetOrder', '');
  if ((Get != '') && (parseInt(GetField(Get,0,Separator)) < 18)) {
    Get = '';
  }
  if (Get != '') {
    A_PlanetOrder = Get.split(Separator);
    var Found = false;
    for (j = 0; j < A_PlanetOrder.length; j++) {
      for (i = 0; i < PlanetSelect.length; i++) {
        if (A_PlanetOrder[j] == A_Planet[i].Id) {
          A_PlanetOrderIndex[PlanetOrderIndex] = i;
          PlanetOrderIndex++;
        }
      }
    }
    if (A_PlanetOrderIndex.length < PlanetSelect.length) {
      for (i = 0; i < PlanetSelect.length; i++) {
        Found = false;
        for (j = 0; j < A_PlanetOrder.length; j++) {
          if (A_PlanetOrder[j] == A_Planet[i].Id) {
            Found = true;
          }
        }
        if (Found == false) {
          A_PlanetOrderIndex[PlanetOrderIndex] = i;
          PlanetOrderIndex++;
          A_PlanetOrder[A_PlanetOrder.length] = A_Planet[i].Id;
        }
      }
    }
  }
  else {
    for (i = 0; i < PlanetSelect.length; i++) {
      A_PlanetOrderIndex[i] = i;
      A_PlanetOrder[i] = A_Planet[i].Id;
    }
  }
  // Reorganisation de l'ordre des planetes
  if (PlanetOrder == true) {
    var A_Permut = new Array();
    for (i = 0; i < PlanetSelect.length; i++) {
      A_Permut[i] = new P_Planet();
      A_Permut[i].Id = A_Planet[A_PlanetOrderIndex[i]].Id;
      A_Permut[i].Name = A_Planet[A_PlanetOrderIndex[i]].Name;
      A_Permut[i].Planet = A_Planet[A_PlanetOrderIndex[i]].Planet;
      A_Permut[i].System = A_Planet[A_PlanetOrderIndex[i]].System;
      A_Permut[i].Galaxy = A_Planet[A_PlanetOrderIndex[i]].Galaxy;
      A_Permut[i].Url = A_Planet[A_PlanetOrderIndex[i]].Url;
      A_Permut[i].Session = A_Planet[A_PlanetOrderIndex[i]].Session;
    }
    for (i = 0; i < PlanetSelect.length; i++) {
      A_Planet[i].Id = A_Permut[i].Id;
      A_Planet[i].Name = A_Permut[i].Name;
      A_Planet[i].Planet = A_Permut[i].Planet;
      A_Planet[i].System = A_Permut[i].System;
      A_Planet[i].Galaxy = A_Permut[i].Galaxy;
      A_Planet[i].Url = A_Permut[i].Url;
      A_Planet[i].Session = A_Permut[i].Session;
    }
    for (i = 0; i < PlanetSelect.length; i++) {
      if (PlanetSelectedIndex == A_PlanetOrderIndex[i]) {
        PlanetSelectedIndex = i;
        break;
      }
    }
  }
  else {
    for (i = 0; i < PlanetSelect.length; i++) {
      A_PlanetOrderIndex[i] = i;
      A_PlanetOrder[i] = A_Planet[i].Id;
    }
  }
  
  // Empire
  Get = GM_getValue('OT_'+Account+'_EmpireOption', '');
  var ShowEmpire = GetValue(Get, 'ShowEmpire', true);
  var EmpireMenuRow = GetValue(Get, 'EmpireMenuRow', 2);
  var EmpireLinkName = GetValue(Get, 'EmpireLinkName', A_Language[C_Empire]+' (OT)');
  var EmpireIconSize = GetValue(Get, 'EmpireIconSize', 88);
  var UseRealTimeResourcesEmpire = GetValue(Get, 'UseRealTimeResourcesEmpire', true);
  var HideDefaultResourcesTable = GetValue(Get, 'HideDefaultResourcesTable', true);
  var ForceDisplayHeaderResourcesTableWithEmpire = GetValue(Get, 'ForceDisplayHeaderResourcesTableWithEmpire', false);
  
  // Transfert
  Get = GM_getValue('OT_'+Account+'_TransferOption', '');
  var UseRealTimeResources = GetValue(Get, 'UseRealTimeResources', true);
  var ForceResourcesTransferTableUpdate = GetValue(Get, 'ForceResourcesTransferTableUpdate', false);
  var ShowTransferTableIfActiveTransfer = GetValue(Get, 'ShowTransferTableIfActiveTransfer', false);
  
  // Ajout de lien au menu
  Get = GM_getValue('OT_'+Account+'_LinkOption', '');
  var NbLink = GetValue(Get, 'NbLink', 0);
  var LinkNameArray = new Array();
  var LinkUrlArray = new Array();
  var LinkPositionArray = new Array();
  var LinkNewWindowArray = new Array();
  var LinkTitleArray = new Array();
  for (i = 0; i < NbLink; i++) {
    LinkNameArray[i] = GetValue(Get, 'LinkName'+i, '');
    LinkUrlArray[i] = GetValue(Get, 'LinkUrl'+i, '');
    LinkPositionArray[i] = GetValue(Get, 'LinkPosition'+i, 0);
    LinkNewWindowArray[i] = GetValue(Get, 'LinkNewWindow'+i, false);
    LinkTitleArray[i] = GetValue(Get, 'LinkTitle'+i, '');
    CreateLink(LinkUrlArray[i], LinkNameArray[i], LinkPositionArray[i], LinkNewWindowArray[i], LinkTitleArray[i]); 
  }
  
  // Options de transfert
  Get = GM_getValue('OT_'+Account+'_TransferCalcOption', '');
  var CalcMode = GetValue(Get, 'CalcMode', 0);
  var UseTotalResourcesDestinationPlanet = GetValue(Get, 'UseTotalResourcesDestinationPlanet', false);
  var SameTime = GetValue(Get, 'SameTime', true);
  var TimeToGo = GetValue(Get, 'TimeToGo', 0);
  var AddRecycler = GetValue(Get, 'AddRecycler', true);
  var ShipType = GetValue(Get, 'ShipType', 1);
  
  // Affichage de la page empire
  var OgameEmpire = GM_getValue('OT_OgameEmpire', false);
}
catch(err) {
  ShowError(err, 'Load account id and update parameter');
}

if ((OgameHeader == true) && (HeaderDiv)) {
  
  try {
    
    // Parametres de mise a jour automatique
    Get = GM_getValue('OT_'+Account+'_Refresh', '');
    var RefreshPlanetRest = GetValue(Get, 'RefreshPlanetRest', 0);
    var AutoUpdateRest = GetValue(Get, 'AutoUpdateRest', 0);
    
    // Transfert
    Get = GM_getValue('OT_'+Account+'_Transfer', '');
    var TransferShow = GetValue(Get, 'Show', false);
    var TransferMetal = GetValue(Get, 'Metal', 0);
    var TransferCrystal = GetValue(Get, 'Crystal', 0);
    var TransferDeuterium = GetValue(Get, 'Deuterium', 0);
    var TransferState = GetValue(Get, 'State', false);
    var TransferShipType = GetValue(Get, 'ShipType', C_LargeCargoShip);
    var TransferDestinationPlanet = GetValue(Get, 'DestinationPlanet', 0);
    var TransferDestinationSystem = GetValue(Get, 'DestinationSystem', 0);
    var TransferDestinationGalaxy = GetValue(Get, 'DestinationGalaxy', 0);
    var TransferDestinationType = GetValue(Get, 'DestinationType', A_Language[C_Planet]);
    
    // Variable de verification du transfert
    var TransferStateCheck = true;
    
    // Nom des constructions
    var A_Get = new Array();
    var A_GetName = new Array();
    Get = GM_getValue('OT_'+Account+'_ConstructionName', '');
    A_Get = Get.split(Separator);
    if (A_Get.length > 0) {
      for (i=0; i<A_Get.length; i++) {
        A_GetName = A_Get[i].split(/\;/g);
        if (A_GetName.length == 3) {
          A_Construction[A_GetName[0]][A_GetName[1]].Name = (A_GetName[2] == 'null' ? null : A_GetName[2]);
        }
      }
    }
    
    // Liste d'action
    Get = GM_getValue('OT_'+Account+'_Actions', '');
    if (Get.length > 0) {
      A_Get = String(Get).split(Separator);
      for (i=0; i<A_Get.length; i++) {
        A_Actions[i] = A_Get[i];
      }
    }
    
    // Etat d'affichage des colonnes du tableaux de ressources
    Get = GM_getValue('OT_'+Account+'_ShowHideColumn', '');
    if (Get.length > 0) {
      A_ShowHideColomn = Get.split(Separator);
    }
    else {
      for (i = 0; i < (PlanetSelect.length+2); i++) {
        A_ShowHideColomn[i] = '';
      }
    }
    
    // Recherche
    if (((OgamePage == 'buildings') && (OgameMode == 'Forschung')) || (OgameEmpire == true) || (OgamePage == 'flotten1')) {
      
      Get = GM_getValue('OT_'+Account+'_Research', '');
      for (j = 0; j < 16; j++) {
        A_Research[j] = new P_ResearchDescription();
        A_Research[j].Level = GetValue(Get, A_Construction[C_Research][j].Id, '-');
        A_Research[j].UC = GetValue(Get, A_Construction[C_Research][j].Id+'UC', '-');
        ResearchUpdate = GetValue(Get, 'Update', CounterStart);
      }
    }
    
    // Chargement des donnees sur les planetes dans les tableaux precedement crees
    for (i = 0; i < PlanetSelect.length; i++) {
      
      // Informations generales
      Get = GM_getValue('OT_'+A_Planet[i].Id+'_Planet', '');
      if (i != PlanetSelectedIndex) {
        A_Planet[i].Session = GetValue(Get, 'Session', '');
      }
      A_Planet[i].Type = GetValue(Get, 'Type', C_Planet);
      A_Planet[i].UsedSpace = GetValue(Get, 'UsedSpace', 0);
      A_Planet[i].TotalSpace = GetValue(Get, 'TotalSpace', 0);
      A_Planet[i].Diameter = GetValue(Get, 'Diameter', 0);
      A_Planet[i].MaxTemperature = GetValue(Get, 'MaxTemperature', 0);
      A_Planet[i].MinTemperature = GetValue(Get, 'MinTemperature', 0);
      A_Planet[i].Update = GetValue(Get, 'Update', CounterStart);
      A_Planet[i].ImageUrl = GetValue(Get, 'ImageUrl', '');
      A_Planet[i].Update = GetValue(Get, 'Update', CounterStart);
      
      // Ressources de la planete
      Get = GM_getValue('OT_'+A_Planet[i].Id+'_Resources', '');
      A_Resources[i] = new P_Resources();
      if ((A_Planet[i].Session == Session) || (ShowResourcesOnlyActiveSession == false)) {
        A_Resources[i].Metal = GetValue(Get, 'Metal', '-');
        A_Resources[i].Crystal = GetValue(Get, 'Crystal', '-');
        A_Resources[i].Deuterium = GetValue(Get, 'Deuterium', '-');
        A_Resources[i].FreeEnergy = GetValue(Get, 'FreeEnergy', '-');
        A_Resources[i].TotalEnergy = GetValue(Get, 'TotalEnergy', '-');
      }
      else {
        A_Resources[i].Metal = undefined;
        A_Resources[i].Crystal = undefined;
        A_Resources[i].Deuterium = undefined;
        A_Resources[i].FreeEnergy = undefined;
        A_Resources[i].TotalEnergy = undefined;
      }
      A_Resources[i].MetalOver = GetValue(Get, 'MetalOver', false);
      A_Resources[i].CrystalOver = GetValue(Get, 'CrystalOver', false);
      A_Resources[i].DeuteriumOver = GetValue(Get, 'DeuteriumOver', false);
      A_Resources[i].EnergyOver = GetValue(Get, 'EnergyOver', false);
      A_Resources[i].Update = ((i == PlanetSelectedIndex) ? CounterStart: GetValue(Get, 'Update', CounterStart));
      
      // Production horaire de metal, cristal et deuterium
      Get = GM_getValue('OT_'+A_Planet[i].Id+'_Production', '');
      A_Production[i] = new P_Production();
      A_Production[i].Metal = GetValue(Get, 'Metal', 0);
      A_Production[i].Crystal = GetValue(Get, 'Crystal', 0);
      A_Production[i].Deuterium = GetValue(Get, 'Deuterium', 0);
      A_Production[i].MetalMax = GetValue(Get, 'MetalMax', 0);
      A_Production[i].CrystalMax = GetValue(Get, 'CrystalMax', 0);
      A_Production[i].DeuteriumMax = GetValue(Get, 'DeuteriumMax', 0);
      A_Production[i].Update = GetValue(Get, 'Update', CounterStart);
      
      // Batiment
      if ((OgamePage == 'b_building') || (OgameEmpire == true) || (AutoUpdateRest > 0)) {
        Get = GM_getValue('OT_'+A_Planet[i].Id+'_Buildings', '');
        A_Buildings[i] = new Array(18);
        for (j = 0; j < 18; j++) {
          A_Buildings[i][j] = new P_ConstructionDescription();
          A_Buildings[i][j].Level = GetValue(Get, A_Construction[C_Buildings][j].Id, '-');
          A_Buildings[i][j].UC = GetValue(Get, A_Construction[C_Buildings][j].Id+'UC', '-');
        }
        A_BuildingsUpdate[i] = GetValue(Get, 'Update', '');
      }
      
      // Ressources
      if ((OgamePage == 'resources') || (OgameEmpire == true)) {
        // Taux d'utilisation (mine de metal, cristal, deuterium, centrale solaire, fusion, satellite) 
        Get = GM_getValue('OT_'+A_Planet[i].Id+'_Pourcent', '');
        A_Pourcent[i] = new P_Pourcent();
        A_Pourcent[i].Rate = GetValue(Get, 'Rate', '-');
        A_Pourcent[i].Metal = GetValue(Get, 'Metal', '-');
        A_Pourcent[i].Crystal = GetValue(Get, 'Crystal', '-');
        A_Pourcent[i].Deuterium = GetValue(Get, 'Deuterium', '-');
        A_Pourcent[i].Solar = GetValue(Get, 'Solar', '-');
        A_Pourcent[i].Fusion = GetValue(Get, 'Fusion', '-');
        A_Pourcent[i].Ship212 = GetValue(Get, 'Ship212', '-');
        A_Pourcent[i].Update = GetValue(Get, 'Update', CounterStart);
        
      }
      
      // Defense
      if (((OgamePage == 'buildings') && (OgameMode == 'Verteidigung')) || (OgameEmpire == true)) {
        
        // Defense
        Get = GM_getValue('OT_'+A_Planet[i].Id+'_Defenses', '');
        A_Defenses[i] = new Array(10);
        for (j = 0; j < 10; j++) {
          A_Defenses[i][j] = GetValue(Get, A_Construction[C_Defenses][j].Id, '-');
        }
        A_DefensesUpdate[i] = GetValue(Get, 'Update', '');
        
        // Defense et flotte en cours de construction
        Get = GM_getValue('OT_'+A_Planet[i].Id+'_FleetsDefensesUC', '');
        A_FleetsDefensesUC[i] = new P_FleetsDefensesUC();
        A_FleetsDefensesUC[i].List = GetValue(Get, 'List', '');
        A_FleetsDefensesUC[i].Update = GetValue(Get, 'Update', '');
      }
      
      // Chantier spatial
      if (((OgamePage == 'buildings') && (OgameMode == 'Flotte')) || (OgameEmpire == true)) {
        
        // Defense et flotte en cours de construction
        Get = GM_getValue('OT_'+A_Planet[i].Id+'_FleetsDefensesUC', '');
        A_FleetsDefensesUC[i] = new P_FleetsDefensesUC();
        A_FleetsDefensesUC[i].List = GetValue(Get, 'List', '');
        A_FleetsDefensesUC[i].Update = GetValue(Get, 'Update', '');
      }
      
      if ((OgamePage == 'flotten1') || (OgamePage == 'flotten2') || (OgamePage == 'flotten3') || (OgamePage == 'flottenversand') || (OgameEmpire == true)) {
        
        // Flotte
        Get = GM_getValue('OT_'+A_Planet[i].Id+'_Fleets', '');
        A_Fleets[i] = new Array(14);
        for (j = 0; j < 14; j++) {
          A_Fleets[i][j] = GetValue(Get, A_Construction[C_Fleets][j].Id, '-');
        }
        A_FleetsUpdate[i] = GetValue(Get, 'Update', '');
        
        if (OgameEmpire == false) {
          // Transfert
          Get = GM_getValue('OT_'+A_Planet[i].Id+'_Transfer', '');
          A_Transfer[i] = new P_Transfer();
          A_Transfer[i].Checked = GetValue(Get, 'Checked', false);
          A_Transfer[i].OriginePlanet = GetValue(Get, 'OriginePlanet', 0);
          A_Transfer[i].OrigineSystem = GetValue(Get, 'OrigineSystem', 0);
          A_Transfer[i].OrigineGalaxy = GetValue(Get, 'OrigineGalaxy', 0);
          A_Transfer[i].Metal = GetValue(Get, 'Metal', 0);
          A_Transfer[i].Crystal = GetValue(Get, 'Crystal', 0);
          A_Transfer[i].Deuterium = GetValue(Get, 'Deuterium', 0);
          A_Transfer[i].Speed = GetValue(Get, 'Speed', 0);
          A_Transfer[i].TransportShip = GetValue(Get, 'TransportShip', 0);
          A_Transfer[i].Recycler = GetValue(Get, 'Recycler', 0);
          A_Transfer[i].State = GetValue(Get, 'State', 0);
          if (A_Transfer[i].Checked == true) {
            if (A_Transfer[i].State > 0) {
              TransferStateCheck = false;
            }
          }
        }
      }
    }
    if ((TransferStateCheck == true) && (OgamePage == 'flotten1') && (OgameEmpire == false)) {
      TransferState = false;
      SaveTransfer();
    }
  }
  catch(err) {
    ShowError(err, 'Load informations');
  }
}
else if (OgamePage == 'galaxy') {
  Get = GM_getValue('OT_'+Account+'_PlanetName', '');
  var A_Get = new Array();
  A_Get = Get.split(Separator);
  for (i = 0; i < A_Get.length-1; i++) {
    A_PlanetName[i] = new P_PlanetName();
    A_PlanetName[i].Name = GetField(A_Get[i], 0, KeySeparator);
    A_PlanetName[i].Id = GetField(A_Get[i], 1, KeySeparator); 
  }
  var PlanetNameSession = GetValue(Get, 'Session', '');
}





/* GESTION DES LIENS DU MENU
   -------------------------------------------------- */

try {
  // Recuperation de la position des liens 'recherche', 'Defenses', 'Officier' et 'Marchand'
  if (MenuDiv) {
    var Table = MenuDiv.getElementsByTagName('table')[0];
    var SearchRow;
    var n=0;
    for (i = 0; i < Table.rows.length; i++) {
      var Cell = Table.rows[i].cells[0];
      var Page = Cell.innerHTML.match(/page=([^\&]+)/);
      if (Page) {
        if (Page[1] == 'suche') {
          // Creation du lien empire
          if (ShowEmpire == true) {
            // Argument ajoute pour savoir si on veut voir le menu empire
            if ((PlanetSelectedIndex != undefined) && (OgamePage != 'resources')) {
              CreateLink('', EmpireLinkName, EmpireMenuRow, false, A_Language[C_Empire]+' ('+C_ScriptName+')', 'javascript:GMsetValue(\'OT_OgameEmpire\',true);window.location.replace(\''+A_Planet[PlanetSelectedIndex].Url+'\');');
            }
            else {
              CreateLink('', EmpireLinkName, EmpireMenuRow, false, A_Language[C_Empire]+' ('+C_ScriptName+')', 'javascript:GMsetValue(\'OT_OgameEmpire\',true);window.location.replace(\''+Cell.getElementsByTagName('a')[0].href+'\');');
            }
            SearchRow = i;
            i++;
          }
          n++;
        }
        else if (Page[1] == 'buildings') {
          var Mode = Cell.innerHTML.match(/mode=([^\"]+)/);
          if (Mode) {
            if (Mode[1] == 'Verteidigung') {
              // Creation du lien de mise a jour automatique
              if (ShowAutoUpdate == true) {
                if (AutoUpdateRest > 0) {
                  CreateLink('', A_Language[C_StopUpdate], (i+1), false, A_Language[C_UpdateStopInformations], 'javascript:StopUpdate();');
                }
                else {
                  CreateLink('', A_Language[C_StartUpdate], (i+1), false, A_Language[C_UpdateInformations]+' ('+C_ScriptName+')', 'javascript:AutoUpdate();');
                }
                i++;
              }
              n++;
            }
          }
        }
        else if (Page[1] == 'micropayment') {
          // Suppression des liens Officiers
          if (DeleteOfficerLink == true) { RemoveOfficer(i); i--; }
          n++;
        }
        else if (Page[1] == 'trader') {
          // Suppression des liens Officiers et Marchand
          if (DeleteTraderLink == true) { RemoveTrader(i); i--; }
          n++;
        }
        else if (Page[1] == 'resources') {
          var ResourcesLink = Cell.getElementsByTagName('a')[0].href;
          n++;
        }
      }
      if (n == 5) break;
    }
  }
}
catch(err) {
  ShowError(err, 'Create empire and auto update link and delete officer and trader link');
}

function CreateLink(Link, Text, Row, NewWindow, ToolTip, Javascript) { // Ajoute un lien dans le menu
  try {
    // Verification de mots cles
    if (Link.match(/\[host\]/g)) { // Domaine
      Link = Link.replace(/\[host\]/g, Host);
    }
    if (Link.match(/\[session\]/g)) { // Session
      Link = Link.replace(/\[session\]/g, Session);
    }
    if (Link.match(/\[([a-zA-Z0-9\-\_ ]+)\]/g)) { // ID Planete
      var PlanetName = Link.match(/\[([a-zA-Z0-9\-\_ ]+)\]/g);
      PlanetName = String(PlanetName).replace(/\[/g,'').replace(/\]/g,'');
      if (OgamePage == 'galaxy') {
        var NotFind = true;
        if (PlanetNameSession == Session) {
          for (k = 0; k < A_PlanetName.length; k++) {
            if (A_PlanetName[k].Name == PlanetName) {
              var NotFind = false;
              Link = Link.replace(/\[([a-zA-Z0-9\-\_ ]+)\]/g, A_PlanetName[k].Id);
              break;
            }
          }
        }
      }
      else {
        var NotFind = true;
        for (k = 0; k < PlanetSelect.length; k++) {
          if (A_Planet[k].Name == PlanetName){
            NotFind = false;
            Link = Link.replace(/\[([a-zA-Z0-9\-\_ ]+)\]/g, A_Planet[k].Id);
            break;
          }
        }
      }
      if (NotFind == true) {
        Link = Link.replace(/\[([a-zA-Z0-9\-\_ ]+)\]/g, '');
      }
    }
    if (MenuDiv) {
      var tbody = MenuDiv.getElementsByTagName('table')[0];
      var cell = document.createElement('td');
      var hyperlink = document.createElement('a');
      if (Link != '') hyperlink.setAttribute('href',Link);
      if (AddToolTip == true) {
        if ((ToolTip != undefined) && (ToolTip != '')) { hyperlink.setAttribute('title',ToolTip); }
        else { hyperlink.setAttribute('title',Link); }
      }
      if (NewWindow == true) hyperlink.setAttribute('target','_blank');
      if ((Javascript != undefined) && (Javascript != '')) {
        hyperlink.setAttribute('onclick',Javascript);
        hyperlink.setAttribute('style','cursor:pointer');
      }
      var hyperlinkText = document.createTextNode(Text);
      hyperlink.appendChild(hyperlinkText);
      var font = document.createElement('font');
      font.setAttribute('color','#ffffff');
      font.appendChild(hyperlink);
      var div = document.createElement('div');
      div.setAttribute('align','center');
      div.appendChild(font);
      cell.appendChild(div);
      if (Row) {
        tbody.insertRow(Row);
        tbody.rows[Row].appendChild(cell);
      }
    }
  }
  catch(err) {
    ShowError(err, 'CreateLink('+Link+', '+Text+', '+Row+', '+NewWindow+', '+ToolTip+', '+Javascript+')');
  }
}

function RemoveOfficer(OfficerRow) { // Enleve les liens officiers
  try {
    if((OgameHeader == true) && (HeaderDiv)) {
      var SelectTable = HeaderDiv.getElementsByTagName('select');
      if (SelectTable[4]) {
        SelectTable[4].deleteRow(0); // Icones officier
      }
    }
    if ((MenuDiv) && (OfficerRow > 0)) {
      MenuDiv.getElementsByTagName('table')[0].deleteRow(OfficerRow);
    }
    GM_addStyle('div#combox_container, table.header td[width="35"] { display:none; }');
  }
  catch(err) {
    ShowError(err, 'RemoveOfficer()');
  }
}

function RemoveTrader(TraderRow) { // Enleve le lien marchand
  try {
    if ((MenuDiv) && (TraderRow > 0)) {
      MenuDiv.getElementsByTagName('table')[0].deleteRow(TraderRow);
    }
  }
  catch(err) {
    ShowError(err, 'RemoveTrader()');
  }
}





/* FONCTIONS GENERALES
   -------------------------------------------------- */

function FormatNb(number) { // Ajoute des points tous les 3 chiffres pour une meilleure lecture
	try {
    var nNbr = String(number); 
  	var sRes = '';
  	if (nNbr.charAt(0) == '-') {
      var Sign = '-';
      var nNb = nNbr.substring(1, nNbr.length);
    }
    else {
      var Sign = '';
      var nNb = nNbr;
    }
  	if (ShowInKilo == false) { // Affiche le resultat en kilo
      for (var j, i = nNb.length - 1, j = 0; i >= 0; i--, j++)
    	sRes = nNb.charAt(i) + ((j > 0) && (j % 3 == 0)? '.': '') + sRes;
    	return Sign+sRes;
  	}
  	else {
      if (nNb.length > 3) {
        for (var j, i = nNb.length - 4, j = 0; i >= 0; i--, j++)
      	sRes = nNb.charAt(i) + ((j > 0) && (j % 3 == 0)? '.': '') + sRes;
    	  return Sign+sRes+'k';
    	}
    	else {
        return Sign+nNb;
      }
    }
  }
  catch(err) {
    ShowError(err, 'FormatNb()');
  }
}

function SortNumber(a,b) { // Pour specifier que le tri est numerique et pas alphabetique
  return a-b;
}

function RSet(string, length, character) { // Ajoute X caractere a gauche pour avoir la longueur voulu
  try {
    string = new String(string); // Pour etre que c'est bien un string
    if (string.length >= length) {
      return string;
    }
    else if (character.length == 1) {
      for (var i = 0; i < (length-string.length+1); i++) {
        string = character+string;
      }
      return string;
    }
  }
  catch(err) {
    ShowError(err, 'RSet()');
  }
}

function GetField(String, Index, SeparatorKey) {
  if (String.length > 0) {
    var A_Get = new Array();
    A_Get = String.split(SeparatorKey);
    if (A_Get.length > Index) {
      return A_Get[Index];
    }
  }
  return '';
}

function FormatTime(time, ReturnArrivalDate) { // Mis en forme une duree en millisecondes
  try {
    if ((ReturnArrivalDate == undefined) || (ReturnArrivalDate == false)) {
      var day = 0;
      var hour = 0;
      var min = 0;
      var sec = 0;
      
      day = Math.floor(time/86400000);
      hour = Math.floor((time-(day*86400000))/3600000);
      min = Math.floor((time-(day*86400000)-(hour*3600000))/60000);
      sec = Math.floor((time-(day*86400000)-(hour*3600000)-(min*60000))/1000);
      
      if (time >  86399999) { // >= 1 jour  
        if (ShowSecondForUpperUpdateTimeInDay == true) {
          return day+A_Language[C_DayAbbreviation]+','+hour+A_Language[C_HourAbbreviation]+':'+RSet(min, 2, '0')+A_Language[C_MinuteAbbreviation]+':'+RSet(sec, 2, '0')+A_Language[C_SecondAbbreviation];
        }
        else {
          return day+A_Language[C_DayAbbreviation]+','+hour+A_Language[C_HourAbbreviation]+':'+RSet(min, 2, '0')+A_Language[C_MinuteAbbreviation];
        }
      }
      else if (time > 3599999) { // >= 1 heure
        return hour+A_Language[C_HourAbbreviation]+':'+RSet(min, 2, '0')+A_Language[C_MinuteAbbreviation]+':'+RSet(sec, 2, '0')+A_Language[C_SecondAbbreviation];
      }
      else if (time > 59999) { // >= 1 minute
        return min+A_Language[C_MinuteAbbreviation]+':'+RSet(sec, 2, '0')+A_Language[C_SecondAbbreviation];
      }
      else if (time > 999) { // >= 1 seconde
        return sec+A_Language[C_SecondAbbreviation];
      }
      else if (time >= 0) { // < 1 seconde
        return '0'+A_Language[C_SecondAbbreviation];
      }
      else {
        return '';
      }
    }
    else {
      if (time > 0) {
        var date = new Date();
        date.setTime(date.getTime()+time);
        return String(date.getHours())+':'+RSet(String(date.getMinutes()),2,'0')+' '+String(date.getDate())+'/'+RSet(String(date.getMonth()+1),2,'0')+'/'+RSet(String(date.getYear()).substr(1,2),2,'0');
      }
      else if (time == 0) {
        return '0'+A_Language[C_SecondAbbreviation];
      }
      else {
        return '';
      }
    }
  }
  catch(err) {
    ShowError(err, 'FormatTime()');
  }
}

function CreateClipboard() {
  if(!window.clipboardData) {
		window.clipboardData = {
			setData : function(mode,content) {
				var clipboard = document.body;
				var flashclipboard = clipboard.flashclipboard;
				if(flashclipboard == null){
					flashclipboard = document.createElement("div");
					clipboard.flashclipboard = flashclipboard;
					clipboard.appendChild(flashclipboard);
				}
				flashclipboard.innerHTML = '<embed src="'+C_Server+'clipboard.swf" FlashVars="clipboard='+encodeURIComponent(content)+'" width="0" height="0" type="application/x-shockwave-flash"></embed>';
			}
		}
	}
}
unsafeWindow.CreateClipboard = CreateClipboard;

function SetClipboard(Text) {
  if (!document.getElementsByTagName('embed').length) {
    CreateClipboard();
  }
  if (window.clipboardData)
  window.clipboardData.setData('text',Text);
}
unsafeWindow.SetClipboard = SetClipboard;





/* FONCTIONS ET DECLARATIONS GENERALES DU SCRIPT
   ---------------------------------------------------*/

function ShowError(Err, Block) {
  if (Debug == true) {
    var Error = 'Script : \''+C_ScriptName+'\',Version : '+C_ScriptVersion+' '+C_ScriptBuild+'\n\n'; 
    Error += 'Block: ' + Block + '\n\n';
    Error += 'Name: ' + Err.name + '\n';
    Error += 'Description: ' + Err.message + '\n';
    Error += 'Line number: ' + Err.lineNumber + '\n\n';
    if (DebugAdvanced == true) {
      Error += 'File name:\n' + Err.fileName + '\n\n';
      Error += 'Constructor:\n' + Err.constructor + '\n\n';
      Error += 'Stack:\n' + (Err.stack||'') + '\n\n';
    }
    Error += 'Click OK to continue.\n';
    alert(Error);
  }
  return true;
}

function SaveAccount() {
  var Value = '';
  for (i = 0; i < A_Account.length; i++) {
    for (j = 0; j < A_Account[i].length; j++) {
      Value += A_Account[i][j]+';';
    }
    Value = Value.substr(0,Value.length-1)+'|';
  }
  GM_setValue('OT_Account', Value.substr(0,Value.length-1));
}

function ScriptShowHide(Id, TitleId, Title) {
  var DivId = document.getElementById(Id);
  var SpanTitleId = document.getElementById(TitleId);
  if (DivId.style.display == 'none') {
    DivId.style.display = '';
    SpanTitleId.innerHTML = Title+'&nbsp;&nbsp;&nbsp;<img src="'+C_Server+'up.png" alt="'+A_Language[C_RollUp]+'" '+((AddToolTip == true)?'title="'+A_Language[C_RollUp]+'"':'')+'>';
  }
  else {
    DivId.style.display = 'none';
    SpanTitleId.innerHTML = Title+'&nbsp;&nbsp;&nbsp;<img src="'+C_Server+'down.png" alt="'+A_Language[C_Unfold]+'" '+((AddToolTip == true)?'title="'+A_Language[C_Unfold]+'"':'')+'>';
  }
}
unsafeWindow.ScriptShowHide = ScriptShowHide;

function GMsetValue(Name, Value) {
  window.setTimeout(GM_setValue, 0, Name, Value);
}
unsafeWindow.GMsetValue = GMsetValue;

function GMsetRefreshValue(RPR,AUR) {
  GMsetValue('OT_'+Account+'_Refresh', 'RefreshPlanetRest='+RPR+'|AutoUpdateRest='+AUR);
}
unsafeWindow.GMsetRefreshValue = GMsetRefreshValue;

function GetValue(GMValue, Key, DefaultValue) {
  try {
    var Value = '';
    if (GMValue.length > 0) {
      var A_GetGM = GMValue.split(Separator);
      if (A_GetGM.length > 0) {
        for (var k = 0; k < A_GetGM.length; k++) {
          var A_GetGMKey = A_GetGM[k].split(KeySeparator);
          if (A_GetGMKey[0] == Key) {
            Value = '';
            if (A_GetGMKey.length > 2) {
              for (var l = 1; l < A_GetGMKey.length; l++) {
                Value += A_GetGMKey[l]+'=';
              }
              Value = Value.substr(0, Value.length-1);
            }
            else {
              Value = A_GetGMKey[1];
            }
            if ((Value == 'true') || (Value == 'false')) {
              return eval(Value);
            }
            else if (Value) {
              return Value;
            }
          }
        }
      }
    }
    return DefaultValue;
  }
  catch(err) {
    ShowError(err, 'GetValue()');
  }
}

function PlanetTimeUpdate(PlanetIndex, TimeInMillisecond, Color) { // Renvoie la class en fonction du temps depuis la derniere mise a jour
  try {
    if (A_Planet[PlanetIndex].Session == Session) {
      var TimeUpdate = A_Resources[PlanetIndex].Update;
      var GTime = new Date();
      var CurrentTime = GTime.getTime();
      if (TimeInMillisecond == false) {
        if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[0]) {
          return ((Color)?'#00FF00':'Time0');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[1]) {
          return ((Color)?'#33FF00':'Time1');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[2]) {
          return ((Color)?'#66FF00':'Time2');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[3]) {
          return ((Color)?'#99FF00':'Time3');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[4]) {
          return ((Color)?'#CCFF00':'Time4');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[5]) {
          return ((Color)?'#FFFF00':'Time5');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[6]) {
          return ((Color)?'#FFCC00':'Time6');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[7]) {
          return ((Color)?'#FF9900':'Time7');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[8]) {
          return ((Color)?'#FF6600':'Time8');
        }
        else if ((CurrentTime-TimeUpdate) < A_UpdateTimeColor[9]) {
          return ((Color)?'#FF3300':'Time9');
        }
        else {
          return ((Color)?'#FF0000':'Time10');
        }
      }
      else {
        return CurrentTime-TimeUpdate;
      }
    }
    if (TimeInMillisecond == false) {
      return ((Color)?'#00FFFF':'TimeOut');
    }
    else {
      return -1;
    }
  }
  catch(err) {
    ShowError(err, 'PlanetTimeUpdate('+PlanetIndex+', '+TimeInMillisecond+', '+Color+')');
  }
}

function ResourcesOver(PlanetIndex, Resource) { // Renvoie la class en f