/***** SCRIPT.JS ***********************************************************

 Version : 02/12/2004
 Auteur : 
 Sébastien Poubelle
 Jérôme Demyttenaere
 Philippe Prédhomme
 Rémi Wipliez

******************************************************************************/

/***** Liste des fonctions ****************************************************

 isRef - Retourne la référence du navigateur.
 getRef - retourne l'odjet d'un indice du script courant.
 loadOne - Recharge la page.
 loaded -
 IsNumeric - Vérifie si une chaine de caractère est au format numérique.
 popup -
 MM_preloadImages -
 agrandir -
 ejs_img_fx -
 roll -
 addFavorite -
 calque_open -
 calque_close -
 calendar -

 + fonction BETA en fin de fichier

******************************************************************************/

/************************** in_array 1.0 2008-03-26
 *
 * Auteur : ?
 *
 * Prototype : Recherche une valeur dans un tableau.
 * 		- Retourne l'indice si la valeur est trouvé.
 * 		- Retourne -1 si la valeur n'est pas trouvé.
 *
 */


Array.prototype.in_array = function(valeur) {
	for (var i in this) { if (this[i] == valeur) return i;}
	return -1;
}


/************************** isRef 1.0 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 * Retourne la référence du navigateur : 'DOM', 'IE4' ou 'NS4'.
 *
 */


function isRef() {
	if(document.getElementById) return "DOM";
	if(document.all) return "IE4";
	if(document.layers) return "NS4";
	}


/************************** getRef 1.3 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 * Retourne l'odjet d'indice 'id' du script courant.
 *
 */


function getRef(id) {
	if(isRef() == "DOM") return document.getElementById(id);
	if(isRef() == "IE4") return document.all[id];
	if(isRef() == "NS4") return document.layers[id];
	}


/************************** getCssValue ? 2006-12-08
 *
 * Auteur : HackTrack http://www.commentcamarche.net/forum/profil-HackTrack
 * Adaptation : Sébastien Poubelle
 *
 * Retourne les valeurs css d'un élément html.
 *
 */


// function getCssValue(tagRef,element)
// {
// 	var tag = getRef(tagRef);
// 	var value= tag.style[element];
// 	if(value==null || value=='' || value=='undefined')
// 	{
// 		var aClass = tag.className;
// 		var cssRules = 'rules';
// 		for(var sSheet=0; sSheet < document.styleSheets.length; sSheet++)
// 		{
// 			for (var rule=0; rule < document.styleSheets[sSheet][cssRules].length; rule++)
// 			{
// 				var currentClass = document.styleSheets[sSheet][cssRules][rule].selectorText.substring(1);
// 				if (currentClass == aClass) return document.styleSheets[sSheet][cssRules][rule].style[element];
// 			}
// 		}
// 	}
// 	return  value;
// }

/************************** loadOne 1.0 2005-02-15
 *
 * Auteur : Jérôme Demyttenaere
 *
 * Recharge la page
 *
 */


function loadOne() {
        window.location.reload();
        }


/************************** loaded 3.0 2006-03-17
 *
 * Auteur : Jérôme Demyttenaere, Sébastien Poubelle
 *
 */


function loaded(color) {
	getRef('nowLoading').innerHTML = "<font color='"+ color +"'>TRAITEMENT EN COURS</font>";
	}


/************************** IsNumeric 3.0
 *
 * Auteur : Jérôme Demyttenaere
 *
 * Vérifie si une chaine de caractère est au format numérique.
 *
 */


function IsNumeric(strString) {
	var strValidChars = "0123456789.- ";
	var strChar;
	var blnResult = true;
	if (strString.length == 0) return false;
	for (i = 0; i < strString.length && blnResult == true; i++) {
		strChar = strString.charAt(i);
		if (strValidChars.indexOf(strChar) == -1) blnResult = false;
		}
	return blnResult;
	}


