date=new Date();
annee=date.getFullYear();
mois=date.getMonth();
los_meses=["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"];
los_meses2=["J","F","M","A","M","J","J","A","S","O","N","D"];
los_dias=["D","L","M","M","J","V","S","D"];
function Mois()
{
for(i=0;i<7;i++)
{
calendrier+="<td width='"+100/7+"%'>"+los_dias[i+1]+"
</td>";
}
afficher.setYear(document.Calendrier.Annee.value);
afficher.setMonth(document.Calendrier.Mois.value);
afficher.setDate(31);
if(afficher.getDate()!=31)afficher.setDate(31-afficher.getDate());
afficher.setMonth(document.Calendrier.Mois.value);
nbjours=afficher.getDate();
nbsem=Sem(document.Calendrier.Annee.value,document.Calendrier.Mois.value,nbjours);
nbsem=Sem(document.Calendrier.Annee.value,document.Calendrier.Mois.value,nbjours);
nbsem-=Sem(document.Calendrier.Annee.value,document.Calendrier.Mois.value,1)-1;
boutmois=new Date(document.Calendrier.Annee.value,document.Calendrier.Mois.value,nbjours);
if(boutmois.getDay()==0)
{
nbsem--;
}
boutmois=new Date(document.Calendrier.Annee.value,document.Calendrier.Mois.value,1);
if(boutmois.getDay()==0)
{
nbsem++;
}
h=1;
for(i=0;i<nbsem;i++)
{
calendrier+="<tr align='center'>";
for(j=1;j<=7;j++,h++)
{
afficher.setDate(h);
if((afficher.getDay()==j||(afficher.getDay()==0&&j==7))&&afficher.getMonth()==document.Calendrier.Mois.value)
{
Sem(document.Calendrier.Annee.value,document.Calendrier.Mois.value,h-1)
Sem(document.Calendrier.Annee.value,document.Calendrier.Mois.value,h-1)
calendrier+="<td title='Semaine N°"+Sem(document.Calendrier.Annee.value,document.Calendrier.Mois.value,h-1)+"'>";
calendrier+=afficher.getDate();
}
else
{
h--;
}
}
}
document.getElementById("Cal").innerHTML=calendrier;
document.getElementById("SelMois").style.visibility="visible";
}
function Annee()
{
calendrier+="
<td width='"+100/13+"%'> </td>";
for(i=0;i<12;i++)
{
calendrier+="<td width='"+100/13+"%'>"+los_meses2[i]+"
</td>";
}
afficher.setYear(document.Calendrier.Annee.value);
for(i=0;i<31;i++)
{
afficher.setDate(i+1);
calendrier+="<tr align='center'>";
calendrier+="
<td bgcolor='#00FFFF'>"+(i+1)+"
</td>";
for(j=0;j<12;j++)
{
afficher.setMonth(j);
switch((i%2)+(j%2))
{
case 2:calendrier+="<td bgcolor='#C0C0C0'";break;
case 1:calendrier+="<td bgcolor='#E0E0E0'";break;
case 0:default:calendrier+="<td";
}
if(afficher.getDate()!=i+1)
{
calendrier+="> ";
afficher.setDate(i+1);
}
else
{
calendrier+=" title='Semaine N°"+Sem(document.Calendrier.Annee.value,j,i)+"'>";
calendrier+=los_dias[afficher.getDay()];
}
}
}
document.getElementById("Cal").innerHTML=calendrier;
document.getElementById("SelMois").style.visibility="hidden";
}
function Mode()
{
mode=document.Calendrier.Modes.value;
calendrier="
<table style='font-size:9' width='100%' border='1'>";
calendrier+="
<tr align='center' bgcolor='#00FFFF'>";
afficher=new Date();
if(mode==1){Mois();}
else{Annee();}
}
function Sem(A,M,J)
{
date.setYear(A);
date.setMonth(M);
date.setDate(J);
date2=new Date(A,0,1);
x=1;
do
{
date2.setDate(x);
x++;
}
while(date2.getDay()!=1);
temps=date.getTime()-date2.getTime()+24*60*60*1000;
sem=temps/(1000*60*60*24*7);
return Math.ceil(sem);
}
<body onload="javascript:window.status='C A L E N D A R I O';Mode()" onselectstart="return false" oncontextmenu="return false" style="cursor:default">
<div align="right" ID=tableau>
<table style='font-size:9'>
<select name="Modes" tabindex="0" onchange="Mode()">
<select name="Mois" tabindex="1" onchange="Mode()">
for(i=0;i<12;i++)
{
document.write("<option ");
if(i==mois)document.write("selected ");
document.write("value='"+i+"'>"+los_meses[i]+"
</option>");
}
<select name="Annee" tabindex="2" onchange="Mode()">
for(i=(annee-50);i<(annee+51);i++)
{
document.write("<option ");
if(i==annee)document.write("selected ");
document.write("value='"+i+"'>"+i+"
</option>");
}
<div align="center" ID=Cal>