/* JavaScript Document
 Fait par le LTI
 Change la taille du texte et la couleur des liens pour l'accessibilit� 
*
* Modif modele cms rb :
* ~ ligne 180 divCentral par middle / wrapper?
* 
*/

//D�fini les diff�rentes tailles de texte
var size = new Array(5);
size[1] = "xx-small";
size[2] = "x-small";
size[3] = "small";
size[4] = "medium";
size[5] = "large";

//D�fini les couleurs des liens � changer
var colorsLink = new Array();
colorsLink["rouge"] = "#CC0000";
colorsLink["rose"] = "#c21196";
colorsLink["vert"] = "#018101";
colorsLink["orange"] = "#ed6104";
colorsLink["brun"] = "#593d2a";
colorsLink["beige"] = "#957138";
colorsLink["noir"] = "#000000";
colorsLink["bleumarine"] = "#102f7b";
//colorsLink["defaut"] = "#3D88A1";

//R�cup�re la date
var exp = new Date(); 
exp.setTime(exp.getTime() + 1600000000000); 

//Fonction qui �crit le cookie
function writeCookie(name, value, expires, path, domain, secure) { 
	 var curCookie = name + "=" + escape(value) + 
		((expires) ? "; expires=" + expires.toGMTString() : "") + 
		((path) ? "; path=" + path : "") + 
		((domain) ? "; domain=" + domain : "") + 
		((secure) ? "; secure" : ""); 
	 document.cookie = curCookie; 
}

/* fonction a �t� remplac�e */
function chargerCSS_old() {
	var nbr_att = arguments.length;
	var css_style=document.createElement("link");
	css_style.setAttribute("rel", "stylesheet");
	css_style.setAttribute("type", "text/css");
	css_style.setAttribute("href", arguments[0]);
	css_style.setAttribute("media", "screen");
	if(nbr_att>1){
		for (var i = 1; i<nbr_att; i++){
			css_style.setAttribute(arguments[i][0], arguments[i][1]);
		}
	}
	document.getElementsByTagName("head")[0].appendChild(css_style);
}
/* *****************************************************************************
chargerCSS - Charge un fichier CSS envoy� en param�tre
****************************************************************************** */
function chargerCSS(fichier){
		var documentHtml = document.getElementsByTagName("head")[0];
		//on cr�e un lien css
		var lienCss = document.createElement("link");
		lienCss.type="text/css";
		lienCss.rel="stylesheet";
		lienCss.href=fichier;
		lienCss.media="screen";
		//on rajoute et l'applique le css � la page html
		documentHtml.appendChild(lienCss);
	}

/* *****************************************************************************
NavState - retourne quel est le navigateur et sa fa�on de traiter les pages
	infoCompat	= donne l'interpretation du CSS				(boolean)
	infoNav		= donne le navigateur utilis�				(boolean)
	infoVNAv	= donne la version du navigateur utilis�	(boolean)
	Ne donne que IE (-,6,7) ou/et version doctype autres cas non tra�t�s
	retour sous format : [Navigateur][, version][, mode quirks]
	ex: IE6Old, IE6New, IE7Old, IEOld, IE, New,...
	!!! pas de diff�rence entre ie7 et ie8
****************************************************************************** */
function NavState(infoCompat,infoNav,infoVNav){
var VerNavigateur = "";
var compatibilite = ""
	if (infoCompat) { //on demande quel est l'interpretation de la css
		if (document.compatMode == "BackCompat") {
					compatibilite = "Old"; // interpretation en <=ie5 - MODE QUIRKS
				} else {
					compatibilite = "New"; //interpetation de la css correcte
				}
	}// info compatibilite
	if (infoNav) { 
		if (navigator.appName == "Microsoft Internet Explorer") {
			var VerNavigateur = "IE"; //nous sommes sous IE
			if (infoVNav) { // d�coupage de userAgent pour trouver la version du navigateur
				var strChUserAgent = navigator.userAgent;
				if(strChUserAgent.indexOf("MSIE 6") != -1) {
					VerNavigateur = "IE6";
				} else {
					if(strChUserAgent.indexOf("MSIE 7") != -1) {
						VerNavigateur = "IE7"; //ie8 �galement
					}
				}
			}//info Version nav
		}
	} // info nav
	return VerNavigateur+compatibilite
}