/************************** popup 3.1 2005-05-03
 *
 * Auteur : Sébastien Poubelle
 *
 * void popup( String pop_url , Int pop_width , Int pop_height [ , String pop_bar ] )
 *
 * pop_url : url de la page pop-up.
 * pop_width : largeur de la fenêtre en pixel.
 * pop_height : hauteur de la fenêtre en pixel.
 * pop_bar : affichage de la scrollbar, option : 'yes' / 'no'.
 *
 */


function popup(pop_url,pop_width,pop_height) {
	var pop_bar = "yes", pop_arg = popup.arguments;
	if(pop_arg.length == 4) pop_bar = pop_arg[3];
	pop_name = pop_url.substring(0,3);
	pop_left = (window.screen.availWidth / 2) - (pop_width / 2);
	pop_top = (window.screen.availHeight / 2) - (pop_height / 2);
	window.open(pop_url,pop_name,"left=" + pop_left + ",top=" + pop_top + ",width=" + pop_width + ",height=" + pop_height + ",scrollbars="+ pop_bar +",noresize");
	}


/************************** MM_preloadImages 3.0
 *
 * Auteur : Macromédia
 *
 *
 */


function MM_preloadImages() {
	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];
			}
		}
	}


/************************** agrandir 3.0 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 *
 */


function agrandir(img_src,link_color,bg_color) {
	var pop_width = 640;
	var pop_height = 480;
	var pop_img = new Image();
	pop_img.src = img_src;
	pop_win = window.open("","","width="+ pop_width +",height="+ pop_height +",scrollbars=yes");
	pop_win.document.open();
	pop_win.document.write("<head><title>Arbre d'un jour</title></head>");
	pop_win.document.write("<body leftmargin='0' topmargin='0' marginwidth='0' marginheight='0'");
	pop_win.document.write(" link='"+link_color+"' alink='"+link_color+"' vlink='"+link_color+"' bgcolor='"+bg_color+"'>");
	pop_win.document.write("<table width='100%' border='0' style='height:100%;'>");
	pop_win.document.write("<tr><td align='center' valign='middle'><img src='"+pop_img.src+"' style='border-color:#62013A;border-style:solid;border-width:1px;'></td></tr>");
	pop_win.document.write("<tr><td align='center' valign='middle'><font size='1' face='Verdana,Arial,Helvetica,sans-serif'>");
	pop_win.document.write("<a href='javascript:window.close();'>Fermer la fen&ecirc;tre</a>");
	pop_win.document.write("</font></td></tr>");
	pop_win.document.write("</table>");
	pop_win.document.write("</body>");
	pop_win.document.close();
	pop_left = (window.screen.availWidth / 2) - (pop_width / 2);
	pop_top = (window.screen.availHeight / 2) - (pop_height / 2);
	pop_win.moveTo(pop_left,pop_top);
	}

/*function menu
window.innerWidth
window.innerHeight
*/
/************************** ejs_img_fx 1.0 2005-02-15
 *
 * Auteur : ???
 *
 *
 */


function ejs_img_fx(img) {
	if(img && img.filters && img.filters[0]) {
		img.filters[0].apply();
		img.filters[0].play();
		}
	}


/************************** roll 1.0 2005-02-15
 *
 * Auteur : Sébastien Poubelle
 *
 * i : indice en cours. Lors de l'initialisation il est égale à 0.
 * speed : Vitesse du roll over en ms
 * ejs_img_fx : booléen indiquant si il existe un style du genre style="filter:progid:DXImageTransform.Microsoft.Fade(Duration=1)" sur l'image.
 * roll : objet image dans laquelle le roll over est effectif
 *
 * Préalablement il faut initialiser 'roll_array[roll]', tableau des sources images de l'animation. 'roll_array' étant déjà définit.
 *
 * exemple :
 *
 *	<IMG id="monImage" src="" width="410" height="600" border="0">
 *	
 *	<SCRIPT>
 *	
 *	roll_array['monImage'] = new Array();
 *	roll_array['monImage'][0] = "monImage1.jpg";
 *	roll_array['monImage'][1] = "monImage2.jpg";
 *	roll_array['monImage'][2] = "monImage3.jpg";
 *	roll_array['monImage'][3] = "monImage4.jpg";
 *	roll_array['monImage'][4] = "monImage5.jpg";
 *	
 *	roll(0,3000,false,roll);
 *	
 *	</SCRIPT>
 *
 *
 */


