function buildCal(m, y, cM, cH, cDW, cD, brdr) {

    var mois=m;
    var mn=['January','February','March','April','May','June','July','August','September','October','November','December'];
    //var mn=['Janvier','F&eacute;vrier','Mars','Avril','Mai','Juin','Juillet','Ao&ucirc;t','Septembre','Octobre','Novembre','D&eacute;cembre'];
    var dim=[31,0,31,30,31,30,31,31,30,31,30,31];

    var oD = new Date(y, m-1, 1); //DD replaced line to fix date bug when current day is 31st
    oD.od=oD.getDay()+1; //DD replaced line to fix date bug when current day is 31st

    var todaydate=new Date() //DD added
    var scanfortoday=(y==todaydate.getFullYear() && m==todaydate.getMonth()+1)? todaydate.getDate() : 0 //DD added

    dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
    var t='<div class="'+cM+'"><table class="'+cM+'" cols="7" cellpadding="0" border="'+brdr+'" cellspacing="0"><tr align="center">';

    t+='<td class="'+cH+'"><a href="javascript:MoisPrecedent('+m+','+y+');"><img src="fr/img/fleche_gauche.png" alt="" width="21" height="16" hspace="0" vspace="0" border="0"></a></td><td colspan="5" align="center" class="'+cH+'">'+mn[m-1]+' - '+y+'</td><td class="'+cH+'"><a href="javascript:MoisSuivant('+m+','+y+');"><img src="fr/img/fleche_droite.png" alt="" width="21" height="16" hspace="0" vspace="0" border="0"></a></td></tr><tr align="center">';

    for(s=0;s<7;s++)t+='<td class="'+cDW+'">'+"SMTWTFS".substr(s,1)+'</td>';
    //for(s=0;s<7;s++)t+='<td class="'+cDW+'">'+"DLMMJVS".substr(s,1)+'</td>';
    t+='</tr><tr align="center">';
    for(i=1;i<=42;i++) {
        var x=((i-oD.od>=0)&&(i-oD.od<dim[m-1]))? i-oD.od+1 : '&nbsp;';
        var jr = x;
        if (x==scanfortoday) //DD added
            x='<span id="today">'+x+'</span>' //DD added
        if (YaSpectacle(jr,m,y)) {
            x='<div class="yaspectacle">'+x+'</div>';
            x='<a href="recherche.html?jour='+jr+'&mois='+m+'&an='+y+'&submit=submit">'+x+'</a>';
        }
        t+='<td class="'+cD+'">'+x+'</td>';
        if(((i)%7==0)&&(i<36))t+='</tr><tr align="center">';
    }
    //alert(t);
    return t+='</tr></table></div>';
}

function MoisPrecedent(m,y) {
    m--;
    if(m==0) {
        m=12;
        y--;
    }
    WriteLayer('basiccal',null, buildCal(m ,y, "main", "month", "daysofweek", "days", 1));
    document.cookie = "mois=" + m + ";";
    document.cookie = "ans=" + y + ";";
}

function MoisSuivant(m, y) {
    m++;
    if(m==13) {
        m=1;
        y++;
    }
    WriteLayer('basiccal',null, buildCal(m ,y, "main", "month", "daysofweek", "days", 1));
    document.cookie = "mois=" + m + ";";
    document.cookie = "ans=" + y + ";";
}

function ChoisirDate(j, m, a) {
    //  jj/mm/aaaa
    if((j>=1) && (j<=9)) j='0'+j;
    if((m>=1) && (m<=9)) m='0'+m;
    WriteLayer('LayerTextePrincipal',null,'..... Liste de spectacle avec la Date '+ (j+'/'+m+'/'+a));
}

function WriteLayer(ID,parentID,sText) {
    if (document.layers) {
        var oLayer;
        if(parentID) {
            oLayer = eval('document.' + parentID + '.document.' + ID + '.document');
        } else {
            oLayer = document.layers[ID].document;
        }
        oLayer.open();
        oLayer.write(sText);
        oLayer.close();
    } else if (parseInt(navigator.appVersion)>=5&&navigator.appName=="Netscape") {
        document.getElementById(ID).innerHTML = sText;
    } else if (document.all) {
        document.all[ID].innerHTML = sText
    } 
}
