// La Teuf du Taf c'est le 1er mai
var jour = 1;
var mois = 5;

// Nombre de jours du mois pour une année donnée
function daysInMonth(iMonth, iYear) {
	return 32 - new Date(iYear, iMonth, 32).getDate();
}

// Construction d'un temps en mois/jours /heures/minutes/secondes à partir d'un temps numérique (ms)
function txtTime(tps, m, ap) {
	// Nombre de mois entiers
	var nb = Math.max(0, ((ap)?(mois + 10):(mois - 2)) - m);
	var j = 0;
	var annee = new Date().getFullYear();
	for (var i = m + 1; i <= m + nb; i++) {
		if (ap && (i > (nb - mois - 1))) {
			j += daysInMonth(i - mois - 1,  annee + 1);
		} else {
			j += daysInMonth(i,  annee);
		}
	}
	var txt = ((nb == 0)?"":nb + " mois ");
	// Nombre de jours
	nb = Math.floor(tps / 3600 / 24);
	// Si le nombre de jour est supérieur au nombre de jours du mois courant rectification du nombre de mois
	jm = daysInMonth(m, annee);
	if (j == 0 && nb >= jm) {
		var txt = " 1 mois ";
		nb = nb - jm;
	}
	tps = tps % (3600 * 24);
	txt += unitAdjust(nb - j, "jour") + "<br/>";
	// Nombre d'heures
	nb = Math.floor(tps / 3600);
	tps = tps % 3600;
	txt += unitAdjust(nb, "heure");
	// Nombre de minutes
	nb = Math.floor(tps / 60);
	tps = tps % 60
	txt += unitAdjust(nb, "minute") + "<br/>";
	// Nombre de secondes
	nb = Math.floor(tps);
	txt += unitAdjust(nb, "seconde");
	return txt;
}

// Ajustement du texte de l'unité en fonction du nombre
function unitAdjust(nb, unit) {
	switch (nb) {
		case 0:
			var txt = "";
			break;
		case 1:
			var txt = nb + " " + unit + " ";
			break;
		default :
			var txt = nb + " " + unit + "s ";
	}
	return txt;
}

// Calcul du temps restant
function countDown() {
	var now = new Date();
	var annee = now.getFullYear();
	var next = new Date(annee, (mois - 1), jour);
	var time_now = now.getTime();
	var time_next = next.getTime();
	var rebours = time_next - time_now;

// Si le 1er mai de l'année est passé on passe à l'année suivante
	if (rebours < -86400000) {
		annee++;
		next = new Date(annee, (mois - 1), jour)
		time_next = next.getTime();
		var rebours = time_next - time_now;
		var txt = txtTime((time_next - time_now) / 1000, now.getMonth(), 1);
		msg = "La Teuf du Taf " + annee + " dans<br/>" + txt + " !";
// Si on est le 1er mai...
	} else if (rebours < 0) {
		msg = "La Teuf du Taf<br/>c'est aujourd'hui !";
// Si on est le 30 avril...
	} else if (rebours < 86400000) {
		msg = "La Teuf du Taf<br/>commence ce soir...";
// Sinon
	} else {
		var txt = txtTime((time_next - time_now) / 1000, now.getMonth(), 0);
		msg = "La Teuf du Taf " + annee + " dans<br/>" + txt + " !";
	}

// Construction du message
	msg = "<p>" + msg + "</p>";
// Affichage du message
	if (document.getElementById) {
		document.getElementById("rebours_time").innerHTML = msg;
	} else if (document.all) {
		document.all["rebours_time"].innerHTML = msg;
	}
}
// Actualisation de compte à rebours toutes les secondes (1000 ms)
window.setInterval("countDown()", 1000);