function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore(quelBt) { //v3.0
	//Ajout pour ne pas que le bouton "ON" d'un section dans laquelle on se trouve, ne s'eteigne pas
	if (document.title.indexOf(quelBt) == -1) {
		var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
	}
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  //window.open(theURL,winName,features);
  var newWin = window.open(theURL,winName,features);
  newWin.focus();
}

//Utiliser pour faire des popup d'images agrandi (_popimage.html)
function popImage(theURL,largeur,hauteur) {
  if (!largeur) {
  	features = 'status=yes,menubar=yes,resizable=yes,scrollbars=yes,width=750,height=550';
  } else {
  	features = 'status=yes,menubar=yes,resizable=yes,scrollbars=yes,width=' + largeur + ', height=' + hauteur + '';
  }
  window.open(theURL,'pop', features);
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v3.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v='hide')?'hidden':v; }
    obj.visibility=v; }
}


//Switch de langue

function switchLang(oldLang,newLang) {
	var newUrl;
	var oldUrl;

	oldLang='/' + oldLang + '/';
	newLang='/' + newLang + '/';
	oldUrl=document.location.href;
	newUrl=oldUrl.replace(oldLang,newLang);

	xhr = getXhr()
	xhr.open("HEAD", newUrl,true);
 	xhr.onreadystatechange=function() {
  		if (xhr.readyState==4) {
   			if (xhr.status==200) {
   				if (document.title.indexOf("Accueil") != -1) {
					//window.location.href="index_en.html";
					alert("Coming soon");
				} else if (document.title.indexOf("Home") != -1) {
					//window.location.href="index.html";
					alert("Bient\xF4t");
				} else {
					//window.location.href=newUrl;
					alert("Coming soon");
				}
    		} else if (xhr.status==404) {
    			if (oldLang == "/fr/") {
    				alert("This page doesn't exist in french");
				} else {
					alert("Cette page n'existe pas en anglais");
				}
    		}
  		}
 	}
 xhr.send(null)
}
//Creer l'objet XMLHttpRequest
function getXhr(){
 	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) {
	xhr = new ActiveXObject("Microsoft.XMLHTTP");
	}
	}
	else { // XMLHttpRequest non supportŽ par le navigateur
	alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
	xhr = false; }
 	return xhr
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}



//Pour caratres spŽciaux dans alert(), faire un translate en Hex -> \xE9



// Sous-menu colonne de gauche

function sousmenuON(qui) {
	$(qui).addRemove("off");
	$(qui).addClass("on");
}

function sousmenuOFF(qui, quelTitrePage) {
	titre = document.title
	//Ajout pour ne pas que le bouton "ON" d'une section dans laquelle on se trouve, ne s'eteigne pas
	if (titre.indexOf(quelTitrePage) != -1) {
		$(qui).addRemove("off");
		$(qui).addClass("on");
	} else {
		$(qui).addRemove("on");
		$(qui).addClass("off");
	}
}


// Option sans sous-menu

