function buildDate()
{
   var content;
   var year;
   
   content='<div class="dateWidget">';  
   content+= buildYears();
   content+= buildMonths();
   content+= buildDays();
   
   document.getElementById('dateObs').innerHTML=content;
}

function buildYears()
{
   var content;
   var year;

   content='  <div class="years" id="yearsPart">';
   
   D=new Date();
   Year=D.getFullYear();
   content+='  <a href="#dateObs" onclick="javascript:replaceYears(0,'+(Year-1)+')" class="btn-gauche"></a>';
   content+='  <a href="#dateObs" onClick="javascript:setYear('+(Year-1)+');">'+(Year-1)+'</a>';
   content+='  <a href="#dateObs" class="selected" onClick="javascript:setYear('+(Year)+');">'+(Year)+'</a>';
   content+='  <a href="#dateObs" onClick="javascript:setYear('+(Year+1)+');">'+(Year+1)+'</a>'
   content+='  <a href="#dateObs" onclick="javascript:replaceYears(1,'+(Year+1)+')" class="btn-droite"></a>';
   content+='  </div>';
   
   
   return content;
}

function buildMonths()
{
  var content;
  var classAdd;
  classAdd='class="selected"';
  var months=new Array("Jan","Fév","Mar","Avr","Mai","Juin","Juil","Aou","Sep","Oct","Nov","Déc");
  
  D=new Date();
  Month=D.getMonth();
  CurrMonth=months[Month];
  
  if (Month<=3) beginDisplay=0;
  if ((Month>3)&&(Month<=7)) beginDisplay=4;
  if (Month>7) beginDisplay=8;
  
  content= '<div class="months" id="monthsPart">';
  if (beginDisplay!=0) content+='   <a href="#dateobs" class="btn-gauche-clair" onclick="javascript:replaceMonths('+(beginDisplay-4)+')"></a>';
  if (CurrMonth==months[beginDisplay]){ 
    content+='   <a href="#dateobs" '+ classAdd +' id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+1)+');replaceDays();">'+months[beginDisplay]+'</a>';
  }
  else{
    content+='   <a href="#dateobs" id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+1)+');replaceDays();">'+months[beginDisplay]+'</a>';
  }
   if (CurrMonth==months[beginDisplay+1]){
    content+='   <a href="#dateobs" '+ classAdd +' id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+2)+');replaceDays();">'+months[(beginDisplay+1)]+'</a>';
  }else{
      content+='   <a href="#dateobs" id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+2)+');replaceDays();">'+months[(beginDisplay+1)]+'</a>';
  }
  if (CurrMonth==months[beginDisplay+2]){
    content+='   <a href="#dateobs" '+ classAdd +' id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+3)+');replaceDays();">'+months[(beginDisplay+2)]+'</a>';
  }else{
      content+='   <a href="#dateobs" id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+3)+');replaceDays();">'+months[(beginDisplay+2)]+'</a>';
  }
  if (CurrMonth==months[beginDisplay+3]){
    content+='   <a href="#dateobs" '+ classAdd +' id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+4)+');replaceDays();">'+months[(beginDisplay+3)]+'</a>';
  }else{
      content+='   <a href="#dateobs" id="month'+Month+'" onClick="javascript:setMonth('+(beginDisplay+4)+');replaceDays();">'+months[(beginDisplay+3)]+'</a>';
  }
 
  if (beginDisplay!=8) content+='   <a href="#dateobs"class="btn-droite-clair" onclick="javascript:replaceMonths('+(beginDisplay+4)+')"></a>';
  content+=' </div>';
  
  return content;
}

