Untitled Diff

Created Diff never expires
// ==UserScript==
// ==UserScript==
// @name O-Table
// @name O-Table
// @namespace http://tampermonkey.net/
// @namespace http://tampermonkey.net/
// @version 2.5.2
// @version 2.5.2
// @description Créateur OddWH
// @description Créateur OddWH
// @author OddWH
// @author OddWH
// @grant GM_addStyle
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_deleteValue
// @grant GM_listValues
// @grant GM_listValues
// @include *.ogame*gameforge.com/game/index.php?page=messages*
// @include *.ogame*gameforge.com/game/index.php?page=messages*
// @include *.ogame*gameforge.com/game/index.php?page=ingame&component=research*
// @include *.ogame*gameforge.com/game/index.php?page=ingame&component=research*
// @include *.ogame.gameforge.com/game/index.php?page=ingame&component=fleetdispatch*
// @include *.ogame.gameforge.com/game/index.php?page=ingame&component=fleetdispatch*
// @updateURL https://openuserjs.org/meta/OddWH/O-Table.meta.js
// @updateURL https://openuserjs.org/meta/OddWH/O-Table.meta.js
// @downloadURL https://openuserjs.org/install/OddWH/O-Table.user.js
// @downloadURL https://openuserjs.org/install/OddWH/O-Table.user.js
// @license MIT
// @license MIT

// @require http://cdn.craig.is/js/mousetrap/mousetrap.min.js?9d308
Mousetrap.bind('0', function() {
changeOpt("text7", "max age", "5");
});
Mousetrap.bind('9', function() {
changeOpt("text28", "min loot MSU", "1");
});
Mousetrap.bind('8', function() {
changeOpt("text39", "n probes", "55");
});
Mousetrap.bind('7', function() {
var ProfileUsed = GetData('ProfileUsed','', 'Profile1');

var saved_n_deleted_by_deletemultiple_button = GetData(ProfileUsed, 'text38', 10);

var slots_per_wave = GetData(ProfileUsed, 'text18', 1);
var n_non_espionage_missions = document.querySelectorAll('[data-mission-type]').length - document.querySelectorAll('[data-mission-type="6"]').length;
var espionages_just_done = slots_per_wave - n_non_espionage_missions;

if( ! changeOpt("text38", "n to delete", espionages_just_done) ){
return;
}
DeleteMultiple();
/*restore*/ GM_setValue( ProfileUsed + "text38" + MetaDatas().Universe, saved_n_deleted_by_deletemultiple_button );
});



function changeOpt(prop, prompt, defaultValue){
var ProfileUsed = GetData('ProfileUsed','', 'Profile1');
var NewValue = window.prompt(prompt, defaultValue );
if( typeof NewValue != "string" ){
return false;
}
GM_setValue( ProfileUsed + `:${prop}` + MetaDatas().Universe, NewValue );
return true;
}





//
//
// Copyright OddWH, tous droits réservés. La copie ou modification de ce présent script nécessite l'accord préalable de son auteur.
// Copyright OddWH, tous droits réservés. La copie ou modification de ce présent script nécessite l'accord préalable de son auteur.
//
//
// ==/UserScript==
// ==/UserScript==
/* jshint -W097 */
/* jshint -W097 */
'use strict';
'use strict';
//Beta testers : Thanks to Alxan, Yggmen, Iluvatar, Andraud, Pippin, LittleField, Loki... Thanks to the .MiNeUr. !
//Beta testers : Thanks to Alxan, Yggmen, Iluvatar, Andraud, Pippin, LittleField, Loki... Thanks to the .MiNeUr. !
//Don't forget to update the script version in Version variable
//Don't forget to update the script version in Version variable


//Translation
//Translation
//ES : Thanks to Arzorth !! :)
//ES : Thanks to Arzorth !! :)


/*
/*
In the Whole script :
In the Whole script :


How to get data stored on options :
How to get data stored on options :


Get the profil used :
Get the profil used :
var GlobalProfileUsed = GetData('ProfileUsed','', 'Profile1');
var GlobalProfileUsed = GetData('ProfileUsed','', 'Profile1');


Call function GetData :
Call function GetData :
GetData(Arg1= Profil used 'Arg2=OptionName', 'Arg3=DefaultValue'));
GetData(Arg1= Profil used 'Arg2=OptionName', 'Arg3=DefaultValue'));


Where :
Where :
Arg1 = profileused
Arg1 = profileused
Arg2 = name of the option (color1, color2... text35...etc)
Arg2 = name of the option (color1, color2... text35...etc)
Arg3 = Default value (ff0000, ffff00, 1250000, etc)...
Arg3 = Default value (ff0000, ffff00, 1250000, etc)...


example : get the column used to sort the table : GetData(GlobalProfileUsed, 'DropDown3', 'Loot')
example : get the column used to sort the table : GetData(GlobalProfileUsed, 'DropDown3', 'Loot')


*/
*/


