/***** Affichage des listes déroulantes sur la page d'accueil *****/
var currentMenu = null;
var timerOn = false;

if (!document.getElementById)
    document.getElementById = function() { return null; }

function activerListe(nav, posx, posy) {
    var racine = document.getElementById(nav);
	var menu = racine.getElementsByTagName("UL").item(0);
    var actuator = racine.getElementsByTagName("A").item(0);
	var currentMenu = null;
	
	// Position initiale pour empêcher les scrollbar d'apparaître pour rien
	menu.style.right = "0px";
	menu.style.bottom = "100%";

    if (menu == null || actuator == null) return;

	menu.onmouseover = function() {
		menu.style.visibility = "visible";
        currentMenu = menu;
		racine.getElementsByTagName("LI").item(0).style.zIndex = 10000;
    }
	menu.onmouseout = function() {
		menu.style.visibility = "hidden";
		currentMenu = null;
		racine.getElementsByTagName("LI").item(0).style.zIndex = 1; 
    }
	menu.onclick = function() {
		menu.style.visibility = "hidden";
		currentMenu = null;
		racine.getElementsByTagName("LI").item(0).style.zIndex = 1;
    }
  
    actuator.onclick = function() {
        // Position par défaut
		menu.style.right = "";
		menu.style.left = "";
		menu.style.top = "";
		menu.style.bottom = "";
		racine.getElementsByTagName("LI").item(0).style.zIndex = 10000; 
		if (is_ie || is_fx || is_safari || is_moz)
			{
			var hauteurNavigateur = getDimension();
			var hauteurMenu = menu.offsetHeight;
			var posYMenu = findPosY(racine);

			if (is_ie)
			{ positionScroll = document.documentElement.scrollTop; }
				else
				{ positionScroll = window.pageYOffset; }
				
			var nouvellePosition = posYMenu + hauteurMenu - positionScroll;
			var espaceDispo = hauteurNavigateur - 20;
				
			if(nouvellePosition < espaceDispo)
			{ menu.style.top = "100%"; }
				else
				{ menu.style.bottom = "100%"; }
			if (posx == 'gauche') 
				{ menu.style.left = "0px"; }
				else { menu.style.right = "0px"; }
			}

		if (currentMenu == null) {
			menu.style.visibility = "visible";
			currentMenu = menu;
			racine.getElementsByTagName("LI").item(0).style.zIndex = 1000; 
        }
        else {
            menu.style.visibility = "hidden";
            currentMenu = null;
			racine.getElementsByTagName("LI").item(0).style.zIndex = 1; 
        }
        return false;
    }
	actuator.onmouseout = function() {
		menu.style.visibility = "hidden";
		currentMenu = null;
		racine.getElementsByTagName("LI").item(0).style.zIndex = 1; 
    }

}

function findPosY(obj)
	{
	var curtop = 0;
	if (obj.offsetParent)
		{
		while (obj.offsetParent)
			{
			curtop += obj.offsetTop;
			obj = obj.offsetParent;
			}
		}
		else
			{
			if (obj.y)
				{
				curtop += obj.y;
				}
			}
		return curtop;
	}

function getDimension()
	{
  	var myWidth = 0, myHeight = 0;
  	if( typeof( window.innerWidth ) == 'number' )
		{
    	//Non-IE
    	myWidth = window.innerWidth;
    	myHeight = window.innerHeight;
  		} 
		else
			{
			if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight))
				{
    			//IE 6+ in 'standards compliant mode'
    			myWidth = document.documentElement.clientWidth;
    			myHeight = document.documentElement.clientHeight;
  				}
			}
	return myHeight
	}

/***** Ouverture et fermeture du plan de site *****/
function plan_site_swap(noid) {
		var liClass = "ps_" + noid;
		var picture = "imgps_" + noid;
		var elementLI = document.getElementById(liClass);
		var elementIMG = document.getElementById(picture);
		if(elementLI.className == "ferme"){
			plan_site_fermeTous();
			elementLI.className = "ouvre";
			elementIMG.src = "fileadmin/interface/images/bt_moins.gif";
		} else {
			elementLI.className = "ferme";
			elementIMG.src = "fileadmin/interface/images/bt_plus.gif";
		}
}

function plan_site_swap_niv3(noid) {
		var liClass = "ps_niv3_" + noid;
		var picture = "imgps_niv3_" + noid;
		var elementLI = document.getElementById(liClass);
		var elementIMG = document.getElementById(picture);
		if(elementLI.className == "ferme"){
			plan_site_ferme_niv3();
			elementLI.className = "ouvre";
			elementIMG.src = "fileadmin/interface/images/bt_moins.gif";
		} else {
			elementLI.className = "ferme";
			elementIMG.src = "fileadmin/interface/images/bt_plus.gif";
		}
}

function plan_site_fermeTous() {
		var listItems = document.getElementsByTagName("li");
		for (i = 0; i < listItems.length; i++) {
			if (listItems[i].id.indexOf("ps_") != -1) {
				listItems[i].className = "ferme";
				var picture = "imgps_" + listItems[i].id.replace("ps_","");
				document.getElementById(picture).src = "fileadmin/interface/images/bt_plus.gif";
			}
		}
}

function plan_site_ferme_niv3() {
		var listItems = document.getElementsByTagName("li");
		for (i = 0; i < listItems.length; i++) {
			if (listItems[i].id.indexOf("ps_niv3_") != -1) {
				listItems[i].className = "ferme";
				var picture = "imgps_niv3_" + listItems[i].id.replace("ps_niv3_","");
				document.getElementById(picture).src = "fileadmin/templates/images/bt_plus.gif";
			}
		}
}

/***** Valide si une adresse de courriel a une structure valide. *****/
function verifCourriel(champ)
	{
	if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(champ.value))
		{
		classeInitiale = champ.className;
		classeEnlever = " champ_erreur";
		classePosition = classeInitiale.indexOf(classeEnlever);
		if(classePosition >0)
			{
			classeFinale = classeInitiale.substring(0,classePosition);
			champ.className = classeFinale;
			}
		return true;
		}
		else
			{
			champ.className = champ.className + " champ_erreur";
			champ.focus();
			return false;
			}
	}


/***** Valide si un champ est vide ou non. *****/
function verifChampVide(champ)
	{
	if (champ.value != "")
		{
		classeInitiale = champ.className;
		classeEnlever = " champ_erreur";
		classePosition = classeInitiale.indexOf(classeEnlever);
		if(classePosition >0)
			{
			classeFinale = classeInitiale.substring(0,classePosition);
			champ.className = classeFinale;
			}
		return true;
		}
		else
			{
			champ.className = champ.className + " champ_erreur";
			champ.focus();
			return false;
			}
	}

/***** Fonction pour la visionneuse de photos sur la page d'accueil et la section thématiques. *****/
activerPhotos = function(idAlbum) { 
		var navroot = document.getElementById(idAlbum);
        var lis=navroot.getElementsByTagName("A");
		for (i=0; i<lis.length; i++) {
            lis[i].numero = i;
			lis[i].onclick=function() {
				initPhotos(this.numero, idAlbum);
				return false;
			}
		}
}

initPhotos = function(numero, idAlbum) { 
		var navroot = document.getElementById(idAlbum);
        var lis=navroot.getElementsByTagName("A");
		for (i=0; i<lis.length; i++) {
            if(numero != i){
				lis[i].className = "";
			} else {
				lis[i].className = "actif";
				document.getElementById("description").innerHTML = lis[i].lastChild.alt;
				document.getElementById("photo").src = lis[i].href;
			}
		}
}