function firstLoad() {

//Change l'état du lien du menuLeft pour la section dans laquelle on se trouve

if (document.title.indexOf("Services aux nouveaux arrivants") != -1) {
	MM_swapImage('services_arrivants','','/fr/images/colonnegauche/services-arrivants_on.gif',1);
	$("#services_arrivants-SM").css({ display:"block" });
	if (document.title.indexOf("Agrippez-vous!") != -1) {
		$("#agrippez-vous").addClass("on");
	} else if (document.title.indexOf("R\xE9gionalisation") != -1) {
		$("#regions").addClass("on");
	} else if (document.title.indexOf("Suivi") != -1) {
		$("#suivi").addClass("on");
	} else if (document.title.indexOf("FAQ") != -1) {
		$("#faq").addClass("on");
	} else if (document.title.indexOf("Cours") != -1) {
		$("#cours").addClass("on");
	} else if (document.title.indexOf("Sorties") != -1) {
		$("#sorties").addClass("on");
	} else if (document.title.indexOf("Inscription") != -1) {
		$("#inscription").addClass("on");
	} else if (document.title.indexOf("Stages") != -1) {
		$("#stages").addClass("on");
	}
} else if (document.title.indexOf("Services aux employeurs") != -1) {
	MM_swapImage('services_employeurs','','/fr/images/colonnegauche/services-employeurs_on.gif',1);
	$("#services_employeurs-SM").css({ display:"block" });
	if (document.title.indexOf("stagiaire") != -1) {
		$("#stagiaire").addClass("on");
	} else if (document.title.indexOf("Dotation") != -1) {
		$("#dotation").addClass("on");
	} else if (document.title.indexOf("Suivi") != -1) {
		$("#suivi-interventions").addClass("on");
	} else if (document.title.indexOf("Affichage") != -1) {
		$("#affichage-visibilite").addClass("on");
	} else if (document.title.indexOf("Stagiaires") != -1) {
		$("#stagiaires").addClass("on");
	} else if (document.title.indexOf("employ\xE9s") != -1) {
		$("#employes").addClass("on");
	} else if (document.title.indexOf("Profils de candidats") != -1) {
		$("#profils-candidats").addClass("on");
	}
} else if (document.title.indexOf("Notre expertise") != -1) {
	MM_swapImage('expertise','','/fr/images/colonnegauche/expertise_on.gif',1);
	$("#expertise-SM").css({ display:"block" });
	if (document.title.indexOf("Transfert d'expertise") != -1) {
		$("#transfert").addClass("on");
	} else if (document.title.indexOf("Mise en valeur") != -1) {
		$("#mise-en-valeur_outils").addClass("on");
	} else if (document.title.indexOf("Coaching") != -1) {
		$("#coaching-projets").addClass("on");
	} else if (document.title.indexOf("Exp\xE9riences") != -1) {
		$("#experiences").addClass("on");
	} else if (document.title.indexOf("Prix") != -1) {
		$("#prix").addClass("on");
	} else if (document.title.indexOf("Enracinez-vous!") != -1) {
		$("#enracinez").addClass("on");
	}
} else if (document.title.indexOf("Enseignez") != -1) {
	MM_swapImage('enseignez','','/fr/images/colonnegauche/enseignez_on.gif',1);
} else if (document.title.indexOf("D\xE9veloppement durable") != -1) {
	MM_swapImage('dev_durable','','/fr/images/colonnegauche/dev-durable_on.gif',1);
} else if (document.title.indexOf("Portraits et profils") != -1) {
	$("#portraits-profils").addClass("on");
} else if (document.title.indexOf("Membres") != -1) {
	$("#membres").addClass("on");
} else if (document.title.indexOf("Contact") != -1) {
	$("#contact").addClass("on");
} else if (document.title.indexOf("C.A.") != -1) {
	$("#ca").addClass("on");
} else if (document.title.indexOf("Liens") != -1) {
	$("#liens").addClass("on");
}


//Preload specifique - Le preload est different selon si on se trouve sur la page d'acueil ou sur les pages du site
leUrlActuel=document.location.href;
if (leUrlActuel.indexOf('/fr') != -1 || document.title.indexOf("Accueil") != -1) {
	MM_preloadImages('/fr/images/colonnegauche/services-arrivants_on.gif','/fr/images/colonnegauche/services-employeurs_on.gif','/fr/images/colonnegauche/expertise_on.gif','/fr/images/colonnegauche/enseignez_on.gif','/fr/images/colonnegauche/dev-durable_on.gif')
} else {

}

//Pour prevenir un right-click sur une image
$('img').bind('contextmenu',function(e){
   alert('Cette photo ne peut \xEAtre t\xE9l\xE9charg\xE9e.')
   return false;
});

}


// Cookies - From quirksmode.org