/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////VARIABLES GLOBALES////////////////////////////////////////////////////////////////////////
///////////////VARIABLES GLOBALES////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////////////
var MetaGlobal = MetaDatas();
var MetaGlobal = MetaDatas();
var LangueIndexGlb = GetLangue();
var LangueIndexGlb = GetLangue();
var StringMessage; //Variable utilisée dans la sauvegarde des RE sous forme de texte/////////////////////
var StringMessage; //Variable utilisée dans la sauvegarde des RE sous forme de texte/////////////////////
var GlobalProfileUsed = GetData('ProfileUsed','', 'Profile1'); //Default value is "Profile1"
var GlobalProfileUsed = GetData('ProfileUsed','', 'Profile1'); //Default value is "Profile1"
var IdMessages; //Variable utilisée pour stocker les id messages, ce qui facilite leur vérification lors de l'intégration d'un nouveau message
var IdMessages; //Variable utilisée pour stocker les id messages, ce qui facilite leur vérification lors de l'intégration d'un nouveau message
var MessageIndex = 0; //Variable permettant d'indexer les messages sauvegardés dans le script////////////
var MessageIndex = 0; //Variable permettant d'indexer les messages sauvegardés dans le script////////////
var NbColumnsDisplayed = 0; //Variable indiquant le nombre de colonnes affichées dans le tableau HTML (tableau contenant les RE)
var NbColumnsDisplayed = 0; //Variable indiquant le nombre de colonnes affichées dans le tableau HTML (tableau contenant les RE)
var NbItemsDisplayed = 0; //Variable indiquant le nombre de lignes affichées dans le tableau HTML (tableau contenant les RE)
var NbItemsDisplayed = 0; //Variable indiquant le nombre de lignes affichées dans le tableau HTML (tableau contenant les RE)
var TriDone = 0; //Variable indiquant au script si un tri a déja été réalisé ou non
var TriDone = 0; //Variable indiquant au script si un tri a déja été réalisé ou non
var currentID; //Variable utilisée pour les boutons de tri (l'entête du tableau), dans la fonction initialisation tableau. Permet de faire passer un nom de propriété d'objet variable entre la fonction et le trieur
var currentID; //Variable utilisée pour les boutons de tri (l'entête du tableau), dans la fonction initialisation tableau. Permet de faire passer un nom de propriété d'objet variable entre la fonction et le trieur
var currentSort = GetData(GlobalProfileUsed, 'DropDown3', 'Loot'); //Variable used to know by which column to sort the board (user selected) --> default value is Loot
var currentSort = GetData(GlobalProfileUsed, 'DropDown3', 'Loot'); //Variable used to know by which column to sort the board (user selected) --> default value is Loot
var OldSorting = currentSort;
var OldSorting = currentSort;
var currentRCListSort = GetData('General', 'OptRC1000', 'DateStamp');
var currentRCListSort = GetData('General', 'OptRC1000', 'DateStamp');
var OldcurrentRCListSort = currentRCListSort;
var OldcurrentRCListSort = currentRCListSort;
var currentCoordListSort = GetData('General', 'OptRC1000', 'Coord_CoordCalc');
var currentCoordListSort = GetData('General', 'OptRC1000', 'Coord_CoordCalc');
var OldcurrentCoordListSort = currentCoordListSort;
var OldcurrentCoordListSort = currentCoordListSort;
var currentDailyListSort = GetData('General', 'OptRC1000', 'Day_Date'); //Note : n'existe pas, pour l'instant et renvoie donc obligatoirement Day_Date
var currentDailyListSort = GetData('General', 'OptRC1000', 'Day_Date'); //Note : n'existe pas, pour l'instant et renvoie donc obligatoirement Day_Date
var OldcurrentDailyListSort = currentDailyListSort;
var OldcurrentDailyListSort = currentDailyListSort;
var currentWeeklyListSort = GetData('General', 'OptRC1000', 'Week_Monday'); //Note : n'existe pas, pour l'instant et renvoie donc obligatoirement Day_Date
var currentWeeklyListSort = GetData('General', 'OptRC1000', 'Week_Monday'); //Note : n'existe pas, pour l'instant et renvoie donc obligatoirement Day_Date
var OldcurrentWeeklyListSort = currentWeeklyListSort;
var OldcurrentWeeklyListSort = currentWeeklyListSort;
var Version = "2.5.0";
var Version = "2.5.0";
var CurrentURL = window.location.href //get current url
var CurrentURL = window.location.href //get current url
var ScriptDisplayed = false; //When this variable is modified to true, the script stops to repeat this line : setInterval(affiche_script, 300);
var ScriptDisplayed = false; //When this variable is modified to true, the script stops to repeat this line : setInterval(affiche_script, 300);
var UI_ID_Global; //to know which ui-id the script will select (if there is the chat or not).
var UI_ID_Global; //to know which ui-id the script will select (if there is the chat or not).
var IdLineGLB = ''; //Used to cancel a line deletion
var IdLineGLB = ''; //Used to cancel a line deletion




//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////SR AREA ------------------------- ZONE RAPPORTS ESPIONNAGE////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////SR AREA ------------------------- ZONE RAPPORTS ESPIONNAGE////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////










////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//ZONE CSS ////////////////////////////////////////////////////////////////////////////////////////////////CSS AREA/////////////////
//ZONE CSS ////////////////////////////////////////////////////////////////////////////////////////////////CSS AREA/////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////






