// 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 ) )
    {
//->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';
				h4s.item(i).parentNode.getElementsByTagName('div')[0].className = 'groupClose';
			}else{
				h4s.item(i).className = 'open';
				h4s.item(i).parentNode.getElementsByTagName('div')[0].className = 'groupOpen';
			}
			
			var asUnderH4s = h4s.item(i).parentNode.getElementsByTagName('a');
			// gestion des événements sur les balises.
			for(j=0;j<asUnderH4s.length;j++)
			{
				addAnEvent(asUnderH4s.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);
}


/*pour rajouter les mail au fichier pour les envoi des newsletter*/
/*
function getXMLHTTP(){
	  var xhr=null;
	  if(window.XMLHttpRequest) // Firefox et autres
	  xhr = new XMLHttpRequest();
	  else if(window.ActiveXObject){ // Internet Explorer
	    try {
	      xhr = new ActiveXObject("Msxml2.XMLHTTP");
	    } catch (e) {
	      try {
	        xhr = new ActiveXObject("Microsoft.XMLHTTP");
	      } catch (e1) {
	        xhr = null;
	      }
		 }
		}
	  else { // XMLHttpRequest non supporté par le navigateur
	    alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	  }
	  return xhr;
	}

function insertAfter(parent, node, referenceNode) {
  parent.insertBefore(node, referenceNode.nextSibling);
}

function ajout_mail_newsletter(){
	var champ_email_newsletter = document.getElementById('email_newsletter');
	var email_newsletter = champ_email_newsletter.value;
	var adresse = "ajout_mail.php";
	
//pour le retour d'infos
if(document.getElementById('offre')){
var parent_retour = document.getElementById('offre').parentNode;
var enfant_ref = document.getElementById('offre')}

if(document.getElementById('offreHome')){
var parent_retour = document.getElementById('offreHome').parentNode;
var enfant_ref = document.getElementById('offreHome')}


if(document.getElementById('reponse_mail'))
{
parent_retour.removeChild(document.getElementById('reponse_mail'))
}
	var new_p = document.createElement("P");
	new_p.setAttribute("id","reponse_mail");

if(email_newsletter!=""){
	var _xmlHttp=getXMLHTTP();
	if(_xmlHttp&&_xmlHttp.readyState!=0){
	    _xmlHttp.abort()
	  }
	 
	  _xmlHttp=getXMLHTTP();
	  if(_xmlHttp){
	    //appel à l'url distante
	   _xmlHttp.open("GET",adresse+"?email="+email_newsletter,true);
			 _xmlHttp.onreadystatechange=function() {
	      if(_xmlHttp.readyState==4&&_xmlHttp.responseText) {
			  var valeur_retour= _xmlHttp.responseText
			   if (valeur_retour>0){
			   if(valeur_retour==1)//erreur d'email
				new_p.innerHTML=("Mail invalide");
				 if(valeur_retour==2){//email bien enregistrer
				new_p.innerHTML=("Mail bien enregistré");
			   champ_email_newsletter.value="";}
			   }
	      }
	    };
	    // envoi de la requete
	    _xmlHttp.send(null)
	  }

}
else
{
new_p.innerHTML=("Veuillez rentrer un mail");
}

insertAfter(parent_retour,new_p, enfant_ref );
}
*/