var Cookies = {
	init: function () {
		var allCookies = document.cookie.split('; ');
		for (var i=0;i<allCookies.length;i++) {
			var cookiePair = allCookies[i].split('=');
			this[cookiePair[0]] = cookiePair[1];
		}
	},
	create: function (name,value,days) {
		if (days) {
			var date = new Date();
			date.setTime(date.getTime()+(days*24*60*60*1000));
			var expires = "; expires="+date.toGMTString();
		}
		else var expires = "";
		document.cookie = name+"="+value+expires+"; path=/";
		this[name] = value;
	},
	erase: function (name) {
		this.create(name,'',-1);
		this[name] = undefined;
	}
};
Cookies.init();

// Header - Pour se souvenir de la photo ou on est rendu dans le header
// Function appele du flash header a chaque frame qu'il doit se souvenir
function cookieHeader(quelPhoto) {
	name = "Gforcedivision";
	Cookies.create(name,quelPhoto,365);
}


// Functions pour loader dynamiquement les fichiers dans la mise en page - AJAX

function clientSideInclude(id, url, etatHome) {
  var req = false;
  // For Safari, Firefox, and other non-MS browsers
  if (window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch (e) {
      req = false;
    }
  } else if (window.ActiveXObject) {
    // For Internet Explorer on Windows
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        req = false;
      }
    }
  }
 var element = document.getElementById(id);
 if (!element) {
  alert("Bad id " + id +
   "passed to clientSideInclude." +
   "You need a div or span element " +
   "with this id in your page.");
  return;
 }
  if (req) {
    // Synchronous request, wait till we have it all
    req.open('GET', url, false);
    req.send(null);
    element.innerHTML = req.responseText;
  } else {
    element.innerHTML =
   "Sorry, your browser does not support " +
      "XMLHTTPRequest objects. This page requires " +
      "Internet Explorer 5 or better for Windows, " +
      "or Firefox for any system, or Safari. Other " +
      "compatible browsers may also exist.";
  }
}


//Function pour inserer du code HTML de faon dynamique dans la page
function showPhotoZoomNouvelles(quelPhotoZoom){
	if (document.all) {
		DIVD.innerHTML="texte";
	} else if (document.getElementById) {
		rng = document.createRange();
		el = document.getElementById("DIVD");
		rng.setStartBefore(el);
		htmlFrag = rng.createContextualFragment("texte");
		while (el.hasChildNodes()) el.removeChild(el.lastChild);
		el.appendChild(htmlFrag);
	}
}


// OnLoad Event

function addEvent(obj, evType, fn){
 if (obj.addEventListener){
   obj.addEventListener(evType, fn, false);
   return true;
 } else if (obj.attachEvent){
   var r = obj.attachEvent("on"+evType, fn);
   return r;
 } else {
   return false;
 }
}
addEvent(window, 'load', firstLoad);
addEvent(window, 'load', showHautdepage);

// Pour jouer avec l'apparence du curseur
//document.body.style.cursor='pointer';
//document.body.style.cursor='default';


var layerAffiche = "aucun";

//Function pour un click sur un bouton pour show/hide un layer
function showHideLayer(div_id) {
	if (layerAffiche == "aucun") {
		hideAllLayer();
    	$("#layer1").css({ display:"block" });
    	layerAffiche = div_id;
    } else {
    	hideAllLayer();
    	layerAffiche = "aucun";
    	if (layerAffiche == div_id) {
    		layerAffiche = "aucun";
    	} else {
			quelLayer = "#" + div_id;
    	    $(quelLayer).css({ display:"block" });
    		layerAffiche = div_id;
    	}
    }
}

// Modifier selon les layers de la page
function hideAllLayer() {
	$("#layer1").css({ display:"none" });
    $("#layer2").css({ display:"none" });
    $("#layer3").css({ display:"none" });
}


