/* 2008 > Gaetan Langhade < Equallia - pour SRR */


var vaisseau = navigator.userAgent.toLowerCase();
var ie6 = vaisseau.indexOf("msie 6") > 0 ? true : false;
var ie7 = vaisseau.indexOf("msie 7") > 0 ? true : false;
var safari = vaisseau.indexOf("safari") > 0 ? true : false;




/* CHARGEMENT */

//Appeler aleatoirement une image de fond pour le bandeau (avant la fin du chargement de la page)
function charger(){
	if (document.getElementsByTagName("form").length == 0) return setTimeout("charger()",10);
	var tirage = Math.floor(Math.random() * bandeaux.length);
	document.getElementsByTagName("form")[0].style.backgroundImage = "url(" + bandeaux[tirage] + ")";
}
try{ //cas ou parametres-bandeau.js n'ait pas ete charge
	charger();
} catch(e){ }



//Styler pour Safari
if (safari){
	var stylesMac = '<style type="text/css">';
	stylesMac += '.tetiere label, .tetiere input { margin-top: -2px; }';
	stylesMac += '.donnees { background-position: left 9px; }';
	stylesMac += '</style>';
	document.write(stylesMac);
}



/* Gestion des evenements post-chargement */
if (window.addEventListener) window.addEventListener("load",lancer,false);
else if (window.attachEvent) window.attachEvent("onload",lancer);

