/** retourne l'objet de l'élément dont l'id est passé en parametre **/
function getId(id)
{
	return document.getElementById(id);
}

/** permet de créer un effet coloré avec un fondu vers une autre couleur (en passant si nécessaire par une autre couleur définie) **/
// On peut appeler la fonction de cette façon : onclick="javascript:add_error_style('EditView', 'salutation', 'ERREUR !!');"
// Ne pas oublier de mettre une couleur de fond sur l'input ou modifier le js dans la fonction get_current_bgcolor ?
if(navigator.appName != 'Microsoft Internet Explorer')
{
	var inputsWithErrors = new Array();
	
	function add_error_style(formname, input, txt) // txt = message affiché à l'utilisateur
	{
		inputHandle = eval("getId('" + formname + "')['" + input + "']");
		// inputHandle = eval("document." + formname + "['" + input + "']");
		style = get_current_bgcolor(inputHandle);
		
		if(inputHandle.parentNode.innerHTML.search(txt) == -1)
		{
			errorTextNode = document.createElement('span');
			errorTextNode.className = 'required';
			errorTextNode.innerHTML = '<br />' + txt; // Position d'affichage du message d'erreur à modifier si nécessaire
			inputHandle.parentNode.appendChild(errorTextNode);
		}
		
		inputHandle.style.backgroundColor = "#F78A20"; // Couleur de début
		inputsWithErrors.push(inputHandle);
		
		for(wp = 1; wp <= 10; wp++)
		{
			window.setTimeout('fade_error_style(style, ' + wp * 10 + ')', 1000 + (wp * 100));
		}
	}
	
	function get_current_bgcolor(input) // Récupération de la couleur de fond
	{
		if(input.currentStyle) // ie 
		{
			style = input.currentStyle.backgroundColor;
			return style.substring(1,7);
		}
		else // moz
		{
			style = '';
			styleRGB = document.defaultView.getComputedStyle(input, '').getPropertyValue("background-color");
			comma = styleRGB.indexOf(',');
			style += dec2hex(styleRGB.substring(4, comma));
			commaPrevious = comma;
			comma = styleRGB.indexOf(',', commaPrevious+1);
			style += dec2hex(styleRGB.substring(commaPrevious+2, comma));
			style += dec2hex(styleRGB.substring(comma+2, styleRGB.lastIndexOf(')')));
			return style;
		}
	}
	
	function hex2dec(hex) // Découpage de la couleur
	{
		return(parseInt(hex,16));
	}
	
	var hexDigit = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F");
	
	function dec2hex(dec)
	{
		return(hexDigit[dec>>4] + hexDigit[dec&15]);
	}
	
	function fade_error_style(normalStyle, percent) //Eclaircissement
	{
		errorStyle = 'F78A20'; //Couleur intermédiaire
		var r1 = hex2dec(errorStyle.slice(0,2));
		var g1 = hex2dec(errorStyle.slice(2,4));
		var b1 = hex2dec(errorStyle.slice(4,6));
		
		var r2 = hex2dec(normalStyle.slice(0,2));
		var g2 = hex2dec(normalStyle.slice(2,4));
		var b2 = hex2dec(normalStyle.slice(4,6));
		
		
		var pc = percent / 100;
		
		r = Math.floor(r1+(pc*(r2-r1)) + .5);
		g = Math.floor(g1+(pc*(g2-g1)) + .5);
		b = Math.floor(b1+(pc*(b2-b1)) + .5);
		
		for(var wp = 0; wp < inputsWithErrors.length; wp++)
		{
			inputsWithErrors[wp].style.backgroundColor = "#" + dec2hex(r) + dec2hex(g) + dec2hex(b);
		}
	}
}

