//On loade onLoad une fois le DOM complétement chargé
if (document.addEventListener)  document.addEventListener("DOMContentLoaded", onLoad, false);
//Pour IE j'ai lancé un script en defer (après le DOM) qui charge onLoad
//Par défaut je mets quand même dans le window.onload
window.onload = onLoad;


function onLoad() {
	//On ne fait jouer cette fonction qu'une seulle fois, on la marque comme "done" au premier loading
	if (arguments.callee.allreadyLaunched) return;
	arguments.callee.allreadyLaunched = true;
	
	//Bords arrondis des divs pleins
	initFunction(".roundBorderFill", makeRoundCorners);
	//Bords arrondis des divs "vides"
	initFunction(".roundBorder", makeRoundBorders);
	//On ajoute un menu déroulant des espaces dans le lien d'accueil
	initFunction("#header .menu ul li.accueil", makeMenuEspaces);
	
	if (document.location.hash) {
		var open = document.getElementById(document.location.hash.substring(1));
		if (open && getStyleInfo(open, "display")=="none") openClose(open);
	}

}






/*
	Name : initFunction
	Param : list, fun
	On applique al fonction fun() a tout les éléments qui matchent selector
*/
function initFunction(selector, fun) {
	var list = getElementsBySelector(selector);
	for (var i=0;i!=list.length;i++) {
		fun(list[i]);
	}	
}
/*
	Name : insertJsFile
	Param : filename
	Ajoute une autre feuille de code javascript dans le document. Il n'y a pas d'include possible dans Javascript, on passe donc par le DOM de la page parente
*/
function insertJsFile(filename, id) {
	//On crée une insertion du fichier javascript
	var jsFile = document.createElement("script");
	jsFile.setAttribute("src", filename);
	jsFile.setAttribute("language", "javascript");
	jsFile.setAttribute("type", "text/javascript");
	if (id) jsFile.setAttribute("id", id);
	//On l'ajoute dans le head
	document.getElementsByTagName("head")[0].appendChild(jsFile);
}

/*
	Name : insertCSSFile
	Param : filename
	Ajoute une feuille de style CSS au document
*/
function insertCSSFile(filename){
	var cssFile = document.createElement("link");
	cssFile.setAttribute("type","text/css");
	cssFile.setAttribute("rel","stylesheet");
	cssFile.setAttribute("href",filename);
	cssFile.setAttribute("media","screen");
	document.getElementsByTagName("head")[0].appendChild(cssFile);
}


/*
	Name : addOnLoadFunction
	Param : f
	On charge une fonction de plus au chargement de la page (Cause quelques soucis avec IE si chargement trop rapide)
*/
function addOnLoadFunction(f) {
	var old_onload = onLoad;
	window.onload = function() {
		old_onload();
		f();
	}
}
	
// Contrôle si au moins 3 caractères de saisi dans la zone de recherche rapide
// les espaces ne sont pas comptabilisés
function chkRechercheRapide() {

	var bOk = false;
	var recherche = document.getElementById('oQUOI').value.split(' ');	
	for (var i = 0; i < recherche.length; i++) {
		if (recherche[i].length >= 3) {
			bOk = true;
		}
	}
	if (!bOk) {
		alert('Vous devez saisir au moins 3 caratères dans la zone de recherche rapide.'); 
		return false;
	}
	return true;
}


/********************** NOUVELLES FONCTIONS ET METHODES *********************************

/* On ajoute une fonction aux tableaux pour enlever le premier élément de la liste et le retourner */
Array.prototype.unpop = function () {
	this.reverse();
	var first_el = this.pop();
	this.reverse();
	return first_el;
}

/* On ajoute une fonction de recherche aux strings */
String.prototype.find = function (search) {
	return (this.indexOf(search)>=0) ? true : false;
}

/* Enleve les indication px d'une chaine */
String.prototype.removePx = function () {
	//*1 => transforme en int
	return 1 * (this.replace(/px/g, "")); 
}
































