// JavaScript Document
function searchURL(parametre){
/* 
Récupération de l'url
Découpe pour récupérer les paramètres passées
Retour de 1 si l le paramètre est passé sinon 0 
*/

//Récupération de l'URL
	var url = window.location.search
	url = url.substring(1)

//Découpe des paramètres
	tabUrl = url.split('&');
	retour = 0	
	
	for(i=0;i<tabUrl.length;i++){
		
		tabParam = tabUrl[i].split('=')		
			if(tabParam[0] == parametre){
				retour = 1
				return(1)	
			}
	}
	
	if(retour==0) return(0)	
}

function ecrit_date(mois,annee)
{
mois=mois-1;
var temp=mois;
var ligne=0;
var i=1;
vide=0;
today=new Date();
//écriture du formulaire
tab_mois=new Array("janvier","février","mars","avril","mai","juin","juillet","aout","septembre","octobre","novembre","decembre");

// écriture des entete de colonne LMMJVSD
var j=new Array("lun","mar","mer","jeu","ven","sam","dim");
document.write('<table border="0" cellpadding="0" cellspacing="0" width="184" align="center" class="tabhaut"><tr>')
for(var w=0;w<7;w++)	{
		document.write('<td width="26">'+j[w]+'</td>\n');
}
document.write('</tr></table>')

//écriture du calendrier
document.write('<table class="tab" cellpadding="4" cellspacing="2" width="184"><tr>');
var date=new Date(annee,mois,1)
var date_actu=new Date(annee,mois,1);
/*Tant que le mois correspond au mois avant celui en cours on écris en gris les jours
On compte combien de tours sont fait avant d'arriver à la date actuelle pour savoir à quellle cellule 
commence le jour en cours
*/
		while(date.getMonth()==temp)//tant que la date correspond au mois d'avant
		{
			if(vide<date_actu.getDay()-1)
			{ 
			 dateav = new Date();//je créé un objet date qui sert à donner les infos du mois précédent
			 dateav.setMonth(date.getMonth());//j'initialise les valeurs de la nouvelle date avec les date actuelle en négatif
			 dateav.setYear(date.getFullYear());
			 dateav.setDate(date.getDate()-((date_actu.getDay()-1) - vide));
			 if(tabPrec[dateav.getDate()]==1){
			  document.write("<td class='article'>"+dateav.getDate()+"</td>");//j'écris les jours
			 }else{
				 document.write("<td class='textegris'>"+dateav.getDate()+"</td>");//j'écris les jours
			}
			ligne++;
			vide++;
			}
			else if(date_actu.getDay()==0 && vide==0)//Si le jours = 0 il s'agit du dimanche donc il y a 6 jours à écrire
			{
			 dateav = new Date();
			 dateav.setMonth(date.getMonth());
			 dateav.setYear(date.getFullYear());
			 dateav.setDate(date.getDate()-7);
			 for(var dimanche=1;dimanche<=6;dimanche++)
			 {
			 dateav.setDate(dateav.getDate()+1);
				 if(tabPrec[dateav.getDate()]==1){
					 document.write("<td class='article'>"+dateav.getDate()+"</td>");//écriture des cellules avec les 6 derniers jours
				 }else{
					 document.write("<td class='textegris'>"+dateav.getDate()+"</td>");//écriture des cellules avec les 6 derniers jours
				}
			}	
				ligne=6;
				vide++;
			}
			else
			{
				i++;
				//Affichage par ligne
				if(ligne<6)//Écriture de la date actuelle si ce n'est pas dimanche
				{
					if(date.getDate()==today.getDate() && date.getFullYear()==today.getFullYear() && date.getMonth() == today.getMonth())
					{//Si la date correspond à celle du jour on l'écrit en bleu
						if(tabActu[today.getDate()]==1){
							document.write("<td class='textebleu article'><a href=\"javascript:formu_date('"+ date.getFullYear() + "-" + (date.getMonth()+1) + "-" +date.getDate() +"');\">"+date.getDate()+"</a></td>");
						}
						else{
							document.write("<td class='textebleu'><a href=\"javascript:formu_date('"+ date.getFullYear() + "-" + (date.getMonth()+1) + "-" +date.getDate() +"');\">"+date.getDate()+"</a></td>");

						}
						ligne++
					}
					else{//sinon on l'écrit en noirs
					if(tabActu[date.getDate()]==1){
						document.write("<td class=article><a href=\"javascript:formu_date('"+ date.getFullYear() + "-" + (date.getMonth()+1) + "-" +date.getDate() +"');\">"+date.getDate()+"</a></td>");
						}else{
						document.write("<td class=textenoir><a href=\"javascript:formu_date('"+ date.getFullYear() + "-" + (date.getMonth()+1) + "-" +date.getDate() +"');\">"+date.getDate()+"</a></td>");
						}
						ligne++;
					}
				}
				else //écriture du dimanche et remise à zéro de la boucle
				{
				if(tabActu[date.getDate()]==1){
					document.write("<td class='article'><a href=\"javascript:formu_date('"+ date.getFullYear() + "-" + (date.getMonth()+1) + "-" +date.getDate() +"');\">"+date.getDate()+"</a></td>"+"</tr><tr>");
				}else{
					document.write("<td class='texterouge'><a href=\"javascript:formu_date('"+ date.getFullYear() + "-" + (date.getMonth()+1) + "-" +date.getDate() +"');\">"+date.getDate()+"</a></td>"+"</tr><tr>");
				}
					ligne=0;
				}
			date.setDate(i);//incrémentation de la date à la semaine d'après
		}
	}
	//Écriture de la fin du mois en gris
	for(var date_fin=1;date_fin<=(7-ligne);date_fin++)//je boucle au nombre exact de jours qu'il me reste à écrire grâce à ligne
	{
		if((ligne+date_fin!=7))//si ce n'est pas dimanche
		{
		if(tabSuiv[date.getDate()]==1){
			document.write("<td class='article'>"+date.getDate()+"</td>");
		}else{
			document.write("<td class='textegris'>"+date.getDate()+"</td>");
		}
		date.setDate(date.getDate()+1);//J'écris la date en gris
		}
		else{//sinon j'écris la date en rouge
		if(tabSuiv[date.getDate()]==1){
			document.write("<td class='article'>"+date.getDate()+"</td>");
		}else{
		document.write("<td class=texterouge>"+date.getDate()+"</td>");
		date.setDate(date.getDate()+1);
		}
		}
	}
document.write("</tr></table>");
}