/** fonction qui permet d'ajouter ou d'enlever 7 jours a une date du calendrier */
function datePlusMoins(date_debut, modif, langue)
{
	// var langue = '{/literal}{$langue}{literal}';
	
	if(langue == 'f')
	{
		var jour_debut = parseInt((date_debut.substr(0,1) == 0 ? date_debut.substr(1,1) : date_debut.substr(0,2)));
		var mois_debut = parseInt((date_debut.substr(3,1) == 0 ? date_debut.substr(4,1) : date_debut.substr(3,2)));
	}
	else
	{
		var mois_debut = parseInt((date_debut.substr(0,1) == 0 ? date_debut.substr(1,1) : date_debut.substr(0,2)));
		var jour_debut = parseInt((date_debut.substr(3,1) == 0 ? date_debut.substr(4,1) : date_debut.substr(3,2)));
	}
	var annee_debut = parseInt(date_debut.substr(6,4));
	
	date = new Date();
	date.setDate(jour_debut);
	date.setMonth(mois_debut-1);
	date.setFullYear(annee_debut);
	
	if(modif == 'plus') date.setDate(date.getDate() + 7);
	else if(modif == 'moins') date.setDate(date.getDate() - 7);
	strDay = (date.getDate() < 10 ? "0" : "") + date.getDate();
	month = date.getMonth() + 1; // Retourne le numéro du mois. Attention 0 correspond au mois de Janvier et 11 au mois de Décembre. C'est pour cela que l'on ajoute 1.
	strMonth = (month < 10 ? "0" : "")+month;
	if(langue == 'f') strDate = strDay + "/" + strMonth + "/" + date.getFullYear();
	else strDate = strMonth + "/" + strDay + "/" + date.getFullYear();
	
	return strDate;
}

/** fonction qui permet d'ajouter ou d'enlever 7 jours a une date du calendrier */
function majDatesCal()
{
	if(getId('calendrier_debut_container_hidden')) getId('calendrier_debut_container').value = getId('calendrier_debut_container_hidden').value;
	if(getId('calendrier_fin_container_hidden')) getId('calendrier_fin_container').value = getId('calendrier_fin_container_hidden').value;
}

/** Parcours d'une chaine en testant si ce qu'il y a dans s correspond bien a la liste b **/
function carasp(s, b)
{
	var i;
	for (i = 0; i < s.length; i++)
	{
		var c = s.charAt(i);
		if (b.indexOf(c) == -1) return false;
	}
	return true;
}

/** test des caractères spéciaux **/
function testNumChar(chaine, msg)
{
	var v = chaine;
	if(!carasp(v, "0123456789"))
	{
		alert(msg);
		return false;
	}
	else return true;
}

/** test des caractères spéciaux **/
function testSpecialChar(chaine, msg)
{
	var v = chaine;
	if(!carasp(v, "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmonpqrstuvwxyzÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÝÿýÑñ' -"))
	{
		alert(msg);
		return false;
	}
	else return true;
}

function testSpecialChar_param(chaine, msg, para)
{
	var v = chaine;
	// var para = param;
	
	if(para == "tel")
	{
		if(!carasp(v, "+.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmonpqrstuvwxyz "))
		{
			alert(msg + "+.0123456789, ABCDEFGHIJKLMNOPQRSTUVWXYZ, abcdefghijklmonpqrstuvwxyz et espace");
			return false;
		}
		else return true;
	}
	else if(para == "code_postal")
	{
		if(!carasp(v, "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ "))
		{
			alert(msg+"0123456789, ABCDEFGHIJKLMNOPQRSTUVWXYZ et espace");
			return false;
		}
		else return true;
	}
	else if(para == "ville")
	{
		if(!carasp(v, ".,?;:!0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmonpqrstuvwxyzÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÝÿýÑñ "))
		{
			alert(msg + ".0123456789, ABCDEFGHIJKLMNOPQRSTUVWXYZ, abcdefghijklmonpqrstuvwxyz, virgule et espace");
			return false;
		}
		else return true;
	}
	else if(para == "adresse")
	{
		if(!carasp(v, "'\-.,;:!?0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmonpqrstuvwxyzÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÝÿýÑñ "))
		{
			alert(msg + ".0123456789, ABCDEFGHIJKLMNOPQRSTUVWXYZ, abcdefghijklmonpqrstuvwxyz, tiret, apostrophe,virgule et espace");
			return false;
		}
		else return true;
	}
}

/** teste si les caracteres passés en parametre sont présents dans la chaine **/
function testChar(chaine, msg, carateres) 
{
	// var v = chaine;
	if(!carasp(chaine, carateres))
	{
		alert(msg);
		return false;
	}
	else return true;
}

/** met en majuscules la premiere lettre d'une chaine **/
function ucFirst(chaine)
{
	var debut = chaine.charAt(0).toUpperCase();
	var fin = chaine.substr(1, chaine.length-1).toLowerCase();
	var result = debut+fin;
	return result;
}