var Picture = {};
var Picture = {};
Picture.Attack = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAA9QTFRF////ERohKT9OGCQt////xekcDAAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAUUlEQVQI1z3O0QnAQAiD4XguoO0CV7qAbfbf7S5Cm6ePHwSBb5a9gG0HICgIphINBcGOK4TMOXTl5Bxkwd3fu0oACcHghdjAST4QVDaMvfi/WNC7CBtD82AsAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA1LTE4VDIxOjQ5OjM1KzAyOjAwxD15VgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNS0xOFQyMTo0OTozNSswMjowMLVgweoAAABKdEVYdHNpZ25hdHVyZQA0MDdjN2E2YTVlZjRkNWEwZmQ3YmYzYTZkMjEzZTQxNTc1ZjVmZmVkMWVhZGEwYjVjY2UyZmM0ZWQ2ZjJjMzY4RTAYDAAAAABJRU5ErkJggg=="';
Picture.Attack = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAA9QTFRF////ERohKT9OGCQt////xekcDAAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAUUlEQVQI1z3O0QnAQAiD4XguoO0CV7qAbfbf7S5Cm6ePHwSBb5a9gG0HICgIphINBcGOK4TMOXTl5Bxkwd3fu0oACcHghdjAST4QVDaMvfi/WNC7CBtD82AsAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA1LTE4VDIxOjQ5OjM1KzAyOjAwxD15VgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNS0xOFQyMTo0OTozNSswMjowMLVgweoAAABKdEVYdHNpZ25hdHVyZQA0MDdjN2E2YTVlZjRkNWEwZmQ3YmYzYTZkMjEzZTQxNTc1ZjVmZmVkMWVhZGEwYjVjY2UyZmM0ZWQ2ZjJjMzY4RTAYDAAAAABJRU5ErkJggg=="';
Picture.Delete = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQAgMAAAC0OM2XAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF////ERohGCQt////TqQTdwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAO0lEQVQI12NgAAHR0NAABlEH1gAGAQYgYgwNZWAQcXUJYBBxgREaHR0LMIhVK4AEA8MCBqlVqxaATQIAQGARmtdXRBkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDUtMTlUMjE6MjY6MDUrMDI6MDD9ZH7qAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA1LTE5VDIxOjI2OjA1KzAyOjAwjDnGVgAAAEp0RVh0c2lnbmF0dXJlAGYyMjAyNjVlMzFjYjRjODY3NWI5ZWYxNTU2YTVlNGM5OGMwZTg0OTMwZTc0ZWIxMmQxMDk5NjJkNWJmZWJlZDdTCRapAAAAAElFTkSuQmCC"';
Picture.Delete = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQAgMAAAC0OM2XAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF////ERohGCQt////TqQTdwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAO0lEQVQI12NgAAHR0NAABlEH1gAGAQYgYgwNZWAQcXUJYBBxgREaHR0LMIhVK4AEA8MCBqlVqxaATQIAQGARmtdXRBkAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDUtMTlUMjE6MjY6MDUrMDI6MDD9ZH7qAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA1LTE5VDIxOjI2OjA1KzAyOjAwjDnGVgAAAEp0RVh0c2lnbmF0dXJlAGYyMjAyNjVlMzFjYjRjODY3NWI5ZWYxNTU2YTVlNGM5OGMwZTg0OTMwZTc0ZWIxMmQxMDk5NjJkNWJmZWJlZDdTCRapAAAAAElFTkSuQmCC"';
Picture.Message = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAA9QTFRF////ERoh7RwkGCQt////eP04VgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAUElEQVQI11XOUQrAIAwD0NRcwHmC6QkKuf/dlgpuLB/yiIUWOIkxL6d/aGvNP2LcNWm0KmBE+KMbTInZQQpQprGbAuXCgBwYWRv9Ujv5XvEAY0YJ1r8Dex4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDUtMTlUMjE6NDE6MjUrMDI6MDC1KKitAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA1LTE5VDIxOjQxOjI1KzAyOjAwxHUQEQAAAEp0RVh0c2lnbmF0dXJlADAzOGUzY2E5Nzk3N2Y1NzM0MTM2ZTlkMWVlMTBhYmNmMDBlNjhlMmY3ZjdhNjY2N2M1ZDRlM2Q2Y2M4M2YzMTYencQXAAAAAElFTkSuQmCC"';
Picture.Message = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAA9QTFRF////ERoh7RwkGCQt////eP04VgAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAUElEQVQI11XOUQrAIAwD0NRcwHmC6QkKuf/dlgpuLB/yiIUWOIkxL6d/aGvNP2LcNWm0KmBE+KMbTInZQQpQprGbAuXCgBwYWRv9Ujv5XvEAY0YJ1r8Dex4AAAAldEVYdGRhdGU6Y3JlYXRlADIwMTYtMDUtMTlUMjE6NDE6MjUrMDI6MDC1KKitAAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE2LTA1LTE5VDIxOjQxOjI1KzAyOjAwxHUQEQAAAEp0RVh0c2lnbmF0dXJlADAzOGUzY2E5Nzk3N2Y1NzM0MTM2ZTlkMWVlMTBhYmNmMDBlNjhlMmY3ZjdhNjY2N2M1ZDRlM2Q2Y2M4M2YzMTYencQXAAAAAElFTkSuQmCC"';
Picture.RC = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF////ERohGCQt////TqQTdwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAATklEQVQI12NgAAHR0NAQBpEQgRAGUQYBEQZRxkAgyyHUhUHU0YWFQdSVlYVBYdWqFQwKizpWMGgwMXAwaDE1ALlaTUBiVdcKBi2QLAgAAAiRD+3F7dwlAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA2LTEyVDE5OjEwOjA1KzAyOjAwtnczDgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNi0xMlQxOToxMDowNSswMjowMMcqi7IAAABKdEVYdHNpZ25hdHVyZQA2NWUxNjAxZWY4MzgwMGVjMmZhOTc0NDIxZTIxZjI2MDU2MWM2MTYwZWY2Nzk5MDA2NGZmZTE4MjU0N2U1NDExqdtWPAAAAABJRU5ErkJggg=="';
Picture.RC = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF////ERohGCQt////TqQTdwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAATklEQVQI12NgAAHR0NAQBpEQgRAGUQYBEQZRxkAgyyHUhUHU0YWFQdSVlYVBYdWqFQwKizpWMGgwMXAwaDE1ALlaTUBiVdcKBi2QLAgAAAiRD+3F7dwlAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA2LTEyVDE5OjEwOjA1KzAyOjAwtnczDgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wNi0xMlQxOToxMDowNSswMjowMMcqi7IAAABKdEVYdHNpZ25hdHVyZQA2NWUxNjAxZWY4MzgwMGVjMmZhOTc0NDIxZTIxZjI2MDU2MWM2MTYwZWY2Nzk5MDA2NGZmZTE4MjU0N2U1NDExqdtWPAAAAABJRU5ErkJggg=="';
Picture.Undelete = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF////ERohGCQt////TqQTdwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAS0lEQVQI12NgAAHR0NAQBrEJrC4MUoyOLgwSoiEsDCKhQEIg1IGFQRAkq7Rq1QoGBRChsWqVBoOGFpDQYmpYwaC1gAtIrFq1BGwSAFXPEZWmN3m+AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA5LTA2VDE5OjE5OjE0KzAyOjAwMLcC5AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOS0wNlQxOToxOToxNCswMjowMEHqulgAAABKdEVYdHNpZ25hdHVyZQA5MzAxMTMwYzI5YWQyNTgzNTZhMTYwOTU5MTQ3Mzc5YTFlNzYyYTNhOThkNDZhY2UyOGI5MGM3MmIxMzA4ZjkyhgdCmAAAAABJRU5ErkJggg=="';
Picture.Undelete = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQAgMAAABinRfyAAAABGdBTUEAAK/INwWK6QAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAxQTFRF////ERohGCQt////TqQTdwAAAAF0Uk5TAEDm2GYAAAABYktHRACIBR1IAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAS0lEQVQI12NgAAHR0NAQBrEJrC4MUoyOLgwSoiEsDCKhQEIg1IGFQRAkq7Rq1QoGBRChsWqVBoOGFpDQYmpYwaC1gAtIrFq1BGwSAFXPEZWmN3m+AAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA5LTA2VDE5OjE5OjE0KzAyOjAwMLcC5AAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOS0wNlQxOToxOToxNCswMjowMEHqulgAAABKdEVYdHNpZ25hdHVyZQA5MzAxMTMwYzI5YWQyNTgzNTZhMTYwOTU5MTQ3Mzc5YTFlNzYyYTNhOThkNDZhY2UyOGI5MGM3MmIxMzA4ZjkyhgdCmAAAAABJRU5ErkJggg=="';
Picture.LeftLogo ='"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAABPUlEQVRIS2NkgAIZBdX/MDa16ScPbjOCzAQTtLQI5nCQhYz0sAhm4ahlVEkzKMG4fPE8qhiKbEhkbBKci2EZsiS6zSDH4JMnpB6nZTCDkS1AFgMZDLMYXQ1MDt1xRFmGrhndEGIcAc7UyPmMUDARkic5GKmdQlASCDsH138+QWGwHetWLWOwtbVlEJWUxWonSD4oLIpo94DUB4dHM/xn+Mfw6d07cNkIL4Dr6+sZGhsbcRpGSB5dI7p6DMuIdjaRCpEdP7A+Gw1GYqKMYAIZDcbBH4yg4urnj29gh4IilNoAJVNz8fDBi6u///5B7ALRTEwQmkqAmYUF0m7k4RdCaaD+/49qyX8iLWUEORAJMDIyMYDMAtFfPr5jBFsGAoKiEigW/kO34P9/BgaQchANAkSwmZiZwUrfv34BtgcATY7sDGyowRcAAAAASUVORK5CYII="';
Picture.LeftLogo ='"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAABPUlEQVRIS2NkgAIZBdX/MDa16ScPbjOCzAQTtLQI5nCQhYz0sAhm4ahlVEkzKMG4fPE8qhiKbEhkbBKci2EZsiS6zSDH4JMnpB6nZTCDkS1AFgMZDLMYXQ1MDt1xRFmGrhndEGIcAc7UyPmMUDARkic5GKmdQlASCDsH138+QWGwHetWLWOwtbVlEJWUxWonSD4oLIpo94DUB4dHM/xn+Mfw6d07cNkIL4Dr6+sZGhsbcRpGSB5dI7p6DMuIdjaRCpEdP7A+Gw1GYqKMYAIZDcbBH4yg4urnj29gh4IilNoAJVNz8fDBi6u///5B7ALRTEwQmkqAmYUF0m7k4RdCaaD+/49qyX8iLWUEORAJMDIyMYDMAtFfPr5jBFsGAoKiEigW/kO34P9/BgaQchANAkSwmZiZwUrfv34BtgcATY7sDGyowRcAAAAASUVORK5CYII="';
Picture.LeftLogoGreen ='"data:image/png;base64,"';
Picture.LeftLogoGreen ='"data:image/png;base64,"';
Picture.LeftLogoOrange ='"data:image/png;base64,"';
Picture.LeftLogoOrange ='"data:image/png;base64,"';
Picture.Crayon = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEX///8RGiH///+IABUpP04YJC3Dw8NHYE7NAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfjBQgLCAsCDthyAAAAVklEQVQI1z3OsQ3AMAgEQCjSG+IF+BUygTdwkwHSeP8RAm8lX50eIRD5osY0UTCJcMAIIC7fo35uxBggevfEwQIzUUUhniyIlYUXLPcK+8QUvZn2f/EChJIOqhGbmewAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDUtMDhUMTE6MDg6MTErMDM6MDCyrdM5AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTA1LTA4VDExOjA4OjExKzAzOjAww/BrhQAAAABJRU5ErkJggg=="';
Picture.Crayon = '"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAFVBMVEX///8RGiH///+IABUpP04YJC3Dw8NHYE7NAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAAHdElNRQfjBQgLCAsCDthyAAAAVklEQVQI1z3OsQ3AMAgEQCjSG+IF+BUygTdwkwHSeP8RAm8lX50eIRD5osY0UTCJcMAIIC7fo35uxBggevfEwQIzUUUhniyIlYUXLPcK+8QUvZn2f/EChJIOqhGbmewAAAAldEVYdGRhdGU6Y3JlYXRlADIwMTktMDUtMDhUMTE6MDg6MTErMDM6MDCyrdM5AAAAJXRFWHRkYXRlOm1vZGlmeQAyMDE5LTA1LTA4VDExOjA4OjExKzAzOjAww/BrhQAAAABJRU5ErkJggg=="';


