
/***** SCRIPT.JS ***********************************************************

Version : 2008-08-04
Auteur :
	Sébastien Poubelle
	Jérôme Demyttenaere
	Philippe Prédhomme
	Rémi Wipliez

******************************************************************************/

/***** Liste des fonctions ****************************************************

isRef 1.0 2005-02-15
getRef 1.3 2005-02-15
loadOne 1.0 2005-02-15
loaded 3.0 2006-03-17
IsNumeric 3.0
popup 3.1 2005-05-03
MM_preloadImages 3.0
agrandir 3.0 2005-02-15
ejs_img_fx 1.0 2005-02-15
roll 1.0 2005-02-15
calqude_open 1.0 2006-03-17
calque_close 1.0 2006-03-17
calendar 1.0 2006-03-17
Under-Warz (Librairie)
popList 1.0 2007-04-11
getXhr 1.0 2007-03-13
form_traiter 1.0 2007-03-17
qteInput 1.0 2007-04-25
getXhrById 1.0 2007-05-30
getXhrByScript 1.0 2007-05-30
getXhrFormById 1.0 2007-05-29
getXhrFormByScript 1.0 2007-05-30
dateString 1.0 2007-05-16
getMousePos 1.0 2007-02-02
bulle_open 1.0 2007-01-22
bulle_close 1.0 2007-01-22

******************************************************************************/


/************************** 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 'galerie_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];
}

/************************** IsNumeric 4.0
 *
 * Auteur : Jérôme Demyttenaere, Sébastien Poubelle
 *
 * 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 5.1 2008-10-14
 *
 * Auteur : Sébastien Poubelle
 *
 * void popup( String pop_url , Int pop_width , Int pop_height [ , String pop_bar ] [ , String pop_resize ] )
 *
 * 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', defaut : 'yes'.
 * pop_resize : redimensionne la fenetre, option : 'yes' / 'no', defaut : 'yes'.
 *
 */

function popup(pop_url,pop_width,pop_height)
{
	var pop_bar = "yes", pop_resize = "yes", pop_arg = popup.arguments;
	if(pop_arg.length >= 4) pop_bar = pop_arg[3];
	if(pop_arg.length >= 5 && pop_arg[4] == "yes") pop_resize = pop_arg[4];
	pop_name = pop_url;
	var caracteres = new Array("/",".","?","&","=",":","-");
	for(var i = 0; i < caracteres.length; i++)
	{
		while(pop_name.indexOf(caracteres[i]) != -1)
		{
			pop_name = pop_name.replace(caracteres[i],'');
		}
	}
	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 +",resizable="+ pop_resize);
}

/************************** 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=no");
	pop_win.document.open();
	pop_win.document.write("<head><title>Comoresto.com</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%' height='100%' border=0>");
	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();
	if(pop_img.width != 0 || pop_img.height != 0) {
		pop_width = pop_img.width + 40;
		pop_height = pop_img.height + 80;
		pop_win.resizeTo(pop_width,pop_height);
		}
	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);
}

/************************** 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,ejs_img_fx,roll)
{
	if(ejs_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 +","+ ejs_img_fx +",'"+ roll +"')",speed);
}

/************************** 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';
}

/************************** Under-Warz
 *
 * Auteur : Under-Warz http://siteduzero.com/membres-294-1821.html
 *
 * Librairie de fonction divers pour le formatage de texte.
 * http://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');
}

/************************** 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
}

/************************** 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 += "&";
		if(arg_form.elements[i].type == "file")
		{
			alert("file : "+arg_form.elements[i].name+"="+arg_form.elements[i].value+" ("+arg_form.elements[i].tmp_name+")");
			
		}
		else 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 2009-05-19
 *
 * Retourne un objet date à partir d'une chaine de
 * caractère de forme 'AAAA-MM-JJ HH:MM:SS'.
 *
 */

function stringDate(arg_string)
{
	var array = new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
	var string = array[arg_string.substr(5,2)-1]+" "+arg_string.substr(8,2)+" "+arg_string.substr(11,8)+" "+arg_string.substr(0,4);
	return new Date(string);
}


/************************** setSelectOptions 2.0 2009-05-19
 *
 * Checks/unchecks all options of a <select> element
 *
 * @param   string   the form name
 * @param   string   the element name
 * @param   boolean  whether to check or to uncheck the element
 *
 * @return  boolean  always true
 *
 */

function setSelectOptions(the_form, the_select, do_check)
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;
    for (var i = 0; i < selectCount; i++)
	{
        selectObject.options[i].selected = do_check;
    } // end for
}

/************************** setCheckOptions 2.0 2009-06-04
 *
 * Checks/unchecks all options of a <input radio> element
 *
 */
