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 carat¸res 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");
	}
}


// 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();



// 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 fa¨on 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);
	}
}

  
// Pour afficher le Haut de page automatiquement - necessite jQuery
function showHautdepage() {
	hautdepageExist = $("*").index( $('div.hautdepage')[0] )
	if (hautdepageExist != -1) {
		var offset = $('div.hautdepage').offset();
		if (offset.top < "850") {
			$('div.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.blocRotationContenu = function(options) {
  var opts = jQuery.extend({}, jQuery.fn.blocRotationContenu.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("bloc:_listeContenus", contenus);
      choisit1erContenu(affichage);
      if(0 < opts.millisecParContenu) {
        affichage.data("bloc:_minuterie",
                       setInterval(function() { changeContenu(affichage); },
                                   opts.millisecParContenu));
      }
    };
  };


  function choisit1erContenu(affichage) {
    var contenus   = affichage.data("bloc:_listeContenus");
    var nouv_index = Math.floor(Math.random() * contenus.length);

    affichage.data("bloc:_indexContenuAffiche", nouv_index);
    affichage.html( contenus.eq(nouv_index).html() );
  };


  function changeContenu(affichage) {
    var contenus   = affichage.data("bloc:_listeContenus");
    var nouv_index = (1+ affichage.data("bloc:_indexContenuAffiche")) % contenus.length;

    affichage.fadeOut(opts.fadeSpeed, function() {
                        affichage.data("bloc:_indexContenuAffiche", nouv_index);
                        affichage.html( contenus.eq(nouv_index).html() );
                        affichage.fadeIn(opts.fadeSpeed);
                      });
  };
};
jQuery.fn.blocRotationContenu.defaults = {
  millisecParContenu: -1,
  fadeSpeed: 400,
  requeteTableContenus: "/fr/temoignages/temoignages_colonnegauche.html table",
  requeteContenus: "table td"
};


//Appels

jQuery(function() {
         jQuery("#temoignage_text").blocRotationContenu();
         showHautdepage();
});

// FIN jQuery.fn.bleRotationContenu()