GM_addStyle(".InfosVague { border: 1px solid #555; border-radius: 0px 0px 25px 25px; margin-top: 10px } "); //bord du tableau
GM_addStyle(".InfosVague { border: 1px solid #555; border-radius: 0px 0px 25px 25px; margin-top: 10px } "); //bord du tableau
GM_addStyle(".TableauRaid { text-align: center; width: 100%; border-collapse: collapse; } "); //bord du tableau
GM_addStyle(".TableauRaid { text-align: center; width: 100%; border-collapse: collapse; } "); //bord du tableau


//Ligne d'entête
//Ligne d'entête
GM_addStyle(".FirstLine { text-align: center; height: 30px; font-weight: bold; border-left: 1px solid #333; cursor:default; background-color: #000000;} "); //lignes de tête
GM_addStyle(".FirstLine { text-align: center; height: 30px; font-weight: bold; border-left: 1px solid #333; cursor:default; background-color: #000000;} "); //lignes de tête
GM_addStyle(".FirstLine:hover { text-align: center; height: 30px; font-weight: bold; border-left: 1px solid #333; cursor:default; background-color: #111117;} "); //lignes de tête
GM_addStyle(".FirstLine:hover { text-align: center; height: 30px; font-weight: bold; border-left: 1px solid #333; cursor:default; background-color: #111117;} "); //lignes de tête


//Toutes les lignes à l'intérieur du tableau
//Toutes les lignes à l'intérieur du tableau
GM_addStyle(".InsideBoard { text-align: center; border-left: 1px solid #333; height: 21px} "); //lignes contenant les RE
GM_addStyle(".InsideBoard { text-align: center; border-left: 1px solid #333; height: 21px} "); //lignes contenant les RE




//Lignes spécifiques
//Lignes spécifiques
GM_addStyle(".Line {width: 30px; border-left: 1px solid #222;}");
GM_addStyle(".Line {width: 30px; border-left: 1px solid #222;}");
GM_addStyle(".PTGT {width: 18px ;}");
GM_addStyle(".PTGT {width: 18px ;}");