var roll_array = new Array();


function roll(i,speed,img_fx,roll) {
	if(img_fx) ejs_img_fx(getRef(roll));
	getRef(roll).src = roll_array[roll][i];
	i++;
	if(i >= roll_array[roll].length) i = 0;
	setTimeout("roll("+ i +","+ speed +","+ img_fx +",'"+ roll +"')",speed);
	}


/************************** addFavorite 1.0 2005-06-14
 *
 * Auteur : Sébastien Poubelle
 *
 * Ajoute la page aux favories
 *
 */


function addFavorite() {
	NomNavigateur = navigator.appName;
	VersionNavigateur = parseInt(navigator.appVersion);
	if(NomNavigateur == "Microsoft Internet Explorer" && VersionNavigateur >= 4) {
		window.external.AddFavorite(location.href, document.title);
		}
	else alert("Votre navigateur ne permet pas l'ajout automatique dans vos favories.");
	}


/************************** calque_open 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calque_open(id) {
	if(getRef(id).style.visibility == 'hidden') {
		getRef(id).style.visibility = 'visible';
//		setTimeout("calque_close('"+id+"')",9000);
		}
	else getRef(id).style.visibility = 'hidden';
	}


/************************** calque_close 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calque_close(id) {
	getRef(id).style.visibility = 'hidden';
	}



/************************** calendar 1.0 2006-03-17
 *
 * Auteur : Sébastien Poubelle
 *
 */


