// JavaScript Document
/*
Site : IFACI
Date de creation : 28/06/2006
Objet : Gestion des événements du sommaire des formation
Commentaire : Fonctions javascripts permettant de gérer les actions de l'utilisateur.
*/

//==============================================================
// Cookies de rubrique : garde en memoire la rubrique d'origine
//==============================================================

// Gestion des cookies
function EcrireCookie(nom, valeur)
{
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : null;
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function LireCookie(nom)
{
	var arg=nom+"=";
	var alen=arg.length;
	var clen=document.cookie.length;
	var i=0;
	while (i<clen)
	{
		var j=i+alen;
		if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return null;
}

// Ecrire le cookie, valide 1 mois
date=new Date;
date.setMonth(date.getMonth()+1);


//==============================================================
// Gestion du menu accordéon des séminaires.
//==============================================================

function initEvents()
{
	if ( browser.isDOM1 
    && !( browser.isMac && browser.isIE ) 
    && !( browser.isOpera && browser.versionMajor < 7 )
    && !( browser.isIE && browser.versionMajor < 5 ) )
    {
		//document.getElementById('menu').classname='menu';
		//->Ajoutes les événements sur les balises h4
		var h4s = document.getElementsByTagName('h4');
		
		// On récupères la valeur du cookies
		openRub=LireCookie("rubrique");
		//alert(openRub);
		
		for(i=0;i<h4s.length;i++)
		{
			//----------------------------INITIALISE LE MENU DANS SON ETAT DE DEPART--------------------------
			if(h4s.item(i).id != openRub)
			{
				h4s.item(i).className = 'close';
				if(h4s.item(i).parentNode.getElementsByTagName('div')[0]){
					h4s.item(i).parentNode.getElementsByTagName('div')[0].className = 'groupClose';
				}
			}else{
				h4s.item(i).className = 'open';
				if(h4s.item(i).parentNode.getElementsByTagName('div')[0]){
					h4s.item(i).parentNode.getElementsByTagName('div')[0].className = 'groupOpen';
				}
			}
			
			var asUnderH4s = h4s.item(i).parentNode.getElementsByTagName('a');
			var areasUnderH4s = h4s.item(i).parentNode.getElementsByTagName('area');
			// gestion des événements sur les balises liens et area.
			for(j=0;j<asUnderH4s.length;j++)
			{
				addAnEvent(asUnderH4s.item(j),'click',setRub);
			}
			for(j=0;j<areasUnderH4s.length;j++)
			{
				addAnEvent(areasUnderH4s.item(j),'click',setRub);
			}
			addAnEvent(h4s.item(i),'click',showSubMenu);
			if(h4s.item(i).className != 'noGroup')
			{
				addAnEvent(h4s.item(i),'mouseover',changePointer);
				addAnEvent(h4s.item(i),'mouseout',revertPointer);
			}
		}
	}
}

// Library functions.
function addAnEvent( target, eventName, functionName )
{
    // apply the method to IE
    if ( browser.isIE )
    {
        //attachEvent dont work properly with this
        eval('target.on'+eventName+'=functionName');
    }
    // apply the method to DOM compliant browsers
    else
    {
        target.addEventListener( eventName , functionName , true ); // true is important for Opera7
    }
}

// Ouvre les sous menus des h4. 
function  showSubMenu()
{
	if (this.className=='open')
	{
		this.className='close'
	}else if(this.className=='close'){
		this.className='open';
	}
	var divs = this.parentNode.getElementsByTagName('div');
	for(j=0; j<divs.length;j++)
	{
		if (divs.item(j).className =='groupOpen')
		{
			divs.item(j).className ='groupClose';
		}else if (divs.item(j).className =='groupClose'){
			divs.item(j).className ='groupOpen';
		}
	}
	checkOpenMenu();
}

// Vérifie si un menu est ouvert.
function  checkOpenMenu()
{
	var h4s = document.getElementsByTagName('h4');
	var menuStatus = "close";
	for(i=0;i<h4s.length;i++)
	{
		var divs = h4s.item(i).parentNode.getElementsByTagName('div');
		for (j=0;j<divs.length;j++)
		{
			if (divs.item(j).className == "groupOpen")
			{
				//alert("Un menu est ouvert");
				document.getElementById('introListe').style.display = 'none';
				return menuStatus = "open";
			}
			if (menuStatus != "open") {
				//alert("Tous les menus sont fermés");
				document.getElementById('introListe').style.display = 'block';
			}
		}
	}
}

// Fonction d'écriture du cookies en fonction de la rubrique d'origine.
function setRub()
{
//	alert(this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('h4')[0].id);
	rubvalue = this.parentNode.parentNode.parentNode.parentNode.getElementsByTagName('h4')[0].id;
	EcrireCookie("rubrique", rubvalue, date);
}

function changePointer()
{
	this.style.cursor = 'pointer';
	if (this.className != 'open')
	{
		this.className = 'openable';
	}
}

function revertPointer()
{
	if (this.parentNode.getElementsByTagName('div')[0].className != 'groupOpen')
	{
		this.className = 'close';
	}else{
		this.className = 'open';
	}
}


// OUVERTURE D'UNE POPUP
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