/** met en majuscules la premiere lettre de chaques mots d'une chaine **/
function ucWords(chaine)
{
	var tabMots = chaine.split(/[ ]/);
	var tailleTab = tabMots.length;
	
	var result = '';
	var i;
	for(i = 0; i < tailleTab; i++)
	{
		result += ucFirst(tabMots[i]);
		if(i != tailleTab-1) result += ' ';
	}
	
	return result;
}

/** remplace les caracteres spéciaux par les caracteres standards **/
function replaceSpecialChar(chaine)
{
	var remplaceA = /[ÀÁÂÃÄÅàáâãäå]/g;
	var remplaceO = /[ÒÓÔÕÖØòóôõöø]/g;
	var remplaceE = /[ÈÉÊËèéêë]/g;
	var remplaceC = /[Çç]/g;
	var remplaceI = /[ÌÍÎÏìíîï]/g;
	var remplaceU = /[ÙÚÛÜùúûü]/g;
	var remplaceY = /[Ýÿý]/g;
	var remplaceN = /[Ññ]/g;
	
	chaine = chaine.replace(remplaceA, "a");
	chaine = chaine.replace(remplaceO, "o");
	chaine = chaine.replace(remplaceE, "e");
	chaine = chaine.replace(remplaceC, "c");
	chaine = chaine.replace(remplaceI, "i");
	chaine = chaine.replace(remplaceU, "u");
	chaine = chaine.replace(remplaceY, "y");
	chaine = chaine.replace(remplaceN, "n");
	
	return chaine;
}

/** fait clignoter les elements font qui ont pour classes 'blink' **/
function blink()
{
	var elems = document.getElementsByTagName('font');
	var x = elems.length;
	
	for(var i = 0; i < x; i++)
	{
		if(elems[i].className == 'blink')
		{
			if(elems[i].style.visibility == "hidden") var etat = 'hidden';
			
			if(elems[i].style.visibility == "hidden") elems[i].style.visibility = "visible";
			else elems[i].style.visibility = "hidden";
		}
	}
	
	// alternance du timeout
	if(etat != 'hidden') setTimeout('blink()', 500); // éteint
	else setTimeout('blink()', 1500); // allumé
}

/** retourne la version du navigateur (FF pour Firefox ; 5, 6, 7... pour IE en fonction des versions) **/
function navVersion()
{
	var version;
	
	if(navigator.appName == 'Microsoft Internet Explorer') version = navigator.appVersion.substr(22, 1);
	else version = 'FF';
	
	return version;
}

/** fonction pour connaitre exactement le navigateur et sa version (dans le cas IE et FF) **/
function browserVersion()
{
	var version;
	
	switch(navigator.appName)
	{
		case 'Microsoft Internet Explorer':
			version = 'Internet Explorer ' + navigator.appVersion.substr(22, 1);
			break;
		
		case 'Opera':
			version = 'Opera';
			break;
		
		case 'Netscape':
			if(navigator.userAgent.indexOf('Firefox') != -1) version = 'Firefox ' + navigator.userAgent.substr((navigator.userAgent.lastIndexOf('/')+1), 1);
			else if(navigator.userAgent.indexOf('Chrome') != -1) version = 'Chrome';
			else if(navigator.userAgent.indexOf('Safari') != -1) version = 'Safari';
			break;
		
		default:
			version = 'Other...';
			break;
	}
	
	return version;
}

/** cache les selects **/
function hideSelect()
{
	if(navVersion() == '6')
	{
		var elems = document.getElementsByTagName('select');
		var x = elems.length;
		
		for(var i = 0; i < x; i++) elems[i].style.visibility = "hidden";
	}
}

/** montre les selects **/
function showSelect()
{
	var elems = document.getElementsByTagName('select');
	var x = elems.length;
	
	for(var i = 0; i < x; i++) elems[i].style.visibility = "visible";
}

/** cache les flash **/
function hideFlash()
{
	var elems = document.getElementsByTagName('object');
	var x = elems.length;
	
	for(var i = 0; i < x; i++)
	{
		elems[i].style.visibility = "hidden";
		elems[i].style.display = "none";
	}
}

/** montre les flash **/
function showFlash()
{
	var elems = document.getElementsByTagName('object');
	var x = elems.length;
	
	for(var i = 0; i < x; i++)
	{
		elems[i].style.visibility = "visible";
		elems[i].style.display = "block";
	}
}