function calendar(id, buttoncolor, bgcolor, color, langue, objet_input, m_plus) {
	var str = "";
	var flg = 0;
	M_fr = new Array("Janvier","Fevier","Mars","Avril","Mai","Juin","Juillet","Aout","Septembre","Octobre","Novembre","Decembre");
	D_fr = new Array("Dim","Lun","Mar","Mer","Jeu","Ven","Sam");
	M_uk = new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	D_uk = new Array("Sun","Mon","Tue","Wed","Thu","Fri","Sat");

	M = M_uk;
	D = D_uk;
	if(langue == "fr") {
		M = M_fr;
		D = D_fr;
		}

	if(m_plus < 0) m_plus = 0;
	if(m_plus > 12) m_plus = 12;

	pdy = new Date();        // today
	pmo = pdy.getMonth();    // present month
	pyr = pdy.getYear();     // present year
	if(pyr < 1000) pyr += 1900;

	yr = pyr;                // present year
	mo = pmo + m_plus;                // present month
	if(mo > 11) {
		mo = mo - 12;
		yr++;
		}

	bgn = new Date(M_uk[mo] + " 1," + yr); // assign to date

	dy = bgn.getDay();
	yr = eval(yr);
	d = "312831303130313130313031";
	if (yr / 4 == Math.floor(yr / 4)){
		d = d.substring(0,2) + "29" + d.substring(4,d.length);
		}
	pos = (mo*2);
	ld = eval(d.substring(pos,pos+2));

	str += ""
	+ "<TABLE BGCOLOR=\""+ bgcolor +"\" BORDER=0 cellpadding=\"1\" cellspacing=\"2\"' style=\"border-right:1px solid "+ color +";border-top:1px solid "+ color +";border-left:1px solid "+ color +";border-bottom:1px solid "+ color +";\">"
	+ "<TR><TD ALIGN=CENTER BGCOLOR=\""+ buttoncolor +"\" style=\"cursor:pointer;font-size:12px;font-family:Verdana,sans-serif;color:"+ color +";\" onclick=\"calendar('"+ id +"','"+ buttoncolor +"','"+ bgcolor +"','"+ color +"','"+ langue +"','"+ objet_input +"',"+ (m_plus-1) +");\"><B>&#171;</B></TD><TD ALIGN=CENTER COLSPAN=5 style=\"font-size:10px;font-family:Verdana,sans-serif;color:"+ color +";\"><B>"+ M[mo] +" "+ yr +"</B></TD><TD ALIGN=CENTER BGCOLOR=\""+ buttoncolor +"\" style=\"cursor:pointer;font-size:12px;font-family:Verdana,sans-serif;color:"+ color +";\" onclick=\"calendar('"+ id +"','"+ buttoncolor +"','"+ bgcolor +"','"+ color +"','"+ langue +"','"+ objet_input +"',"+ (m_plus+1) +");\"><B>&#187;</B></TD></TR>"
	+ "<TR>";
	for (var i=0;i<7;i++){
		str += "<TD WIDTH=\"15%\" style=\"font-size:10px;font-family:Verdana,sans-serif;color:"+ color +";\" ALIGN=CENTER>"+ D[i] +"</TD>";
		}
	str += "</TR><TR>";
	ctr = 0;
	for(var i = 0; i < 7; i++) {
		if (i < dy){
			str += "<TD></TD>";
			}
		else{
			ctr++;
			jour = ""+ ctr; 
			if(jour.length < 2) jour = "0"+ jour;
			mois = ""+ (mo+1); 
			if(mois.length < 2) mois = "0"+ mois;
			str += "<TD BGCOLOR=\""+ buttoncolor +"\" ALIGN=CENTER style=\"cursor:pointer;font-size:10px;font-family:Verdana,sans-serif;color:"+ color +";\" onclick=\""+ objet_input +".value = '"+ jour +"/"+ mois +"/"+ yr +"';calque_close('"+ id +"');\">"+ ctr +"</TD>";
			}
		}
	str += "</TR><TR>";
	while (ctr < ld){
		for (var i = 0; i < 7; i++){
			ctr++;
			if (ctr > ld){
				str += "<TD></TD>";
				}
			else{
				jour = ""+ ctr; 
				if(jour.length < 2) jour = "0"+ jour;
				mois = ""+ (mo+1); 
				if(mois.length < 2) mois = "0"+ mois;
				str += "<TD BGCOLOR=\""+ buttoncolor +"\" ALIGN=CENTER style=\"cursor:pointer;font-size:10px;font-family:Verdana,sans-serif;color:"+ color +";\" onclick=\""+ objet_input +".value = '"+ jour +"/"+ mois +"/"+ yr +"';calque_close('"+ id +"');\">"+ ctr +"</TD>";
				}
			}
		str += "</TR><TR>";
		}
	str += "</TR></TABLE>";
	getRef(id).innerHTML = str;
	}


/************************** Under-Warz
 *
 * Auteur : Under-Warz http://www.siteduzero.com/membres-294-1821.html
 *
 * Librairie de fonction divers pour le formatage de texte.
 * http://www.siteduzero.com/tuto-3-1982-1-creation-d-un-bbcode-et-apercu-en-direct.html
 * Je les ai légèrement modifié pour les adapter à ma bibliothèque de fonction.
 *
 */

var ptag = String.fromCharCode(5,6,7);

// function deblaie(reg,t)
// {
// 	textarea=new String(t);
// 	return textarea.replace(reg,'$1\n');
// }

function remblaie(t)
{
	textarea=new String(t);
	textarea=textarea.replace(/\r/g,'');
	return textarea.replace(/\n/g,'');
}

function remplace_tag(reg,rep,t)
{
	textarea=new String(t);
	return textarea.replace(reg,rep);
}

function nl2br(t)
{
	textarea=new String(t);
	textarea=textarea.replace(/\r/g,'');
	return textarea.replace(/\n/g,'<BR/>');
}

