/*************************************************************************************************/
//GESTION DES IMAGES
/*************************************************************************************************/
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
/*************************************************************************************************/
//FIN GESTION DES IMAGES
/*************************************************************************************************/



/*************************************************************************************************/
//GESTION DES POPUPS
/*************************************************************************************************/
/*function resizePopUp(monImage, monTitre)
{
	w = window.open('','chargement','width=10,height=10,scrollbars=yes,screenX=0,screenY=0');
	w.document.write( "<html><head><title>"+monTitre+"</title>\n" );
	w.document.write( "<" + "script language='JavaScript'>\n");
	w.document.write( "IE5=NN4=NN6=false;\n");
	w.document.write( "if(document.all)IE5=true;\n");
	w.document.write( "else if(document.getElementById)NN6=true;\n");
	w.document.write( "else if(document.layers)NN4=true;\n");
	w.document.write( "function autoSize() {\n");
	//w.document.write( "alert(document.images[0].width + ' ' + document.images[0].height);\n");
	w.document.write( "if(IE5) self.resizeTo(document.images[0].width+35,document.images[0].height+65);\n");
	//w.document.write( "else if(NN6) self.sizeToContent();\n");
	w.document.write( "else window.resizeTo(document.images[0].width+25,document.images[0].height+55);\n");
	w.document.write( "self.focus();\n");
	w.document.write( "}\n</scri");
	w.document.write( "pt>\n");
	w.document.write( "</head><body leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 onLoad='javascript:autoSize();'>" );
	w.document.write( "<div align=\"center\"><a href='javascript:window.close();'><img alt="" src='"+monImage+"' border=0 alt='"+monTitre+"'></a></div>" );
	w.document.write( "</body></html>" );
	w.document.close();
}*/

/*resize selon IE ou pas*/
function resizeGlobal(width, height) {
IE5=false;
if(document.all)IE5=true;
if(IE5) window.resizeTo(width+8,height+35);
else window.resizeTo(width,height);
self.focus();
}

/*ouverture d'une popup, qui devra se resizer elle même*/
function popItUp(maPage){
	/*on recupère la racine d'adresse, a laquelle on rajoutera la page voulue*/
	adress = window.location.href;
	adress = adress.substring(0, adress.lastIndexOf("/")+1);
	adress += maPage;
	w = window.open('','chargement','width=10,height=10,scrollbars=no,screenX=0,screenY=0,status=no');
	w.location.href = adress;
}	

/*************************************************************************************************/
//FIN GESTION DES POPUPS
/*************************************************************************************************/



/*************************************************************************************************/
//GESTION DES ENTREES FORMULAIRES
/*************************************************************************************************/
function limit_txtarea(zone,maxlen,nbligne){
	var pos=0;
	var nb=0;
	if(zone.value.length>=maxlen) zone.value=zone.value.substring(0,maxlen);
	for(i=0;i<nbligne;i++){
		if(zone.value.indexOf("\n",pos)>-1){
			nb++;
			pos=zone.value.indexOf("\n",pos);
			if(nb>=nbligne) zone.value=zone.value.substring(0,pos);
			pos++;
		}
	}
}

function test_isvalidlog(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup != "-")
						return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

function test_isvalidtext(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	var expression2 = /\S/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup.search(expression2)!=-1){
				/*	if(recup != "-" && recup != "é" && recup != "è" && recup != "ê" && recup != "ë" && recup != "ã" && recup != "à" && recup != "ä" && recup != "â" && recup != "ù" && recup != "û" && recup != "ü" && recup != "ï" && recup != "î" && recup != "õ" && recup != "ô" && recup != "ö" && recup != "ÿ" && recup != "ç")*/
						return true; // false
				}
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

function test_isvaliddate_fr(totest, separateur, totalsize){
	//taille date separateurs compris
	if(totest.length != totalsize)
		return false;
		
	//expression reguliere: un entier
	var expression = /\d/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			
			if(j!=3 && j!=6){
				//si pas chiffre, on sort en retournant false
				if(recup.search(expression)==-1)
					return false;
			}
			else{
				//si pas separateur, on sort en retournant false
				if(recup != separateur)
						return false;
			}
	}
	//on sort avec true si totest est bien une date fr
	return true;
}

function test_isvalidcode(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	var expression2 = /\S/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup.search(expression2)!=-1){
					if(recup != "-")
						return false;
				}
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

