// fonction pour ouvrir une nouvelle fenêtre

function ouvre(page, largeur, hauteur)
{
	ret=window.open(page,'_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width='+largeur+', height='+hauteur+', top=50, left=100');
}

function ouvre1(page, largeur, hauteur)
{
	window.open (page,'_blank','toolbar=0, location=0, directories=0, status=0, scrollbars=1, resizable=1, copyhistory=0, menuBar=0, width='+largeur+', height='+hauteur+', top=70, left=120');
}

// fonction pour ouvrir une nouvelle fenetre (associations.php - partenaire.php)

function ouvrenlle(page)
{
	window.open(page,'_blank');
}

// exécution du formulaire (commune.php)

function affiche()
{
	form=document.getElementById('f1');
	form.action='communes.php';
	form.submit();
}

// fonction pour vérifier une adresse email

/* fonction pour valider une première syntaxe pour l'email :
on verifie que c'est de la forme :
xxxxxxxx@yyyyyy.zzz
- mail non vide
- existence d'un et un seul @
- chaînes non vides avant et après l'@
- exitence d'au moins un . dans la partie suivant l'@ mais pas juste après l'@
- pas de point en dernier caractère
*/

function validmail()
{
	form=document.getElementById('f1');
	mail=document.getElementById('mail').value;
	mailform=document.getElementById('mail');
	// verification de la longueur de la chaine saisie mail
	if (mail.length==0)
	{
		alert ("Vous n'avez rien saisi");
		mailform.focus();
		return;
	}
	// recuperation de la position du premier @ => posa
	posa=mail.indexOf('@');
	// s'il n'y a pas d'@
	if (posa==-1)
	{
		alert ("Adresse incorrecte :\n une adresse email doit contenir un @");
		mailform.focus();
		return;
	}
	// si l'@ est en première position
	if (posa==0)
	{
		alert ("Adresse incorrecte :\n une adresse email ne commence pas par @");
		mailform.focus();
		return;
	}
	// si l'@ est en dernière position
	if (posa==mail.length-1)
	{
		alert ("Adresse incorrecte :\n une adresse email ne se termine pas par @");
		mailform.focus();
		return;
	}
	// si on trouve un 2ème @ => posa2
	posa2=mail.indexOf('@', posa+1);
	if (posa2 != -1)
	{
		alert ("Adresse incorrecte :\n une adresse email ne contient pas 2 @");
		mailform.focus();
		return;
	}
	// recuperation de la position du premier . après l'@ => pospt
	pospt=mail.indexOf('.', posa+1);
	// si pas de . après l'@
	if (pospt==-1)
	{
		alert ("Adresse incorrecte :\n une adresse email doit contenir un . après l'@");
		mailform.focus();
		return;
	}
	// si le . est juste après l'@
	if (pospt==posa+1)
	{
		alert ("Adresse incorrecte :\n une adresse email ne doit pas contenir un . juste après l'@");
		mailform.focus();
		return;
	}
	// s'il y a un point en dernier caractère
	posptd=mail.lastIndexOf('.');
	if (posptd==mail.length-1)
	{
		alert ("Adresse incorrecte :\n une adresse email ne doit pas contenir un . à la fin");
		mailform.focus();
		return;
	}
	form.action='enregmail.php';
	form.submit();
}

// fonction pour vérifier que le champ mail n'est pas vide avant de la supprimer
function mailpasvide()
{
	form=document.getElementById('f1');
	mail=document.getElementById('mail').value;
	mailform=document.getElementById('mail');
	// verification de la longueur de la chaine saisie mail
	if (mail.length==0)
	{
		alert ("Vous n'avez rien saisi");
		mailform.focus();
		return;
	}
	else
	{
		form.action="enregfinmail.php";
		form.submit();
	}
}

// ================ fonctions pour la page des adhérents ====================================

function fermemdp()
{
	window.opener.close();
	return;
}

function RGBToHex (couleur)
{
	if (couleur.substr(0,1)=='#')
	{
		return couleur;
	}
	else
	{
		resultat='#';
		pos1=couleur.indexOf(',');
		pos2=couleur.lastIndexOf(',');
		coul1=couleur.substring(4,pos1);
		coul2=couleur.substring(pos1+1,pos2);
		coul3=couleur.substring(pos2+1, couleur.length-1);
		coul1=parseInt(coul1);
		coul1h2=coul1 % 16;
		coul1h1=(coul1-coul1h2)/16;
		coul2=parseInt(coul2);
		coul2h2=coul2 % 16;
		coul2h1=(coul2-coul2h2)/16;
		coul3=parseInt(coul3);
		coul3h2=coul3 % 16;
		coul3h1=(coul3-coul3h2)/16;
		switch (coul1h1)
		{
			case 10: coul1h1='a';
			case 11: coul1h1='b';
			case 12: coul1h1='c';
			case 13: coul1h1='d';
			case 14: coul1h1='e';
			case 15: coul1h1='f';
		}
		switch (coul1h2)
		{
			case 10: coul1h2='a';
			case 11: coul1h2='b';
			case 12: coul1h2='c';
			case 13: coul1h2='d';
			case 14: coul1h2='e';
			case 15: coul1h2='f';
		}
		switch (coul2h1)
		{
			case 10: coul2h1='a';
			case 11: coul2h1='b';
			case 12: coul2h1='c';
			case 13: coul2h1='d';
			case 14: coul2h1='e';
			case 15: coul2h1='f';
		}
		switch (coul2h2)
		{
			case 10: coul2h2='a';
			case 11: coul2h2='b';
			case 12: coul2h2='c';
			case 13: coul2h2='d';
			case 14: coul2h2='e';
			case 15: coul2h2='f';
		}
		switch (coul3h1)
		{
			case 10: coul3h1='a';
			case 11: coul3h1='b';
			case 12: coul3h1='c';
			case 13: coul3h1='d';
			case 14: coul3h1='e';
			case 15: coul3h1='f';
		}
		switch (coul3h2)
		{
			case 10: coul3h2='a';
			case 11: coul3h2='b';
			case 12: coul3h2='c';
			case 13: coul3h2='d';
			case 14: coul3h2='e';
			case 15: coul3h2='f';
		}
				
		resultat=resultat+coul1h1+coul1h2+coul2h1+coul2h2+coul3h1+coul3h2;
		
		return resultat;
	}
}

