/***********************************************
* Basic Calendar-By Brian Gosselin at http://scriptasylum.com/bgaudiodr/
* Script featured on Dynamic Drive (http://www.dynamicdrive.com)
* This notice must stay intact for use
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
var increment_mois = 0;
var increment_annee = 0;
var dernierlien = null;

/*var anneebottom = 2007;*/
var anneetop = 2008;

//alert(anneebottom + " " + anneetop);

window.onload = premierCalendrier

function premierCalendrier() {
	var todaydate=new Date()
	var curmonth=todaydate.getMonth()+1 //get current month (1-12)
	var curyear=todaydate.getFullYear() //get current year
	
	increment_mois = curmonth
	increment_annee = curyear
		
	buildCal(curmonth ,curyear, "main", "month", "daysofweek", "days", 0);
	fermerCalendrier();
	cacherConcerts();
}

function buildCal(m, y, cM, cH, cDW, cD, brdr){
	var mn=['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Dé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
	
	var dateactive_array = Array();
	
	for (i=0; i<=mois_array.length; i++) {
		if (m == mois_array[i] && y == annee_array[i]) {
			dateactive_array.push(date_array[i]);
		}
	}
	
	dim[1]=(((oD.getFullYear()%100!=0)&&(oD.getFullYear()%4==0))||(oD.getFullYear()%400==0))?29:28;
	var t='<div class="'+cM+'" id="calendrier"><table id="dates" class="'+cM+'" cols="7" cellpadding="0" border="'+brdr+'" cellspacing="0"><tr align="center">';
	t+='<td colspan="1" align="center" class="fleche"><a href="#" onclick="changerMois(\'prev\'); return false;"><</a></td>';
	t+='<td colspan="5" align="center" class="'+cH+'">'+mn[m-1]+'<br /><span style="font-size:9px;">'+y+'</span></td>';
	t+='<td colspan="1" align="center" class="fleche"><a href="#" onclick="changerMois(\'next\'); return false">></a></td>';
	t+='</tr><tr align="center">';
	for(s=0;s<7;s++) {
		t+='<td class="'+cDW+'">'+"DLMMJVS".substr(s,1)+'</td>';
	}
	
	t+='</tr>';
	t+='<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 classtruc="";
		
		for (hi=0; hi<=dateactive_array.length; hi++) {
			if (x == dateactive_array[hi]) {
				classtruc = " actif";
			}
		}
		
		if (classtruc==" actif") {
			var nodate = x;
			if (x<10) {nodate = "0" + x;}
			
			var nomois = m;
			if (m<10) {nomois = "0" + m;}
			
			var onclick = nodate + "_" + nomois + "_" + y;
			
			t+='<td class="'+cD+ classtruc +'"><a onclick="afficherConcert(\'' + onclick + '\'); activerDate(this.parentNode); return false;" href="#">'+x+'</a></td>';
		} else {
			t+='<td class="'+cD+ classtruc +'">'+x+'</td>';
		}
		if(((i)%7==0)&&(i<36)) {t+='</tr><tr align="center">';}
	}
	t+='</tr></table></div>';
	
	var container = document.getElementById("container_calendrier");
	container.innerHTML = t;
}

function changerMois (direction) {
	var derniermois = increment_mois;
	var derniereannee = increment_annee;
	
	if (direction == "next") {
		if (increment_mois>=12) {
			increment_mois = 1
			increment_annee++
		} else {
			increment_mois++;
		}
	} else if (direction == "prev") {
		if (increment_mois<=1) {
			increment_mois = 12
			increment_annee--
		} else {
			increment_mois--;
		}
	}
		
	var todaydate=new Date()
	var curmonth=increment_mois //get current month (1-12)
	var curyear=increment_annee //get current year
	
	if (curyear >= anneebottom && curyear <= anneetop) {
		effacerCalendrier();
		buildCal(curmonth ,curyear, "main", "month", "daysofweek", "days", 0);
	} else {
		increment_annee = derniereannee;
		increment_mois = derniermois;
	}
}

function effacerCalendrier () {
	var calendrier = document.getElementById("calendrier");
	calendrier.parentNode.removeChild(calendrier);
}

function afficherConcert (idconcert) {
	cacherConcerts();
	activerDate(idconcert);
	var concert = document.getElementById(idconcert);
	
	if (concert!=null) {
		concert.className = "container_concert";
	}
}

function activerDate (lien) {
	if (dernierlien!=null) {
		dernierlien.className = "actif";
	}
	
	if (lien.nodeName=="TD") {
		lien.className="actifclick";
		dernierlien = lien;
	}
}

function cacherConcerts () {
	var container = document.getElementById("container_concerts");
	for (i=0; i<container.childNodes.length; i++) {
		if(container.childNodes[i].nodeName=="DIV") {
			container.childNodes[i].className = "hidden";
		}
	}
}

function ouvrirCalendrier () {
	var container = document.getElementById("container_concertscalendrier");
	container.className = "ouvert";
	var ouvert = document.getElementById("ouvrir");
	ouvert.className = "hidden";
}

function fermerCalendrier () {
	var container = document.getElementById("container_concertscalendrier");
	container.className = "ferme";
	var ouvert = document.getElementById("ouvrir");
	ouvert.className = "block";
}