function buildDays()
{
  var content;
  var months=new Array(31,0,31,30,31,30,31,31,30,31,30,31);
  var days=new Array("Lu","Ma","Me","Je","Ve","Sa","Di");
  D=new Date();
  Year=D.getFullYear();
  if(Year % 4 == 0) {months[1]=28;} else {months[1]=29;}
  Month=D.getMonth();
  
  fD=new Date(Year,Month,1,0,0,0,0);
  firstDay=days[fD.getUTCDay()];
  
  content='<div class="days" id="daysPart">';
  content+='<table>';
  content+='    <tr><th>Lu</th><th>Ma</th><th>Me</th><th>Je</th><th>Ve</th><th>Sa</th><th>Di</th></tr>';
  
  NBdays=months[Month];
  currentDay=1;
  content+='<tr>';
  for(i=0;i<fD.getUTCDay();i++) content+='<td></td>';
  for(i=fD.getUTCDay();i<=6;i++)
  { 
    content+='<td><a href="javascript:;" onClick="javascript:setDay('+currentDay+')">'+currentDay+'</a></td>';
    currentDay++;
  }
  content+='</tr>';
  weekComplete=1;
  weekCounter=0;
  while (currentDay<=NBdays)
  {
    if (weekComplete==1)
    { 
       content+='<tr>';
       weekComplete=0;
    }
    content+='<td><a href="#dateobs" onClick="javascript:setDay('+currentDay+')">'+currentDay+'</a></td>';
    currentDay++;
    weekCounter++;  
    if (weekCounter==7)
    {
      weekCounter=0;
      weekComplete=1;
      content+='</tr>';
    }
    
  }

  content+='    </tr>';
  content+='  </table>';
  content+='</div>';
  content+='<div class="resultat" id="resDate">Résultat : <em>??/??/????</em></div>';
  
  content+='<input type="hidden" style="display:none;" name="yearElement" value="" />';
  content+='<input type="hidden" style="display:none;" name="monthElement" value="" />';
  content+='<input type="hidden" style="display:none;" name="dayElement" value="" />';
  content+='</div>';
  content+='<div id="icone"></div>';
  content+=' <a href="#dateobs" id="confirm" onClick="javascript:confirmDate();"></a>';
  return content;
}

function confirmDate()
{
  var finalDate;
  D=new Date();
  if (document.forms['form1'].elements['yearElement'].value=='')
  {
    Year=D.getFullYear();
    finalDate=Year;
  }else{
    finalDate=document.forms['form1'].elements['yearElement'].value;
  }
  
  if (document.forms['form1'].elements['monthElement'].value!=""){
    finalDate=document.forms['form1'].elements['monthElement'].value+"/"+finalDate;
  }
  else
  {
    if (document.forms['form1'].elements['dayElement'].value!=""){
      Month=D.getMonth();
      finalDate=(Month+1)+"/"+finalDate;
    }
  }
  if (document.forms['form1'].elements['dayElement'].value!=""){
    finalDate=document.forms['form1'].elements['dayElement'].value+"/"+finalDate;
  }

  document.forms['form1'].elements['dateObservation'].value=finalDate;  
  document.getElementById('dateObs').style.display='none';
}

function replaceDays()
{
  //return buildDays();
}

function replaceMonths(beginMonth)
{
  var content;
  var months=new Array("Jan","Fev","Mar","Avr","Mai","Juin","Juil","Aou","Sep","Oct","Nov","Déc");

  content='';
  
  if (beginMonth!=0) content+='   <a href="#dateobs" class="btn-gauche-clair" onclick="javascript:replaceMonths('+(beginMonth-4)+')"></a>';
  content+='   <a href="#dateobs" id="'+beginMonth+'" onClick="javascript:setMonth('+(beginMonth+1)+');replaceDays();">'+months[beginMonth]+'</a>';
  content+='   <a href="#dateobs" id="'+(beginMonth+1)+'" onClick="javascript:setMonth('+(beginMonth+2)+');replaceDays();">'+months[(beginMonth+1)]+'</a>';
  content+='   <a href="#dateobs" id="'+(beginMonth+2)+'" onClick="javascript:setMonth('+(beginMonth+3)+');replaceDays();">'+months[(beginMonth+2)]+'</a>';
  content+='   <a href="#dateobs" id="'+(beginMonth+3)+'" onClick="javascript:setMonth('+(beginMonth+4)+');replaceDays();">'+months[(beginMonth+3)]+'</a>';
  if (beginMonth!=8) content+='   <a href="#dateobs"class="btn-droite-clair" onclick="javascript:replaceMonths('+(beginMonth+4)+')"></a>';
  
  document.getElementById('monthsPart').innerHTML=content;
}