/** définit le niveau d'opacité d'un element **/
function setOpacity(niveau, id)
{
	getId(id).style.filter = 'alpha(opacity=' + niveau + ')';
	getId(id).style.opacity = '0.' + niveau;
}

/** affiche l'overlay noir **/
function opacityOn()
{
	getId('overlay').className = 'overlay_active';
	
	// if(getId('flash')) getId('flash').style.visibility = "hidden";
	hideFlash();
	hideSelect();
	
	setOpacity(70, 'overlay');
}

/** cache l'overlay noir **/
function opacityOff()
{
	getId('overlay').className = 'overlay_passive';
	
	showFlash();
	showSelect();
	
	// document.body.style.paddingRight = '0';
	document.getElementsByTagName('html')[0].style.overflowY = 'auto';
	
	if (navigator.appName == 'Microsoft Internet Explorer')
	{
		// document.body.style.left = '0';
		document.getElementsByTagName('html')[0].style.overflowX = 'hidden';
	}
}

/** retourne la position d'un élément **/
function findPos(element_id)
{
	AObject = getId(element_id);
	
	var posX = 0, posY = 0;
	do
	{
		posX += AObject.offsetLeft;
		posY += AObject.offsetTop;
		AObject = AObject.offsetParent;
	}
	while( AObject != null );
	
	var pos = [];
	pos['X'] = posX;
	pos['Y'] = posY;
	
	return pos;
}

/** retourne la taille d'un élément (plus ses borders) **/
function findSize(element_id)
{
	AObject = getId(element_id);
	
	var sizeX = 0, sizeY = 0;
	
	sizeX += AObject.offsetWidth;
	sizeY += AObject.offsetHeight;
	
	var size = [];
	size['X'] = sizeX;
	size['Y'] = sizeY;
	
	return size;
}

/** fonction de test - afficher avec un alert la taille d'un element, ainsi que sa position **/
function size(element_id)
{
	var size = findSize(element_id)
	var pos = findPos(element_id)
	
	alert('Width : ' + size['X'] + 'px\nHeight : ' + size['Y'] + 'px\n\nLeft : ' + pos['X'] + 'px\nTop : ' + pos['Y'] + 'px');
}

/** fonction pour faire patienter lors d'un desabonnement **/
function formDesaboLoading()
{
	getId('cadre_form_desabo').innerHTML = '<img src="site/media/newsletter/big_loader_blue.gif" id="load_desabo" alt="loading..." />';
}

/** fonction pour réinitialiser le formulaire de desabonnement **/
function newDesabo()
{
	getId('cadre_form_desabo').innerHTML = getId('desabo_hidden').innerHTML;
}

/** permet de changer la couleur des champs input du site en orange **/
function input_focus(id)
{
	getId(id).style.backgroundColor = '#F7E0A8';
}

/** permet de changer la couleur des champs input du site en blanc **/
function input_blur(id)
{
	getId(id).style.backgroundColor = '#FFFFFF';
}

/** ouvre le calendrier au mois correspondant à la date selectionnée **/
function goDate(cal, input)
{
	if(langueCal == 'f')
	{
		var mois = parseInt(input.value.substr(3, 2), 10) - 1; // On précise 10 comme second argument (signifie base 10) afin de contrer le bug du parseInt (avec 08 et 09)
		var jour = parseInt(input.value.substr(0, 2), 10);
	}
	else
	{
		var mois = parseInt(input.value.substr(0, 2), 10) - 1; // On précise 10 comme second argument (signifie base 10) afin de contrer le bug du parseInt (avec 08 et 09)
		var jour = parseInt(input.value.substr(3, 2), 10);
	}
	var annee = parseInt(input.value.substr(6, 4), 10); // Toujours concernant le bug parseInt => http://www.breakingpar.com/bkp/home.nsf/0/87256B280015193F87256C85006A6604
	
	// cal.addDates(new Array(new Date(annee, mois, jour)), true, true, true)
	
	cal.goToMonth(annee, mois);
	cal.selectDates(new Array(new Date(annee, mois, jour)), true, true, true)
}

/** fonction pour cacher le formulaire d'envoi à un ami **/
function fermer_envoi_ami()
{
	getId('envoyer_ami').style.display = 'none'; 
	opacityOff();
	getId('loading_login_envoi_ami').innerHTML = getId('descriptif_envoi_ami').innerHTML;
}