//Lignes paires et impaires
//Lignes paires et impaires
//lignes paires
//lignes paires
GM_addStyle(".Pair {background-color: #" + GetData(GlobalProfileUsed, 'color16', '111A21') + ";}");
GM_addStyle(".Pair {background-color: #" + GetData(GlobalProfileUsed, 'color16', '111A21') + ";}");
GM_addStyle(".Pair:hover { background-image: linear-gradient(to bottom, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 0%, #" + GetData(GlobalProfileUsed, 'color16', '111A21') + " 30%, #" + GetData(GlobalProfileUsed, 'color16', '111A21') + " 70%, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 100%); "); //lignes paires, le get value récupère la couleur enregistrée par l'utilisateur
GM_addStyle(".Pair:hover { background-image: linear-gradient(to bottom, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 0%, #" + GetData(GlobalProfileUsed, 'color16', '111A21') + " 30%, #" + GetData(GlobalProfileUsed, 'color16', '111A21') + " 70%, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 100%); "); //lignes paires, le get value récupère la couleur enregistrée par l'utilisateur


//lignes impaires
//lignes impaires
GM_addStyle(".Impair {background-color: #" + GetData(GlobalProfileUsed, 'color17', '18242d') + ";}");
GM_addStyle(".Impair {background-color: #" + GetData(GlobalProfileUsed, 'color17', '18242d') + ";}");
GM_addStyle(".Impair:hover {background-image: linear-gradient(to bottom, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 0%, #" + GetData(GlobalProfileUsed, 'color17', '18242d') + " 30%, #" + GetData(GlobalProfileUsed, 'color17', '18242d') + " 70%, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 100%); "); //lignes impaires, le get value récupère la couleur enregistrée par l'utilisateur
GM_addStyle(".Impair:hover {background-image: linear-gradient(to bottom, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 0%, #" + GetData(GlobalProfileUsed, 'color17', '18242d') + " 30%, #" + GetData(GlobalProfileUsed, 'color17', '18242d') + " 70%, #" + GetData(GlobalProfileUsed, 'color0', '0C8528') + " 100%); "); //lignes impaires, le get value récupère la couleur enregistrée par l'utilisateur


//Lignes supprimées (Tableau Quickfilter > afficher les lignes de la corbeille et les encadrer de rouge)
//Lignes supprimées (Tableau Quickfilter > afficher les lignes de la corbeille et les encadrer de rouge)
GM_addStyle(".RowDeleted {border-left: 4px solid #FF0000");
GM_addStyle(".RowDeleted {border-left: 4px solid #FF0000");
//Lignes cachées (Tableau Quickfilter > afficher les lignes masquées automatiquement et les encadrer de blanc)
//Lignes cachées (Tableau Quickfilter > afficher les lignes masquées automatiquement et les encadrer de blanc)
GM_addStyle(".Hidden {border-left: 4px solid #FFFFFF");
GM_addStyle(".Hidden {border-left: 4px solid #FFFFFF");


//Boutons attaque
//Boutons attaque
//Vérifie la présence de contenu sauvegardé, le if fait exactement la même chose que pour les lignes paires et impaires juste au dessus (explications dispo à cet endroit-là)
//Vérifie la présence de contenu sauvegardé, le if fait exactement la même chose que pour les lignes paires et impaires juste au dessus (explications dispo à cet endroit-là)
GM_addStyle(".AttackPTButton:link, .AttackSondeButton:link, .AttackGTButton:link, .AttackEclaireurButton:link, .AttackButton:link {display: block; width: 16px; height:16px; background-image: url(" + Picture.Attack + "); background-color: #" + GetData(GlobalProfileUsed, 'color1', 'ffffff') + ";}");
GM_addStyle(".AttackPTButton:link, .AttackSondeButton:link, .AttackGTButton:link, .AttackEclaireurButton:link, .AttackButton:link {display: block; width: 16px; height:16px; background-image: url(" + Picture.Attack + "); background-color: #" + GetData(GlobalProfileUsed, 'color1', 'ffffff') + ";}");
GM_addStyle(".RCButton:link {display: block; width: 16px; height:16px; background-image: url(" + Picture.RC + "); background-color: #" + GetData(GlobalProfileUsed, 'color1', 'ffffff') + ";}");
GM_addStyle(".RCButton:link {display: block; width: 16px; height:16px; background-image: url(" + Picture.RC + "); background-color: #" + GetData(GlobalProfileUsed, 'color1', 'ffffff') + ";}");




GM_addStyle(".AttackPTButton:hover, .AttackSondeButton:hover, .AttackGTButton:hover, .AttackEclaireurButton:hover , .AttackButton:hover {background-color: #" + GetData(GlobalProfileUsed, 'color2', '00ff00') +" !important ;}");
GM_addStyle(".AttackPTButton:hover, .AttackSondeButton:hover, .AttackGTButton:hover, .AttackEclaireurButton:hover , .AttackButton:hover {background-color: #" + GetData(GlobalProfileUsed, 'color2', '00ff00') +" !important ;}");
GM_addStyle(".RCButton:hover {background-color: #" + GetData(GlobalProfileUsed, 'color2', '00ff00') +" !important;}");
GM_addStyle(".RCButton:hover {background-color: #" + GetData(GlobalProfileUsed, 'color2', '00ff00') +" !important;}");




///////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////
//CSS for specific items in HTML Board
//CSS for specific items in HTML Board
//CSS to colorize Def and fleet in white and underline it when hover
//CSS to colorize Def and fleet in white and underline it when hover
GM_addStyle(".FltDefCtn {text-decoration: none; }");
GM_addStyle(".FltDefCtn {text-decoration: none; }");
GM_addStyle(".FltDefCtn:hover { color:#FFFFFF; text-decoration: underline;} "); //color fleet value in white on hover
GM_addStyle(".FltDefCtn:hover { color:#FFFFFF; text-decoration: underline;} "); //color fleet value in white on hover