// Pour afficher le Haut de page automatiquement - necessite jQuery
function showHautdepage() {
	hautdepageExist = $("*").index( $('p.hautdepage')[0] )
	if (hautdepageExist != -1) {
		var offset = $('p.hautdepage').offset();
		if (offset.top < "850") {

			$('p.hautdepage').css("display", "none");
		} else {
			return false;
		}
	}
}



/****************
 * jQuery.fn.bleRotationContenu()
 * Plugin de rotation de contenus pour un noeud donne.
 * Charge et affiche un contenu choisit au hasard parmi
 * une collection. Permet ou non de faire par la suite
 * rotation entre les contenus.
 *
 * Francois Moreau, grillonbleu@gmail.com, mars 2009
 *
 * PARAMETRES (valeurs par defaut)
 *   millisecParContenu: (-1)
 *     Temps d'affichage par contenu en millisecondes.
 *     -1 = pas de rotation; on conserve le premier contenu charge.
 *   fadeSpeed: (400)
 *     Vitesse de fadeIn/fadeOut lors de la rotation de contenu.
 *   requeteTableContenus ("_entete.html table")
 *     Requete du tableau de contenus, url relatif + " " + selecteur jQuery
 *   requeteContenus: ("table td")
 *     Requete des noeuds de contenu
 *
 * USAGE :
 *  jQuery("#mon-noeud-affichage").bleRotationContenu({option1: val1, option2: val2});
 */

jQuery.fn.bleRotationContenu = function(options) {
  var opts = jQuery.extend({}, jQuery.fn.bleRotationContenu.defaults, options);
  return this.each(function() {
                     var affichage = jQuery(this);
                     affichage.load(opts.requeteTableContenus, null,
                                    contenusChargesCallback(affichage));
                   });


  // = = = = = = = =
  //Methodes privees
  // = = = = = = = =

  function contenusChargesCallback(affichage) {
    return function(page_html, etat, http_req) {
      if('success' != etat){
        //Chargement echoue
        affichage.hide();
        return;
      }
      var contenus = affichage.find(opts.requeteContenus);
      affichage.data("ble:_listeContenus", contenus);
      choisit1erContenu(affichage);
      if(0 < opts.millisecParContenu) {
        affichage.data("ble:_minuterie",
                       setInterval(function() { changeContenu(affichage); },
                                   opts.millisecParContenu));
      }
    };
  };


  function choisit1erContenu(affichage) {
    var contenus   = affichage.data("ble:_listeContenus");
    var nouv_index = Math.floor(Math.random() * contenus.length);

    affichage.data("ble:_indexContenuAffiche", nouv_index);
    affichage.html( contenus.eq(nouv_index).html() );
    affichage.trigger("aJour.rotationContenu");
  };


  function changeContenu(affichage) {
    var contenus   = affichage.data("ble:_listeContenus");
    var nouv_index = (1+ affichage.data("ble:_indexContenuAffiche")) % contenus.length;

    affichage.fadeOut(opts.fadeSpeed, function() {
                        affichage.data("ble:_indexContenuAffiche", nouv_index);
                        affichage.html( contenus.eq(nouv_index).html() );
                        affichage.fadeIn(opts.fadeSpeed);
                        affichage.trigger("aJour.rotationContenu");
                      });

  };
};
jQuery.fn.bleRotationContenu.defaults = {
  millisecParContenu: -1,
  fadeSpeed: 400,
  requeteTableContenus: "/fr/temoignages/index.html table",
  requeteContenus: "table td"
};


//Appels

jQuery(function() {
    jQuery("#temoignage_text").bleRotationContenu();
    jQuery(".logos table td")
    .bleRotationContenu({millisecParContenu: 3000,
                         requeteTableContenus: "membres/logos.html table"})
    .bind("aJour.rotationContenu", function() {
        jQuery(this).find("img").each(function() {
            //alert(this.getAttribute("src"));
            jQuery(this).attr("src",
                              jQuery(this).attr("src").replace("images/", "membres/images/"));
        });
    });
});

// FIN jQuery.fn.bleRotationContenu()