if(searchURL("mois"))//Si un paramètre à été passé dans l'URL j'appelle la fonction avec la date passée dans lURL
{
	var url=window.location.search;
	var tab_interro=url.split('?');
	var arguments=tab_interro[1].split('&');
	chiffre_mois=arguments[0].substr(5);
	chiffre_annee=arguments[1].substr(6);

	ecrit_date(chiffre_mois,chiffre_annee);
}
else{//Sinon j'appelle la fonction à la date du jour
	today=new Date();
ecrit_date(today.getMonth()+1,today.getFullYear());
}
function redirige()
{
if(document.formu2.mois.value<=9){redMois="0"+document.formu2.mois.value;}else{redMois=document.formu2.mois.value;}
	document.formu2.date.value=document.formu2.annee.value+"-"+redMois+"-"+"01"
	window.document.formu2.submit()
}
function formu_date(texte)
{//Transforme la date en une date conforme mysql (0 avant nombre <10)
	tabtexte=texte.split("-")
	if(tabtexte[1]*1<=9){
		tabtexte[1]="0"+tabtexte[1]
	}
	if(tabtexte[2]*1<=9){
		tabtexte[2]="0"+tabtexte[2]
	}
		texte=tabtexte.join("-")
		document.formu2.action="index.php?mois="+tabtexte[1]+"&annee="+tabtexte[0]

	document.formu2.date.value=texte;
	document.formu2.submit()
}
document.write('<form name="formu2">')
document.write('<select name="mois" style="background-color:#FFFFFF;color:#6E6E6E; border:1px solid #BABABA; font-size:9px;"  onchange="redirige()">');
//Select sur les mois
for (var m=0;m<=11;m++)
{
	if(window.location.search=='' || searchURL("mois") == 0)
	{
	//Si rien n'est passé dans l'url je sélectionne le mois qui correspond au mois actuel dans la liste déroulante
		if(m==today.getMonth())
		{
			document.write('<option value="'+(m+1)+'"selected>'+tab_mois[m]+"</option>");
		}
		else
		{
			document.write('<option value="'+(m+1)+'">'+tab_mois[m]+"</option>");
		}
	}
	else{
			var url=window.location.search;//Récupération de l'URL
			var tab_interro=url.split('?');//Cellule1: url  Cellule2: paramètres passés à la page
			var arguments=tab_interro[1].split('&');//Récupération de chaque paramètre dans une  cellule du tableau
			chiffre_mois=arguments[0].substr(5);//récupération du mois
			chiffre_annee=arguments[1].substr(6);//récupération de l'année
		//Quand m est égal au mois passé en argument je le sélectionne pour que la liste déroulante reste sur le mois souhaité
			if((m+1)==chiffre_mois)
			{
				document.write('<option value="'+(m+1)+'"selected>'+tab_mois[m]+"</option>");
			}
			else//Sinon je l'écrit normalement dans le sélect
	
			{
				document.write('<option value="'+(m+1)+'">'+tab_mois[m]+"</option>");
			}
	}
}
document.write("</select>&nbsp;");
//Séléct sur les années
document.write("<select name='annee' style='background-color:#FFFFFF;color:#6E6E6E; border:1px solid #BABABA; font-size:9px;'  onchange='redirige()'>");
for(var a=2007;a<=(today.getFullYear());a++){
	if(window.location.search=="" || searchURL("mois") == 0)	{
		//Si rien n'est passé dans l'url je sélectionne l'année qui correspond au mois actuel dans la liste déroulante
		if(a==today.getFullYear()){
			
			document.write("<option value='"+a+"'selected>"+a+"</option>\n");
		}
		else{//Sinon j'écris normalement
			document.write("<option value="+a+">"+a+"</option>\n");
		}
	}
	else//Si un argument est passé dans l'URL
	{
		var url=window.location.search;
		var tab_interro=url.split('?');
		var arguments=tab_interro[1].split('&');
		chiffre_mois=arguments[0].substr(5);
		chiffre_annee=arguments[1].substr(6);
		//Quand a est égal à l'année passé en argument je le sélectionne pour que la liste déroulante reste sur l'année souhaitée
		if(a==chiffre_annee){
			document.write("<option value='"+a+"'selected>"+a+"</option>\n");
		}
		else{//Sinon j'écris normalement dans le select
			document.write("<option value='"+a+"'>"+a+"</option>\n");
		}
	}
}
//Fin des listes déroulantes
document.write('</select><input type="hidden" name="date">')
document.write('</form>');