//CSS to colorize fleet when it reaches the good amount
//CSS to colorize fleet when it reaches the good amount
GM_addStyle(".FltColorized { color:#" + GetData(GlobalProfileUsed, 'color6', 'FF0000') + ";} "); //Style used to colorize fleet value in table
GM_addStyle(".FltColorized { color:#" + GetData(GlobalProfileUsed, 'color6', 'FF0000') + ";} "); //Style used to colorize fleet value in table




//CSS to colorize def when it reaches the good amount
//CSS to colorize def when it reaches the good amount
GM_addStyle(".DefColorized { color:#" + GetData(GlobalProfileUsed, 'color7', 'FF0000') + ";} "); //Style used to colorize fleet value in table
GM_addStyle(".DefColorized { color:#" + GetData(GlobalProfileUsed, 'color7', 'FF0000') + ";} "); //Style used to colorize fleet value in table


//CSS to colorize def when it's profitable to send missiles
//CSS to colorize def when it's profitable to send missiles
GM_addStyle(".DefMissilesColorized { color:#" + GetData(GlobalProfileUsed, 'color12', '00FF00') + ";} "); //Style used to colorize fleet value in table
GM_addStyle(".DefMissilesColorized { color:#" + GetData(GlobalProfileUsed, 'color12', '00FF00') + ";} "); //Style used to colorize fleet value in table


//Lien Galaxie
//Lien Galaxie
GM_addStyle(".CoordLink:link, .CoordLink:visited, CoordLink:active {text-decoration: none; color: white;}");
GM_addStyle(".CoordLink:link, .CoordLink:visited, CoordLink:active {text-decoration: none; color: white;}");
GM_addStyle(".PlayerCell:hover {text-decoration: underline; color: white !important; }");
GM_addStyle(".PlayerCell:hover {text-decoration: underline; color: white !important; }");




//Colorize line coords if the galaxy distance is bigger than user specified in color22/text34 options
//Colorize line coords if the galaxy distance is bigger than user specified in color22/text34 options
GM_addStyle(".Table_GCoords_Colored:link, .Table_GCoords_Colored:visited, .Table_GCoords_Colored:active {text-decoration: none; color:#" + GetData(GlobalProfileUsed, 'color22', 'FFFFFF') + ";}");
GM_addStyle(".Table_GCoords_Colored:link, .Table_GCoords_Colored:visited, .Table_GCoords_Colored:active {text-decoration: none; color:#" + GetData(GlobalProfileUsed, 'color22', 'FFFFFF') + ";}");






//Colorize line coords if the ss distance is bigger than user specified in color23/text35 options
//Colorize line coords if the ss distance is bigger than user specified in color23/text35 options
GM_addStyle(".Table_SSCoords_Colored:link, .Table_SSCoords_Colored:visited, .Table_SSCoords_Colored:active {text-decoration: none; color:#" + GetData(GlobalProfileUsed, 'color23', 'FFFFFF') + ";}");
GM_addStyle(".Table_SSCoords_Colored:link, .Table_SSCoords_Colored:visited, .Table_SSCoords_Colored:active {text-decoration: none; color:#" + GetData(GlobalProfileUsed, 'color23', 'FFFFFF') + ";}");




//Bouton supprimer message et bouton plus de détails
//Bouton supprimer message et bouton plus de détails
GM_addStyle("#DeleteA {display: block; width: 15px; height:16px; background-image: url(" + Picture.Delete + "); background-color: #FFFFFF;}");
GM_addStyle("#DeleteA {display: block; width: 15px; height:16px; background-image: url(" + Picture.Delete + "); background-color: #FFFFFF;}");
GM_addStyle("#UnDelete {display: block; width: 16px; height:16px; background-image: url(" + Picture.Undelete + "); background-color: #FFFFFF;}");
GM_addStyle("#UnDelete {display: block; width: 16px; height:16px; background-image: url(" + Picture.Undelete + "); background-color: #FFFFFF;}");


GM_addStyle("#MoreDetails:link {display: block; width: 16px; height:16px; background-image: url(" + Picture.Message + "); background-color: #FFFFFF;}");
GM_addStyle("#MoreDetails:link {display: block; width: 16px; height:16px; background-image: url(" + Picture.Message + "); background-color: #FFFFFF;}");
GM_addStyle(".OtableLeftLogo {display: block; cursor: pointer; width: 27px; height:27px; background-image: url(" + Picture.LeftLogo + ");}");
GM_addStyle(".OtableLeftLogo {display: block; cursor: pointer; width: 27px; height:27px; background-image: url(" + Picture.LeftLogo + ");}");


//Tableau d'entête avec tous les boutons
//Tableau d'entête avec tous les boutons
GM_addStyle(".TableButton {text-align: center; width: 100%; cursor:default; margin: 30px 0px 30px 0px;}");
GM_addStyle(".TableButton {text-align: center; width: 100%; cursor:default; margin: 30px 0px 30px 0px;}");
GM_addStyle(".CaseTableButton {display:inline; border: 1px dashed #444; margin-left: 3px; padding: 5px 3px 5px 2px ");
GM_addStyle(".CaseTableButton {display:inline; border: 1px dashed #444; margin-left: 3px; padding: 5px 3px 5px 2px ");
GM_addStyle(".CaseTableButton:hover {display:inline; border: 1px solid #666; margin-left: 3px");
GM_addStyle(".CaseTableButton:hover {display:inline; border: 1px solid #666; margin-left: 3px");