//verifie si l'entree est un nombre entier
function test_isint(totest){
	//expression reguliere: un entier
	var expression = /\d/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas un entier, on sort en retournant false
			if(recup.search(expression)==-1){
				return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

//verifie si l'entree est un nombre a virgule
function test_isfloat(totest){
	//expression reguliere: un entier
	var expression = /\d/;
	//virgule trouvée?
	var virgule = false; 
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas un entier, on sort en retournant false
			if(recup.search(expression)==-1){
				if(!virgule && recup == ".")
					virgule = true;
				else
					return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

//verification : totest>=0
function test_ispositive(totest){
	if(totest<0)
		return false;
	else
		return true;
}

function test_isvalidmail(totest){

	//expression reguliere: autre chose qu'un alphanum ou _ ou @ ou .
	var expression = /\W/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1){
				if(recup != "@" && recup != "." && recup != "-"){
							return false;
				}
			}
	}
	//test @ et .
	res1 = totest.indexOf("@");
	res2 = totest.lastIndexOf("@");
	//cas refusés: pas de @, plusieurs @
	if(res1 == -1 || res1 != res2)
		return false;
	else{
		//test sur le point
		res3 = totest.lastIndexOf(".");
		//cas refusés: pas de point, le dernier point avant le @, le dernier point collé au @, point dernier caractere
		if(res3 == -1 || res3 < res1 || (res1+1) == res3 || res3 == (totest.length-1))
			return false;
	}
	
	//on sort avec true si totest est bien un mail
	return true;
}

function test_isvalidalphas(totest){
	//expression reguliere: autre chose qu'un alphanum ou _
	var expression = /\W/;
	//test de chaque element de totest
	for(var j=1; j<=totest.length; j++){
			recup=totest.charAt(j-1);
			//si pas ok, on sort en retournant false
			if(recup.search(expression)!=-1)
				return false;
			else {
				if(recup == "_" || recup == "0" || recup == "1" || recup == "2" || recup == "3" || recup == "4" || recup == "5" || recup == "6" || recup == "7" || recup == "8" || recup == "9")
					return false;
			}
	}
	//on sort avec true si totest est bien un int
	return true;
}

//verifie si l'entree est un siren valide
function test_isvalidsiren(totest){
	//un entier de 9 chiffres
	if(totest.length != 9)
		return false;
	else{
		if(!test_isint(totest))
			return false;
		else
			return test_ispositive(totest);
	}			
}

//verifie si l'entree est une tva intra valide
function test_isvalidtvaintra(totest){
	//un code de 13 caracteres
	if(totest.length != 13)
		return false;
	else{
		//2 lettres
		if (!test_isvalidalphas(totest.substring(0,2)))	
			return false;
		//11 chiffres
		if (!test_isint(totest.substr(2,11)))
			return false;
		else
			return test_ispositive(totest);
	}		
}

/*************************************************************************************************/
//FIN GESTION DES ENTREES FORMULAIRES
/*************************************************************************************************/

/*************************************************************************************************/
//GESTION KEYPRESS
/*************************************************************************************************/
// touche entrée valide formulaire	
function post_forms(from){
	switch(from){
		case "adherent":
		alert("L'espace adherent sera disponible prochainement.\nPour toute question specifique vous concernant, n'hesitez pas a nous contacter.");
		break;
	}
}
//annulation submit on enter
function enter_off(e, from){
	var hotkey=13;
	if ((navigator.appName == 'Netscape') || (document.layers)){
	if (e.which==hotkey){
			//window.location = "javascript:document.formadmin.submit();";
			//alert("entree off");
		}
	}
	else if (document.all){
	if (event.keyCode==hotkey){
			//window.location = "javascript:document.formadmin.submit();";
			//alert("entree off");
		}
	}
}
//traitement actif de entree
function enter_on(e, from){
	var hotkey=13;
	if ((navigator.appName == 'Netscape') || (document.layers)){
	if (e.which==hotkey)
		post_forms(from);
	}
	else if (document.all){
	if (event.keyCode==hotkey)
		post_forms(from);
	}
}
//recuperation des evenements selon formulaire d'origine
function general_keypressed(e){
	enter_off(e, "general");
}
function contact_keypressed(e){
	enter_off(e, "contact");
}
function adh_keypressed(e){
	enter_on(e, "adherent");
}
function simul_keypressed(e){
	enter_off(e, "simul");
}
/*************************************************************************************************/
//FIN GESTION KEYPRESS
/*************************************************************************************************/