function ChangeUrl(formulaire)
	{
	sz_url=formulaire.options[formulaire.selectedIndex].value;
	window.open(sz_url);
	}
function ChangeUrlIn(formulaire) {
	sz_url=document.location;
	sz_ancre=formulaire.options[formulaire.selectedIndex].value;
	document.location.href=sz_ancre;
	}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_swapImgRestore() { //v3.0
  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_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_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_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 checkandgo() {
	var list = document.f_fondsdoc.fondslist1; // première liste
	if (list.options[list.selectedIndex].value != "00") {
		/// self.location.href = "chemin_des_fichier_et_debut_du_nom"+list.options[list.selectedIndex].value+"fin_du_nom" ;
		//!! exemple de construction de l'URL de destination à partir de la valeur (value) de l'option choisie pour pointer vers un fichier de type "../pages/rapport2001.html" où "chemin_des_fichier_et_debut_du_nom"="../pages/rapport", "fin_du_nom"=".html" et les "values" des options sont les années !!
		self.location.href = "CONTENU_01.htm" ; // A remplacer par une valeur dépandant de "list.options[list.selectedIndex].value" comme dans l'exemple ci-dessus
	} else {
		var list = document.f_fondsdoc.fondslist2; // deuxième liste
		if (list.options[list.selectedIndex].value != "00") {
			self.location.href = "CONTENU_01.htm" ; // A remplacer par une valeur dépandant de "list.options[list.selectedIndex].value"
		} else {
			var list = document.f_fondsdoc.fondslist3; // troisième liste
			if (list.options[list.selectedIndex].value != "00") {
				self.location.href = "CONTENU_01.htm" ; // A remplacer par une valeur dépandant de "list.options[list.selectedIndex].value"
			}
		}
	}
}
list_change_id="fondslist1"

function list_change(id)
	{
	list_change_id=id
	}

function J_printa() {
	// window.print();
	/* timeoutID=setTimeout("self.close();", 5000); */
	// Afficher l'url de la page referer
	var sz_url_src = escape(document.location);
	// alert(sz_url_src);
	window.open('/imprim/imprime.php?url='+sz_url_src,'imp','width=500,height=700,scrollbar=auto,resizable=yes');
	}

function J_print() {
	window.print();
	}
	
function jour() {
	var now=new Date();
	var dayNames=new Array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
	var monthNames=new Array("janvier","f&eacute;vrier","mars","avril","mai","juin","juillet","août","septembre","octobre","novembre","décembre");
	var date_en_toute_lettre=new String();
	var Old_annee=new String();
	var annee=new String();
	Old_annee=""+now.getYear();
	deb=Old_annee.length-2;
	annee=Old_annee.substring(deb,deb+2);
	var heure=new String();
	var minute=new String();
 	heure = now.getHours();
	minute = now.getMinutes();
	if (eval(minute)<10)
		{
		minute="0"+minute;
		}
	if (eval(annee)<80)
		{
		annee="20"+annee;
		}
	else
		{
		annee="19"+annee;
		}
	date_en_toute_lettre=dayNames[now.getDay()]+" "+now.getDate()+" "+monthNames[now.getMonth()]+" "+annee+" - "+heure+"h"+minute;
	
	return date_en_toute_lettre;
	}

// Objet utilisateur
var loadACNow = typeof(window.loadAC) == "undefined";
if ( loadACNow )
{
	window.loadAC = 1;
function SynSuggests() {
	this.AddInput = AddInput;
	this.setChargementImmediat = setChargementImmediat;
	this.setChargementSurDelai = setChargementSurDelai;
	this.setChargementSurFocus = setChargementSurFocus;
	this.setChargementSurTouche = setChargementSurTouche;
	this.Start = Start;
}

// Fonction gestion chargement

function AddInput(Elt, className) {
	if ( Elt ) {
		GestionDom.debug("un nouveau");
		TabSuggestElt.push(Elt);
		if ( typeof className != "undefined" )
			Elt.setAttribute("synsuggest", className);
	}
}

function setChargementImmediat(Val) {
	TabSuggestLancement["immediat"] = Val;
}

function setChargementSurDelai(Val) {
	TabSuggestLancement["delai"] = Val;
}

function setChargementSurFocus(Val) {
	TabSuggestLancement["surfocus"] = Val;
}

function setChargementSurTouche(Val) {
	TabSuggestLancement["surtouche"] = Val;
}

function Start() {
	GestionDom.DomReadySuggests(__Start);
}





// Variables globales diverses
RessourcesPath = "http://www.synomia-autocompletion.com/";

collection = new Array;
SynSuggestsParams = new Array;
var Main = null;
TabSuggestElt = new Array;
var TabSuggestLancement = new Array;
TabSuggestLancement["immediat"] = false;
TabSuggestLancement["delai"] = 0;
TabSuggestLancement["surfocus"] = false;
TabSuggestLancement["surtouche"] = false;






// Fonctions chargement + debug

function SynInitFctSuggest() {
	Elt = document.getElementById("synTxtInput");
	if ( Elt )
		AddInput(Elt, "SynSuggestDefault");
	
};

function __Start() {

	for (j=0; j< TabSuggestElt.length; j++) {
		Elt = TabSuggestElt[j];
		if ( Elt ) {
			var Espace = "";
			if ( Elt.className != "" ) Espace = " "; 
			Elt.className += Espace + "SynSuggest";
			Elt.setAttribute("autocomplete","OFF");
		}
	}
	
	if ( TabSuggestLancement["immediat"] ) chargement_immediat();
	if ( TabSuggestLancement["surfocus"] ) chargement_onfocus();
	if ( TabSuggestLancement["surtouche"] ) chargement_onkeypress();
	if ( parseInt(TabSuggestLancement["delai"]) > 0 ) chargement_delai(parseInt(TabSuggestLancement["delai"]));
}

function debug_suggest(Ph) {
	//if ( window.console ) console.log(Ph);
};

var Cpt_Chargement = 0;
var ChargementTimer = null;
var Script_Data = false;
var Script_Lib = false;
var Script_CSS = false;
var Init_Fields = false;

function chargement(comm) {
	Ph = "Lancement ( "+comm+" )";
	debug_suggest(comm);	
	
	if ( ChargementTimer == null ) {
		ChargementTimer = chargement_engine();
	};
};

function chargement_engine() {
	if ( ChargementTimer != null ) { clearTimeout(ChargementTimer); ChargementTimer = null; };
	Cpt_Chargement++;
	Ph = "Mode auto => Essai "+Cpt_Chargement;
	debug_suggest(Ph);
		
		
	var ChargementNecessaire = ! ( Script_Data && Script_Lib && Script_CSS );

	if ( ChargementNecessaire && Cpt_Chargement <= 3) {
	
		debug_suggest("Need encore des ressources");
		// Rien pour le moment
		var Head = document.getElementsByTagName("head")[0];
		var Elt;
		
		if ( ! Script_Data ) {
			// on charge les données
			Elt = document.createElement("script");
			Elt.type = "text/javascript";
			Elt.src = RessourcesPath+"suggest_data.js.php?mid=c3841b232da26c6c03dcfbc6fc709252";
			Head.appendChild(Elt);
		}
		
		if ( ! Script_CSS  && Cpt_Chargement <= 1 ) {
			// on charge les styles
			Elt = document.createElement("link");
			Elt.type = "text/css";
			Elt.rel="stylesheet";
			Elt.href = RessourcesPath+"suggest.css.php?mid=c3841b232da26c6c03dcfbc6fc709252";
			Head.appendChild(Elt);
			Script_CSS = true;
		}
		
		
		if ( ! Script_Lib  && Cpt_Chargement <= 1 ) {
			// on charge la librairie suggest
			Elt = document.createElement("script");
			Elt.type = "text/javascript";
			Elt.src = RessourcesPath+"suggest_lib.js";
			Head.appendChild(Elt);
		}
		
		
		if ( ChargementTimer == null ) ChargementTimer = setTimeout("chargement_engine()", 1000);
	}
	else {
		debug_suggest("Toutes les ressources sont presentes");
	}
}


function chargement_immediat() {
	chargement("Chargement immediat");
};

function chargement_onfocus() {
	var inp;
	for ( i=0; i < TabSuggestElt.length; i++ ) {
		inp = TabSuggestElt[i];
		if (inp.addEventListener) {
			inp.addEventListener("focus", function() { chargement("Chargement sur focus"); }, false); //this.blur(); this.focus();
		} else {
			 inp.onfocus = function() { chargement("Chargement sur onfocus"); }; //this.blur(); this.focus();
		}
	}
};

var synTimer = null;
function chargement_delai(Val) {
	if ( Val == undefined ) Val = 5000;
	synTimer = setTimeout("chargement('Chargement sur delai')", Val);
};

function chargement_onkeypress() {
	var inp;
	for ( i=0; i < TabSuggestElt.length; i++ ) {
		inp = TabSuggestElt[i];
		if ( inp ) {
			if (inp.addEventListener) {
				inp.addEventListener("keydown", function() { chargement("Chargement sur onkeydown"); }, false);
			} else {
				inp.onkeydown = function() { chargement("Chargement sur onkeydown"); };
			}
		}
	}
	
};



function DomReadySuggests(fn)
{
	this.debug("DomReadySuggests : "+fn.name);
	this.TabFnDomReady.push(fn);
	if ( this.isReady ) {
		this.debug("DOM prete, on lance directement");
		this.__DomReadySuggests();
	}
	else {
		this.debug("DOM pas prete, on créé l'event");
		//W3C
		if(document.addEventListener)
		{
			document.addEventListener("DOMContentLoaded", function() { __DomReadySuggests_Callback(GestionDom, "__DomReadySuggests"); } , false);
		}
		//IE
		else
		{
			fn2 = document.onreadystatechange;
			if ( typeof fn2 == 'function' ) this.TabFnDomReady.unshift(fn2);
			document.onreadystatechange = function() { __DomReadySuggests_Callback(GestionDom, "readyStateSuggests"); };
		}
	}
}

//IE execute function
function readyStateSuggests()
{
	//dom is ready for interaction
	if(
		document.readyState == "complete"
		||
		document.readyState == "interactive"
	)
	{
		this.debug("gooooo");
		this.__DomReadySuggests();
	}
}

function __DomReadySuggests() {
	this.debug("__DomReadySuggests");
	this.debug("fcts : "+this.TabFnDomReady.length);
	if(!this.isReady) { this.isReady = true; }
	for(i=0; i<this.TabFnDomReady.length; i++) {
		if ( this.TabFnDomReady[i] ) {
			this.debug("execution fct "+(i+1)+" ("+this.TabFnDomReady[i].name+")");
			fn = this.TabFnDomReady[i];
			this.TabFnDomReady[i] = null;
			fn();
		}
	}
	this.TabFnDomReady = new Array;
	this.debug("trt domready ok");
}

function __DomReadySuggests_Callback(Classe, fn) {
	Classe[fn]();
}

if ( !window.GestionDom || typeof GestionDom != 'object' ) {
 
GestionDom = {};
// Fonctions interactions avec le browser
GestionDom.TabFnDomReady = new Array;
GestionDom.isReady = false;
GestionDom.DomReadySuggests = DomReadySuggests;
GestionDom.readyStateSuggests = readyStateSuggests; 
GestionDom.__DomReadySuggests = __DomReadySuggests;
GestionDom.debug = function(Val) {
	//if ( window.console ) console.log(Val); else debug_suggest(Val);
};



if (    typeof document.getElementsByTagName != 'undefined'
	&& typeof document.getElementById != 'undefined' 
	&& ( document.getElementsByTagName('body')[0] != null
		|| document.body != null ) ) {
	GestionDom.isReady = true;
}

}

GestionDom.DomReadySuggests(SynInitFctSuggest);

SynSuggest = new SynSuggests();

}if ( loadACNow ) {
	GestionDom.DomReadySuggests( function() {
	
	//Debut des fonctions propres au site

// ! Script perso
// exemple qui prend tout les input de type="text" dont le name vaut "q" ou "mot", et les associe pour l'utilisation des Suggest
var Elt=document.getElementsByTagName("input");
var loc = document.location.hostname;
loc = loc.replace(/\./g, "_");
for (j=0; j< Elt.length; j++) {
	if ( ( Elt[j].name == "q" || Elt[j].name == "mot") && (!Elt[j].className || Elt[j].className.indexOf("synTxtInput") < 0 ) ) {
		SynSuggest.AddInput(Elt[j], "Site_"+loc);
	}
}

// ! Chargement des ressources annexes quand un des camps textes prends le focus
SynSuggest.setChargementSurFocus(true);

// ! Chargement des ressources annexes quand une touche est appuyée dans le champ texte
SynSuggest.setChargementSurTouche(true);

// ! Prise en compte des 4 evenements parametrés ci-dessus
SynSuggest.Start();

	//Fin des fonctions propres au site
	});
}