//Tableau des options
//Tableau des options
GM_addStyle("#OptionsDiv { border: 1px solid #555; text-align: center; width: 100%; border-radius: 0px 0px 25px 25px; margin-top: 20px; } "); //bord du tableau
GM_addStyle("#OptionsDiv { border: 1px solid #555; text-align: center; width: 100%; border-radius: 0px 0px 25px 25px; margin-top: 20px; } "); //bord du tableau
GM_addStyle("#OptionsMainTable {background-color : #000000; border: 1px solid #222; width: 100%} "); //bord du tableau
GM_addStyle("#OptionsMainTable {background-color : #000000; border: 1px solid #222; width: 100%} "); //bord du tableau
GM_addStyle(".OptionsMainLine { text-align: center; border-bottom: 1px solid #222; width: 100%; height: 30px;} "); //Lignes principales à dérouler
GM_addStyle(".OptionsMainLine { text-align: center; border-bottom: 1px solid #222; width: 100%; height: 30px;} "); //Lignes principales à dérouler
GM_addStyle(".LastMainLine {text-align: center; width: 100%; height: 30px;} "); //Lignes principales à dérouler
GM_addStyle(".LastMainLine {text-align: center; width: 100%; height: 30px;} "); //Lignes principales à dérouler
GM_addStyle("#SauvegarderOptions {text-align: center; width: 100%; height: 30px; border-bottom: 1px solid #222} "); //Bouton sauvegarder en bas des options
GM_addStyle("#SauvegarderOptions {text-align: center; width: 100%; height: 30px; border-bottom: 1px solid #222} "); //Bouton sauvegarder en bas des options
GM_addStyle("#SauvegarderOptions:hover {text-align: center; width: 100%; height: 30px; background-image: radial-gradient(ellipse closest-corner at center, #242424 0%, #000000 80%, #000000 80%, #FFFFFF 84%, #000000 100%); color: white;} "); //Bouton sauvegarder en bas des options
GM_addStyle("#SauvegarderOptions:hover {text-align: center; width: 100%; height: 30px; background-image: radial-gradient(ellipse closest-corner at center, #242424 0%, #000000 80%, #000000 80%, #FFFFFF 84%, #000000 100%); color: white;} "); //Bouton sauvegarder en bas des options




GM_addStyle("#OptionsColonnes {width: 100%;} "); //Lignes principales à dérouler
GM_addStyle("#OptionsColonnes {width: 100%;} "); //Lignes principales à dérouler
GM_addStyle("#TableauZoneColonnes {width: 100%; display:inline;}"); //Lignes principales à dérouler
GM_addStyle("#TableauZoneColonnes {width: 100%; display:inline;}"); //Lignes principales à dérouler


GM_addStyle("#OptionsProfils {width: 100%;} "); //Lignes principales à dérouler
GM_addStyle("#OptionsProfils {width: 100%;} "); //Lignes principales à dérouler
GM_addStyle("#TableauZoneProfils {width: 100%;}"); //Lignes principales à dérouler
GM_addStyle("#TableauZoneProfils {width: 100%;}"); //Lignes principales à dérouler


GM_addStyle(".OptionsColonnesContent {text-align: left; width: 100%; height: 20px; width: 100%; } "); //Lignes principales à dérouler
GM_addStyle(".OptionsColonnesContent {text-align: left; width: 100%; height: 20px; width: 100%; } "); //Lignes principales à dérouler
GM_addStyle(".OptionsCouleurs {width: 100%;} "); //Lignes principales à dérouler
GM_addStyle(".OptionsCouleurs {width: 100%;} "); //Lignes principales à dérouler
GM_addStyle(".TableauZoneCouleurs {width: 100%; display:inline;}"); //Lignes principales à dérouler
GM_addStyle(".TableauZoneCouleurs {width: 100%; display:inline;}"); //Lignes principales à dérouler
GM_addStyle(".OptionsCouleursContent, .OptionsGlobalesContent, .OptionsTechsContent, .OptionsTableauRecapContent {text-align: left; width: 100%; height: 20px; width: 100%; } "); //Lignes principales à dérouler
GM_addStyle(".OptionsCouleursContent, .OptionsGlobalesContent, .OptionsTechsContent, .OptionsTableauRecapContent {text-align: left; width: 100%; height: 20px; width: 100%; } "); //Lignes principales à dérouler
GM_addStyle(".OptionsExport {text-align: left; width: 100%; height: 170 px; width: 100%; } "); //Lignes principales à dérouler
GM_addStyle(".OptionsExport {text-align: left; width: 100%; height: 170 px; width: 100%; } "); //Lignes principales à dérouler






GM_addStyle(".DropDownShipsMore {text-align:center ;width:100px;}");
GM_addStyle(".DropDownShipsMore {text-align:center ;width:100px;}");
GM_addStyle(".DropDownProfiles {text-align:center ;width:200px;}");
GM_addStyle(".DropDownProfiles {text-align:center ;width:200px;}");


//Text fields input
//Text fields input
GM_addStyle("input[type='text'].BigText { width:90px; background-color : #FFFFFF; padding: 0px 0px 0px 0px; box-shadow:none; border: 1px solid #aaa; height: 15px; padding:0px; border-radius: 0px 0px 0px 0px; text-align: center; !important}");
GM_addStyle("input[type='text'].BigText { width:90px; background-color : #FFFFFF; padding: 0px 0px 0px 0px; box-shadow:none; border: 1px solid #aaa; height: 15px; padding:0px; border-radius: 0px 0px 0px 0px; text-align: center; !important}");
GM_addStyle("input[type='text'].VeryBigText { width:180px; background-color : #FFFFFF; padding: 0px 0px 0px 0px; box-shadow:none; border: 1px solid #aaa; height: 15px; padding:0px; border-radius: 0px 0px 0px 0px; text-align: center; !important}");
GM_addStyle("input[type='text'].VeryBigText { width:180px; background-color : #FFFFFF; padding: 0px 0px 0px 0px; box-shadow:none; border: 1px solid #aaa; height: 15px; padding:0px; border-radius: 0px 0px 0px 0px; text-align: center; !important}");
GM_addStyle("input[type='text'].SmallText { width:30px; background-color : #FFFFFF; padding: 0px 0px 0px 0px; box-shadow:none; border: 1px solid #aaa; height: 15px; padding:0px; border-radius: 0px 0px 0px 0px; text-align: center; !important }");
GM_addStyle("input[type='text'].SmallText { width:30px; background-color : #FFFFFF; padding: 0px 0px 0px 0px; box-shadow:none; border: 1px solid #aaa; height: 15px; padding:0px; border-radius: 0px 0px 0px 0px; text-align: center; !important }");
GM_addStyle("textarea.MegaText { width:95%; background-color : #FFFFFF; display: block; margin-left: auto; margin-right: auto; box-shadow:none; border: 1px solid #aaa; height: 150px; padding:0px; border-radius: 0px 0px 0px 0px; !important }");
GM_addStyle("textarea.MegaText { width:95%; background-color : #FFFFFF; display: block; margin-left: auto; margin-right: auto; box-shadow:none; border: 1px solid #aaa; height: 150px; padding:0px; border-radius: 0px 0px 0px 0px; !important }");