function space2nbsp(t)
{
	textarea=new String(t);
	return textarea.replace(/ /g,'&nbsp;');
}

function nl2khol(t)
{
	textarea = new String(t);
	textarea=textarea.replace(/\r/g,'');
	return textarea.replace(/\n/g,ptag);
}

function unkhol(t)
{
	textarea=new String(t);
	return textarea.replace(new RegExp(ptag,'g'),'\n');
}

/************************** popList 1.0 2007-04-11
 *
 */

var pop_list = new Array();

function popList(arg_form, arg_input, arg_url, arg_value, arg_lib, arg_style, arg_script)
{
	arg_name = arg_form+"_"+arg_input;
	pop_list[arg_name] = new Array();
	pop_list[arg_name]["name"] = arg_name;
	pop_list[arg_name]["input"] = arg_input;
	pop_list[arg_name]["value"] = arg_value;
	pop_list[arg_name]["form"] = arg_form;
	pop_list[arg_name]["url"] = arg_url;
	pop_list[arg_name]["style"] = arg_style;
	pop_list[arg_name]["script"] = arg_script;
	document.write("<INPUT name=\"poplist_"+arg_name+"\" type=\"button\" value=\""+arg_lib+"\" onClick=\"popList_open('"+arg_name+"');\" style=\""+arg_style+"\" /><INPUT name=\""+arg_input+"\" type=\"hidden\" value=\""+arg_value+"\" />");
}

function popList_open(arg_name)
{
	pop_width = 480;
	pop_height = 480;
	pop_left = (window.screen.availWidth / 2) - (pop_width / 2);
	pop_top = (window.screen.availHeight / 2) - (pop_height / 2);
	pop_url = pop_list[arg_name]["url"];
	if(pop_url.indexOf("?") == -1) pop_url += "?";
	else pop_url += "&";
	pop_url += "name="+pop_list[arg_name]["name"]+"&value="+pop_list[arg_name]["value"];
	window.open(pop_url,"poplist"+pop_list[arg_name]["name"],"left="+pop_left+",top="+pop_top+",width="+pop_width+",height="+pop_height+",scrollbars=yes,noresize");
}

function popList_set(arg_name,arg_value,arg_lib)
{
	pop_list[arg_name]["value"] = arg_value;
//	alert("document."+pop_list[arg_name]["form"]+"."+pop_list[arg_name]["input"]+".value=\""+arg_value+"\"");
	setTimeout("document."+pop_list[arg_name]["form"]+"."+pop_list[arg_name]["input"]+".value=\""+arg_value+"\"",10);
	setTimeout("document."+pop_list[arg_name]["form"]+".poplist_"+pop_list[arg_name]["name"]+".value=\""+arg_lib+"\"",10);
//	alert(document.form_prospect.contact_id.value);
	if(pop_list[arg_name]["script"] != "") setTimeout(pop_list[arg_name]["script"],10);
}

/************************** getXhr 1.0 2007-03-13
 *
 * Retourne un objet XMLHttpRequest en déterminant le navigateur utilisé.
 *
 */

function getXhr()
{
	var xhr = null; 
	if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); // Firefox et autres
	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
}

/************************** valider 1.0 2007-03-17
 *
 * Valide le formulaire arg_form
 *
 */

function form_traiter(arg_form)
{
	getRef('traitement_en_cours').innerHTML = "<FONT class=\"alert\">TRAITEMENT EN COURS</FONT>";
	arg_form.submit();
}

/************************** qteInput 1.0 2007-04-25
 *
 */

var qteInput_array = new Array();