var lesOnglets;
var nbreOnglets = 0;
var heauton = 1;
var lancementAuto = false;
var lesOngletsInfo;
var lesMenus = new Array();
function lancer(){

	//Afficher un popin au clic sur lien
	var tempo = classer("pop",document);
	for (i=0;i<tempo.length;i++){
		tempo[i].onclick = function(){
			return superposer(this,this.className.split(" ")[1]);
	}	}
	
	//Controler la longueur de la saisie a la soumission du formulaire dans le bandeau
	//	et soumettre le formulaire
	tempo = document.getElementById("larecherche") ? document.getElementById("larecherche") : false;
	if (tempo){
		tempo.onsubmit = function(){
			if (document.getElementById("rech").value.length < 3){
				return superposer(document.getElementById("rech"),"controler");
			} else{
				//ici requete ajax (Wedia)
				//simultanement popin d'attente :
				return superposer(document.getElementById("rech"),"attendre");
	}	}	}
	
	//Afficher un popin au chargement
	if (document.body.className.indexOf("popin") > - 1) superposer(false,"informer");

	//Gerer le clic sur les onglets centraux de la page d'accueil et leur possible defilement automatique 
			/* - accessibilite ouverte mais pas a ordre du jour - */
	if (classer("onglets",document).length > 0){
		lesOnglets = peler("h2",classer("onglets",document)[0]);
		nbreOnglets = lesOnglets.length;
		try{ //cas ou parametres-onglets-accueil.js n'ait pas ete charge
			lancementAuto = temporisation > 0 ? true : false;
			temporisation *= 1000;
		} catch(e){ }
		for (i=0;i<nbreOnglets;i++){
			try{ //l'onglet actif n'a pas de lien
				peler("a",lesOnglets[i])[0].onclick = function(){
					return ongler(this);
				}
			} catch(e){
				//Decaler le demarrage du defilement automatique au cas ou l'onglet actif ne soit pas le premier
				heauton = i < nbreOnglets - 1 ? i + 1 : 0;
	}	}	}
	if (lancementAuto == true) lancementAuto = setTimeout('rongler()',temporisation);
	
	//Ajuster a la hauteur du fil d'Ariane (2 lignes max)
	if (classer("pioupiou",document).length > 0 && classer("pioupiou",document)[0].offsetHeight > 15 ){
		if (classer("pioupiou",document)[0].parentNode.className.indexOf("carton") < 0){
			classer("editorial",document)[0].style.marginTop = "56px";
			classer("pioupiou",document)[0].style.top = "-64px";
		} else{
			classer("editorial",document)[0].style.marginTop = "80px";
			classer("pioupiou",document)[0].style.top = "-88px";
			peler("h1",classer("editorial",document)[0])[0].style.marginTop = "-64px";
		}
		classer("pioupiou",document)[0].style.marginBottom = - classer("pioupiou",document)[0].offsetHeight + "px";
	}
	
	//Gerer le clic sur les onglets de blocs d'information en colonne d'animation
	lesOngletsInfo = classer("info",document).length > 0 ? peler("h2",classer("info",document)[0]) : false;
	for (i=0;i<lesOngletsInfo.length;i++){
		try{
			peler("a",lesOngletsInfo[i])[0].onclick = function(){
				return infongler(this);
			}
		} catch(e){}
	}

	//Gerer le clic sur le menu d'arborescence de rubrique
	if (classer("menus",document).length > 0){
		tempo = peler("img",classer("menus",document)[0]);
		for (i=0;i<tempo.length;i++){
			if (tempo[i].parentNode.parentNode.parentNode.className.indexOf("menus") > -1 && tempo[i].parentNode.tagName.toLowerCase() == "a"){
				lesMenus.push(tempo[i].parentNode.parentNode);
				tempo[i].parentNode.onclick = function(){
					if (this.parentNode.className.indexOf("actif") > -1) this.parentNode.className = "";
					else{
						for (i=0;i<lesMenus.length;i++){
							if (lesMenus[i] != this.parentNode) lesMenus[i].className = "";
							this.parentNode.className = "proactif";
					}	}
					return false;
			}	}
			else if (tempo[i].parentNode.parentNode.className.indexOf("paletuvier") > -1 && tempo[i].parentNode.tagName.toLowerCase() == "a"){
				tempo[i].parentNode.onclick = function(){
					if (this.parentNode.className.indexOf("proactif") > -1) this.parentNode.className = "paletuvier";
					else{
						var tempo = classer("paletuvier",this.parentNode.parentNode);
						for (i=0;i<tempo.length;i++){
							if (tempo[i] != this.parentNode) tempo[i].className = "paletuvier";
							this.parentNode.className += " proactif";
					}	}
					return false;
	}	}	}	}
	
	//Gerer le clic sur les zones sensibles de la carte de La Reunion
	if (idier("viaduc")){
		tempo = peler("area",idier("viaduc"));
		for (i=0;i<tempo.length;i++){
			tempo[i].onclick = function(){
				var tempo = peler("table",classer("donnees",document)[0]);
				for (i=0;i<tempo.length;i++) tempo[i].className = "departdon";
				/* 20110228 	?????????? 
				idier("areunion").className = "departdon";
				idier("aouest").className = "departdon";
				idier("anord").className = "departdon";
				idier("aest").className = "departdon";
				idier("asud").className = "departdon";
				*/
				$$("img").each (
					function (item)  {
						if (item.hasAttribute("usemap")) {
							item.className="departdon";
						}
					}
				);		//20110228
				tempo = this.href.substring(this.href.lastIndexOf("#") + 1);
				idier("a" + tempo).className = "";
				idier(tempo).className = "";
				classer("donnees",document)[0].className = "donnees viaduc";
				return false;
	}	}	}
	
	//Gerer le clic sur les questions des faq
	if (classer("faq",document).length > 0){
		tempo = peler("li",classer("faq",document)[0]);
		for (i=0;i<tempo.length;i++){
			if (tempo[i].parentNode.parentNode.parentNode == classer("faq",document)[0]){
				peler("a",tempo[i])[0].onclick = function(){
					var tempo = this.parentNode;
					tempo.className = tempo.className.indexOf("actif") > -1  ? tempo.className.split("actif")[0] : tempo.className + " actif";
					return false;
	}	}	}	}
}



/* FONCTIONS */
//Inserer une popin
var parachute;
var lucarne;
function superposer(a,b){
	brosser();
	//Prevoir le focus a la fermeture
	parachute = a == false ? peler("a",document)[0] : a;
	//Voiler
	ceerAvant("div",false,document.body,"id~canopee");
	//Bogue IE 6
	if (ie6) document.body.className += " gabegieselect";
	//Inserer le popin
	ceerAvant("div",false,document.body,"id~lucarne");
	lucarne = idier("lucarne");
	return eval(b)();
}
//Moduler l'opactite du voile
function fumer(a){
	if (ie6 || ie7) idier("canopee").style.filter = "alpha(opacity=" + a + ")";
	else idier("canopee").style.opacity = a / 100;
}
//Caler en hauteur
function caler(a){
	if (ie6 && classer("calliege",lucarne).length > 0 && classer("calliege",lucarne)[0].offsetHeight > 240){
		classer("popincourt",lucarne)[0].style.height = classer("calliege",lucarne)[0].offsetHeight + "px";
	}
	var skroll = document.body.scrollTop > document.documentElement.scrollTop ? document.body.scrollTop : document.documentElement.scrollTop;
	var situation = document.documentElement.clientHeight > a.offsetHeight ? (document.documentElement.clientHeight - a.offsetHeight) / 2 : 0;
	a.style.top = skroll + situation + "px";
}
//Fermer une popin
function brosser(){
	try{
		soustraire(idier("canopee"));
		soustraire(lucarne);
		lucarne = false;
		if (parachute){
			parachute.focus();
			parachute = false;
	}	} catch(e){}
	if (ie6) document.body.className = document.body.className.split(" gabegieselect")[0];
	return false;
}