function PlayerColor(Message) {
function PlayerColor(Message) {
switch(Message.PlayerColor) {
switch(Message.PlayerColor) {
case "0":
case "0":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#505050;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#505050;}");
break;
break;
case "1":
case "1":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#808080;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#808080;}");
break;
break;
case "2":
case "2":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ffffff;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ffffff;}");
break;
break;
case "3":
case "3":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ffff00;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ffff00;}");
break;
break;
case "4":
case "4":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ff00ff;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ff00ff;}");
break;
break;
case "5":
case "5":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#00ffff;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#00ffff;}");
break;
break;
case "6":
case "6":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#00ff00;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#00ff00;}");
break;
break;
case "7":
case "7":
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ff0000;}");
GM_addStyle("#PL" + Message.Id + ", #PL" + Message.Id + ":hover {color:#ff0000;}");
break;
break;
}
}
}
}


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//FONCTION D-AFFICHAGE DU SCRIPT////////////////////////////////////////////////////////DISPLAY BOARD FUNCTIONS/////////////////////
//FONCTION D-AFFICHAGE DU SCRIPT////////////////////////////////////////////////////////DISPLAY BOARD FUNCTIONS/////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


function Display() //Cette fonction génère les boutons du haut
function Display() //Cette fonction génère les boutons du haut
{
{
var MetaLocal = MetaDatas();
var MetaLocal = MetaDatas();
var ProfileUsed = GetData('ProfileUsed','', 'Profile1'); //Default value is "Profile1"
var ProfileUsed = GetData('ProfileUsed','', 'Profile1'); //Default value is "Profile1"
var DisplayButton = document.createElement("div"); //Création d'un élément div
var DisplayButton = document.createElement("div"); //Création d'un élément div
DisplayButton.classList.add('OTableInit');
DisplayButton.classList.add('OTableInit');
DisplayButton.innerHTML = BoardButton(); //Appel de la fonction affichant les boutons du dessus
DisplayButton.innerHTML = BoardButton(); //Appel de la fonction affichant les boutons du dessus


document.querySelector("#ui-id-16 .tab_inner:first-child").insertBefore(DisplayButton, document.querySelector("#ui-id-16 .tab_inner:first-child").firstChild); //Affichage des boutons
document.querySelector("#ui-id-16 .tab_inner:first-child").insertBefore(DisplayButton, document.querySelector("#ui-id-16 .tab_inner:first-child").firstChild); //Affichage des boutons
try { //désactive l'affichage de la ligne indiquant qu'il n'y a aucun message (lorsqu'il y a aucun message)
try { //désactive l'affichage de la ligne indiquant qu'il n'y a aucun message (lorsqu'il y a aucun message)
document.querySelector(".no_msg").style.display='none';
document.querySelector(".no_msg").style.display='none';
} catch(err) {
} catch(err) {
}
}




//Assignation des fonctions des boutons
//Assignation des fonctions des boutons


//DISPLAY BUTTON
//DISPLAY BUTTON
document.getElementById('AfficherTableau').addEventListener("click", function(event) //Création du bouton permettant l'affichage du tableau
document.getElementById('AfficherTableau').addEventListener("click", function(event) //Création du bouton permettant l'affichage du tableau
{
{
InitialisationTableau('',1,0); //1 = show not deleted spy reports // 0 = not using quickfilter options
InitialisationTableau('',1,0); //1 = show not deleted spy reports // 0 = not using quickfilter options
}, true);
}, true);


//COLLECT BUTTON
//COLLECT BUTTON
document.getElementById('CollecterMessages').addEventListener("click", NewCollectAndStoreRE, true);
document.getElementById('CollecterMessages').addEventListener("click", NewCollectAndStoreRE, true);


//HIDE BUTTON
//HIDE BUTTON
document.getElementById('MasquerTableau').addEventListener("click", HideTable, true);
document.getElementById('MasquerTableau').addEventListener("click", HideTable, true);


//OPTIONS BUTTON
//OPTIONS BUTTON
document.getElementById('OptionsButton').addEventListener("click", function(event) //Création du bouton permettant la collecte et la sauvegarde des messages
document.getElementById('OptionsButton').addEventListener("click", function(event) //Création du bouton permettant la collecte et la sauvegarde des messages
{
{
OptionsButton();
OptionsButton();
}, true);
}, true);


//EMPTY BUTTON
//EMPTY BUTTON
document.getElementById('Empty').addEventListener("click", StartEmptyProcess, true);
document.getElementById('Empty').addEventListener("click", StartEmptyProcess, true);


//DEBUG BUTTON
//DEBUG BUTTON
//document.getElementById('DEBUGSR').addEventListener("click", NotUsed, true);
//document.getElementById('DEBUGSR').addEventListener("click", NotUsed, true);




// + BUTTON
// + BUTTON
//BEGIN OF EVENTLISTENERS FOR + TOOLTIP BUTTON
//BEGIN OF EVENTLISTENERS FOR + TOOLTIP BUTTON
//If you don't understand something explained on this part, try to change values to see the problems from yourself. I try my best to explain, but this part is kind of... hard for me.
//If you don't understand something explained on this part, try to change values to see the problems from yourself. I try my best to explain, but this
//This part took me 2 days to make it work correctly (a lot of problems occured :( )
//This is really important for eventlistener to wait until the tooltip is correctly shown inside the source code. If the script don't wait, eventlistener generates an error, as no id is found (no tooltip at this time). That's why this part is only executed when user put the mouse on "+" button, and waits some milliseconds until the tooltip is shown.
document.querySelector('#Plus').addEventListener("mouseover", function(event) //Waits the user to put the mouse on "+" Button
{
console.log("[O-Table] : + Button has been asked");
GM_addStyle("#Plus {color: orange;}"); //Puts the "+" in orange, to help user to know when he has to wait
setTimeout(function(){ //Set timeout is used to let the time to the source code to create the tooltip (without, the script will generate a VM8610:235 Uncaught TypeError: Cannot read property 'addEventListener' of null ERROR) as eventlistener will not find the id it needs, as this id is not yet on the source code
var TrashBinButtons = document.querySelectorAll("#TRASHBIN");
var UndeleteButton = document.querySelectorAll("#UNDELETETOOLTIP");
var DeleteAttackedButton = document.querySelectorAll("#DELETEATTACKED");