//fonction qui lit le cookie, s'il existe
function readCookie() {
	var cookieSizeVal = 1;
	var cookieColorVal = 1;
	var cookieSizeBool = false;
	var cookieColorBool = false;
	if (document.cookie!=""){
		//R�cup�rer la valeur du cookie
		var le_cookie = document.cookie;
		le_cookie = unescape(le_cookie); 
		var tab_cookie = le_cookie.split("; ");
		for (i = 0; i < tab_cookie.length; i++)
		{
			tab_data = tab_cookie[i].split("=");
			if (tab_data[0] == "fontSize") {
				cookieSizeVal = tab_data[1];
				cookieSizeBool = true;
			} else {
				if (tab_data[0] == "colorLink")
				{
					cookieColorVal = tab_data[1];
					cookieColorBool = true;
				}
			}
		}
		
		if ((!cookieSizeBool) && (!cookieColorBool))
		{
			return;
		} else {
			//Taille du texte
			if (cookieSizeBool)
			{
				//alert('info : taille du texte');
				if (isNaN(cookieSizeVal)) {
					cookieSizeVal = 1;
				}
				cookieSizeVal = parseInt(cookieSizeVal);
				//Pour sur IE 6, 7 et 8 (version futures � v�rifier)
				//et si l'interpretation de la css mauvaise
				if (NavState(true,true,false)=='IEOld') { 
					cookieSizeVal=cookieSizeVal-1;
					//on diminue la taille du texte de 1 � l'affichage
				}
				if (cookieSizeVal < 1) {
					cookieSizeVal = 1;
				}else if (cookieSizeVal > 5) {
					cookieSizeVal = 5;
				}
				//Parcours tous les tags dans la page au chargement de la page
				var all = document.all ? document.all : document.getElementsByTagName("*");
				var tagList = document.getElementsByTagName("*");
				//Si oui, r�cup�re le coockie fontSize et l'applique � tous les tags de la page
				for (var i = 0; i < all.length; i++) {
					tagList[i].style.fontSize = size[cookieSizeVal];
				}
			}

			//Couleur du texte
			if (cookieColorBool)
			{
				//alert('info : couleurs de liens');
				//Parcours tous les liens qui sont dans le div central
				//var divCentral = document.getElementById("texte_central");
				var divCentral = document.getElementById("middle");
				//if (divCentral == null)
				//{
				//	divCentral = document.getElementById("actualites");
				//}
				var lienListe = divCentral.getElementsByTagName("a");
				var codeColor = colorsLink[cookieColorVal];
				if (codeColor) {
					//document.styleSheets[0].rules[0].style.a.color="red"
					//Change la couleur de tous les liens contenus dans l'array lienListe
					for (var i = 0; i < lienListe.length; i++) {
						lienListe[i].style.color = codeColor;
					}//fin de for
				} //if !codeColor
			}
		}
	} else {
		return;
	}
}


function sizeText(pInc) {
	var cookieVal = 1;
	if (document.cookie!=""){
		//R�cup�rer la valeur du cookie
		var le_cookie = document.cookie; 
		le_cookie = unescape(le_cookie); 
		var tab_cookie = le_cookie.split("; ");
		for (i = 0; i < tab_cookie.length; i++) {
			tab_data = tab_cookie[i].split("=");
			if (tab_data[0] == "fontSize") {
				cookieVal = tab_data[1];
			}
		}
	} else {
		cookieVal = 1;
	}

	if (isNaN(cookieVal)) {
		cookieVal = 1;
	}

	cookieVal = parseInt(cookieVal);
	cookieVal += parseInt(pInc);
	
	if (cookieVal < 1) {
		cookieVal = 1;
	}else if (cookieVal > 5) {
		cookieVal = 5;
	}
	writeCookie('fontSize', cookieVal, exp, '/', false, false);
	readCookie();
}//fin de sizeText()


function colorLink(pColor) {
	var cookieVal = "";
	if(pColor) {
		cookieVal = pColor;
		writeCookie('colorLink', cookieVal, exp, '/', false, false);
		readCookie();
	} else {
		//on r�tablit la couleur par d�faut
		writeCookie('colorLink', "",'', '/', false, false);
		window.location.reload();
	}
}//fin de changeColor()