function qteInput (arg_form, arg_input, arg_value, arg_min, arg_max, arg_img_plus, arg_img_moins, arg_style, arg_script)
{
	var qteInput = arg_form +"_"+ arg_input;
	qteInput_array[qteInput] = new Array();
	qteInput_array[qteInput]["min"] = arg_min;
	qteInput_array[qteInput]["max"] = arg_max;
	qteInput_array[qteInput]["script"] = arg_script;
	document.write("<INPUT id=\""+ qteInput +"\" name=\""+ arg_input +"\" type=\"hidden\" value=\""+ arg_value +"\" />");
	document.write("<TABLE border=\"0\" cellpadding=\"1\" cellspacing=\"0\" style=\""+ arg_style +"\">");
	document.write("<TR><TD class=\"input\"><DIV id=\""+ qteInput +"_str\">"+ arg_value +"</DIV></TD>");
	document.write("<TD><TABLE border=\"0\" cellpadding=\"0\" cellspacing=\"1\">");
	document.write("<TR><TD><A href=\"javascript:qteInput_plus('"+ qteInput +"');\"><IMG alt=\"&#043;\" src=\""+ arg_img_plus +"\" border=\"0\" /></A></TD></TR>");
	document.write("<TR><TD><A href=\"javascript:qteInput_moins('"+ qteInput +"');\"><IMG alt=\"&#045;\" src=\""+ arg_img_moins +"\" border=\"0\" /></A></TD></TR>");
	document.write("</TABLE></TD></TR>");
	document.write("</TABLE>");
}

function qteInput_plus (qteInput)
{
	var val = getRef(qteInput).value;
	if(qteInput_array[qteInput]["max"] == null || val < qteInput_array[qteInput]["max"])
	{
		val++;
		getRef(qteInput).value = val;
		getRef(qteInput+"_str").innerHTML = val;
		if(qteInput_array[qteInput]["script"] != "") setTimeout(qteInput_array[qteInput]["script"],10);
	}
}

function qteInput_moins (qteInput)
{
	var val = getRef(qteInput).value;
	if(qteInput_array[qteInput]["min"] == null || val > qteInput_array[qteInput]["min"])
	{
		val--;
		getRef(qteInput).value = val;
		getRef(qteInput+"_str").innerHTML = val;
		if(qteInput_array[qteInput]["script"] != "") setTimeout(qteInput_array[qteInput]["script"],10);
	}
}

/************************** getXhrById 1.0 2007-05-30
 *
 * Retourne le résultat du script arg_script dans l'id arg_id.
 *
 */

function getXhrById (arg_script, arg_id)
{
	var xhr = getXhr()
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			getRef(arg_id).innerHTML = xhr.responseText;
		}
	}
	xhr.open("GET",arg_script,true);
	xhr.send(null);
}


/************************** getXhrByScript 1.0 2007-05-30
 *
 * Exécute le résultat retourné par le script arg_script.
 *
 */

function getXhrByScript (arg_script)
{
	var xhr = getXhr()
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			eval(xhr.responseText);
		}
	}
	xhr.open("GET",arg_script,true);
	xhr.send(null);
}


/************************** getXhrFormById 1.0 2007-05-29
 *
 * Traite un formulaire arg_form par un objet XMLHttpRequest en utilisant
 * le script arg_script. Le résultat est retourné dans l'id arg_id.
 *
 */

function getXhrFormById (arg_form, arg_script, arg_id)
{
	var xhr = getXhr()
	var xhr_data = "";
	for(var i = 0; i < arg_form.elements.length; i++)
	{
		if(i != 0) xhr_data += "&";
		xhr_data += arg_form.elements[i].name +"="+ arg_form.elements[i].value;
	}
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			getRef(arg_id).innerHTML = xhr.responseText;
		}
	}
	xhr.open("POST",arg_script,true);
	xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	xhr.send(xhr_data);
}

/************************** getXhrFormByScript 1.0 2007-05-30
 *
 * Traite un formulaire arg_form par un objet XMLHttpRequest en utilisant
 * le script arg_script. Le résultat retourné est exécuté en tand que
 * script JS.
 *
 */