/*
function setCheckOptions(the_form, the_select, do_check) // 'checked' ''
{
    var selectObject = document.forms[the_form].elements[the_select];
    var selectCount  = selectObject.length;
    for (var i = 0; i < selectCount; i++)
	{
        selectObject.options[i].checked = do_check;
    } // end for
}
*/

/*COCHE TOUTES LES CASES D'UN BLOC DU FORMULAIRE DE RECHERCHE*/

function checked_all(num){

	var list_input = document.getElementById('detail_'+tab_num_search[num]).getElementsByTagName('input');

	if(document.getElementById(tab_num_search[num]+'_all').checked==true) var all_checked = 'checked';

	else var all_checked = '';

	

	for(var i=0;i<list_input.length;i++){

		if(list_input[i].id!=tab_num_search[num]+'_all') list_input[i].checked = all_checked;

	}

	

	if(all_checked=='checked') aff_dans_input(tab_num_search[num],'all');

	else aff_dans_input(tab_num_search[num],'none');

}




/************************** html_entity_decode
*
*/

function html_entity_decode (str) {
  var ta = document.createElement("textarea");
  ta.innerHTML = str.replace(/</g,"&lt;").replace(/>/g,"&gt;");
  return ta.value;
}

/************************** mailto 1.1 2009-07-06
 *
 * Auteur : Sébastien Poubelle
 *
 */

function mailto(user,domaine,style)
{
	var at = "@";
	document.write("<a href=\"/xhr_contact.php?user="+ user +"&amp;height=500&amp;width=550&amp;modal=true\" class=\"thickbox\" style=\""+ style +"\" >"+ user + at + domaine +"</a>");
}


/************************** BETA ******************************************************************************************************************************************/

function isDate(dateStr)
{
//	var datePat = /^(\d{1,2})(\/|-)(\d{1,2})(\/|-)(\d{4})$/;
	var datePat = /^(\d{4})(-)(\d{1,2})(-)(\d{1,2})$/;
	var matchArray = dateStr.match(datePat); // is the format ok?

	if (matchArray == null)
	{
//		alert("Please enter date as either mm/dd/yyyy or mm-dd-yyyy.");
		return false;
	}

	year = dateStr.substr(0,4);
	month = dateStr.substr(5,2);
	day = dateStr.substr(8,2);
	
// 	month = matchArray[1]; // p@rse date into variables
// 	day = matchArray[3];
// 	year = matchArray[5];

	if (month < 1 || month > 12)
	{ // check month range
//		alert("Month must be between 1 and 12.");
		return false;
	}

	if (day < 1 || day > 31)
	{
//		alert("Day must be between 1 and 31.");
		return false;
	}

	if ((month==4 || month==6 || month==9 || month==11) && day==31)
	{
//		alert("Month "+month+" doesn`t have 31 days!")
		return false;
	}

	if (month == 2)
	{ // check for february 29th
		var isleap = (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0));
		if (day > 29 || (day==29 && !isleap))
		{
//			alert("February " + year + " doesn`t have " + day + " days!");
			return false;
		}
	}
	return true; // date is valid
}

/************************** preloadImg 1.0 2008-12-12
 *
 * Auteur : Sebastien POUBELLE
 *
 */

function preloadImg(arg_array)
{
	for(var i = 0; i < arg_array.length; i++)
	{
		MM_preloadImages(arg_array[i]);
	}
}

/************************** 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");
}

/************************** 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;
	}

/************************** 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);
	}
}



//affichage/masquage d'un block
function display_block(val){
	if(document.getElementById(val).style.display == 'none') document.getElementById(val).style.display = 'block';
	else document.getElementById(val).style.display = 'none';
}

function display_vas_et_viens(val1, val2)
{
	if(document.getElementById(val1).style.display == 'none')
	{
		document.getElementById(val1).style.display = 'block';
		document.getElementById(val2).style.display = 'none';
	}
	else
	{
		document.getElementById(val1).style.display = 'none';
		document.getElementById(val2).style.display = 'block';
	}
}		

/************************** bulle_open 1.0 2007-01-22
 *
 * Auteur : Sébastien Poubelle
 *
*/
 
function bulle_open(arg_width, arg_height, arg_titre, arg_contenu)
{
	var finalPosX = mouse_pos_X-10;
	if(finalPosX < 0) finalPosX = 0;
	var finalPosY = mouse_pos_Y+10;
	if(finalPosY < 0) finalPosY = 0;
	getRef("bulle").style.left = finalPosX+"px";
	getRef("bulle").style.top = finalPosY+"px";
	getRef("bulle").style.width = (arg_width+12)+"px";
	getRef("bulle_detail").style.width = arg_width+"px";
	getRef("bulle_detail").style.height = arg_height+"px";
	getRef("bulle_titre").innerHTML = arg_titre;
	getRef("bulle_detail").innerHTML = arg_contenu;
	getRef("bulle").style.visibility = "visible";
}

