//valeurs de départ (à modifier)
var cible= new Date("January 17, 2009 11:00:00");

//la date d'aujourd'hui
var date_day = new Date();

//calcul des différences
var annee_diff = date_day.getFullYear() - cible.getFullYear();
var mois_diff = (date_day.getMonth()+1) - (cible.getMonth()+1);
var jour_diff = date_day.getDate() - cible.getDate();
var heure_diff = date_day.getHours() - cible.getHours();
var minute_diff = date_day.getMinutes() - cible.getMinutes();
var seconde_diff = date_day.getSeconds() - cible.getSeconds();

//gestion des valeurs négatives
if (heure_diff < 0)
{ 
  heure_diff +=24;
  jour_diff--;
}
if (jour_diff < 0)
{
  switch(cible.getMonth()+1)
  {
    case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
      jour_diff+=31;
	  break;
	case 2:
	  if (cible.getFullYear()%4)
	  {
	    jour_diff+=29;
	  }
	  else
	  {
	    jour_diff+=28;
	  }
	  break;
	case 4:
	case 6:
	case 9:
	case 11:
	  jour_diff+=30;
	  break
  }
  mois_diff--;
}
if (mois_diff < 0)
{
  mois_diff+=12;
  annee_diff--;
}


function decompte() {

seconde_diff +=1;
if (seconde_diff==60)
{ 
  seconde_diff=0;
  minute_diff +=1;
  if (minute_diff==60)
  {
    heure_diff +=1;
	if (heure_diff==24)
	{
	  jour_diff +=1;
	  if (((jour_diff==28)&&(date_day.getMonth()==2)&&(!date_day.getFullYear()%4))||((jour_diff==29)&&(date_day.getMonth()==2)&&(date_day.getFullYear()%4))||((jour_diff==30)&&((date_day.getMonth()==4)||(date_day.getMonth()==6)||(date_day.getMonth()==9)||(date_day.getMonth()==11)))||((jour_diff==31)&&((date_day.getMonth()==0)||(date_day.getMonth()==1)||(date_day.getMonth()==3)||(date_day.getMonth()==5)||(date_day.getMonth()==7)||(date_day.getMonth()==8)||(date_day.getMonth()==10))))
	  {
	    mois_diff+=1;
	  }
	  if (mois_diff==12)
	  {
	    annee_diff+=1;
	  }
	}
  }
}
// on affecte nos résultats aux champs du formulaire
document.getElementById("annees").innerHTML = annee_diff;
document.getElementById("mois").innerHTML = mois_diff;
document.getElementById("jours").innerHTML = jour_diff;
document.getElementById("heures").innerHTML  = heure_diff;
document.getElementById("minutes").innerHTML  = minute_diff;
document.getElementById("secondes").innerHTML = seconde_diff;

// on relance la fonction pour actualiser à la seconde
setTimeout("decompte()",1000);
}