/** fonction pour savoir si un nombre est pair ou impair **/
function pair(nombre)
{
	if(nombre/2 == Math.round(nombre/2)) return 1;
	else return 0;
}

/** fonction getElementsByClassName pour IE qui ne l'implémente pas de base **/
// function getElementsByClassName(oElm, strTagName, strClassName)
// {
	// var arrElements = (strTagName == "*" && oElm.all)? oElm.all : oElm.getElementsByTagName(strTagName);
	// var arrReturnElements = new Array();
	// strClassName = strClassName.replace(/\-/g, "\\-");
	// var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	// var oElement;
	// for(var i=0; i<arrElements.length; i++){
		// oElement = arrElements[i];
		// if(oRegExp.test(oElement.className)){
			// arrReturnElements.push(oElement);
		// }
	// }
	// return (arrReturnElements)
// }

/** fonction getElementsByClassName pour IE qui ne l'implémente pas de base **/
function getElementsByClassNameIE(oElm, strClassName)
{
	var arrElements = oElm.all;
	var arrReturnElements = new Array();
	strClassName = strClassName.replace(/\-/g, "\\-");
	var oRegExp = new RegExp("(^|\\s)" + strClassName + "(\\s|$)");
	var oElement;
	for(var i = 0; i < arrElements.length; i++)
	{
		oElement = arrElements[i];
		if(oRegExp.test(oElement.className))
		{
			arrReturnElements.push(oElement);
		}
	}
	return (arrReturnElements);
}

/** désactive loading() **/
function unLoading()
{
	if(getId('status') || getId('status_marche'))
	{
		opacityOff();
		getId('status').style.display = 'none';
		getId('status_marche').style.display = 'none';
	}
}

/** désactive loading() apres un délais **/
function unLoadingWait()
{
	setTimeout('unLoading()', 1000)
}

/** fonction in_array fonctionnant comme en php ^^ **/
function in_array(needle, haystack, argStrict)
{
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: vlado houba
	// *     example 1: in_array('van', ['Kevin', 'van', 'Zonneveld']);
	// *     returns 1: true
	// *     example 2: in_array('vlado', {0: 'Kevin', vlado: 'van', 1: 'Zonneveld'});
	// *     returns 2: false
	// *     example 3: in_array(1, ['1', '2', '3']);
	// *     returns 3: true
	// *     example 3: in_array(1, ['1', '2', '3'], false);
	// *     returns 3: true
	// *     example 4: in_array(1, ['1', '2', '3'], true);
	// *     returns 4: false
	
	var key = '', strict = !!argStrict;
	
	if (strict)
	{
		for (key in haystack)
		{
			if (haystack[key] === needle) return true;
		}
	}
	else
	{
		for (key in haystack)
		{
			if (haystack[key] == needle) return true;
		}
	}
	
	return false;
}

/** affiche la région sur la carte **/
function afficher_region(region)
{
	getId('info_region').innerHTML = region;
}

/** Cache la région sur la carte **/
function cacher_region()
{
	getId('info_region').innerHTML = '';
}

/** affiche la région sur la carte fullscreen **/
function afficher_region_full(region)
{
	getId('info_region_fullscreen').innerHTML = region;
}

/** Cache la région sur la carte fullscreen **/
function cacher_region_full()
{
	getId('info_region_fullscreen').innerHTML = '';
}

/** action sur le onmouseover du module de carte **/
function carte_over(pays, region, lib_region)
{
	getId('img_carte').src = 'site/media/cartes/' + pays + '/' + region + '.gif';
	getId('img_carte').style.cursor = 'pointer';
	afficher_region(lib_region);
}

/** action sur le onmouseout du module de carte **/
function carte_out(pays)
{
	getId('img_carte').src='site/media/cartes/' + pays + '.gif';
	getId('img_carte').style.cursor='crosshair';
	cacher_region();
}

/** fonction pour les hovers de la carte en fullscreen **/
function carte_over_full(pays, region, lib_region)
{
	getId('carte_pays').src = 'site/media/cartes/' + pays + '/' + region + '.gif';
	getId('carte_pays').style.cursor = 'pointer';
	afficher_region_full(lib_region);
}

