	

	var t;			

	// taille du bloc
	t = 1;
	// valeur de t par défaut
	tdefaut = 1;
	
	// t de la fonction changerTaille avant l'ajout de la modification
	var tdeb;
	
	// varaible qui compte le nombre de fois ou on passe dans la fonction changerTaille
	var compteur = 0;
	
	// gestion du cookie gérant le style choisi par l'utilisateur
	var cookie = readCookie("style");
	// on récupere le style choisi par l'utilisateur ou on applique le style par défaut
	var tCookie = cookie ? cookie : 0;
	
	// fonction normalement appellée au chargement de la page
	window.onload = function(e) 
	{
		
		// si la variable tdeb n'a pas de valeur cela signifie que la fonction changerTaille n'a pas encore été appelée
		if(!tdeb)
		{
			// appel de la fonction chargementStyle en fonction des valeurs du cookie
			if(tCookie == 1.1)
			  chargementStyle(1);
			else if (tCookie == 1.2)
				chargementStyle(2);
			else if (tCookie == 0.9)
				chargementStyle(3);
			else if(tCookie == 1 || tCookie == 0)
				chargementStyle(0);
		}
	}
	
	function suppressionStyleBody()
	{
		document.body.className = "";
	}
	
	// fonction qui permet de supprimer les feuilles de styles associées a une taille particuliere de texte si elles existent déja
	function suppressionStylesExistants(nom_style)
	{
		// si on a déja chargé un css, on le supprime
		if(document.getElementById(nom_style))
		{
			style = document.getElementById(nom_style);
			
			if(document.getElementById(nom_style))
			{
				document.getElementById(nom_style).href = "";
			}
		}
	}
	
	// fonction qui permet de changer la taille de la police
	// passe ensuite le relai a une fonction qui charge les css en rapport avec le choix de l'utilisateur
	function changerTaille(modif) 
	{
		// on prend la valeur du cookie s'il s'agit de la premiere fois qu'on passe dans cette fonction
		if(compteur == 0 && parseFloat(tCookie) > 0) t = tCookie;
		
		t = parseFloat(t);
		
		if(t.toFixed(1) < 0.9)	t = 0.9;
		if(t.toPrecision(2) > 1.2) t = 1.2;
		
		// si modif est égal a 0, cela signifie que l'utilisateur veut revenir a la police par défaut
		if(modif == 0)
			t = 1;
			
		// t avant modification
		tdeb = t; 
		t = t + modif;	
		t = parseFloat(t);
			
		// tests en fonction de la valeur de t
		if(t.toFixed(1) == 0.9)
		{
			cssDom(3);	
			createCookie("style", 0.9, 365);
			alerteTailleTexte(3);
		}
		
		if(t.toFixed(1) == 1)
		{
			cssDom(0);
			createCookie("style",1,365);
		}
		
		if(t.toPrecision(2) == 1.1)
		{ 
			cssDom(1); 
			createCookie("style", 1.1, 365);
		}
		
		if(t.toPrecision(2) == 1.2)
		{
			cssDom(2);	
			createCookie("style", 1.2, 365);
			alerteTailleTexte(2);	
		}
		
		// la variable ocmpteur est incrémentée a chaque fois qu'on passe par cette fonction	
		compteur++;
	} 	

	// fonction qui charge les css
	function cssDom(id_style)
	{
		suppressionStylesExistants("style" + 1);
		suppressionStyleBody();	
		
		document.body.className = "zoom" + id_style;
		
		creationLink("style" + 1,id_style,"style");
		chargementStyle(id_style);
	}
	
	function chargementStyle(id_style)
	{
		/*if((id_style == 2 || id_style == 1) && document.getElementById("premContent"))
		{
			document.getElementById("premContent").style.height = "500px";	
		}
		else if((id_style == 3 || id_style == 0) && document.getElementById("premContent"))
		{
			document.getElementById("premContent").style.height = "360px";	
		}*/
		
		if(id_style == 0) return;
		
		if(document.getElementsByName("titre")[0] && document.getElementsByName("titre")[0].nodeName == "INPUT") 
		{
			if(id_style == 1)
				document.getElementsByName("titre")[0].setAttribute("size",80);
			if(id_style == 2)
				document.getElementsByName("titre")[0].setAttribute("size",70);
		}
		
		
		if(document.getElementById('prop_ok'))
		{
			if(id_style == 1)
			{
				document.getElementById('prop_ok').setAttribute("size",40);
				if(navigator.appName == "Microsoft Internet Explorer")
				{
					/*temp = navigator.appVersion.split("MSIE");
					versionNavigateur = parseFloat(temp[1]);
					
					if(versionNavigateur < "7.0")
						document.getElementById("prop_ok").setAttribute("size",30);	
					else*/
						document.getElementById("prop_ok").setAttribute("size",35);	
					
				}
			}
			else if(id_style == 2)
			{
				document.getElementById("prop_ok").setAttribute("size",30);	
				if(navigator.appName == "Microsoft Internet Explorer")
				{
					temp = navigator.appVersion.split("MSIE");
					versionNavigateur = parseFloat(temp[1]);
					
					if(versionNavigateur < "7.0")
						document.getElementById("prop_ok").setAttribute("size",20);	
					
					
				}
			}
		}
	}
	
	
	// fonction pour créer une boîte d'alerte en fonction de la taille prise par le texte
	function alerteTailleTexte(id_style)
	{
		if(id_style == 3)
		{
			alert("La plus petite taille a été atteinte");	
		}
		else if(id_style == 2)
		{
			alert("La plus grande taille a été atteinte");	
		}
	}
	
	// permet de créer une balise link et de l'ajouter au head
	function creationLink(id,id_style,nom_css)
	{
		if(id_style == 0)
			href = "/library/css/" + nom_css + ".css";
		else href = "/library/css/" + nom_css + id_style + ".css";
		
		if(document.getElementById(id))
		{
			style = document.getElementById(id);
			style.setAttribute('href',href);
		}
		else
		{
			var inc = document.createElement('link');
			inc.setAttribute('type','text/css');
			inc.setAttribute('rel','stylesheet');
			inc.setAttribute('media','screen');
			inc.setAttribute("id",id);
			inc.setAttribute('href',href);
			document.getElementsByTagName('head').item(0).appendChild(inc);	
		}
	}
	
	// fonction de création du cookie
	// name : nom du cookie
	// value : valeur du cookie
	// days : durée de vie du cookie
	function createCookie(name,value,days) 
	{
		if (days) {
		  var date = new Date();
		  date.setTime(date.getTime()+(days*24*60*60*1000));
		  var expires = "; expires="+date.toGMTString();
		}
		else expires = "";
		// création du cookie
		document.cookie = name + "=" + value + expires + "; path=/";
	}
	
	
	// lecture du cookie
	// name : nom du cookie
	function readCookie(name) 
	{
		var nameEQ = name + "=";
		var ca = document.cookie.split(';');
		for(var i=0;i < ca.length;i++) 
		{
		  var c = ca[i];
		  while (c.charAt(0)==' ') c = c.substring(1,c.length);
		  if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
		}
		return null;
	}
	
	function getElementsByClassName(className, tag, elm)
	{
		var testClass = new RegExp("(^|s)" + className + "(s|$)");
		var tag = tag || "*";
		var elm = elm || document;
		var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
		var returnElements = [];
		var current;
		var length = elements.length;
		for(var i=0; i<length; i++)
		{
			current = elements[i];
			if(testClass.test(current.className))
			{
				returnElements.push(current);
			}
		}
		return returnElements;
	}

	
	
	/*function chargementStyle(id_style)
	{
		// pour supprimer les styles existants
		nom_style = "style";
		for(i = 0 ; i < 7 ; i++)
		{
			if(i != 0) nom_style = "style" + i;
			suppressionStylesExistants(nom_style);
		}
		
		// si le parametre vaut 0, il n'y a pas de css a charger, on quitte la fonction
		if(id_style == 0) return;
		
		// variables qui permettent ensuite de stocker la présence ou non de feuilles de style
		// styleTobias permet de tester la présence de la feuille css tobias.css dans le code html
		var styleTobias = false;
		var styleForum = false;
		var styleForumWrite = false;
		var styleForumNewsletter = false;
		var styleAccueil = false;
		
		// série de tests au niveau des styles importés dans la page
		enfantsHead = document.getElementsByTagName("head")[0].childNodes;
		var element;
		for(i = 0 ; i < enfantsHead.length ; i++)
		{
			if(enfantsHead[i].nodeName == "STYLE")
			{
				if(enfantsHead[i].innerHTML.lastIndexOf("tobias.css") != -1)
				{
					styleTobias = true;	
				}
				if(enfantsHead[i].innerHTML.lastIndexOf("forum.css") != -1)
				{
					styleForum = true;
				}
				if(enfantsHead[i].innerHTML.lastIndexOf("forum_write.css") != -1)
				{
					styleForumWrite = true;	
				}
				// test pour le cas ou on est sur le forum
				// augmentation de la taille de la page
				if(enfantsHead[i].innerHTML.lastIndexOf("forum_newsletter.css") != -1)
				{
					styleForumNewsletter = true;
				}
				if(enfantsHead[i].innerHTML.lastIndexOf("accueil.css") != -1)
				{
					styleAccueil = true;
				}
			}
		}
	
		if((id_style == 2 || id_style == 1) && document.getElementById("premContent"))
		{
			//style = document.getElementById("premContent").getAttribute("style");
			document.getElementById("premContent").style.height = "500px";	
		}
		else if((id_style == 3 || id_style == 0) && document.getElementById("premContent"))
		{
			document.getElementById("premContent").style.height = "360px";	
		}
		
		// le navigateur est IE
		if(navigator.appName == "Microsoft Internet Explorer")
		{
			// création des balises pour l'import des styles
			var indice = 1;
			creationLink("style" + indice,id_style,"reset");     
			indice++;
			
			creationLink("style" + indice,id_style,"layout");     
			indice++;
			
			// si la feuille de style tobias.css est incluse, on ajoute sa feuille de style associée pour augmenter ou diminuer la taille du texte
			if(styleTobias == true)
			{
				creationLink("style" + indice,id_style,"tobias");     
				indice++;
			}
			
			// si la feuille de style forum.css est incluse, on ajoute sa feuille de style associée pour augmenter ou diminuer la taille du texte
			if(styleForum == true)
			{
				creationLink("style" + indice,id_style,"forum");     
				indice++;
			}
			
			// si la feuille de style forum_write.css est incluse, on ajoute sa feuille de style associée pour augmenter ou diminuer la taille du texte
			if(styleForumWrite == true)
			{
				creationLink("style" + indice,0,"forum_write");     
				indice++;
			}
			
			if(styleAccueil == true)
			{
				creationLink("style" + indice,id_style,"accueil");     
				indice++;
			}
			
			// on vérifie la version d'IE et suivant cette version on inclut des feuilles de style différentes 
			temp = navigator.appVersion.split("MSIE");
			versionNavigateur = parseFloat(temp[1]);
			
			if(versionNavigateur >= "7.0")
				version = "7";
			else 
				version = "";
			
			creationLink("style" + indice,id_style,"layoutie" + version + "-"); 
			indice++;
			
			// en cas d'agrandissement de la taille du forum
			if(styleForumNewsletter == true)
			{
				creationLink("style" + indice,0,"forum_newsletter");     
				indice++;	
			}
			
			
			document.body.className = "zoom"+id_style;
			
			alert(document.body.className);
		}
		else
		{ // le nvaigateur n'est pas IE
			// noeud de texte pour les imports de css
			
			document.body.class = "zoom"+id_style;
			
			
			texteCss = "<!-- @import url(\"/library/css/reset"+id_style+".css\"); @import url(\"/library/css/layout"+id_style+".css\"); ";
			// si la feuille de style tobias.css est incluse, on ajoute sa feuille de style associée pour augmenter ou diminuer la taille du texte
			if(styleForumNewsletter == true)
				texteCss += " @import url(\"/library/css/forum_newsletter.css\");";	
			if(styleTobias == true)
				texteCss += " @import url(\"/library/css/tobias"+id_style+".css\");";
			if(styleForum == true)
				texteCss += " @import url(\"/library/css/forum"+id_style+".css\");";
			if(styleForumWrite == true)
				texteCss += " @import url(\"/library/css/forum_write.css\");";
			if(styleAccueil == true)
				texteCss += " @import url(\"/library/css/accueil"+id_style+".css\");";
			
			texteCss += "-->";
			texte = document.createTextNode(texteCss);
			// noeud de style pour les imports
			style = document.createElement("style");
			// changement d'attributs
			style.setAttribute("id","style");
			style.setAttribute("media","all");
			style.setAttribute("type","text/css");
			style.appendChild(texte);
			// ajout du style a la balise head
			document.getElementsByTagName("head")[0].appendChild(style);
		} // fin du if : le navigateur n'est pas IE
		
		// pour le traitement du formulaire d'écriture d'un message		
		if(styleForumWrite == true && document.getElementsByName("titre")[0])
		{
			if(id_style == 1)
				document.getElementsByName("titre")[0].setAttribute("size",80);
			if(id_style == 2)
				document.getElementsByName("titre")[0].setAttribute("size",70);
		}
	} // fin de fonction chargementStyle
	*/
