function setActiveStyleSheet(title) {
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == title) a.disabled = false;
		}
	}
}

function getActiveStyleSheet() {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
	}
	return null;
}

function getPreferredStyleSheet() {
	var i, a;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1
		&& a.getAttribute("rel").indexOf("alt") == -1
		&& a.getAttribute("title")
		) return a.getAttribute("title");
	}
	return null;
}

function createCookie(name,value,days) {
	if (days) {
		var date = new Date();
		date.setTime(date.getTime()+(days*24*60*60*1000));
		var expires = "; expires="+date.toGMTString();
	}
	else expires = "";
	document.cookie = name+"="+value+expires+"; path=/";
}

function readCookie(name) {
	var nameEQ = name + "=";
	var ca = document.cookie.split(';');
	for(var i=0;i < ca.length;i++) {
		var c = ca[i];
		while (c.charAt(0)==' ') c = c.substring(1,c.length);
		if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
	}
	return null;
}

function writeSwitcher() {
	var switcher = (getActiveStyleSheet() == "elastic") ? "Switch to Fixed Layout" : "Switch to Elastic Layout";
	document.write('<a id="switchlink" href="#" onclick="switchLayout(); return false;" title="Click here to change the content width"><span>' + switcher + '</span></a>');
}

var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);

function switchLayout() {
	var title = (getActiveStyleSheet() == "elastic") ? "fixed" : "elastic";
	setActiveStyleSheet(title);
	document.getElementById("switchlink").firstChild.firstChild.nodeValue = (getActiveStyleSheet() == "elastic") ? "Switch to Fixed Layout" : "Switch to Elastic Layout";
	createCookie("style", title, 365);
}

function reloadPreviewDiv() {
	var previewString = document.getElementById("commentText").value;
	if (previewString.length > 0){
		previewString = previewString.replace(new RegExp("(.*)\n\n([^#\*\n\n].*)","g"), "<p>$1</p><p>$2</p>");
		previewString = previewString.replace(new RegExp("(.*)\n([^#\*\n].*)","g"), "$1<br />$2");
	}
	document.getElementById("commentPreview").innerHTML = previewString;
}




// fonction pour mouseover sur images
function swap(imgSwpObj) {
	if (imgSwpObj) {
		imgSwpObj.src = imgSwpObj.src.replace(regExpPatternImgOff, patternImgOn);
	} else {
		if (this) swap(this); 
	}
}

function restore(imgSwpObj) {
	if (imgSwpObj) {
		imgSwpObj.src = imgSwpObj.src.replace(regExpPatternImgOn, patternImgOff);
	} else {
		if (this) restore(this); 	
	}
}

function swapChildImg(aSwpObj) {
	var imgSwpObj;
	if (aSwpObj) {
		imgSwpObj = chercheElementEnfant("img", aSwpObj);
		swap(imgSwpObj);
	} else {
		if (this) swapChildImg(this); 
	}
}

function restoreChildImg(aSwpObj) {
	var imgSwpObj;
	if (aSwpObj) {
		imgSwpObj = chercheElementEnfant("img", aSwpObj);
		restore(imgSwpObj);
	} else {
		if (this) restoreChildImg(this); 
	}
}

var regExpPatternImgOff;
var regExpPatternImgOn;
var regExpPatternImgSel;
var patternImgSel;
var patternImgOn;
var patternImgOff;

function setPatternImgOver(patternOff, patternOn, patternSel) {
	regExpPatternImgOff = new RegExp(patternOff);
	regExpPatternImgOn = new RegExp(patternOn);	
	regExpPatternImgSel = new RegExp(patternSel);	
	patternImgOn = patternOn;
	patternImgSel = patternSel;
	patternImgOff = patternOff;	
}

setPatternImgOver("_0", "_1", "_2"); // pattern des url des images ayant un mouseover et devant etre preloadée
regExpImgMenu = new RegExp("^im"); // pattern des id des images faisant parties d'un menu

// les recherches se font sur un seul niveau, pas de recursivite pour questions de perf

function chercheElementParent(nomElement, domObj) {
	var objCourant = domObj.parentNode;
	// on essai juste avec le premier
	if (objCourant.nodeName.toLowerCase() == nomElement.toLowerCase()) return objCourant;
	else return false;	
}

function chercheElementEnfant(nomElement, domObj) {
	var objEnfants = domObj.childNodes;
	var objRech = false;
	for (i=0;i<objEnfants.length;i++) {
	   if (objEnfants[i].nodeType==1) {
			if (objEnfants[i].nodeName.toLowerCase() == nomElement.toLowerCase()) {
				objRech = objEnfants[i];
			}
		}
	}	
	return objRech;	
}

function bodyOnLoad() {
	setTarget();
	mainMenuHighlight();
	setHeaderBackground();
//	registerTagBehavior("a");
//	navigationOnglet("btonglet", "btonglet", "texte");
}
function setTarget() {
	elements = document.getElementsByTagName("a");
	for(i=0;i<elements.length;i++) {
		classes = elements[i].className.split(" ");
		for(j=0;j<classes.length;j++){
			if(classes[j] == "lien-site-corpo")
			{
				elements[i].target = "_blank"
			}
		}
	}
}

function mainMenuHighlight() {
	var adresse = window.location.href;
	var section = adresse.split('/');
	var idBouton = "lien-entete-accueil";
	for (i=0;i<section.length;i++)
	{
		switch (section[i]) {
			case "a-propos": idBouton = "lien-entete-a-propos";
		  	break;

		  	case "coordonnees": idBouton = "lien-entete-pour-contacter";
		  	break;
		  	
		  	/*On doit aussi traiter les liens anglais pour les highlight*/
		  	case "about": idBouton = "lien-entete-a-propos";
		  	break;
		  	
		  	case "contact": idBouton = "lien-entete-pour-contacter";
		  	break;
			/*default: alert("default");idBouton = "lien-entete-accueil";
			break;*/
		}
	}
	
	var element = document.getElementById(idBouton);
	element.style.backgroundColor = "#FFFFFF";
	
}

function setHeaderBackground() {
	var choix = Math.round(Math.random());
	var header = document.getElementById("header");
	header.className="background-image-" + (choix+1) ;
}

function objectFocus(tag) {
	elements = document.getElementsByTagName(tag);
	for(i=0;i<elements.length;i++) {
		elements[i].focus();
	}
}


