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", "
"); } }