var d;
var bissextile;
var dcount=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var caldiv;
var returninput;
var firstyear=0;

function calendrier_show(div,input,newdate){
         caldiv=div;
         returninput=input;
         curday=0;
         document.getElementById(div).style.visibility='visible';
         document.getElementById(div).style.position='absolute';
         document.getElementById(div).style.left=document.getElementById(input).style.left;
         document.getElementById(div).style.top=document.getElementById(input).style.top;
         if(newdate)
             d=new Date(newdate);
         else{
             d=new Date();
             curday=d.getDate();
         }

         d1=new Date(d.getFullYear(),d.getMonth(),1);
         day1=d1.getDay();

         days=daycount(d);
         grille="<table bgcolor=\"#C0C0C0\" class=\"gray12\">";
         grille+="<tr><td colspan=\"7\"><select onchange=\"javascript:calendrier_show(caldiv,returninput,this.value+' 1 "+d.getFullYear()+" 0:0:0')\">"+month()+"</select> <select onchange=\"javascript:calendrier_show(caldiv,returninput,'"+(d.getMonth()+1)+" 1 '+this.value+' 0:0:0')\">"+year()+"</select> <a href=\"javascript:calendrier_close()\" class=\"cbnred14\">X</a></td></tr>";
         grille+="<tr bgcolor=\"#C70000\" align=\"center\" class=\"white12\"><td>D</td><td>L</td><td>M</td><td>M</td><td>J</td><td>V</td><td>S</td></tr><tr align=\"center\">";

         for(i=0;i<day1-1;i++){
             grille+="<td></td>";
         }
         dprev=new Date();
         dprev.setTime(d1.getTime()-8640000);
         if(day1!=0) grille+="<td><a href=\"javascript:calendrier_show(caldiv,returninput,'"+(dprev.getMonth()+1)+" 1 "+dprev.getFullYear()+" 0:0:0')\" class=\"gray12d\">"+dprev.getDate()+"</a></td>";

         for(i=1;i<=days;i++){
             bg="";
             if(i==curday) bg=" bgcolor=\"#C70000\"";
             grille+="<td"+bg+"><a href=\"javascript:returndate("+i+");\" class=\"white12\">"+i+"</a></td>";
             day1++;
             if(day1==7){
                  day1=0;
                  grille+="</tr><tr align=\"center\">";
             }
         }
         if(day1!=0) grille+="<td><a href=\"javascript:calendrier_show(caldiv,returninput,'"+(d.getMonth()+2)+" 1 "+d.getFullYear()+" 0:0:0')\" class=\"gray12d\">1</a></td>";
         grille+="</tr></table>";
         document.getElementById(div).innerHTML=grille;

}

function daycount(d){
         days=dcount[d.getMonth()];
         bissextile = d.getFullYear() %4;
         if(d.getMonth()==1 && bissextile==0) days=29;
         return days;
}

function month(){
         montharray=new Array("Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Décembre");
         curmonth=d.getMonth();
         ret="";
         for(i=0;i<=11;i++){
             selected="";
             if(i==curmonth) selected=" selected";
             ret+="<option value=\""+(i+1)+"\""+selected+">"+montharray[i]+"</option>";
         }
         return ret;
}

function year(){
         cd=new Date();
         cdyear=d.getFullYear();
         ret="";
         if(firstyear==0) firstyear=cd.getFullYear();
         for(i=firstyear;i<=(cd.getFullYear()+2);i++){
             selected="";
             if(i==cdyear) selected=" selected";
             ret+="<option value=\""+i+"\""+selected+">"+i+"</option>";
         }
         return ret;
}


function returndate(day){
         document.getElementById(returninput).value=day+"/"+(d.getMonth()+1)+"/"+d.getFullYear();
         calendrier_close();
}

function calendrier_close(){
         document.getElementById(caldiv).style.visibility='hidden';
}
         