// ==UserScript==
// @name Exile Dates
// @namespace Mundows,Simexile
// @description Ajoute les dates de fin des constructions/trajets
// @include http://*.exile.fr/game/overview.asp
// @include http://*.exile.fr/game/map.asp*
// ==/UserScript==
/*============================================================
Version 0.3
Ajout de la date dans la carte du secteur.
Version 0.2
Ajout de la couleur
Version 0.1
Premi�re version.
============================================================*/
var couleur = "ffff00"; // Choisisez la couleur que vous voulez en hexadécimal, pour vous aider utilisez ce site : http://www.imi21.com/conversion-couleur.html
/* détecter sur quelle page on se trouve pour adapter l'affichage*/
var href = window.location.href;
if (href.match(/.*map*/)) {var page = "map";}
else { var page= "overview";}
//prend un décompte et retourne l'heure/date de fin du décompte
function HeureFin(decompte)
{
var bientot = false;
var expression = new RegExp('^<span.*','gi');
if(decompte.match(expression)) {
var expression = new RegExp('[0-9]{2}:[0-9]{2}:[0-9]{2}');
var decompte = expression.exec(decompte);
var bientot = true;
}
var now = new Date;
var heurelocale = now.getTime();
//on récupére les jours
var expression = new RegExp('[0-9]{1}j ','gi');
var jours = expression.exec(decompte);
if (jours) {
decompte = RegExp.rightContext;
var formatdefaut = new RegExp('[0-9]{1}','gi');
var jours = formatdefaut.exec(jours);
var heurelocale = heurelocale + parseInt(jours)*24*3600*1000;
}
//on récupére les heures
var expression = new RegExp('^[0-9]{2}:','gi');
var heures = expression.exec(decompte);
decompte = RegExp.rightContext;
var formatdefaut = new RegExp('[0-9]{2}','gi');
var heures = formatdefaut.exec(heures);
var heurelocale = heurelocale + parseInt(heures,10)*3600*1000;
//on récupére les minutes
var expression = new RegExp('^[0-9]{2}:','gi');
var minutes = expression.exec(decompte);
decompte = RegExp.rightContext;
var formatdefaut = new RegExp('[0-9]{2}','gi');
var minutes = formatdefaut.exec(minutes);
var heurelocale = heurelocale + parseInt(minutes,10)*60*1000;
//on récupére les secondes
var expression = new RegExp('^[0-9]{2}$','gi');
var secondes = expression.exec(decompte);
decompte = RegExp.rightContext;
var formatdefaut = new RegExp('[0-9]{2}','gi');
var secondes = formatdefaut.exec(secondes);
var heurelocale = heurelocale + parseInt(secondes)*1000;
var date = new Date(heurelocale);
var Heure = date.getHours();
var Minutes = date.getMinutes();
var Jour = date.getDate();
var Mois = date.getMonth()+1;
var retour = "<span style=\"color:#"+couleur+";\">" +Heure+"h"+Minutes+" "+Jour+"/"+Mois+"</span>";
if (bientot) {
var retour = "";
}
return retour;
}
//boucle sur les countdown contenus dans la page et insertion de l'heure de fin
for (var n=0; n<999 ; n++)
{
var compteur = "cntdwn"+n;
if (!document.getElementById(compteur)) {break;}
var countdown = document.getElementById(compteur);
var suitecntdwn = countdown.parentNode.insertBefore(document.createElement('txt'),countdown.nextSibling);
var test = countdown.innerHTML;
if (page=="overview") {
suitecntdwn.innerHTML = ") ("+HeureFin(test);}
else { suitecntdwn.innerHTML = " ["+HeureFin(test)+"]";}
}