function getXhrFormByScript (arg_form, arg_script)
{
	var xhr = getXhr()
	var xhr_speed = 10;
	var xhr_data = "";
	for(var i = 0; i < arg_form.elements.length; i++)
	{
		if(i != 0) xhr_data += "&";
		xhr_data += arg_form.elements[i].name +"="+ arg_form.elements[i].value;
	}
	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			eval(xhr.responseText);
		}
	}
	xhr.open("POST",arg_script,true);
	xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
	xhr.send(xhr_data);
}

/************************** dateString 1.0 2007-05-16
 *
 * Retourne une chaine de caractère de forme 'AAAA-MM-JJ'
 * à partir de l'objet arg_date.
 *
 * exemple d'utilisation : alert(dateString(new Date()));
 *
 */

function dateString (arg_date)
{
	var annee = arg_date.getFullYear();
	annee = ""+ annee;
	var mois = arg_date.getMonth()+1;
	mois = ""+ mois;
	if(mois.length < 2) mois = "0"+ mois;
	var jour = arg_date.getDate();
	jour = ""+ jour;
	if(jour.length < 2) jour = "0"+ jour;
	return(annee +"-"+ mois +"-"+ jour);
}

/************************** stringDate 1.0 2008-05-23
 *
 * Retourne un objet date() à partir d'une chaine de
 * caractère de forme 'AAAA-MM-JJ'.
 *
 * exemple d'utilisation : alert(stringDate("2008-05-23").toString());
 *
 */

function stringDate (arg_date)
{
	var annee = arg_date.substring(0,4);
	var mois = arg_date.substring(5,7);
	var jour = arg_date.substring(8,10);
	mois--;
	var date = new Date(annee, mois, jour);
	return(date);
}

/************************** mailto 1.1 2007-06-22
 *
 * Auteur : Sébastien Poubelle
 *
 */


function mailto(user,domaine,style) {
	var at = "@"
	document.write("<a href=\"mailto:"+ user + at + domaine +"\" style=\""+ style +"\">");
	document.write(user + at + domaine +"</a>");
	}

/************************** mailing_valid 1.0 2008-02-05
 *
 * Auteur : Sébastien Poubelle
 *
 */


function mailing_valid ()
{
	var mailing = getRef("mailing");
	if(mailing.value == "" || mailing.value.indexOf("@") == "-1" || mailing.value.indexOf(".") == "-1" || mailing.value.indexOf(" ") != "-1")
	{
		alert("Votre adresse E-mail est incorrecte.");
		mailing.focus();
		mailing.select();
		return;
	}
	document.location.href = "newsletter.html?mailing="+mailing.value;
}

/************************** recherche_valid 1.0 2008-02-05
 *
 * Auteur : Sébastien Poubelle
 *
 */


function recherche_valid ()
{
	var recherche = getRef("recherche");
	if(recherche.value == "" || recherche.value == "Rechercher...")
	{
		recherche.focus();
		recherche.select();
		return;
	}
	document.location.href = "recherche.html?recherche="+recherche.value;
}

/************************** carrousel 1.0 2008-02-20
 *
 * Auteur : Sébastien Poubelle
 *
 * Array {
 * 	0 => A href
 * 	1 => IMG alt
 * 	2 => IMG src
 * }
 *
carrousel["evenementielle"] = new Array();
carrousel["evenementielle"][0] = ["index.html","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][1] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][2] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][3] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][4] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][5] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][6] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][7] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][8] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][9] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][10] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrousel["evenementielle"][11] = ["javascript:;","","images/galerie_a_gauche.gif"];
carrouselInit("evenementielle",500,120,120,"cadre");
 */

var carrousel = new Array();

function carrouselOver (arg_id, arg_val)
{
	carrousel[arg_id]["boo"] = true;
	$pos = parseInt(getRef(arg_id).style.left);
	if(arg_val == -1)
	{
		if($pos < carrousel[arg_id]["min"])
		{
			$pos += 2;
			getRef(arg_id).style.left = $pos+"px";
		}
	}
	else
	{
		if($pos > -carrousel[arg_id]["max"])
		{
			$pos -= 2;
			getRef(arg_id).style.left = $pos+"px";
		}
	}
	if(carrousel[arg_id]["boo"] && $pos < carrousel[arg_id]["min"] && $pos > -carrousel[arg_id]["max"])
	{
		carrousel[arg_id]["temp"] = setTimeout("carrouselOver(\""+arg_id+"\","+arg_val+")",0);
	}
}

