// JavaScript principal pour tout BV fevrier 2009

/* permet d'ajouter une fonction a l'evenement Onload sans supprimer ceux deja existante) */
function addLoadEvent(func) {
  var oldonload = window.onload;
  if (typeof window.onload != "function") {
    window.onload = func;
  } else {
    window.onload = function() {
      if (oldonload) {
        oldonload();
      }
      func();
    };
  }
}

// Script pour accélerer le chargement des pages en affichant les pubs à la toute fin
// pour le load des publicites sur sites de BV
// Take content in a div with id="defer-xyz" and move it to a div with id="xyz"
function relocateDeferredContent() {
    var divs=document.getElementsByTagName("div");
    var replacements=new Array();
    for(var i=0;i<divs.length;i++){
        var deferredContent = divs[i];
        if (deferredContent.id.indexOf("defer-") == 0) {
            var placeHolder = document.getElementById(deferredContent.id.slice(6));
            replacements.push([deferredContent, placeHolder]);
        }
    }
    for(i=0;i<replacements.length;i++){
        replacements[i][0].parentNode.removeChild(replacements[i][0]);
        replacements[i][1].parentNode.replaceChild(replacements[i][0], replacements[i][1]);
        replacements[i][0].style.display = "block";
    }
    return true;
}

//Fonction pour changer le display d'un div par id
function toggleLayer( whichLayer ) {
  var elem, vis;
  if( document.getElementById ) // this is the way the standards work
	elem = document.getElementById( whichLayer );
  else if( document.all ) // this is the way old msie versions work
	  elem = document.all[whichLayer];
  else if( document.layers ) // this is the way nn4 works
	elem = document.layers[whichLayer];
  vis = elem.style;
  // if the style.display value is blank we try to figure it out here
  if(vis.display==''&&elem.offsetWidth!=undefined&&elem.offsetHeight!=undefined)
	vis.display = (elem.offsetWidth!=0&&elem.offsetHeight!=0)?'block':'none';
  vis.display = (vis.display==''||vis.display=='block')?'none':'block';
}
//Fonction JS pour menu de matin qui fait apparaître/disparaître les sections
function blocking(nr) {
	if (document.layers) {
		current = (document.layers[nr].display == 'none') ? 'block' : 'none';
		document.layers[nr].display = current;
	} else if (document.all) {
		current = (document.all[nr].style.display == 'none') ? 'block' : 'none';
		document.all[nr].style.display = current;
	} else if (document.getElementById)	{
		vista = (document.getElementById(nr).style.display == 'none') ? 'block' : 'none';
		document.getElementById(nr).style.display = vista;
	}
}
/*Fonction pour changer le display d'une boite
@param id = id du div à modifier
@param @visibility = affichage de la boite : block ou none 
Sert surtout à faire disparaitre/apparaitre une boite */
function modif_div_visibilite(id,visibility) {
	document.getElementById(id).style.display = visibility;
	return true;
}

/*Fonction modif_zone sert à  modifier dynamiquement des DIVs qui ont plusieurs status On/Off/Over...
paramètres : id = id de la boite a changer de visibilitÃ©
visibility : nouvelle valeur de display pour la boite (block ou none)
class_top : class du div qu'il prendra
Sert surtout à changer le style d'un div en faisant apparaître ses deux styles on/off */
function modif_zone(id, visibility, id_logo, class_top) {
	document.getElementById(id).style.display = visibility;
	document.getElementById(id_logo).className= class_top;	
	return true;
}

//Fonction pour envoyer une page par courriel
function envoyer_url() {
        thelink="http://www.branchez-vous.com/cgi-bin/envoyer/url.cgi?lien=";
        thelink=thelink + document.location;
        window.open(thelink,'window_envoyer','toolbar=no,location=no,directories=no,status=yes,menubar=no,resizable=yes,copyhistory=no,scrollbars=no,width=700,height=430,left=25,top=50');
    }

// Appel des différents scripts selon le status de la page

//onload Events
/*addLoadEvent(enableTooltips("menh_mg_haut"));
addLoadEvent(enableTooltips("menh_liens_gauche"));
addLoadEvent(enableTooltips("menh_mg_bas1"));
addLoadEvent(enableTooltips("menh_mg_bas2"));
addLoadEvent(enableTooltips("menh_mg_bas3"));
addLoadEvent(enableTooltips("menh_mg_bas4"));
addLoadEvent(enableTooltips("menh_mg_bas5"));
addLoadEvent(enableTooltips("menh_mg_bas6"));
addLoadEvent(enableTooltips("menh_mg_bas7"));*/

addLoadEvent(relocateDeferredContent);

// Gestion des cookies sur les sites de BV
// Écrire un cookie
function EcrireCookie(nom,valeur,expiredays) {
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=new Date();
	expires.setDate(expires.getDate()+expiredays);
	document.cookie=nom+"="+escape(valeur)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()));
}
//Obtenir un cookie	
function getCookieVal(offset) {
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}
//Lire un cookie
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;
}