function replaceYears(lmFlag,year)
{
  if (lmFlag==0)
  {
    content='<a href="#dateObs" onclick="javascript:replaceYears(0,'+(year-3)+')" class="btn-gauche"></a>';
    content+='<a id="year'+(year-3)+'" href="javascript:setYear('+(year-3)+');">'+(year-3)+'</a>';
    content+='<a id="year'+(year-2)+'" href="javascript:setYear('+(year-2)+');">'+(year-2)+'</a>';
    content+='<a id="year'+(year-1)+'" href="javascript:setYear('+(year-1)+');">'+(year-1)+'</a>';
    content+='<a href="#dateObs" onclick="javascript:replaceYears(1,'+(year-1)+')" class="btn-droite"></a>';
  }
  else
  {
    content='<a href="#dateObs" onclick="javascript:replaceYears(0,'+(year+1)+')" class="btn-gauche"></a>';
    content+='<a id="year'+(year+1)+'" href="javascript:setYear('+(year+1)+');">'+(year+1)+'</a>';
    content+='<a id="year'+(year+2)+'" href="javascript:setYear('+(year+2)+');">'+(year+2)+'</a>';
    content+='<a id="year'+(year+-3)+'" href="javascript:setYear('+(year+3)+');">'+(year+3)+'</a>';
    content+='<a href="#dateObs" onclick="javascript:replaceYears(1,'+(year+3)+')" class="btn-droite"></a>';
  }
  document.getElementById('yearsPart').innerHTML=content;
}

function setYear(year)
{
  document.forms['form1'].elements['yearElement'].value=year;
  if ((document.forms['form1'].elements['monthElement'].value=='')&&(document.forms['form1'].elements['dayElement'].value==''))
  {
    document.getElementById("resDate").innerHTML="Résultat : <em>"+year+"</em>";
    replaceYears(0,(year+2));
    document.getElementById("year"+year).className='selected';
  }
  else
  {
    if(document.forms['form1'].elements['dayElement'].value=='')
    {
      
      document.getElementById("resDate").innerHTML="Résultat : <em>"+document.forms['form1'].elements['monthElement'].value+"/"+year+"</em>";
      replaceYears(0,(year+2));
      document.getElementById("year"+year).className='selected';
    }
    else
    {
      document.getElementById("resDate").innerHTML="Résultat : <em>"+document.forms['form1'].elements['dayElement'].value+"/"+document.forms['form1'].elements['monthElement'].value+"/"+year+"</em>";
    }
  }
}

function setMonth(month)
{
  document.forms['form1'].elements['monthElement'].value=month;
  if (document.forms['form1'].elements['yearElement'].value==''){
      D=new Date();
      Year=D.getFullYear();
  }else{
      Year=document.forms['form1'].elements['yearElement'].value;
  }
  
  if (document.forms['form1'].elements['dayElement'].value==''){
      document.getElementById("resDate").innerHTML="Résultat: <em>"+month+"/"+Year+"</em>";
  }
  else
  {
    document.getElementById("resDate").innerHTML="Résultat: <em>"+document.forms['form1'].elements['dayElement'].value+"/"+month+"/"+Year+"</em>";
  }
	
	//document.getElementById('daysPart').innerHTML = replaceDays();
}

function setDay(day)
{
  document.forms['form1'].elements['dayElement'].value=day;
  m=document.forms['form1'].elements['monthElement'].value;
  year=document.forms['form1'].elements['yearElement'].value;
  if (document.forms['form1'].elements['yearElement'].value=='')
  {
     D=new Date();
     year=D.getFullYear();
  }
  if (document.forms['form1'].elements['monthElement'].value=='')
  {
     D=new Date();
     m=(D.getMonth()+1);
  }
  document.getElementById("resDate").innerHTML="Résultat : <em>"+day+"/"+m+"/"+year+"</em>";
}