//Cliquer sur les onglets centraux de la page d'accueil
function ongler(a){
	if (lancementAuto != false){
		clearTimeout(lancementAuto);
		lancementAuto = false;
	}
	for (i=0;i<nbreOnglets;i++){
		lesOnglets[i].parentNode.className = "";
		if (peler("a",lesOnglets[i]).length == 0){
			var tempo = lesOnglets[i].innerHTML;
			lesOnglets[i].innerHTML = '<a href="javascript: void(0);" onclick="return ongler(this);">' + tempo + "</a>";
	}	}
	a.parentNode.parentNode.className = "actif";
	var tempo = a.innerHTML;
	a.parentNode.innerHTML = tempo;
	return false;
}
//Lancer le defilement automatique des onglets centraux de la page d'accueil
function rongler(){
	ongler(peler("a",lesOnglets[heauton])[0]);
	heauton += heauton < nbreOnglets - 1 ? 1 : - heauton;
	lancementAuto = setTimeout('rongler()',temporisation);
}


//Cliquer sur les onglets de blocs d'information en colonne d'animation
function infongler(a){
	for (i=0;i<lesOngletsInfo.length;i++){
		lesOngletsInfo[i].className = "";
		if (peler("a",lesOngletsInfo[i]).length == 0){
			var tempo = peler("span",lesOngletsInfo[i])[0].innerHTML;
			lesOngletsInfo[i].innerHTML = '<a href="javascript: void(0);" onclick="return infongler(this);">' + tempo + "</a>";
		}
		peler("div",lesOngletsInfo[i].parentNode)[0].className = "ongletablinfo";
	}
	peler("div",a.parentNode.parentNode)[0].className = "ongletablinfo actif";
	a.parentNode.className = "actif";
	var tempo = a.innerHTML;
	a.parentNode.innerHTML = "<span>" + tempo + "</span>";
	return false;
}


//Afficher l'image correspondant a la vignette cliquee du diaporama
function afficher(a){
	for (i=0;i<toutesDiapos;i++) idier("diapiko" + i).className = "";
	idier("diapiko" + a).className = "actif";
	return false;
}

//Faire defiler les vignettes du diaporama
var quelCote = new Array("droite","gauche");
var quelleFleche = new Array("suivant","precedent");
var quelleDirection = new Array(115,-115);
function defiler(a){
	//activer fleche
	if (peler("a",idier(quelCote[a])).length == 0) idier(quelCote[a]).innerHTML = '<a href="javascript:void(0);" onclick="defiler(' + Math.abs(a - 1) + ');"><img src="'+ressourcePath+'images/css/fond-puce-' + quelleFleche[a] + '.gif" alt="" width="13" height="13" /></a>';
	//decaler vignette
	idier("vignettes").style.marginLeft = parseInt(idier("vignettes").style.marginLeft) + quelleDirection[a] + "px";
	//desactiver fleche
	if (Math.abs(parseInt(idier("vignettes").style.marginLeft)) + 460 == quelleLimite[a]) idier(quelCote[Math.abs(a - 1)]).innerHTML = peler("a",idier(quelCote[Math.abs(a - 1)]))[0].innerHTML;
}