/************************** bulle_close 1.0 2007-01-22
 *
 * Auteur : Sébastien Poubelle
 *
 */

function bulle_close()
{
	getRef("bulle_detail").innerHTML = "";
	getRef("bulle").style.visibility = "hidden";
}

/*AFFICHE OU MASQUE DES BLOCS*/
function display_block(bloc) {
	if(document.getElementById(bloc).style.display == 'block') document.getElementById(bloc).style.display = 'none';
	else document.getElementById(bloc).style.display = 'block';
}

/************************** RunFoo 3.0 2009-07-10
*
* void RunFoo ( arg_swf, arg_width, arg_height, arg_player, arg_id = "", arg_wmode = true, arg_flashvars = [] )
*
*/

function RunFoo (arg_swf, arg_width, arg_height, arg_player)
{
	var args = RunFoo.arguments;
	// arg_id (4)
	var arg_id;
	if(args[4]) arg_id = args[4];
	else
	{
		var i = 0;
		while(getRef("RunFoo"+i)) i++;
		arg_id = "RunFoo"+i;
	}
	// arg_flashvars (5)
	var arg_wmode = false;
	if(args[5]) arg_wmode = args[5];
	// arg_flashvars (6)
	var arg_flashvars = "";
	if(args[6]) arg_flashvars = args[6];
	// getRef
	if(!getRef(arg_id))
	{
		document.write('<p id="'+ arg_id +'"><a href="http://www.macromedia.com/go/getflashplayer" target="_blank">Télécharger Flash Player pour voir cette vidéo</a></p>');
	}
	// SWFObject
	var	swfo = new SWFObject(arg_swf,"single",arg_width,arg_height,arg_player);
	swfo.addParam("quality","high");
	if(arg_wmode != false) swfo.addParam("wmode", "transparent");
	swfo.addVariable("width", arg_width);
	swfo.addVariable("height", arg_height);
	if(arg_flashvars != "")
	{
		var varArray = arg_flashvars.split(",");
		for(var i = 0; i < varArray.length; i++)
		{
			var varDef = varArray[i].split("=");
			swfo.addVariable(varDef[0],varDef[1]);
		}
	}
	swfo.write(arg_id);
}

/************************** RunFooVideo 3.1 2009-07-10
*
* void RunFooVideo ( arg_video, arg_image, arg_width, arg_height, arg_id = "" )
*
*/

function RunFooVideo (arg_video, arg_image, arg_width, arg_height)
{
	var args = RunFooVideo.arguments;
	// arg_id (4)
	var arg_id;
	if(args[4]) arg_id = args[4];
	else
	{
		var i = 0;
		while(getRef("RunFooVideo"+i)) i++;
		arg_id = "RunFooVideo"+i;
	}
	// getRef
	if(!getRef(arg_id))
	{
		document.write('<p id="'+ arg_id +'"><a href="http://www.macromedia.com/go/getflashplayer" target="_blank">Télécharger Flash Player pour voir cette vidéo</a></p>');
	}
	// SWFObject
	var swfo = new SWFObject("/swf/flvplayer.swf","single",arg_width,arg_height,"7");
	swfo.addParam("allowfullscreen","true");
	swfo.addParam("wmode", "transparent");
	swfo.addVariable("file",arg_video);
	swfo.addVariable("image",arg_image,arg_width,arg_height);
	swfo.addVariable("backcolor","0x000000");
	swfo.addVariable("frontcolor","0xCCCCCC");
	swfo.addVariable("lightcolor","0xEA5B00");
	swfo.addVariable("width",arg_width);
	swfo.addVariable("height",arg_height);
	swfo.write(arg_id);
}


function alertConexion ()
{
	var arg_url = '', args = alertConexion.arguments;
	if(args.length > 0) arg_url = args[0];
	if(arg_url != '')
	{
		$("#thickbox_identification-vote").attr("href","/xhr_identification-vote.php?source="+arg_url+"&amp;height=450&amp;width=780&amp;modal=true");
	}
	//alert("Pour voter sur un coq ou consulter les archives, connectez-vous à votre espace client !");
	$("#thickbox_identification-vote").click();
} 

function fixPNG() {
	if(navigator.appName == 'Microsoft Internet Explorer') {
		var png = /\.png$/i;
		var imgs = document.getElementsByTagName('img');
		for(var i = 0, l = imgs.length; i < l; i++) {
			if(png.test(imgs.item(i).src)) {
				imgs.item(i).style.width = imgs.item(i).offsetWidth;
				imgs.item(i).style.height = imgs.item(i).offsetHeight;
				imgs.item(i).style.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'' + imgs.item(i).src + '\',sizingMethod=\'image\')';
				imgs.item(i).src = '/images/spacer.gif';
			}
		}
	}
}