function carrouselOut (arg_id)
{
	carrousel[arg_id]["boo"] = false;
	clearTimeout(carrousel[arg_id]["temp"]);
}

function carrouselInit (arg_id, arg_size, arg_width, arg_height, arg_left, arg_right, arg_spacer, arg_class)
{
	var retour = "";
	var size = 100;
	for(var i = 0; i < carrousel[arg_id].length; i++)
	{
		retour += "<A href=\""+carrousel[arg_id][i][0]+"\"><IMG alt=\""+carrousel[arg_id][i][1]+"\" src=\""+arg_spacer+"\" width=\""+arg_width+"\" height=\""+arg_height+"\" border=\"0\" class=\""+arg_class+"\" style=\"margin:5px;background: url("+carrousel[arg_id][i][2]+") no-repeat center center;\" /></A>";
		size += (arg_width+10);
	}
	carrousel[arg_id]["boo"] = false;
	carrousel[arg_id]["min"] = 0;
	carrousel[arg_id]["max"] = (size-arg_size);
	document.write("<TABLE border=\"0\" cellpadding=\"0\" cellspacing=\"3\"><TR>\n");
	document.write("	<TR>\n");
	document.write("		<TD><IMG alt=\"&#060;\" src=\""+arg_left+"\" border=\"0\" onmouseover=\"carrouselOver('"+arg_id+"',-1);\" onmouseout=\"carrouselOut('"+arg_id+"');\" style=\"cursor:pointer;\" /></TD>\n");
	document.write("		<TD align=\"left\"><DIV style=\"position:relative;width:"+arg_size+"px;height:"+(arg_height+15)+"px;z-index:3;overflow:hidden;vertical-align:center;\">\n");
	document.write("			<DIV id=\""+arg_id+"\" style=\"position:absolute;width:"+(size*2)+"px;height:"+(arg_height+10)+"px;z-index:2;float:left;left:0px;\">"+retour+"</DIV>\n");
	document.write("		</DIV></TD>\n");
	document.write("		<TD><IMG alt=\"&#062;\" src=\""+arg_right+"\" border=\"0\" onmouseover=\"carrouselOver('"+arg_id+"',1);\" onmouseout=\"carrouselOut('"+arg_id+"');\" style=\"cursor:pointer;\" /></TD>\n");
	document.write("	</TR>\n");
	document.write("</TABLE>\n");
}

/************************** catalogue 1.0 2008-02-05
 *
 * Auteur : Sébastien Poubelle
 *
 */

var catalogueIsOpen = false;
var catalogueIsOver = false;
var catalogueTimeout = null;
var catalogueContenu = "";

function catalogue_open ()
{
	if(!catalogueIsOpen)
	{
		catalogueContenu = getRef("contenu").innerHTML;
		getRef("contenu").innerHTML = "<DIV align=\"center\" style=\"width:100%;height:320px;\"><BR /><BR /><BR /><IMG alt=\"\" src=\"images/nowloading.gif\" border=\"0\" align=\"center\" /></DIV>";
		getXhrById("xhr_catalogue.php","contenu");
		catalogueIsOpen = catalogueIsOver = true;
		catalogueTimeout = setTimeout("catalogue_over();",100);
	}
}

function catalogue_over ()
{
	if(catalogueIsOver)
	{
		catalogueTimeout = setTimeout("catalogue_over();",100);
	}
	else
	{
		getRef("contenu").innerHTML = catalogueContenu;
		catalogueIsOpen = false;
		clearTimeout(catalogueTimeout);
	}
}