/** fonction pour les hovers de la carte en fullscreen **/
function carte_out_full(pays, region)
{
	getId('carte_pays').src = 'site/media/cartes/' + pays + '/' + region + '_active.gif';
	getId('carte_pays').style.cursor = 'crosshair';
	cacher_region_full();
}





/** FONCTION DE TEST PERMETTANT D'AFFICHER LES OBJETS JAVASCRIPT **/
function print_r(obj)
{
	win_print_r = window.open('about:blank', 'win_print_r');
	win_print_r.document.write('<html><body>');
	r_print_r(obj, win_print_r);
	win_print_r.document.write('</body></html>');
}
function r_print_r(theObj, win_print_r) // fonction indispensable à la fonction précédente
{
	if(theObj.constructor == Array || theObj.constructor == Object)
	{
		if (win_print_r == null)
		win_print_r = window.open('about:blank', 'win_print_r');
	}
	for(var p in theObj)
	{
		if(theObj[p].constructor == Array|| theObj[p].constructor == Object)
		{
			win_print_r.document.write("<li>["+p+"] =>"+typeof(theObj)+"</li>");
			win_print_r.document.write("<ul>");
			r_print_r(theObj[p], win_print_r);
			win_print_r.document.write("</ul>");
		}
		else win_print_r.document.write("<li>["+p+"] =>"+theObj[p]+"</li>");
	}
	win_print_r.document.write("</ul>");
}





/*
function testNumbers(chaine, msg)
{
	var v = chaine;
	if(!carasp(v, "0123456789")){
		alert(msg);
		return false;
	}
	else return true;
} 
*/

/*
function ListeStationsToLogement(page, type_vac, cpays, cregg, nrsh, cp, cholo, cidho)
 {
	if (page == 'accueil') {
		getId('form_recherche').type_vacances[i].value = type_vac;
		getId('form_recherche').elements["pays"].value = cpays;
		getId('form_recherche').elements["region"].value = cregg;
		getId('form_recherche').elements["station"].value = nrsh;
		getId('form_recherche').action='index.php?page=logements&station='+nrsh+'&code_logement='+cholo+'&residence='+cidho+'&onglet=residence'; 
		getId('form_recherche').submit();
	}
}
*/


/** fonction de stockage des scripts à charger **/
FuncOL = new Array();
// FuncOLParam = new Array();

// function onLoad(Obj, Params)
// {
	// FuncOL[FuncOL.length] = Obj;
	
	// if(typeof Params != "undefined") FuncOLParam[FuncOL.length] = Params;
// }

function onLoad(Obj)
{
	FuncOL[FuncOL.length] = Obj;
}

function afficher_infobulle_presse(article)
{
	getId('infobulle_'+article).style.display = 'block';
	getId('titre_defaut').style.display = 'none';
	getId('img_defaut').style.display = 'none';
}

function cacher_infobulle_presse(article)
{
	getId('infobulle_'+article).style.display = 'none';
	getId('titre_defaut').style.display = 'block';
	getId('img_defaut').style.display = 'block';
}


/**fonction de sauvegarde d'event et de desactivation de bouton pour évtier double validation AJAX ( calcul du prix, compte client etc.) **/
function save_onclick(id)
{
	var onclick = getId(id).onclick;
	return onclick;
}

/** sauvegarde le style d'un élément **/
function save_style_color(id)
{
	var style_color = getId(id).style.color;
	return style_color;
}

/**Desactivation d'un bouton de validation pour eviter les doubles validation AJAX **/
function desactiver_bouton(id, color)
{
	var onclick = save_onclick(id);
	var style_color = save_style_color(id);
	var save_button = new Array(onclick,style_color);
	
	getId(id).onclick = function() { void(0); }
	getId(id).style.color = color; //permet de visualiser que la désactivation est effective
	
	return save_button;
}

/** Réactivation du bouton valider seulement si la requête à aboutie **/
function reactiver_bouton(id, save_button)
{
	getId(id).onclick = save_button[0];
	getId(id).style.color = save_button[1];
}

/** supprimer les espaces en début et fin de chaine **/
function trim(myString)
{
	return myString.replace(/^\s+/g, '').replace(/\s+$/g, '');
}

/** Adapte la taille de la zone de liste résidence (page spa) **/
function ajusterZone()
{
	getId('opaque').style.height = getId('contenu_residence').offsetHeight + 'px';
}