Anywhere Out of OGame

By Oo Last update Jul 3, 2009 — Installed 161 times. Daily Installs: 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 2, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1

There are 1 previous version of this script.

Add Syntax Highlighting (this will take a few seconds, probably freezing your browser while it works)

// ==UserScript==
// @name Anywhere Out of OGame
// @namespace Gollum
// @description	Exporter des informations n'importe où hors d'OGame ! (V. 1.4.0)
// @include	http://*uni*.ogame.fr/game/index.php*
// @include	http://mines.webinpact.com/index.php?do=prod&profil=*
// @include	http://mines.webinpact.com/index.php?do=envoimines&profil=*
// @include	http://unilife.webinpact.com/index.php?page=*
// @include	http://unilife.webinpact.com/index.php?page=sous_compte&sous-compte=*&langue=*&univers=*
// @include	http://mines.oprojekt.net/index.php?show=mines&id=*
// ==/UserScript==

// @	http://scias.123.fr/Sites/RCBB3/index.php?page=*

	// FONCTIONS :
	function Insert(where, what, avec) {
		var Object = document.createElement(what);
		where.appendChild(Object);
		Object.innerHTML = avec;
	}
	
	function Find(path) {
		var Result = document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
		if (Result) {return Result;} else {return false;}
	}
	
	function get_from_to(strLine, begin, end) {
		if (begin == '000') {
			return strLine.substring(0, strLine.indexOf(end));
		} else if (end == '000') {
			return strLine.substring(strLine.indexOf(begin)+begin.length, strLine.length);
		} else {
			return strLine.substring(strLine.indexOf(begin)+begin.length, strLine.indexOf(end, strLine.indexOf(begin)));
		}
	}
	
	function STI(N) {
		if (N) {
			return parseInt(N.replace(/[^0-9]/g, ''));
		} else {
			return 0;
		}
	}
	
	function Info_fonction(ID, Text, Temp) {
		document.getElementById(ID).style.opacity = '1';
		document.getElementById(ID).style.display = '';
		document.getElementById(ID).innerHTML = Text;
		for (i = 1; i <= 25; i++) {
			var O = (4 * i);
			var T = Temp - (33 * i);
			window.setTimeout("document.getElementById('info_ok').style.opacity = " + (O / 100) + ";", T);
		}
		window.setTimeout("document.getElementById('info_ok').style.display = 'none';", Temp);
	}
	
	function Console(Text) {
		document.getElementById('console').value += Text+'\n';
	}	
	
	function Coor(Text) {
		return Text.match(/\[([0-9]{1,2}):([0-9]{1,3}):([0-9]{1,2})\]/);		
	}
	
	function Kill_HTML(txt, Par){
		if (!Par) {Par = '';}
	    return txt.replace(/<\S[^><]*>/g, Par);
	}
	
	function Add_CDD(InnerHTML) {
		Code = GM_getValue("RC_RE");
		
		if (!Code) {Code = '';} else {Code += '\n\n\n\n\n\n';}
		InnerHTML = Kill_HTML(InnerHTML.replace(/\<br\>/g, ' '));
		Code += InnerHTML.replace(/Recyclé à [^><]*\)\./g, '');
		Code += InnerHTML.replace(/Votre recycleur/g, 'Vos 1 recycleurs');
		Code += InnerHTML.replace(/unité/g, 'unités');
		
		GM_setValue("RC_RE", Code);
	}
	
	function Images(Nom) {// Function de code d'image :
	var Noms = new Array();		
		Noms['CDD'] = 'iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAAApVBMVEUVHiuDkZx8ipVzgYxicHwTJjYVKDlFVGFMW2ggMkFSYW5reYVaaXUcLj5BUV6Bj5ouPkwbLDwoOkmCkJt4h5JVZHA1RlUYKjo+TlwlNkUWKjxQX2s5SVZ+jJciNEVKWmYUJzhwfoo6TFsxQlEsPEoZKzx2hI9YZ3IqPEohM0NmdIAoOUdufIc4SlhebXgeMD8WKTc/UF4jNEMvP004R1U3SFcVLD2m4oJqAAAAAXRSTlMAQObYZgAAAM5JREFUeNqVkOsOgjAMhVthQ0BUhCnIbV7wfgX1/R/NbUxMNDGxf9p+WU/XA/BXXGyiMrGrPXlBH9G0OECFIm6+prI59Ykn82qpoSs79ChikLSiawXJBDGlLRyGghnAWQlnW26s0wjOcp4BBZ7unImgloEZifDA5chWjCjVWKjVp6oRGjFMm2rZ5R5LoMy7Zk6nXC/aUBcLMA3EMCk1owylVKA+hr0GLmTtQEexItdPxzNxproru759ip3+CEwBo8eHg1YQHr9snQ/uP0x/AlHWC4xtaOmmAAAAAElFTkSuQmCC';
		
		Noms['Add'] = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAABGlBMVEUqhgYriQYLIwJAQEAsigcqiAYugA4xjQ2OwXpTU1MjcQWq0JsphQYtiwk5khczjxBDlyI/RTz5+vlysVk9SjghawWAuWqx1KMTPAPR1s/29vb8/fzu9uve7djAxr6QwnzV6M05WS06VDGu0qEmewXj795jqUfj8N9Kjy9/uGnC3rjs9OjP18ybm5u01qeVn5EogAYeYAQfYgQ7kxnV6M4vfhHR0dGyuq8vexIkdAVjqUgjcgUWRgNKmyojbwUaUwTIyMibppcbVwR7e3v3+PYcWgQdXgTA3LU6khjD2Ls2kBNtrlPi5eEfNRcWLQ4wRSmTw4BdpkEUQANToDU4kRZ5eXklOh2w06JWojlDazLi4uIwjQwrigb///9HEbcfAAAAAXRSTlMAQObYZgAAALRJREFUeNpjYIAAWRkGOJA2jeazDRQO0IZwIw15YkAgRF4cxHUUBXKVYjliYtgjtID8MAPGmBjmWG6gCv5wID8IyGBjBsnHxHirM0i6aijERpnFAoGqsIA7g5yboEMsDHjoMUjaWyhyMofGSulyOmsaKzMwMDGC9YPMiwk2YWDw5WKFmcerBjRf30YlJkYkViwmhsXLCuQgfyZLRpBiXnZeiIOF/CSc7Ky5jDwRXvIx13EBMwBHViajO81jowAAAABJRU5ErkJggg==';
		Noms['Sup'] = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAMAAAAMCGV4AAABOFBMVEX/AAD////OztDplpbYm5v/e3vasrLAKirjERHSMTG0KCjS0tLLxcjKmprZPDznkpLwvb3EJCTUOjrWQUH0zc3/hobwurq8KSnieXnIyMrRLi7h4ePHc3K5KSnEKyvWRESdIyPdZWXZUFDNLS3hcXHKLCzkhYWlJSXhdHSxJyftFxfsqKjb2NypJSXrkJDvtraZQEDaVVXfbW3spKTbWVnk6erTNDTcX1/YSUnvs7P0ysr/Xl7FxMfHxsnFyMysMzPFxcjHx8rzyMj/g4Po7O3/29vIJib1Bgblg4PXR0fHLCyloKHzw8POKCjKZGTrpqbQy86+v8TBwMLKycvWztH4zs6vqKrld3fsnZ36DAzvISGzQEDcDw/xJyfcVlbsFBTHys30urrDxMnDw8fMsLDfcHDJz9DJyc3Fw0nsAAAAAXRSTlMAQObYZgAAANVJREFUeNpjYAACbsn0JCZHbgYosPFmC/XRZ2GShHAdUkScBCyNmdVkXMCyKVZAHr+EoqGSMBNQb5iTmKsof6qwqCu7VBo3gySbmD8jo7OnMyOjuqy9JENyojZ/LCOjNSNjjIK6YDBDoDF/nIUWIyMjh66Crm8Cg2O4uZkyK5DPysXFzhfE4BjNyS4KlGVkFFUV8nNk4E5j1wRyveIZGT1NAoFu5DHQdedgl5KPijQKDwI5SNpNXE5K2FxDTc8O4uAAUxkVjwjewCCYh7gdQ3R4bMH+AwC3ZB1SfbbxYAAAAABJRU5ErkJggg==';
		Noms['For'] = '';
		
		return Noms[Nom];
	}
	
	function checked_en_oui_non(checked) {
		if (checked) {return "checked";} else {return "unchecked";}
	}
	
	/*textarea = document.createElement('textarea');
		textarea.id = 'console';
		textarea.style.left = '800px';
		textarea.style.top = '0px';
		textarea.style.width = '400px';
		textarea.style.height = '400px';
		textarea.style.position = 'fixed';
		textarea.style.zIndex = '1000';
	document.getElementsByTagName("body")[0].appendChild(textarea);*/
	
	// Adresse de la page :
	var url = location.href;

	if (url.indexOf('do=prod') > -1 || url.indexOf('do=envoimines') > -1) {	// Minepact	
		// LECTURE DE LA SAUVEGARDE :
		Save = GM_getValue("out_ogame");
		if (!Save) {Save = 'checked/unchecked';GM_getValue("out_ogame", Save);}
		Options = Save.split(/\//);
		
		// AJOUT DU LECTEUR :
		var Table = document.getElementById('saisie').getElementsByTagName('table')[0];
		GM_addStyle('a#Mettre_a_jour {cursor:pointer;font-family:Arial;color:#00ff00;font-size:12px;}');
		GM_addStyle('a:hover#Mettre_a_jour {text-decoration:underline;color:#ffffff;font-size:12px;}');
		
		GM_addStyle('td.corps {padding-top:5px!important;padding-bottom:5px!important;text-align:center;}');
		GM_addStyle('#info_ok {padding-top:5px;padding-bottom:5px;text-align:center;color:#009999;border-top: 1px solid #000000;font-size:12px;font-family:Arial;}');
		GM_addStyle('#info_no {padding-top:5px;padding-bottom:5px;text-align:center;color:#ff0000;border-top: 1px solid #000000;font-size:12px;font-family:Arial;}');
		
		Insert(Table, 'tr', '<td class="corps" colspan="5"><a id="Mettre_a_jour">Mettre à jour avec Anywhere Out of OGame !</a></td>');
		
		var Object = document.createElement('tr');
		Object.id = 'info_ok';
		Object.style.display = 'none';
		Table.appendChild(Object);
		Object.innerHTML = '<td colspan="5"></td>';
		
		var Object = document.createElement('tr');
		Object.id = 'info_no';
		Object.style.display = 'none';
		Table.appendChild(Object);
		Object.innerHTML = '<td colspan="5"></td>';
		
		// FONCTION DU LECTEUR :
		function Chargement_Minepact(info) {
			// DETECTION DE L'UNIVERS :
			// Recuperation du profil :
			var Profile = get_from_to(url, '&profil=', '000');
			// Visée du lien :
			Lien = Find('//a[contains(@href, "do=prod&profil='+Profile+'")]');
			// Definition de l'univers :
			if (Lien) {uni = STI(Lien.innerHTML);} else {uni = prompt("Quel univers charger ?");}
			
			// MODIFICATION :
			if (GM_getValue("Out"+uni)) {
				var Save = GM_getValue("Out"+uni);
				var Planete = Save.split(/\|/);
				
				for (N = 0; N < Planete.length; N++) {
					var Info = Planete[N].split(/\//);
					
					document.getElementsByName('planete'+(N+1))[0].value = 	Info[0];
					document.getElementsByName('metal'+(N+1))[0].value = 	Info[1];
					document.getElementsByName('cristal'+(N+1))[0].value = 	Info[2];
					document.getElementsByName('deut'+(N+1))[0].value = 	Info[3];
					document.getElementsByName('temp'+(N+1))[0].value = 	Info[4];
				}
				
				for (N = N; N < 9; N++) {
					document.getElementsByName('planete'+(N+1))[0].value = 	'Colonie';
					document.getElementsByName('metal'+(N+1))[0].value = 	'0';
					document.getElementsByName('cristal'+(N+1))[0].value = 	'0';
					document.getElementsByName('deut'+(N+1))[0].value = 	'0';
					document.getElementsByName('temp'+(N+1))[0].value = 	'99';
				}
			}
			
			// CONFIRMATION :
			Info_fonction('info_ok', info, 3500);
		}
		
		if (document.getElementById("Mettre_a_jour")) {
			document.getElementById("Mettre_a_jour").addEventListener("click", function() {
				Chargement_Minepact('<td class="info_ok" colspan="5">Mise à jour effectuée... Cliquez sur OK pour envoyer !</td>');
			}, true);
		}
		
		// Actualisation automatique ?
		if (Options[0] == "checked") {
			Chargement_Minepact('<td class="info_ok" colspan="5">Mise à jour automatique effectuée... Cliquez sur OK pour envoyer !</td>');
		}

	}

	if (url.indexOf('mines.oprojekt.net/index.php?show=mines') > -1) {
		// LECTURE DE LA SAUVEGARDE :
		Save = GM_getValue("out_ogame");
		if (!Save) {Save = 'checked/unchecked';GM_getValue("out_ogame", Save);}
		Options = Save.split(/\//);
		
		// AJOUT DU LECTEUR :
		var Table = document.getElementById('myForm').getElementsByTagName('table')[0];
		GM_addStyle('a#Mettre_a_jour {cursor:pointer;font-family:Arial;color:#0000ff;font-size:12px;}');
		GM_addStyle('a:hover#Mettre_a_jour {text-decoration:underline;color:#000000;font-size:12px;}');
		
		GM_addStyle('td.corps {padding-top:5px!important;padding-bottom:5px!important;text-align:center;}');
		GM_addStyle('#info_ok {padding-top:5px;padding-bottom:5px;text-align:center;color:#009999;background-color:#374763;border-top: 1px solid #000000;font-size:12px;font-family:Arial;}');
		GM_addStyle('#info_no {padding-top:5px;padding-bottom:5px;text-align:center;color:#ff0000;background-color:#374763;border-top: 1px solid #000000;font-size:12px;font-family:Arial;}');
		
		Insert(Table, 'tr', '<td class="corps" colspan="5"><a id="Mettre_a_jour">Mettre à jour avec Anywhere Out of OGame !</a></td>');
		
		var Object = document.createElement('tr');
		Object.id = 'info_ok';
		Object.style.display = 'none';
		Table.appendChild(Object);
		Object.innerHTML = '<td colspan="5"></td>';
		
		var Object = document.createElement('tr');
		Object.id = 'info_no';
		Object.style.display = 'none';
		Table.appendChild(Object);
		Object.innerHTML = '<td colspan="5"></td>';
		
		// FONCTION DU LECTEUR :
		function Chargement_Minepact(info) {
			// DETECTION DE L'UNIVERS :
			uni = document.getElementById("ajax_uni").innerHTML;
			if (uni) {uni = get_from_to(uni, 'selected="selected">u', '</option>');} else {uni = prompt("Quel univers charger ?", uni);}
			
			// MODIFICATION :
			if (GM_getValue("Out"+uni)) {
				var Save = GM_getValue("Out"+uni);
				var Planete = Save.split(/\|/);
				
				for (N = 0; N < Planete.length; N++) {
					var Info = Planete[N].split(/\//);
					
					document.getElementsByName((N+1)+'p')[0].value = Info[0];
					document.getElementsByName((N+1)+'m')[0].value = Info[1];
					document.getElementsByName((N+1)+'k')[0].value = Info[2];
					document.getElementsByName((N+1)+'d')[0].value = Info[3];
					document.getElementsByName((N+1)+'t')[0].value = Info[4];
				}
				
				for (N = N; N < 9; N++) {
					document.getElementsByName((N+1)+'p')[0].value = 'Colonie';
					document.getElementsByName((N+1)+'m')[0].value = '0';
					document.getElementsByName((N+1)+'k')[0].value = '0';
					document.getElementsByName((N+1)+'d')[0].value = '0';
					document.getElementsByName((N+1)+'t')[0].value = '99';
				}
			}
			
			// CONFIRMATION :
			Info_fonction('info_ok', info, 3500);
		}
		
		if (document.getElementById("Mettre_a_jour")) {
			document.getElementById("Mettre_a_jour").addEventListener("click", function() {
				Chargement_Minepact('<td class="info_ok" colspan="5">Mise à jour effectuée... Cliquez sur OK pour envoyer !</td>');
			}, true);
		}
		
		// Actualisation automatique ?
		if (Options[0] == "checked") {
			Chargement_Minepact('<td class="info_ok" colspan="5">Mise à jour automatique effectuée... Cliquez sur OK pour envoyer !</td>');
		}
	}

	if (url.indexOf('unilife') > -1) {
		// LECTURE DE LA SAUVEGARDE :
		Save = GM_getValue("out_ogame");
		if (!Save) {Save = 'checked/unchecked';GM_getValue("out_ogame", Save);}
		Options = Save.split(/\//);
		
		function Ajout_Lecteur() {			
			GM_addStyle('#out_ogame {border: 1px solid #000000;width:300px;height:20px;text-align:center;}');
			GM_addStyle('#form_miseajour {margin-bottom: 200px !important;}');
			
			GM_addStyle('a#Mettre_a_jour {cursor:pointer;font-family:Arial;color:#00ff00;font-size:12px;}');
			GM_addStyle('a:hover#Mettre_a_jour {text-decoration:underline;color:#000000;font-size:12px;}');
			
			GM_addStyle('#info_ok {padding-top:5px;padding-bottom:5px;text-align:center;color:#009999;width:300px;height:20px;background-color:#374763;border-top: 1px solid #000000;font-size:12px;font-family:Arial;}');
			GM_addStyle('#info_no {padding-top:5px;padding-bottom:5px;text-align:center;color:#ff0000;width:300px;height:20px;background-color:#374763;border-top: 1px solid #000000;font-size:12px;font-family:Arial;}');
			
			var Center = document.createElement('center');
			document.getElementById('milieu').appendChild(Center);
			Center.innerHTML = '<div id="out_ogame"><a id="Mettre_a_jour">Mettre à jour avec Anywhere Out of OGame !</a></div>';
			
			var Object = document.createElement('div');
			Object.id = 'info_ok';
			Object.style.display = 'none';
			Center.appendChild(Object);
			Object.innerHTML = '';
			
			var Object = document.createElement('div');
			Object.id = 'info_no';
			Object.style.display = 'none';
			Center.appendChild(Object);
			Object.innerHTML = '';
		}
		
		if (url.indexOf('page=miseajour') > -1 & url.indexOf('miseajour_') == -1) {			
			// AJOUT DU LECTEUR :
			Ajout_Lecteur();
			
			// FONCTION DU LECTEUR :		
			var Boutton = document.getElementById("Mettre_a_jour");
			if (Boutton) {
				Boutton.addEventListener("click", function() {					
					// MODIFICATION :
					var uni = prompt("Quel univers charger ?", '46');
					if (GM_getValue("Unilife"+uni)) {
						var Save = GM_getValue("Unilife"+uni);
						var Planete = Save.split(/\|\|/)[0];
						Planete = Planete.split(/\|/);
						
						Planete_Name = document.getElementsByTagName('h4')[0].innerHTML;
						
						for (P = 0; P < Planete.length; P++) {
							if (Planete[P].indexOf(Planete_Name) > -1) {
								var Info = Planete[P].split(/\\/)[0].split(/\//);
								for (N = 0; N < Info.length; N++) {
									document.getElementsByName(N+11)[0].value = Info[N];
								}
								document.getElementsByName(16)[0].value = Info[6];
								document.getElementsByName(17)[0].value = Info[5];
								
								var Info = Planete[P].split(/\\/)[1].split(/\//);
								for (N = 0; N < Info.length; N++) {
									document.getElementsByName(N+26)[0].value = Info[N];
								}
								
								var Info = Planete[P].split(/\\/)[2].split(/\//);
								for (N = 0; N < Info.length; N++) {
									document.getElementsByName(N+40)[0].value = Info[N];
								}
								P = 10;
							}
						}
						
						Info_fonction('info_ok', '<td class="info_ok" colspan="5">Mise à jour effectuée... Cliquez sur OK pour envoyer !</td>', 3500);
						
						document.getElementById('form_miseajour').submit();
					} else {
						Info_fonction('info_ok', '<td class="info_ok" colspan="5">Mise à jour annulée...</td>', 3500);
					}
					
				}, true);
			}
		}
		
		if (url.indexOf('page=mise_a_jour_planete') > -1) {
			// AJOUT DU LECTEUR :
			Ajout_Lecteur();
			
			// FONCTION DU LECTEUR :		
			var Boutton = document.getElementById("Mettre_a_jour");
			if (Boutton) {
				Boutton.addEventListener("click", function() {
					// MODIFICATION :
					var uni = prompt("Quel univers charger ?", '46');
					if (GM_getValue("Unilife"+uni)) {
						var Save = GM_getValue("Unilife"+uni);
						var Planete = Save.split(/\|\|/)[0].split(/\|/);
						
						for (P = 0; P < Planete.length; P++) {
							var Info = Planete[P].split(/\\/)[3].split(/\//);
							var Mine = Planete[P].split(/\\/)[0].split(/\//);
							alert(Info);
							document.getElementsByName('nom_planete_'+(P+1))[0].value = 	Info[0];
							document.getElementsByName('galaxie_'+(P+1))[0].value = 		Coor(Info[1])[1];
							document.getElementsByName('systeme_'+(P+1))[0].value = 		Coor(Info[1])[2];
							document.getElementsByName('position_'+(P+1))[0].value = 		Coor(Info[1])[3];
							document.getElementsByName('temperature_'+(P+1))[0].value = 	Info[2];
							document.getElementsByName('case_'+(P+1))[0].value = 			Info[3];
							
							document.getElementsByName('mine_de_metal_'+(P+1))[0].value = 	Mine[0];
							document.getElementsByName('mine_de_cristal_'+(P+1))[0].value = Mine[1];
							document.getElementsByName('deut_'+(P+1))[0].value = 			Mine[2];
							//document.getElementsByName('lune_'+(P+1))[0].value = Info[0];
						}
						
						Info_fonction('info_ok', 'Mise à jour effectuée... Cliquez sur OK pour envoyer !', 3500);
					} else {
						Info_fonction('info_ok', 'Mise à jour annulée...', 3500);
					}
					
				}, true);
			}
		}
		
		if (url.indexOf('page=miseajour_recherche') > -1) {		
			// AJOUT DU LECTEUR :
			Ajout_Lecteur();
			
			// FONCTION DU LECTEUR :		
			var Boutton = document.getElementById("Mettre_a_jour");
			if (Boutton) {
				Boutton.addEventListener("click", function() {					
					// MODIFICATION :
					var uni = prompt("Quel univers charger ?", '46');
					if (GM_getValue("Unilife"+uni)) {
						var Save = GM_getValue("Unilife"+uni);
						var Tech = Save.split(/\|\|/)[1].split(/\//);
						
						for (N = 0; N < Tech.length; N++) {
							document.getElementsByName(N+50)[0].value = Tech[N];
						}
						
						Info_fonction('info_ok', '<td class="info_ok" colspan="5">Mise à jour effectuée... Cliquez sur OK pour envoyer !</td>', 3500);
						
						document.getElementById('form_miseajour_recherche').submit();
					} else {
						Info_fonction('info_ok', '<td class="info_ok" colspan="5">Mise à jour annulée...</td>', 3500);
					}
					
				}, true);
			}
		}
	}
	
	if (url.indexOf('page==rcrr') > -1) {
		Code = GM_getValue("RC_RE");
		if (!Code) {Code = '';}
		
		document.getElementsByName('rc_nf')[0].value = Code;
	}
	
	if (url.indexOf('Visualisateur=oui') > -1) {
		document.getElementsByTagName('body')[0].innerHTML = '<textarea id="king" onclick="this.select();" readonly="readonly">'+document.getElementsByName('rc_f')[0].value+'</textarea>';
		document.getElementsByTagName('body')[0].id = "god";
		
		GM_addStyle('#god {height:100%;width:100%;position:absolute;top:-9px;left:-8px;text-align:center;}');
		GM_addStyle('#king {height:100%;width:100%;border: 0px !important;}');
	}

	if (url.indexOf('ogame') > -1) {
		var thisData = {
			namespace: 'any_where_out_of_ogame', // Nom simplifié. Doit être unique. Eviter les espaces, majuscules & accentuations.
			name: 'Anywhere Out of OGame', // Nom complet
			version: '1.4.0', // Version du script
			scriptURL: 'http://ogame-greasemonkey.idoo.com/any_where/any_where_out_of_ogame.user.js', // Lien pour installer le script (fichier hosté)
			options: showOptions // fonction lançant les options
		}
		
		/*//		changelog::start
		v 1.4.0
		* Compatible à Minepact 5.0.
		v 1.3.0
		* Correction de quelques bugs;
		* Nouvelles fonctionalitées.
		v 1.2.1
		* Adaptation pour oprojekt.
		v 1.2.0
		* Adaptation pour Unilife;
		* Pas de sauvegardes dans les pages Vue Générale et Flotte pour ne pas diminuer les performances.
		v 1.1.0
		* Options personalisables;
		* Mise à jour automatique une fois la page ouverte (selon volonté);
		* Possibilité d'utiliser un niveau de plus/moins si une mine est déjà en construction/destruction.
		v 1.0.1
		* Coloration du lien en Rouge.
		v 1.0.0
		* Lancement du script !
		//		changelog::end*/
		
		var declareFun = {
			fun: ['Bip', 'addElem', '$', '$A', '$C', '$E', 'id_', 'doTheBlack', 'isData', 'evalFunctions'], // Fonctions que l'on souhaite utiliser.
			proto: ['find'], // Prototypes que l'on souhaite utiliser.
			vari: ['URL', 'JSON', 'DATA', 'actualTime', 'TAG', 'TXT', 'page', 'session', 'server'] // Variables que l'on souhaite utiliser.
		};
		
		// Seyguai's Script - SSU Method
		switch (unsafeWindow.ssu) { // Diverses erreurs du script librairie.
			case undefined:
				unsafeWindow.ssu = false;
				return alert ("Ce script fait partie d'une suite créée par Seyguai.\nSon bon fonctionnement implique la présence du script \"Seyguai's Scripts Utilities\" fourni sur le site de l'auteur.\n\nSi toutefois ce script est déjà installé, veuillez le placer en première position de la liste des autres scripts GreaseMonkey.\n(Il n'altèrera en rien le fonctionnement des autres scripts)\n\nExécution des scripts SSU interrompue.");
			case false:
				return;
			case 'error':
				unsafeWindow.ssu = false;
				return alert ("Une erreur s'est produite lors de l'exécution de la librairie \"Seyguai's Scripts Utilities\". Merci de contacter l'auteur.\n\nExécution des scripts SSU interrompue.");
		}
		
		eval(unsafeWindow.ssu.fun.evalFunctions(declareFun)); // Définition des fonctions/prototype/variables
		
		if (unsafeWindow.ssu.fun.addScript(thisData)) // Référencement du script
			return; // false si script bloqué, true sinon.	
			
		/*******************************************************************************************************************************************************************************************/
		/*************************************************************************************DEBUT DU SCRIPT ***************************************************************************************/
		/*******************************************************************************************************************************************************************************************/
		
		
		// LECTURE DES SAUVEGARDES :
		Save = GM_getValue("out_ogame");
		if (!Save) {Save = 'checked/unchecked/unchecked';GM_getValue("out_ogame", Save);}
		Options = Save.split(/\//);
		
		login = GM_getValue("login"+uni);
		pass = GM_getValue("mdp"+uni);
			
				
			if (url.indexOf('page=fleet') == -1 & url.indexOf('page=messages') == -1) {
								
				// VARIABLES :
				var uni = server.match(/uni(\d+)\.ogame\.fr/)[1];
				var url = location.href;
				
				// TOUTES PAGES :
				// Exportation vers Minespact  :
				function Planete_en_texte(Planete) {
					var Planete_1 = Planete.building;
					var Planete_2 = Planete_1.build;
					
					Metal = Planete_1[TAG.building[0]];
					Crist = Planete_1[TAG.building[1]];
					Deute = Planete_1[TAG.building[2]];
					
					if (Planete_2.tag != '' & Options[1] == 'checked') { 
						if (Planete_2.tag != '' & Planete_2.type == '++') {
							if (Planete_2.tag == TAG.building[0]) {Metal++;}
							if (Planete_2.tag == TAG.building[1]) {Crist++;}
							if (Planete_2.tag == TAG.building[2]) {Deute++;}
						}
						if (Planete_2.tag != '' & Planete_2.type == '--') {
							if (Planete_2.tag == TAG.building[0]) {Metal--;}
							if (Planete_2.tag == TAG.building[1]) {Crist--;}
							if (Planete_2.tag == TAG.building[2]) {Deute--;}
						}
					}
					return Planete.name +'/'+ Metal +'/'+ Crist +'/'+ Deute +'/'+ Planete.maxtemp;
				}
				
				Save = '';
				for (N = 0; N < DATA['planet'].length; N++) {
					Save += Planete_en_texte(DATA.planet[N])+'|';
				}
				Save = (Save + '_').replace('|_', '');
				GM_setValue("Out"+uni, Save);
				
				// Exportation vers Unilife  :
				function Planete_en_Unilife(Planete) {
					var Planete_1 = Planete.building;
						var Planete_1_ = Planete_1.build;
					var Planete_2 = Planete.fleet;
					var Planete_3 = Planete.defence;
					
					var Tag_1 = TAG.building;
					var Tag_2 = TAG.fleet;
					var Tag_3 = TAG.defence;
					
					var Planete_txt = '';
					
					if (Planete_1_.tag != '' & Options[1] == 'checked') { 
						for (N = 0; N < 15; N++) {
							if (Planete_1_.tag == Tag_1[N]) { 
								if (Planete_1_.type == '++') {(Planete_txt += Planete_1[Tag_1[N]] + 1);}
								else {Planete_txt += (Planete_1[Tag_1[N]] - 1);}
							}
							else {
								Planete_txt += Planete_1[Tag_1[N]];
							}
							Planete_txt += '/';
						}
					} else {
						for (N = 0; N < 15; N++) {
							Planete_txt += Planete_1[Tag_1[N]] + '/';
						}
					}
					Planete_txt = (Planete_txt + '_').replace('/_','');
					Planete_txt += '\\';
					for (N = 0; N < 14; N++) {
						Planete_txt += Planete_2[Tag_2[N]] + '/';
					}
					Planete_txt = (Planete_txt + '_').replace('/_','');
					Planete_txt += '\\';
					for (N = 0; N < 10; N++) {
						Planete_txt += Planete_3[Tag_3[N]] + '/';
					}
					
					Planete_txt = (Planete_txt + '_').replace('/_','');
					return Planete_txt + '\\' + Planete.name +'/'+ Planete.posi +'/'+ Planete.maxtemp +'/'+ Planete.ceil.max +'/'+ Planete.maxtemp +'/'+ Planete.maxtemp +'/'+ Planete.maxtemp;
				}
				
				Save = '';
				for (P = 0; P < DATA.planet.length; P++) {
					Save += Planete_en_Unilife(DATA.planet[P])+'|';
				}
				
				Save += '|';
				for (N = 0; N < 16; N++) {
					Save += DATA.techno[TAG.techno[N]] + '/';
				}
				
				Save = Save.replace(/-1/g, '0');
				GM_setValue("Unilife"+uni, Save);
			}
			
			if (url.indexOf('page=bericht__') > -1) {				
				function InnerHTML_en_Rapport(Rapport) {
					Rapport = Rapport.replace(/\<\/th\><\/tr\>/g, '\n');
					Rapport = Rapport.replace(/\<\/td\><\/tr\>/g, '\n');
					
					Rapport = Rapport.replace(/\<\/tr\>/g, '\n');
					Rapport = Rapport.replace(/\<tr\>/g, '');
					
					Rapport = Rapport.replace(/\<\/th\>/g, ' ');
					Rapport = Rapport.replace(/\<th\>/g, '');
					
					Rapport = Rapport.replace(/\<br>/g, '\n');
					Rapport = Rapport.replace(/Type/g, '\nType');
					
					Rapport = Rapport.replace(/\<center\>/g, '\n');
					Rapport = Rapport.replace(/\<\/center\>/g, '\n');
					
					Rapport = Kill_HTML(Rapport, '');
					Rapport = Rapport.replace(/\unités \([^><]*\)\./g, 'unités.');
					Rapport = Rapport.replace(/ \\n/g, '\n');
					
					Rapport = Rapport.replace(get_from_to(Rapport, '000', 'Les'), '');
					Rapport = Rapport.replace('\n    \n\n\n\n   \n\n', '');
					
					Rapport = Rapport.replace('\n\n\n\n', '\n\n');
					Rapport = Rapport.replace('\n\n\n', '\n\n');
					
					return Rapport;
				}
								
				function Rapport_en_Code(Rapport, Save) {
					Code = '\n<center>\n';
					Code += '<a style="cursor:pointer;" id="Add_RC">Ajouter le rapport au convertiseur !</a>\n';
					Code += '<br />\n';
					//Code += '<a href="http://scias.123.fr/Sites/RCBB3/index.php?page=rcrr" target="_bank">Ouvrir le Convertisseur !</a>\n';
					Code += '<a style="cursor:pointer;" id="Send">Ouvrir le Convertisseur !</a>\n';
					Code += '<br /><br />\n';
					Code += '<a style="cursor:pointer;" id="Zero">Remettre les sauvegardes à Zéro...</a>\n';
					Code += '</center>\n';
					Code += '<textarea style="display:none;" id="Rapport_de_combat">'+Rapport+'</textarea>\n';
					Code += '<form action="http://scias.123.fr/Sites/RCBB3/index.php?page=rcrr?Visualisateur=oui" method="post" target="Openner" id="Formater" style="display:none;">\n';
					Code += '<textarea name="rc_nf">'+Save+'</textarea>';
					
					Code += '';
					Code += '<input type="checkbox" checked="checked" name="pseudos" class="cx"/>\n';
					Code += '<input type="checkbox" checked="checked" name="allys" class="cx"/>\n';
					Code += '<input type="checkbox" checked="checked" name="coords" class="cx"/>\n';
					Code += '<input type="checkbox" checked="checked" name="techs" class="cx"/>\n';
					Code += '<input type="checkbox" checked="checked" name="date" class="cx"/>\n';
					Code += '<input type="checkbox" checked="checked" name="renta" class="cx"/>\n';
					Code += '<input type="checkbox" name="rentatot" class="cx"/>\n';
					
					//<input type="text" name="ally_e" class="entree-p" maxlength="8" value="" />\n
					//<input type="text" name="roundtxt" class="entree" maxlength="100" value="" />\n
					
					Code += '<input type="checkbox" name="center" checked="checked" class="cx"/>\n';
					Code += '<input type="checkbox" name="quote"  checked="checked" class="cx"/>\n';
					Code += '<select class="select" name="jeu_couleurs" >\n';
					Code += '<option value="clair">Couleurs adaptées pour forum clair</option>\n';
					Code += '<option value="fonce" selected="selected">Couleurs adaptées pour forum foncé</option>\n';
					Code += '<option value="perso">Couleurs personnalisées</option></select>\n';		
					Code += '<select class="select" name="tailles" >\n';
					Code += '<option value="pixel" selected="selected">Tailles en pixels (forums phpBB2...)</option>\n';
					Code += '<option value="pourcent">Tailles en pourcent (forums phpBB3)</option>\n';
					Code += '</select>\n';				
					Code += '</form>\n';
					
					return Code;
				}
				
				Save = GM_getValue("RC_RE"); if (!Save) {Save = '';}
				
				Rapport = InnerHTML_en_Rapport(document.getElementsByTagName('table')[0].innerHTML);
				Code = Rapport_en_Code(Rapport, Save);				
				
				Rap = document.getElementById('rapport_bbcode');
				if (Rap) {Insert(Rap, 'div', Code);}
				else {
					var Div = document.createElement("table");
					var Block = document.getElementsByTagName('table')[0];
					Div.id = "Musique";
					Div.style.width = '100%';
					Div.innerHTML = '<tr><td style="width:100%;height:55px;" id="rapport_bbcode"></td><td id="musique"></td></tr>';
					Block.parentNode.insertBefore(Div,Block.nextSibling);
					Insert(document.getElementById('rapport_bbcode'), 'div', Code);
				}
				
				Rap = document.getElementById('Musique');
				if (Rap) {Insert(Rap, 'tr', '\n<td id="iframe" style="display:none;" colspan="2">\n<br>\n<iframe src="" frameborder="0" scrolling="no" name="Openner" id="Openner"></iframe>\n</td>');}
				GM_addStyle('#Openner {width:100%;height:60px;}');
				
				var Button = document.getElementById("Add_RC");
				if (Button) {
					Button.addEventListener("click", function(event) {
						Code = GM_getValue("RC_RE");
						if (!Code) {Code = '';} else {Code += '\n\n\n\n\n\n';}
						Code += document.getElementById("Rapport_de_combat").value;
						document.getElementsByName('rc_nf')[0].value = Code;
						GM_setValue("RC_RE", Code);
					}, true);
				}
				
				var Button = document.getElementById("Send");
				if (Button) {
					Button.addEventListener("click", function(event) {
						Code = GM_getValue("RC_RE");
						if (Code) {
							document.getElementsByName('rc_nf')[0].value = Code;
							document.getElementById('Formater').submit();
							document.getElementById('iframe').style.display = '';
						}
					}, true);
				}
				
				var Button = document.getElementById("Zero");
				if (Button) {
					Button.addEventListener("click", function(event) {
						GM_setValue("RC_RE", '');
					}, true);
				}
			}
			
			if (url.indexOf('page=messages__') > -1) {// Parcourt 1 : Messages joueurs et Rapports d'exploitation :
				var page = document.getElementById('content').getElementsByTagName('tr');
				
				NRap = 0;
				for (P = 4; P < page.length; P++) {
					var page_th = document.getElementById('content').getElementsByTagName('tr')[P].getElementsByTagName('th');
					if (page_th[3]) {
						// Rapport d'exploitation :
						if (page_th[3].innerHTML.indexOf('Rapport d\'exploitation du champ de débris') > -1) {
							//page_th[2].innerHTML += '<a style="cursor:pointer;" id="Lien'+NRap+'"><img src="data:image/png;base64,'+Images('CDD')+'" /></a>';							
							//page_th[2].innerHTML = '<a style="cursor:pointer;" id="Lien'+NRap+'" title="Cliquez pour ajouter ce Rapport d\'exploitation au convertisseur">Flotte</a>';							
							page_th[2].innerHTML = 'Flotte <a style="cursor:pointer;" id="Add_'+NRap+'" title="Cliquez pour ajouter ce Rapport d\'exploitation au convertisseur"><img src="'+Images('Add')+'"/></a> ';
							//page_th[2].innerHTML += ' <a style="cursor:pointer;" id="Sup_'+NRap+'" title="Cliquez pour vider les rapport en mémoire !"><img src="'+Images('Sup')+'"/></a> ';
							document.getElementById('content').getElementsByTagName('tr')[P+1].getElementsByTagName('td')[1].id = 'Rapport'+NRap;
							NRap++;
						}
						/*/ Rapport d'espionnage :
						if (page_th[3].innerHTML.indexOf('Espionnage de') > -1) {
							//page_th[2].innerHTML += '<a style="cursor:pointer;" id="Lien'+NRap+'"><img src="data:image/png;base64,'+Images('CDD')+'" /></a>';							
							page_th[2].innerHTML = '<a style="cursor:pointer;" id="Lien'+NRap+'" title="Cliquez pour ajouter ce Rapport d\'exploitation au convertisseur">Flotte</a>';							
							document.getElementById('content').getElementsByTagName('tr')[P+1].getElementsByTagName('td')[1].id = 'Rapport'+NRap;
							NRap++;
						}*/
					}
				}
				
				var Button = document.getElementById('Lien0');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport0').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien1');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport1').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien2');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport2').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien3');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport3').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien4');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport4').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien5');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport5').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien6');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport6').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien7');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport7').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien8');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport8').innerHTML);
					}, true);
				}
				var Button = document.getElementById('Lien9');
				if (Button) {
					Button.addEventListener("click", function(event) {
						Add_CDD(document.getElementById('Rapport9').innerHTML);
					}, true);
				}
			}
			
			Menu = document.getElementById('menu');
			if ((Menu) && (Options[2] == 'checked')) {
				if (!Save == '') {
					Insert(document.getElementsByTagName("body")[0], 'div', '<form action="http://mines.webinpact.com/index.php?new_connect" method="post" name="login" id="form_connect" target="_bank"><input name="login" class="saisie" id="login" value="'+login+'" size="10" type="text"><input name="password" class="saisie" id="password" value="'+pass+'" size="10" type="password"><input name="Submit" value="Connexion" class="saisie" type="submit"></form>');
					document.getElementById('form_connect').parentNode.style.display = 'none';
					Lien = '<a href="#" onclick="document.getElementById(\'form_connect\').submit();">Minpact</a>'
				} else {
					Lien = '<a href="http://mines.webinpact.com/index.php" target="_blank">Minpact</a>'
				}
				Insert(Menu.getElementsByTagName('table')[0], 'tr', '<td><div align="center"><font color="#ffffff">'+Lien+'</font></div></td>');
			}
			
		unsafeWindow.ssu.fun.updateStatus(thisData.namespace, 'activ');
	}
	
	// OPTIONS :
	function showOptions () {
		var Aide = {
			0 : '<a title="Cochez pour une mise à jour automatique lors du chargement de la page de Minepact, sinon, il vous faudra cliquer sur le lien de mise à jour.">',
			1 : '<a title="Si une construction est en cours, le script indiquera le niveau suivant à Minepact.">',
			2 : '<a title="Ajoute un lien vers Minepact dans le menu de gauche.">',
			3 : '<a title="Entrez votre login Minepact pour une conection automatique.">',
			4 : '<a title="Entrez votre Mot de passe Minepact pour une conection automatique (/!\\ ATTENTION /!\\ Le mot de passe est très mal protégé, utilisez cette options uniquement pour un ordinateur personnel !).">'
		};
		
		// Ajout du tableau :
		var Content = doTheBlack(thisData.namespace);
		var Code = '<table>';
		
		Code += '<tr><td class="c" colspan="2"><a href="http://board.ogame.fr/thread.php?threadid=888259" target="_bank">OPTIONS DU SCRIPT <b>« Anywhere Out of OGame »</b></td></tr>';
		
		Code += '<tr><td class="c" colspan="2">Mise à jour des données :</td></tr>';
		Code += '<tr><th>'+Aide[0]+'Mise à jour automatique</a></th>'+ 	'<th><input "'+Options[0]+'" class="Options" type="checkbox"></th></tr>';
		Code += '<tr><th>'+Aide[1]+'Niveau suivant</a></th>'+ 			'<th><input "'+Options[1]+'" class="Options" type="checkbox"></th></tr>';
		
		Code += '<tr><td class="c" colspan="2">Ajouter un lien Minpact das le menu de gauche :</td></tr>';
		Code += '<tr><th>'+Aide[2]+'Ajouter le lien</a></th>'+ 	'<th><input "'+Options[2]+'" class="Options" type="checkbox"></th></tr>';
		Code += '<tr><th>'+Aide[3]+'Login</a></th>'+ 			'<th><input value="'+login+'" class="login" size="10" type="text"></th></tr>';
		Code += '<tr><th>'+Aide[4]+'Mot de passe</a></th>'+ 	'<th><input value="'+pass+'" class="login" size="10" type="password"></th></tr>';
		
		Code += '<tr><td class="c" colspan="2">Annuler / Enregistrer les modifications :</td></tr>';
		Code += '<tr><th class="boutton_VG"><input title="Utiliser les valeurs de base" value="Valeurs par défaut" type="submit" class="Reset_VG"></th><th class="boutton_VG"><input title="Enregistrer les modifications apportées" value="Sauver les Options du Script" type="submit" class="Sauver_VG"></th></tr>';
		
		Code += '<tr id="Info" style="display:none;><td"></td></tr></table>';		
		Content.innerHTML = Code;
		
		// Definition du code du bouton de reset :
		var Boutton = document.getElementsByClassName("Reset_VG");				
		if (Boutton[0]) {
			Boutton[0].addEventListener("click", function() {
				if (confirm("Voulez-vous vraiment Importer/Réinitialiser ?")) {
					Save = prompt("Charger une sauvegarde ?\n(Laissez tel quel pour une réinitialisation.)", "checked/unchecked");
					GM_setValue("ogame"+uni, Save);
					
					// Information :
					TR = document.getElementById('Info');
					TR.style.color = 'red';
					TR.style.display = '';
					TR.innerHTML = '<th colspan="2">Réinitialisation effectuée !</th>';					
					window.setTimeout("document.getElementById('Info').style.display = 'none';", 1500);
				}
				else {
					alert ("Annulation...");
				}
			}, true);
		}
		
		// Definition du code du bouton de sauvegarde :
		var Boutton = document.getElementsByClassName("Sauver_VG");				
		if (Boutton[0]) {
			Boutton[0].addEventListener("click", function() {
				// Generation du fichier de sauvegarde :
				Save = '';
				Save += checked_en_oui_non(document.getElementsByClassName('Options')[0].checked);
				Save += '/';
				Save += checked_en_oui_non(document.getElementsByClassName('Options')[1].checked);
				Save += '/';
				Save += checked_en_oui_non(document.getElementsByClassName('Options')[2].checked);
				
				// Sauvegarde :
				GM_setValue("out_ogame", Save);
				
				// Mot de passe :
				GM_setValue("login"+uni, document.getElementsByClassName('login')[0].value);
				GM_setValue("mdp"+uni, document.getElementsByClassName('login')[1].value);
				
				// Information :
				TR = document.getElementById('Info');
				TR.style.color = 'green';
				TR.style.display = '';
				TR.innerHTML = '<th colspan="2">Modifications enregistrées !</th>';
				window.setTimeout("document.getElementById('Info').style.display = 'none';", 2500);
			}, true);
		}
	}