function couleur(leno)
{
// on cree une variable de genre indefini
	var indefini;
// on regarde si la souris est sur la première ligne du tableau
	if (leno=='1' || leno=='2' || leno=='3' || leno=='4' || leno=='5' || leno=='6')
	{
	// on récupère toutes les cases du tableau
		lestd=document.getElementsByTagName('td');
		for (i=0; i<lestd.length; i++)
		{
		// on regarde si la case est définie
			if (lestd.item(i).id != '')
			{
			// on regarde si la case est sur la 1ère ligne
				name=lestd.item(i).id;
				if (name != 'td1' && name != 'td2' && name != 'td3' && name != 'td4' && name != 'td5' && name != 'td6')
				{
			// cas pas 1ere ligne : on écrit jaune sur jaune
					td=name.substr(2,2);
					cachecouleur(td);
				}
				else
				{
			// cas 1ere ligne : on écrit orange sur jaune
					td=name.substr(2,2);
					otecouleur(td);
				}
			}
		}
		// on écrit jaune sur orange sur la case sélectionnée
		metcouleur(leno);
	}
	else
	{
	// cas où la souris ne se trouve pas sur la 1ere ligne : on ne met la couleur que si la case pere est cliquée
	// nopere : no de la case pere (meme col, 1ere ligne)
		nopere=leno.substr(0,1);
		tdpere='td'+nopere;
		tdperecolor=document.getElementById(tdpere).style.backgroundColor;
	// si couleur fond case pere=#ff8f51 => la case père est cliquée
		if (RGBToHex(tdperecolor)=='#ff8f51' )
		{
		// on récupère les cases du tableau
			lestd=document.getElementsByTagName('td');
			for (i=0; i<lestd.length; i++)
			{
			// si la case du tableau est renseignée
				if (lestd.item(i).id != '')
				{
					name=lestd.item(i).id;
					td=name.substr(2,2);
					
					// si la case est celle où se trouve la souris ou si c'est celle du pere, on écrit en jaune sur orange
					if (td==leno || td==nopere)
					{
						metcouleurcl(td);
					}
					else
					{
					// sinon, on écrit en orange sur jaune si on est sur une case qui a la meme case pere
						if (td.substr(0,1)==nopere) otecouleur(td);
					}
				}
			}
		}
	}
}

function clickcoul(leno)
{
	var indefini;
	lestd=document.getElementsByTagName('td');
	for (i=0; i<lestd.length; i++)
	{
		if (lestd.item(i).id != '')
		{
			name=lestd.item(i).id;
			if (name.substr(2,1)==leno)
			{
				otecouleur(name.substr(2));
			}
		}
	}
	metcouleurcl(leno);
	
}

function metcouleur(leno)
{
// écrit en jaune sur orange			
	letd='td'+leno;
	lea='a'+leno;
	td=document.getElementById(letd);
	a=document.getElementById(lea);
	td.style.backgroundColor='rgb(255,143,80)'; //#ff8f50';
	a.style.color='#ffffb8';
	a.style.cursor='default';
}

function metcouleurcl(leno)
{
// écrit en jaune sur orange			
	letd='td'+leno;
	lea='a'+leno;
	td=document.getElementById(letd);
	a=document.getElementById(lea);
	td.style.backgroundColor='rgb(255,143,81)'; //#ff8f51';
	a.style.color='#ffffb8';
	a.style.cursor='default';
}

function otecouleur(leno)
{
// écrit en orange sur jaune			
	letd='td'+leno;
	lea='a'+leno;
	td=document.getElementById(letd);
	a=document.getElementById(lea);
	td.style.backgroundColor='rgb(255,255,184)'; //#ffffb8';
	a.style.color='#ff5f50';
//			a.style.cursor='pointer';
}

function cachecouleur(leno)
{
// écrit en jaune sur jaune + pointeur souris flèche
	letd='td'+leno;
	lea='a'+leno;
	td=document.getElementById(letd);
	a=document.getElementById(lea);
	td.style.backgroundColor='rgb(255,255,184)'; //#ffffb8';
	a.style.color='#ffffb8';
	a.style.cursor='default';
}


