﻿if(typeof LOC == 'undefined') {
	var LOC = {};
}
LOC.gRub = 6;
LOC.initInitiativesThumbs = function(){
	//initialisation du tween de la popin
	var popin = document.getElementById("popin");
	popin.t1 = new OpacityTween(popin,Tween.RegularEaseIn, 100, 50, 0.5);
	popin.t1.continueTo(0, 0.5);
	//annul href des liens focuspopin et focusdesc spécial screen-readers
	if(document.getElementById("focuspop")) document.getElementById("focuspop").onclick = function(){
		return false;
	}
	//boucle sur les thumbs
	var thumbs_arr = document.getElementById("initiativesThumbs").getElementsByTagName("div");
	var indice = 0;
	for(var i=0; i<thumbs_arr.length; i++){
		var thumb = thumbs_arr[i];
		thumb.obj = LOC.initiatives[i];
		if(thumb.className.indexOf("off")<0 && thumb.className.indexOf("thumb")>=0){
			//pour tracer les objets dans une alerte
			var trace = "";
			for(mul in thumb.obj){
				trace += "\n" + mul +":"+ thumb.obj[mul];
			}
			//alert("indice = " + indice + "\n" + trace);
			thumb.i = indice;
			thumb.actif = true;//actif détermine si les rollovers et clicks sont activés (pour les filtres et les highlights)
			thumb.onmouseover = thumb.onfocus = function(){
				if(this.actif){
					this.style.cursor = "hand";
					var rollon = document.getElementById("rollon");
					if(rollon){
					rollon.style.display = "none";
					//on update les datas de rollon par la fonction setView() déclarée plus bas
					LOC.setView(rollon, this.obj, "<br /><br /><strong>Cliquez pour en savoir plus...</strong>");
					rollon.style.display = "block";
					//on baisse l'alpha des autres vignettes par la fonction initiativesRollOver() déclarée plus bas
					LOC.initiativesRollOver(this.i);
					}
				}
			};
			thumb.onmouseout = thumb.onblur = function(){
				if(this.actif){
					this.style.cursor = "default";
					var rollon = document.getElementById("rollon");
					if(rollon){
					rollon.style.display = "none";
					//on vide rollon
					LOC.setView(rollon);
					//on remêt l'alpha des autres vignettes à 100 par la fonction initiativesRollOut() déclarée plus bas
					LOC.initiativesRollOut();
					}
				}
			};
			thumb.onclick = function(){
				//pour tracer l'objet dans une alerte
				var trace = "";
				for(mul in this.obj){
					trace += "\n" + mul +":"+ this.obj[mul];
				}
				//alert(trace);
				if(this.actif){
					if(!LOC.screenReaderActif){
						var popin = document.getElementById("popin");
						popin.style.display = "none";
						//on update les datas de la popin
						LOC.setView(popin, this.obj);
						popin.style.display = "block";
						//bouton close, on retrouve le <span> de #popin avec className "close"
						var closet = null;
						var spans = popin.getElementsByTagName("span");
						for(var n=0; n<spans.length; n++){
							if(spans[n].className.indexOf("close") >= 0){
								closet = spans[n];
								break;
							}
						}
						if(closet !== null){
							closet.thumb = this;
							closet.onclick = function(){
								var popin = document.getElementById("popin");
								var cache = document.getElementById("cacheLesTrucs");
								popin.style.display = "none";
								cache.style.display = "none";
								//on vide la popin
								LOC.setView(popin);
								//animation fade-out alpha popin
								popin.t1.continueTo(0, 0.5);
								//focus sur le thumb - pour les screen-readers qui n'ont pas été détecté par le SWF
								//suppression de ce code car effet môche pour les autres et screenreaders+flash sont détectés
								//this.thumb.actif = false;
								//this.thumb.getElementsByTagName("a")[0].focus();
								//this.thumb.actif = true;
								//et on kill le rollover - pour les autres...
								//setTimeout('LOC.setView(document.getElementById("rollon"));document.getElementById("rollon").style.display="none";LOC.initiativesRollOut();', 100);
								//pour bloquer le href du bouton close
								return false;
							};
						}
						//pour bloquer les rollovers sous la popins, on montre cacheLesTrucs
						var cache = document.getElementById("cacheLesTrucs");
						cache.style.display = "block";
						//animation fade-in alpha popin
						popin.t1.continueTo(100, 0.5);
						//on force le focus sur #focuspopin - pour les screen-readers qui n'ont pas été détecté par le SWF
						document.getElementById("focuspop").focus();
						//pour bloquer le href
						return false;
					}
					else{
						var hurle = this.getElementsByTagName("a")[0].href;
						top.location.href = hurle;
					}
				}
			};
			//focus et blur sur le a
			var lien = thumb.getElementsByTagName("a")[0];
			lien.thumb = thumb;
			lien.onfocus = function(){
				this.thumb.onmouseover();
			};
			lien.onblur = function(){
				this.thumb.onmouseout();
			};
			//initialisations des tweens des thumbs
			//tween vignette
			var img = thumb.getElementsByTagName("a")[0].getElementsByTagName("img")[0];
			thumb.t1 = new OpacityTween(img,Tween.regularEaseIn, 100, 50, 0.5);
			//tween flèche rollover
			var fleche = thumb.getElementsByTagName("span")[0];
			thumb.t2 = new OpacityTween(fleche,Tween.regularEaseIn, 0, 50, 0.5);
			//on avance dans la boucle
			indice ++;
		}
	}
};
//LOC.setView pour mettre à jour #rollon et #popin
LOC.setView = function(lyr, obj, clickInvite){
	//lyr: popin ou rollon
	//obj: les datas à afficher [optionnel, si null, on crée un objet avec des string vides]
	//clickInvite: message invitation au click rajoutée pour les rollovers [optionnel]
	var elts = {};
	//l'image présente dans lyr qui a une className "image"
	var images = lyr.getElementsByTagName("img");
	for(var n=0; n<images.length; n++){
		if(images[n].className.indexOf("image") >= 0){
			elts.img = images[n];
		}
	}
	//les spans qui ont les className attendus
	var spans = lyr.getElementsByTagName("span");
	for(var n=0; n<spans.length; n++){
		if(spans[n].className.indexOf("type") >= 0){
			elts.type = spans[n];
		}
		if(spans[n].className.indexOf("title") >= 0 && spans[n].className.indexOf("subtitle") < 0){
			elts.title = spans[n];
		}
		if(spans[n].className.indexOf("subtitle") >= 0){
			elts.subtitle = spans[n];
		}
		if(spans[n].className.indexOf("desc") >= 0){
			elts.desc = spans[n];
		}
	}
	//si obj non défini, c'est qu'on veut vider lyr, on crée l'obj qui va bien avec des string vides
	if(!obj){
		obj = {};
		obj.page_image = LOC.gSite + "html/common/Img/dot.gif";
		obj.type_desc = "";
		obj.resume_desc = "";
		obj.resume_desc2 = "";
		obj.page_texte = "";
	}
	//on applique les datas contenues dans obj aux éléments retrouvés
	if(elts.img){ elts.img.src = obj.page_image;}
	if(elts.type){
		elts.type.className = "type typeCode" + obj.type_code;
		elts.type.innerHTML = obj.type_desc;
	}
	if(elts.title){ elts.title.innerHTML = "<strong>" + obj.resume_desc + "</strong>";}
	if(elts.subtitle){ elts.subtitle.innerHTML = obj.resume_desc2;}
	if(clickInvite){ elts.subtitle.innerHTML += clickInvite;}
	if(elts.desc){ elts.desc.innerHTML = obj.page_texte;}
};
//LOC.initiativesRollOver() pour highlight d'une vignette (en fait, on baisse les autres...)
LOC.initiativesRollOver = function(n){
	var thumbs_arr = document.getElementById("initiativesThumbs").getElementsByTagName("div");
	var indice = 0;
	for(var i=0; i<thumbs_arr.length; i++){
		var thumb = thumbs_arr[i];
		if(thumb.className.indexOf("off")<0 && thumb.className.indexOf("thumb")>=0){
			if(indice!=n){
				if(thumb.actif){
					thumb.t1.continueTo(50, 0.5);
				}
			}
			else{
				var pourcent = LOC.IE7 ? 80 : 100;
				thumb.t2.continueTo(pourcent, 0.5);
			}
			indice ++;
		}
	}
};
//LOC.initiativesRollOut pour retour à la normale au rollout d'une vignette
LOC.initiativesRollOut = function(n){
	var thumbs_arr = document.getElementById("initiativesThumbs").getElementsByTagName("div");
	var indice = 0;
	for(var i=0; i<thumbs_arr.length; i++){
		var thumb = thumbs_arr[i];
		if(thumb.className.indexOf("off")<0 && thumb.className.indexOf("thumb")>=0){
			if(thumb.actif){
				thumb.t1.continueTo(100, 0.5);
				thumb.t2.continueTo(0, 0.5);
			}
			indice ++;
		}
	}
};
//initialisation des filtres
LOC.filtresInitiatives = function(){
	//Actions combo1
	var combo = document.getElementById("combo1");
	var li_arr = combo.getElementsByTagName("li");
	for(var i=0; i<li_arr.length; i++){
		var el = li_arr[i].getElementsByTagName("a")[0];
		el.onclick = function(){
			LOC.filtreCategoryInitiatives(this.id.substring(this.id.length-1));
			//bloquer href
			return false;
		};
	}
	//Actions combo2
	var combo = document.getElementById("combo2");
	var li_arr = combo.getElementsByTagName("li");
	for(var i=0; i<li_arr.length; i++){
		var el = li_arr[i].getElementsByTagName("a")[0];
		el.onclick = function(){
			LOC.filtreRegionInitiatives(this.id.substring(this.id.length-1));
			//bloquer href
			return false;
		};
	}
	//filtre par défaut
	//LOC.defaultType initialisée dans la façade, provient de l'URL &defaultType=catX
	//si identique à id d'un item de la combo, on exécute son onclick
	if(LOC.defaultType && LOC.defaultType !== ""){
		var combo = document.getElementById("combo1");
		var li_arr = combo.getElementsByTagName("li");
		for(var i=0; i<li_arr.length; i++){
			var el = li_arr[i].getElementsByTagName("a")[0];
			 if(el.id == LOC.defaultType){
				el.onclick();
				LOC.defaultType = null;
				break;
			}
		}
	}
};
LOC.filtreCategoryInitiatives = function(id){
	/*alert("id = " + id);*/
	var thumbs_arr = document.getElementById("initiativesThumbs").getElementsByTagName("div");
	for(var i=0; i<thumbs_arr.length; i++){
		var thumb = thumbs_arr[i];
		if(thumb.getElementsByTagName("a")[0]){
			if(thumb.obj.type_code == id || id == "0"){
				thumb.actif = true;
				thumb.getElementsByTagName("a")[0].style.cursor = "hand";
				thumb.t1.continueTo(100, 0.5);
			}
			else{
				thumb.actif = false;
				thumb.getElementsByTagName("a")[0].style.cursor = "default";
				thumb.t1.continueTo(30, 0.5);
			}
		}
	}
};
LOC.filtreRegionInitiatives = function(id){
	/*alert("id = " + id);*/
	var thumbs_arr = document.getElementById("initiativesThumbs").getElementsByTagName("div");
	for(var i=0; i<thumbs_arr.length; i++){
		var thumb = thumbs_arr[i];
		if(thumb.getElementsByTagName("a")[0]){
			if(thumb.obj.region_code == id || id == "0"){
				thumb.actif = true;
				thumb.getElementsByTagName("a")[0].style.cursor = "hand";
				thumb.t1.continueTo(100, 0.5);
			}
			else{
				thumb.actif = false;
				thumb.getElementsByTagName("a")[0].style.cursor = "default";
				thumb.t1.continueTo(30, 0.5);
			}
		}
	}
};
//focus par tabulation
LOC.initFocusTab = function(){
	var eltsbold = ["sswelcome"];
	for(var i=0; i<eltsbold.length; i++){
		if(document.getElementById(eltsbold[i])){
			elt = document.getElementById(eltsbold[i]);
			//alert("elt " + eltsbold[i] + " = " + elt)
			var eltsa = elt.getElementsByTagName("a");
			for(var u=0; u<eltsa.length; u++){
				var elta = eltsa[u];
				//alert("elta = " + elta);
				elta.onfocus = function(){
					this.style.fontWeight = "bold";
				}
				elta.onblur = function(){
					this.style.fontWeight = "normal";
				}
			}
		}
	}
	var eltscoul = ["thirdNav"];
	for(var i=0; i<eltscoul.length; i++){
		if(document.getElementById(eltscoul[i])){
			elt = document.getElementById(eltscoul[i]);
			//alert("elt " + eltsbold[i] + " = " + elt)
			var eltsa = elt.getElementsByTagName("a");
			for(var u=0; u<eltsa.length; u++){
				var elta = eltsa[u];
				//alert("elta = " + elta);
				elta.onfocus = function(){
					this.style.color = "#124CA6";
				}
				elta.onblur = function(){
					if(this.className.indexOf("selected")<0) this.style.color = "#000000";
				}
			}
		}
	}
}
addDOMLoadEvent(function(){
	//focus par tabulation
	LOC.initFocusTab();
	//menu déroulant commitments
	if(document.getElementById("combo")){ LOC.showLists.init("combo");}
	//menus déroulants initiatives
	if(document.getElementById("combo1")){ LOC.showLists.init("combo1");}
	if(document.getElementById("combo2")){ LOC.showLists.init("combo2");}
	//initiatives rollovers et click
	if(document.getElementById("initiativesThumbs")){ LOC.initInitiativesThumbs();}
	//initiatives filtres menus déroulants
	if(document.getElementById("initiativesThumbs")){ LOC.filtresInitiatives();}
});
