function formatTextArea(_compteur, _message) {
var tabLigne = _message.split("\n");
window.document.getElementById(_compteur).rows = tabLigne.length;
}
function protectspecar(_message) {
var message = _message;
message = message.replace("\b", "\\b");
message = message.replace("\f", "\\f");
message = message.replace("\n", "
");
message = message.replace("\t", "\\t");
message = message.replace("'", "'");
message = message.replace("\"", "\\\"");
return message;
}
function lpadnum(_nombre, _nbChiffre) {
var nombreFormate = "" + _nombre;
while (nombreFormate.length < _nbChiffre) {
nombreFormate = "0" + nombreFormate;
}
return nombreFormate;
}
function decompte(_compteur, _jour, _mois, _annee, _heure, _minute, _seconde, _milliseconde, _messCptr, _messFin) {
var _libDurAnnee = " années";
var _libDurMois = " mois";
var _libDurSemaine = " semaines";
var _libDurJour = " jours";
var _libDurHeure = " heures";
var _libDurMinute = " minutes";
var _libDurSeconde = " secondes";
var _libDurMilliseconde = "";
anneeFuture = _annee;
moisFuture = _mois - 1;
Maintenant = new Date;
TempMaintenant = Maintenant.getTime() - (Maintenant.getTimezoneOffset() * 60000);
Future = new Date(anneeFuture, moisFuture, _jour, _heure, _minute, _seconde, _milliseconde);
TempFuture = Future.getTime() - (Future.getTimezoneOffset() * 60000);
message = "";
if (TempFuture <= TempMaintenant) {
message = _messFin.replace("%a%", lpadnum(_annee, 4)).replace("%m%", lpadnum(_mois, 2)).replace("%j%", lpadnum(_jour, 2)).replace("%h%", lpadnum(_heure, 2)).replace("%mi%", lpadnum(_minute, 2)).replace("%s%", lpadnum(_seconde, 2)).replace("%ms%", lpadnum(_milliseconde, 3));
} else {
var DiffAnnee = 0;
var DiffMois = 0;
var DiffSem = 0;
var DiffJour = 0;
var DiffHeure = 0;
var DiffMin = 0;
var DiffSec = 0;
var DiffMilliSec = 0;
var DiffTemp = TempFuture - TempMaintenant;
if (_messCptr.search("%a%") != -1) {
while (TempMaintenant < TempFuture) {
anneeFuture = anneeFuture - 1;
Future = new Date(anneeFuture, moisFuture, _jour, _heure, _minute, _seconde, _milliseconde);
TempFuture = Future.getTime() - (Future.getTimezoneOffset() * 60000);
}
anneeFuture = anneeFuture + 1;
DiffAnnee = _annee - anneeFuture;
Future = new Date(anneeFuture, moisFuture, _jour, _heure, _minute, _seconde, _milliseconde);
TempFuture = Future.getTime() - (Future.getTimezoneOffset() * 60000);
DiffTemp = TempFuture - TempMaintenant;
}
if (_messCptr.search("%m%") != -1) {
while (TempMaintenant < TempFuture) {
moisFuture = moisFuture - 1;
Future = new Date(anneeFuture, moisFuture, _jour, _heure, _minute, _seconde, _milliseconde);
TempFuture = Future.getTime() - (Future.getTimezoneOffset() * 60000);
}
moisFuture = moisFuture + 1;
DiffMois = _mois - 1 - moisFuture;
Future = new Date(anneeFuture, moisFuture, _jour, _heure, _minute, _seconde, _milliseconde);
TempFuture = Future.getTime() - (Future.getTimezoneOffset() * 60000);
DiffTemp = TempFuture - TempMaintenant;
}
if (_messCptr.search("%sm%") != -1) {
DiffSem = Math.floor(DiffTemp/604800000);
DiffTemp = DiffTemp%604800000;
}
if (_messCptr.search("%j%") != -1) {
DiffJour = Math.floor(DiffTemp/86400000);
DiffTemp = DiffTemp%86400000;
}
if (_messCptr.search("%h%") != -1) {
DiffHeure = Math.floor(DiffTemp/3600000);
DiffTemp = DiffTemp%3600000;
}
if (_messCptr.search("%mi%") != -1) {
DiffMin = Math.floor(DiffTemp/60000);
DiffTemp = DiffTemp%60000;
}
if (_messCptr.search("%s%") != -1) {
DiffSec = Math.floor(DiffTemp/1000);
DiffTemp = DiffTemp%1000;
}
DiffMilliSec = DiffTemp;
message = _messCptr;
if (DiffAnnee == 0) {
message = message.replace("%a%", "")
} else {
if (DiffAnnee == 1) { _libDurAnnee = " année"; }
message = message.replace("%a%", lpadnum(DiffAnnee, 1) + _libDurAnnee)
}
if (DiffAnnee == 0 && DiffMois == 0) {
message = message.replace("%m%", "")
} else {
message = message.replace("%m%", lpadnum(DiffMois, 2) + _libDurMois)
}
if (DiffAnnee == 0 && DiffMois == 0 && DiffSem == 0) {
message = message.replace("%sm%", "")
} else {
if (DiffSem == 1) { _libDurSemaine = " semaine"; }
message = message.replace("%sm%", lpadnum(DiffSem, 2) + _libDurSemaine)
}
if (DiffAnnee == 0 && DiffMois == 0 && DiffSem == 0 && DiffJour == 0) {
message = message.replace("%j%", "")
} else {
if (DiffJour == 1) { _libDurJour = " jour"; }
message = message.replace("%j%", lpadnum(DiffJour, 2) + _libDurJour)
}
if (DiffAnnee == 0 && DiffMois == 0 && DiffSem == 0 && DiffJour == 0 && DiffHeure == 0) {
message = message.replace("%h%", "")
} else {
if (DiffHeure == 1) { _libDurHeure = " heure"; }
message = message.replace("%h%", lpadnum(DiffHeure, 2) + _libDurHeure)
}
if (DiffAnnee == 0 && DiffMois == 0 && DiffSem == 0 && DiffJour == 0 && DiffHeure == 0 && DiffMin == 0) {
message = message.replace("%mi%", "")
} else {
if (DiffMin == 1) { _libDurMinute = " minute"; }
message = message.replace("%mi%", lpadnum(DiffMin, 2) + _libDurMinute)
}
if (DiffAnnee == 0 && DiffMois == 0 && DiffSem == 0 && DiffJour == 0 && DiffHeure == 0 && DiffMin == 0 && DiffSec == 0) {
message = message.replace("%s%", "")
} else {
if (DiffSec == 1) { _libDurSeconde = " seconde"; }
message = message.replace("%s%", lpadnum(DiffSec, 2) + _libDurSeconde)
}
if (DiffAnnee == 0 && DiffMois == 0 && DiffSem == 0 && DiffJour == 0 && DiffHeure == 0 && DiffMin == 0 && DiffSec == 0 && DiffMilliSec == 0) {
message = message.replace("%ms%", "")
} else {
message = message.replace("%ms%", lpadnum(DiffMilliSec, 3) + _libDurMilliseconde)
}
setTimeout('decompte("' + _compteur + '", ' + _jour + ', ' + _mois + ', ' + _annee + ', ' + _heure + ', ' + _minute + ', ' + _seconde + ', ' + _milliseconde + ', "' + protectspecar(_messCptr) + '", "' + protectspecar(_messFin) + '")', 1);
}
message = message.replace("\n\r", "\n").replace("\r\n", "\n").replace("\r", "\n");
var tagElement = window.document.getElementById(_compteur).tagName;
window.document.getElementById(_compteur).style.width = "100%";
if (tagElement == "INPUT" || tagElement == "TEXTAREA") {
if (window.document.getElementById(_compteur).tagName == "TEXTAREA") {
formatTextArea(_compteur, message);
}
window.document.getElementById(_compteur).readOnly = "readonly";
window.document.getElementById(_compteur).value = message;
} else {
window.document.getElementById(_compteur).innerHTML = message.replace("\n", "
");
}
}