/* en surcouche du code */
function minimaguer(a){
	var lequel = a == "g" ? parseInt(classer("mgauche",idier("minimag"))[0].id.substring(7)) : a == "d" ? parseInt(classer("mdroite",idier("minimag"))[0].id.substring(7)) : a;
	var tempo = classer("magBox",idier("minimag"));
	var tempo2 = idier("minimag" + lequel).className;
	for (i=0;i<tempo.length;i++) tempo[i].className = "magBox invisible";
	idier("m" + lequel).className = "magBox";
	for (i=0;i<tempo.length;i++) idier("minimag" + tempo[i].id.substring(1)).className = "invisible";
	idier("minimag" + lequel).className = "invisible actif";
	if (tempo2.indexOf("mgauche") > -1){
		if (idier("minimag" + eval(lequel + 1))){
			idier("minimag" + eval(lequel - 2)).className = "mdroite";
			idier("minimag" + eval(lequel - 1)).className = "milieu";
			idier("minimag" + eval(lequel + 1)).className = "mgauche";
		} else{
			idier("minimag" + eval(lequel - 3)).className = "mdroite";
			idier("minimag" + eval(lequel - 2)).className = "milieu";
			idier("minimag" + eval(lequel - 1)).className = "mgauche";
	}	}
	else if (tempo2.indexOf("milieu") > -1){
		if (idier("minimag" + eval(lequel + 2))){
			idier("minimag" + eval(lequel - 1)).className = "mdroite";
			idier("minimag" + eval(lequel + 1)).className = "milieu";
			idier("minimag" + eval(lequel + 2)).className = "mgauche";
		} else{
			idier("minimag" + eval(lequel - 2)).className = "mdroite";
			idier("minimag" + eval(lequel - 1)).className = "milieu";
			idier("minimag" + eval(lequel + 1)).className = "mgauche";
	}	}
	else{
		if (idier("minimag" + eval(lequel - 1))){
			idier("minimag" + eval(lequel - 1)).className = "mdroite";
			idier("minimag" + eval(lequel + 1)).className = "milieu";
			idier("minimag" + eval(lequel + 2)).className = "mgauche";
		} else{
			idier("minimag" + eval(lequel + 1)).className = "mdroite";
			idier("minimag" + eval(lequel + 2)).className = "milieu";
			idier("minimag" + eval(lequel + 3)).className = "mgauche";
	}	}
	tempo = parseInt(classer("mgauche",idier("minimag"))[0].id.substring(7));
	idier("mgauche").style.visibility = ! idier("minimag" + eval(tempo + 1)) || (idier("minimag" + eval(tempo + 1)).className == "invisible actif" && ! idier("minimag" + eval(tempo + 2))) ? "hidden" : "visible";
	tempo = parseInt(classer("mdroite",idier("minimag"))[0].id.substring(7));
	idier("mdroite").style.visibility = ! idier("minimag" + eval(tempo - 1)) || (idier("minimag" + eval(tempo - 1)).className == "invisible actif" && ! idier("minimag" + eval(tempo - 2))) ? "hidden" : "visible";
	return false;
}



/* ROUTINES */
/* qui : identifiant a recolter  */
function idier(qui){
	return document.getElementById(qui);	
}
/* qui : nom du selecteur a recolter - ceint : perimetre */
function classer(qui,ceint){
	var classe = new RegExp("(^|\\s)" + qui + "(\\s|$)");
    var base = (ceint.all) ? ceint.all : ceint == document ? document.body.getElementsByTagName("*") : ceint.getElementsByTagName("*");
    var tempo = new Array();
	for (ww=0;ww<base.length;ww++) if (classe.test(base[ww].className)) tempo.push(base[ww]);
	return (tempo);
}
/* qui : balise a recolter - ceint : perimetre */
function peler(qui,ceint){
	return ceint.getElementsByTagName(qui);	
}
/* qui : element a creer et a inserer - donnees : son contenu - cadre : parent + attributs... */
function ceerAvant(qui,donnees,cadre){
	var tempo = document.createElement(qui);
	if (donnees) tempo.innerHTML = donnees;
	for (ww=3;ww<arguments.length;ww++){
		var tempo2 = document.createAttribute(arguments[ww].split("~")[0]);
		tempo2.nodeValue = arguments[ww].split("~")[1];
		tempo.setAttributeNode(tempo2);		
	}
	cadre.insertBefore(tempo,cadre.firstChild);
}
/* qui : element a soustraire */
function soustraire(qui){
	qui.parentNode.removeChild(qui);
}

function afficherMemoires(){
	idier("memoires").style.display = "block";
}
function cacherMemoires(){
	idier("memoires").style.display = "none";
}



