// MODIFICATIONS OBJETS JAVASCRIPT
	Array.prototype.in_array = function (valeur) {
		for (var i in this) { if (this[i] == valeur) return i; }
		return -1;
	}
	Array.prototype.insert = function (i, value){
		if ( i >= 0 ){
			var a = this.slice(),b=a.splice(i);
			a[i] = value;
			return a.concat(b);
		}
	}
// MODIFICATIONS OBJETS JAVASCRIPT //

// CHAINE DE CARACTERES
	// Removes leading whitespaces
	function LTrim( value ) {
		var re = /\s*((\S+\s*)*)/;
		return value.replace(re, "$1");
	}

	// Removes ending whitespaces
	function RTrim( value ) {
		var re = /((\s*\S+)*)\s*/;
		return value.replace(re, "$1");
	}

	// Removes leading and ending whitespaces
	function trim( value ) {
		return LTrim(RTrim(value));
	}
// CHAINE DE CARACTERES //

// PRELOAD IMAGE
function preload_img() { 
	var args = preload_img.arguments; 
	imgs = new Array();
	for(x=0; x < args.length; x++) {
		imgs[x] = new Image();
		imgs[x].src = args[x];
	}
}

// PRELOAD IMAGE //

// AJAX
	function AjaxTxtRequest(fichier) {
		if(window.XMLHttpRequest) // FIREFOX
			var xhr_object = new XMLHttpRequest(); 
		else if(window.ActiveXObject) // IE
			var xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
		else return(false);
		xhr_object.open("GET", fichier, false);
		xhr_object.send(null);
		if(xhr_object.readyState == 4) return(xhr_object.responseText);
		else return(false);
	}

	function AjaxXMLRequest(fichier) {
		if(window.XMLHttpRequest) // FIREFOX
			var xhr_object = new XMLHttpRequest(); 
		else if(window.ActiveXObject) // IE
			var xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
		else return(false);
		xhr_object.open("GET", fichier, false);
		xhr_object.send(null);
		if(xhr_object.readyState == 4) return(xhr_object.responseXML);
		else return(false);
	}

	function AjaxAsyncRequest(fichier, debug) {
		if(window.XMLHttpRequest) // FIREFOX
			var xhr_object = new XMLHttpRequest(); 
		else if(window.ActiveXObject) // IE
			var xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); 
		else return(false);
		xhr_object.open("GET", fichier, true);
		xhr_object.send(null);
		xhr_object.onreadystatechange = function() { 
			if (xhr_object.readyState == 4) {
				if (debug) alert(xhr_object.responseText); 
				eval(xhr_object.responseText); 
			}
		} 
	}
// AJAX //

// XML, AJAX
	function checkAjaxError(res_xml) {
		//on recupere les erreurs eventuels
		var erreur = getFirstNodeValue(res_xml, "erreur");
		if (erreur.length) {
			alert(erreur);
			return true;
		}
		return false;
	}


	function getFirstNode(xml, nom) {
		res = getNodes(xml, nom);
		if (res) return res[0];
		return false;
	}

	function getNodes(xml, nom) {
		try {
			var nodes = xml.getElementsByTagName(nom);
			if (nodes.length) return nodes;
		} catch (e) {}
		return false;
	}

	function getFirstNodeValue(xml, nom) {
		return getNodeValue(xml, nom, 0);
	}
	function getNodeValue(xml, nom, num) {
		try {
			var info = getNodes(xml, nom);
			if (info.length) {
				return info[num].firstChild.nodeValue;
			}
		} catch (e) {}
		return "";
	}

	function getFirstNodeAttibuteValue(xml, nomnode, nomattribut) {
		return getNodeAttibuteValue(xml, nomnode, 0, nomattribut);
	}

	function getNodeAttibuteValue(xml, nomnode, num, nomattribut) {
		try {
			var info = getNodes(xml, nomnode);
			if (info.length) {
				return info[num].getAttribute(nomattribut);
			}
		} catch (e) {}
		return "";
	}
// XML, AJAX //

// BOUTONS
	function petitBoutonBleu_onMouseOut(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_photo	= document.getElementById(baseId + '_photo');
		
		obj_puce.src		= '/images/puces/puce-bleue-petite-out.gif';
		obj_lien.className	= 'listann_plusinfos';
		if ( obj_photo != undefined ) {
			obj_photo.style.border = '1px solid #CACACA';
		}
	}

	function petitBoutonBleu_onMouseOver(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_photo	= document.getElementById(baseId + '_photo');
		
		obj_puce.src		= '/images/puces/puce-bleue-petite-over.gif';
		obj_lien.className	= 'listann_plusinfos_over';
		if ( obj_photo != undefined ) {
			obj_photo.style.border = '1px solid #FCC341';
		}
	}

	function grosBoutonBleu_onMouseOut(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_photo	= document.getElementById(baseId + '_photo');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/puces/puce-bleue-out.gif';
		obj_lien.className	= 'derann_plusInfos';
		if ( obj_photo != undefined ) {
			obj_photo.style.border = '1px solid #001F7E';
		}
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #E0DDD8';
		}
	}

	function grosBoutonBleu_onMouseOver(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_photo	= document.getElementById(baseId + '_photo');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/puces/puce-bleue-over.gif';
		obj_lien.className	= 'derann_plusInfos_over';
		if ( obj_photo != undefined ) {
			obj_photo.style.border = '1px solid #FCC341';
		}
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #FCC341';
		}
	}

	function boutonDerAnn_onMouseOut(baseId, namePart) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_photo	= document.getElementById(baseId + '_photo');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/home/puce-' + namePart + '-out.gif';
		obj_lien.className	= 'derann_plusInfos';
		if ( obj_photo != undefined ) {
			obj_photo.style.border = '1px solid #E0DFDB';
		}
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #E0DDD8';
		}
	}

	function boutonDerAnn_onMouseOver(baseId, namePart) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_photo	= document.getElementById(baseId + '_photo');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/home/puce-' + namePart + '-over.gif';
		obj_lien.className	= 'derann_plusInfos_over';
		if ( obj_photo != undefined ) {
			obj_photo.style.border = '1px solid #FCC341';
		}
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #FCC341';
		}
	}
	
	function petitBoutonGris_onMouseOut(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/detail-fiche/puce-site-web-out.gif';
		obj_lien.className	= 'detailann_contact_site';
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #C6C6C6';
		}
	}

	function petitBoutonGris_onMouseOver(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/detail-fiche/puce-site-web-over.gif';
		obj_lien.className	= 'detailann_contact_site_over';
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #FCC341';
		}
	}

	function petitBoutonGris_onMouseDown(baseId) {
		var obj_puce	= document.getElementById(baseId + '_puce');
		var obj_lien	= document.getElementById(baseId + '_lien');
		var obj_logo	= document.getElementById(baseId + '_logo');
		
		obj_puce.src		= '/images/detail-fiche/puce-site-web-down.gif';
		obj_lien.className	= 'detailann_contact_site_over';
		if ( obj_logo != undefined ) {
			obj_logo.style.border = '1px solid #FCC341';
		}
	}
	
	function btn_over(obj) {
		obj.className = obj.className.replace('-out', '-over');
	}
	
	function btn_out(obj) {
		obj.className = obj.className.replace('-over', '-out');
	}
// BOUTONS //

// BOUTONS FORMULAIRES
	function listann_btn_onMouseOver(id) {
//alert('listann_btn_onMouseOver commun !!!');
		var obj_img_g		= document.getElementById('img_btn_g_' + id);
		var obj_img_m		= document.getElementById('img_btn_m_' + id);
		var obj_img_d		= document.getElementById('img_btn_d_' + id);
		var obj_puce		= document.getElementById('img_btn_puce_' + id);
		var obj_class		= document.getElementById('class_btn_' + id);
		
		obj_img_g.src				= "/images/listing/btn-rechercher-g-over.gif";
		obj_img_m.style.background	= "url('/images/listing/btn-rechercher-m-over.gif') repeat-x";
		obj_img_d.src				= "/images/listing/btn-rechercher-d-over.gif";
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/listing/btn-reinitialiser-over.gif';
		
		obj_class.className	= "btn_selected";
	}
	
	function listann_btn_onMouseOut(id, btn_class, img_g, img_m, img_d) {
		if ( btn_class == undefined )	btn_class = 'btn_unselected';
		if ( img_g == undefined )		img_g = "/images/listing/btn-rechercher-g-off.gif";
		if ( img_m == undefined )		img_m = "/images/listing/btn-rechercher-m-off.gif";
		if ( img_d == undefined )		img_d = "/images/listing/btn-rechercher-d-off.gif";
		
		var obj_img_g		= document.getElementById('img_btn_g_' + id);
		var obj_img_m		= document.getElementById('img_btn_m_' + id);
		var obj_img_d		= document.getElementById('img_btn_d_' + id);
		var obj_puce		= document.getElementById('img_btn_puce_' + id);
		var obj_class		= document.getElementById('class_btn_' + id);
		
		obj_img_g.src				= img_g;
		obj_img_m.style.background	= "url('" + img_m + "') repeat-x";
		obj_img_d.src				= img_d;
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/listing/btn-reinitialiser-off.gif';
		
		obj_class.className	= btn_class;
	}
	
	function listann_btn_onMouseDown(id) {
		var obj_img_g		= document.getElementById('img_btn_g_' + id);
		var obj_img_m		= document.getElementById('img_btn_m_' + id);
		var obj_img_d		= document.getElementById('img_btn_d_' + id);
		var obj_puce		= document.getElementById('img_btn_puce_' + id);
		var obj_class		= document.getElementById('class_btn_' + id);
		
		obj_img_g.src				= "/images/listing/btn-rechercher-g-down.gif";
		obj_img_m.style.background	= "url('/images/listing/btn-rechercher-m-down.gif') repeat-x";
		obj_img_d.src				= "/images/listing/btn-rechercher-d-down.gif";
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/listing/btn-reinitialiser-down.gif';
		
		obj_class.className	= "btn_selected";
	}
	
	
	
	
	function btn_form_onMouseOver(id) {
//alert('listann_btn_onMouseOver commun !!!');
		var obj_btn			= document.getElementById('btn_' + id);
		var obj_img_g		= document.getElementById('btn_img_g_' + id);
		var obj_img_m		= document.getElementById('btn_img_m_' + id);
		var obj_img_d		= document.getElementById('btn_img_d_' + id);
		var obj_puce		= document.getElementById('btn_img_puce_' + id);
		var obj_class		= document.getElementById('btn_class_' + id);
		
		var ETAT		= obj_btn.getAttribute('ETAT');
		
		if ( ETAT == 1 ) return;
		
		var IMGBASENAME	= obj_btn.getAttribute('IMGBASENAME');
		
		obj_img_g.src				= "/images/boutons/forms/" + IMGBASENAME + "-g-over.gif";
		obj_img_m.style.background	= "url('/images/boutons/forms/" + IMGBASENAME + "-m-over.gif') repeat-x";
		obj_img_d.src				= "/images/boutons/forms/" + IMGBASENAME + "-d-over.gif";
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/boutons/forms/" + IMGBASENAME + "-puce-over.gif';
		
		var classOverOverride = obj_class.getAttribute('class_over');
		if (classOverOverride && classOverOverride.length) {
		
			obj_class.className	= classOverOverride;
			
		} else {
		
			obj_class.className	= "btn_selected";
			
		}
	}
	
	function btn_form_onMouseOut(id, btn_class) {
		var obj_btn			= document.getElementById('btn_' + id);
		var obj_img_g		= document.getElementById('btn_img_g_' + id);
		var obj_img_m		= document.getElementById('btn_img_m_' + id);
		var obj_img_d		= document.getElementById('btn_img_d_' + id);
		var obj_puce		= document.getElementById('btn_img_puce_' + id);
		var obj_class		= document.getElementById('btn_class_' + id);
		
		var ETAT		= obj_btn.getAttribute('ETAT');
		var IMGBASENAME	= obj_btn.getAttribute('IMGBASENAME');
		
		if ( ETAT == 1 ) {
			obj_img_g.src				= "/images/boutons/forms/" + IMGBASENAME + "-g-over.gif";
			obj_img_m.style.background	= "url('/images/boutons/forms/" + IMGBASENAME + "-m-over.gif') repeat-x";
			obj_img_d.src				= "/images/boutons/forms/" + IMGBASENAME + "-d-over.gif";
			
			if ( obj_puce != undefined ) obj_puce.src = '/images/boutons/forms/" + IMGBASENAME + "-puce-over.gif';
			
			obj_class.className = 'btn_selected';
		} else {
			obj_img_g.src				= "/images/boutons/forms/" + IMGBASENAME + "-g-out.gif";
			obj_img_m.style.background	= "url('/images/boutons/forms/" + IMGBASENAME + "-m-out.gif') repeat-x";
			obj_img_d.src				= "/images/boutons/forms/" + IMGBASENAME + "-d-out.gif";
			
			if ( obj_puce != undefined ) obj_puce.src = '/images/boutons/forms/" + IMGBASENAME + "-puce-out.gif';
			
			obj_class.className = 'btn_unselected';
		}
	}
	
	function btn_form_onMouseDown(id) {
		var obj_btn			= document.getElementById('btn_' + id);
		var obj_img_g		= document.getElementById('btn_img_g_' + id);
		var obj_img_m		= document.getElementById('btn_img_m_' + id);
		var obj_img_d		= document.getElementById('btn_img_d_' + id);
		var obj_puce		= document.getElementById('btn_img_puce_' + id);
		var obj_class		= document.getElementById('btn_class_' + id);
		
		var IMGBASENAME	= obj_btn.getAttribute('IMGBASENAME');
		
		obj_img_g.src				= "/images/boutons/forms/" + IMGBASENAME + "-g-down.gif";
		obj_img_m.style.background	= "url('/images/boutons/forms/" + IMGBASENAME + "-m-down.gif') repeat-x";
		obj_img_d.src				= "/images/boutons/forms/" + IMGBASENAME + "-d-down.gif";
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/boutons/forms/" + IMGBASENAME + "-down.gif';
		
		obj_class.className	= "btn_selected";
	}
	
	function btn_form_activer(id) {
		var obj_btn			= document.getElementById('btn_' + id);
		var obj_img_g		= document.getElementById('btn_img_g_' + id);
		var obj_img_m		= document.getElementById('btn_img_m_' + id);
		var obj_img_d		= document.getElementById('btn_img_d_' + id);
		var obj_puce		= document.getElementById('btn_img_puce_' + id);
		var obj_class		= document.getElementById('btn_class_' + id);
		
		obj_btn.setAttribute('ETAT', '1');
		var IMGBASENAME	= obj_btn.getAttribute('IMGBASENAME');
		
		obj_img_g.src				= "/images/boutons/forms/" + IMGBASENAME + "-g-over.gif";
		obj_img_m.style.background	= "url('/images/boutons/forms/" + IMGBASENAME + "-m-over.gif') repeat-x";
		obj_img_d.src				= "/images/boutons/forms/" + IMGBASENAME + "-d-over.gif";
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/boutons/forms/" + IMGBASENAME + "-over.gif';
		
		obj_class.className	= "btn_selected";
	}
	
	function btn_form_desactiver(id) {
		var obj_btn			= document.getElementById('btn_' + id);
		var obj_img_g		= document.getElementById('btn_img_g_' + id);
		var obj_img_m		= document.getElementById('btn_img_m_' + id);
		var obj_img_d		= document.getElementById('btn_img_d_' + id);
		var obj_puce		= document.getElementById('btn_img_puce_' + id);
		var obj_class		= document.getElementById('btn_class_' + id);
		
		obj_btn.setAttribute('ETAT', '0');
		var IMGBASENAME	= obj_btn.getAttribute('IMGBASENAME');
		
		obj_img_g.src				= "/images/boutons/forms/" + IMGBASENAME + "-g-out.gif";
		obj_img_m.style.background	= "url('/images/boutons/forms/" + IMGBASENAME + "-m-out.gif') repeat-x";
		obj_img_d.src				= "/images/boutons/forms/" + IMGBASENAME + "-d-out.gif";
		
		if ( obj_puce != undefined ) obj_puce.src = '/images/boutons/forms/" + IMGBASENAME + "-out.gif';
		
		obj_class.className	= "btn_selected";
	}
// BOUTONS FORMULAIRES //

// POPUP
	function openInfoPopup(text,width,height,picto){
		// text :  defini le texte qui saffiche dans la pop-up
		// picto : 0 => pas de picto || 1 => picto afficher
		if (picto == undefined || picto.length == 0) picto = 1;
		if (!width) width = 300;
		if (!height) height = 166;
		text.replace("'","\'");
		Window('info_aide', 'popup_info.php?window_name=info_aide&window_height='+ height +'&text='+ text +'&picto='+ picto, width, height, false);
		openModal('info_aide');
		// var EXEC = "Window('info_aide', 'popup_info.php?window_name=info_aide&window_height="+ height +"&text="+ text.replace("\n", "\\n") +"&picto="+ picto+", "+width+", "+height+", false); openModal('info_aide');";
// alert(EXEC);
		// setTimeout(EXEC, 50);
	}

	var griserFond_onscroll_save_timer = false;
	griserFond_onscroll_save = window.onscroll;
	window.onscroll = function() {
		clearTimeout(griserFond_onscroll_save_timer);
		if (griserFond_onscroll_save) griserFond_onscroll_save();
		griserFond_onscroll_save_timer = setTimeout('onScrollFondGriser()', 100);
	}

	function onScrollFondGriser() {
	/**
		var obj_griser = document.getElementById('div_griser');
		if (!obj_griser) return;
		obj_griser.style.top = window.document.body.scrollTop +'px';
		obj_griser.style.left = window.document.body.scrollLeft +'px';
	/**/
	}


	var griserFond_onresize_save_timer = false;
	griserFond_onresize_save = window.onresize;
	window.onresize = function() {
		clearTimeout(griserFond_onresize_save_timer);
		if (griserFond_onresize_save) griserFond_onresize_save();
		griserFond_onresize_save_timer = setTimeout('onResizeFondGriser()', 50);
		griserFond_onscroll_save_timer = setTimeout('onScrollFondGriser()', 100);
	}

	function onResizeFondGriser() {
		var obj_griser = document.getElementById('div_griser');
		if (!obj_griser) return;
		var page_position		= getPosition(document.getElementById('modele_page'));
		obj_griser.style.left	= page_position.x + 'px';
//		obj_griser.style.top	= page_position.y + 'px';
		obj_griser.style.top	= 190 + 'px';
		
		var obj_popup = document.getElementById(popup_id);
		var width = parseInt((obj_popup.style.width).replace('px',''));
		var left	= page_position.x + ( (size.width - width) / 2 );
		if ( left < page_position.x ) left = page_position.x;
//		var top		= page_position.y + 55;
		var top		= 190 + 55;
		obj_popup.style.left	= left + 'px';
		obj_popup.style.top		= top + 'px';
	}

	var all_visible_select;
	var griserFond_onresize_save = '';
	function griserFond(griser, zindex) {
	//alert('griserFond');
		var obj_griser = document.getElementById('div_griser');
		//var obj_griser_iframe = document.getElementById('div_griser_iframe');
		
		if (griser && !obj_griser) {
			//faire le griser

			size = getWinSize(false);
			size.width	= document.getElementById('modele_page').offsetWidth;
			size.height	= document.getElementById('modele_page').offsetHeight;
			var page_position		= getPosition(document.getElementById('modele_page'));

			if (!zindex) zindex = 999;
			obj_griser = document.createElement('div');
			obj_griser.id = 'div_griser';
			obj_griser.style.filter = 'Alpha(Opacity=60)';
			obj_griser.style.MozOpacity = '0.6';
			obj_griser.style.opacity = '0.6';
			obj_griser.style.width = size.width; //'100%';
			obj_griser.style.height = size.height; //'100%';
			obj_griser.style.backgroundColor = '#FFF';
			obj_griser.style.position = 'absolute';
			obj_griser.style.zIndex = zindex;
			obj_griser.style.left	= page_position.x + 'px';
			obj_griser.style.top	= /*page_position.y*/ 190 + 'px';
			obj_griser.innerHTML = "";
			
			document.body.appendChild(obj_griser);
			
			all_visible_select = new Array();
			selects = getAllSelect(true);
	        for (i = 0; i != selects.length; i++) {
				var doNotHide = selects[i].getAttribute("doNotHide");
				if (selects[i].style.visibility != "hidden" && doNotHide != '1') {
					all_visible_select[all_visible_select.length] = selects[i];
	                selects[i].style.visibility = "hidden";
				}
	        }
			
		} else if (!griser) {
			//degriser
			if (obj_griser) {
				removeNode(obj_griser);
				//removeNode(obj_griser_iframe);
	/*/
	var date_start	= new Date().getTime();
				for (i = 0; i != all_visible_select.length; i++) {
					all_visible_select[i].style.visibility = "visible";
				}
	var date_end	= new Date().getTime();
	if ( document.getElementById('txt_result') != undefined ) document.getElementById('txt_result').value = '2 - Temps pour réafficher les select : ' + (date_end - date_start) + ' ms\n' + document.getElementById('txt_result').value;
	/**/
	/**/
				for (i = 0; i != all_visible_select.length; i++) {
					all_visible_select[i].style.visibility = "visible";
				}
	/**/
			}
		}
	}

	function getAllSelect(withIframe) {
	//alert('getAllSelect');
		if (withIframe) {
			var allIframeSelect;
			var allSelect = new Array();
			allIframeSelect	= document.getElementsByTagName("select");
			for (j = 0; j < allIframeSelect.length; j++) {
				allSelect[allSelect.length] = allIframeSelect[j];
			}

			var allIframe = document.getElementsByTagName("iframe");
			//for (i = 0; i < allIframe.length; i++) {
			for (i = 0; i < window.frames.length; i++) {
				//allIframeSelect = allIframe[i].getElementsByTagName("select");
				allIframeSelect = window.frames[i].document.getElementsByTagName("select");
				for (j = 0; j < allIframeSelect.length; j++) {
					allSelect[allSelect.length] = allIframeSelect[j];
				}
	        }
			return allSelect;
		} else {
			//uniquement les select de la page
			return document.getElementsByTagName("select");
		}
	}

	function removeNode(obj) {
	//alert('removeNode');
	//if ( document.getElementById('txt_result') != undefined ) document.getElementById('txt_result').value = '1/3 - Destruction de l\'objet : ' + typeof obj + '\n' + document.getElementById('txt_result').value;
		if (obj) {
			if (obj.removeNode) {
				obj.removeNode(true);
			} else {
				if (obj.parentNode.removeChild) obj.parentNode.removeChild(obj);
			}
		}
	//if ( document.getElementById('txt_result') != undefined ) document.getElementById('txt_result').value = ' -> Destruction de l\'objet : ' + obj + '\n' + document.getElementById('txt_result').value;
	}
// POPUP //

// GESTION OBJETS HTML
	function getWinSize(width_scroll) {
	//alert('getWinSize');
		var myWidth = 0, myHeight = 0;
		if (!width_scroll) {
	//alert('if');
			if( typeof( window.innerWidth ) == 'number' ) {
	//alert('if');
				//Non-IE
				myWidth = window.innerWidth;
				myHeight = window.innerHeight;
			} else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
	//alert('else 1');
				//IE 6+ in 'standards compliant mode'
				myWidth = document.documentElement.clientWidth;
				myHeight = document.documentElement.clientHeight;
			} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
	//alert('else 2');
				//IE 4 compatible
				myWidth = document.body.clientWidth;
				myHeight = document.body.clientHeight;
			}
		} else {
	//alert('else');
			var test1 = document.body.scrollHeight;
			var test2 = document.body.offsetHeight
			if (test1 >= test2) { // all but Explorer Mac
				myWidth = document.body.scrollWidth;
				myHeight = document.body.scrollHeight;
				//alert('test1 >= test2 '+ myWidth + '!='+document.body.offsetWidth +', '+ myHeight +'!='+ document.body.offsetHeight);
			} else { // Explorer Mac;
				//would also work in Explorer 6 Strict, Mozilla and Safari
				myWidth = document.body.offsetWidth;
				myHeight = document.body.offsetHeight;
				//alert('test1 < test2 '+ myWidth + '!='+document.body.scrollWidth +', '+ myHeight +'!='+ document.body.scrollHeight);
			}
		}
		return {width: myWidth, height: myHeight};
	}
	
	function stopPropagation(e) {
		if (!e) e = event;
		if (e.stopPropagation) e.stopPropagation();
		e.cancelBubble=true;
	}
// GESTION OBJETS HTML

// TEXTES DEPLIANTS
	function fct_montrerVilles(pousserContenu) {
		if ( pousserContenu == undefined ) pousserContenu = false;
		
		var obj_txt_liste_ville		= document.getElementById('txt_liste_ville');
		var obj_div_texteRecherche	= document.getElementById('div_texteRecherche');
		
		
		var ancienTexte		= obj_txt_liste_ville.innerHTML;
		var nouveauTexte	= obj_txt_liste_ville.getAttribute('alt');
		obj_txt_liste_ville.setAttribute('alt', ancienTexte);
		obj_txt_liste_ville.innerHTML	= nouveauTexte;
		
		var obj_lien_liste_ville = document.getElementById('lien_liste_ville');
		if ( ancienTexte.length > nouveauTexte.length ) {
			obj_lien_liste_ville.innerHTML = 'Afficher toutes les villes';
			if ( !pousserContenu ) obj_div_texteRecherche.style.position = 'relative';
			obj_div_texteRecherche.style.background = '';
			obj_div_texteRecherche.style.padding = '0 0 0 0';
		} else {
			obj_lien_liste_ville.innerHTML = 'Réduire la liste des villes';
			if ( !pousserContenu ) obj_div_texteRecherche.style.position = 'absolute';
			obj_div_texteRecherche.style.background = 'url(\'/images/listing/recherches/criteres-ar.gif\') 0 100% repeat-x #FFF';
			obj_div_texteRecherche.style.padding = '0 0 5px 0';
		}
	}
// TEXTES DEPLIANTS //

// LISTINGS AW
	// Fonctions pour les tableaux active widgets
	function ScrollIntoView(index){
		//window.setTimeout("_ScrollIntoView.call(obj_grid, "+index+");", 600);
		ScrollIntoViewObj(index, 'obj_grid');
	}
	function ScrollIntoViewObj(index, objName){
		window.setTimeout("_ScrollIntoView.call("+ objName +", "+index+");", 600);
	}
	function _ScrollIntoView(index) {
		var row = this.getTemplate("row", index);
		var data = this.getTemplate("layout").getContent("data");
		var left = this.getTemplate("layout").getContent("left");
		var scrollbars = this.getTemplate("layout").getContent("scrollbars");
		try {

			var top, padding = parseInt(data.element().currentStyle.paddingTop);
			if (data.element().scrollTop > row.element().offsetTop - padding) {
				top = row.element().offsetTop - padding;
				left.element().scrollTop = top;
				data.element().scrollTop = top;
				scrollbars.element().scrollTop = top;
			}

			if (data.element().offsetHeight + data.element().scrollTop < row.element().offsetTop + row.element().offsetHeight ) {
				top = row.element().offsetTop + row.element().offsetHeight - data.element().offsetHeight;
				left.element().scrollTop = top;
				data.element().scrollTop = top;
				scrollbars.element().scrollTop = top;
			}
		}
		catch(error){
			// ignore errors
		} 
	}
// LISTINGS AW //

// RETOUR
	function btn_retour_onMouseOut() {
		var base_id	= 'retour_';
		var i = 1;
		while ( document.getElementById(base_id + 'img_' + i) ) {
			document.getElementById(base_id + 'img_' + i).src			= '/images/modele/menu/retour-off.gif';
			document.getElementById(base_id + 'lien_' + i).className	= 'menu_retour';
			i++;
		}
	}
	function btn_retour_onMouseOver() {
		var base_id	= 'retour_';
		var i = 1;
		while ( document.getElementById(base_id + 'img_' + i) ) {
			document.getElementById(base_id + 'img_' + i).src			= '/images/modele/menu/retour-on.gif';
			document.getElementById(base_id + 'lien_' + i).className	= 'menu_retour_over';
			i++;
		}
	}
// RETOUR //

// OBJETS
	function getPosition(elementObj) {
		//var element = document.getElementById(elementId);
		var element = elementObj;
		var left = 0;
		var top = 0;

		if (element != null) {
		// Try because sometimes errors on offsetParent after DOM changes.
			try {
				while (element.offsetParent) {
					// While we haven’t got the top element in the DOM hierarchy
					// Add the offsetLeft
					left += element.offsetLeft;
					
					// If my parent scrolls, then subtract the left scroll position
					if (element.offsetParent.scrollLeft) { left -= element.offsetParent.scrollLeft; }

			        // Add the offsetTop
			        top += element.offsetTop;
			        // If my parent scrolls, then subtract the top scroll position
			        if (element.offsetParent.scrollTop) { top -= element.offsetParent.scrollTop; }
				
			        // Grab
			        element = element.offsetParent;
			    }
			}
			catch (e) {
			    // Do nothing
			}
		
			// Add the top element left offset and the windows left scroll and subtract the body's client left position.
			
			if (document.body.scrollLeft && document.body.clientLeft) {
//				left += element.offsetLeft + document.body.scrollLeft - document.body.clientLeft;
			}
			if (window.document.body.scrollLeft && window.document.body.scrollLeft) {
				left += element.offsetLeft + window.document.body.scrollLeft - window.document.body.clientLeft;
			}
/*
			else if ( window.document.body.scrollLeft ) {
				left += element.offsetLeft + window.document.body.scrollLeft;
			}
/**/
			
			// Add the top element topoffset and the windows topscroll and subtract the body's client top position.
			if (document.body.scrollTop && document.body.clientTop) {
//				top += element.offsetTop + document.body.scrollTop - document.body.clientTop;
			}
			if (window.document.body.scrollTop && window.document.body.clientTop) {
				top += element.offsetTop + window.document.body.scrollTop - window.document.body.clientTop;
			}
/*
			else if ( window.document.body.clientTop ) {
				top += element.offsetLeft + window.document.body.scrollTop;
			}
/**/
			
		}
		//alert(left +','+ top);
		return {x:left, y:top};
	}
// OBJETS //

var so_cartoS = undefined;

// SOUS-MENU MODELE
	function recherches_ssMenu_onMouseOver(obj_name) {
		var obj_a_1	= document.getElementById(obj_name + '_1');
		var obj_a_2	= document.getElementById(obj_name + '_2');
		obj_a_1.className	= obj_a_1.className.replace('-out', '-over')
		obj_a_2.className	= obj_a_2.className.replace('-out', '-over')
		
		if ( obj_name == 'rech_ssMenu_1' ) {
			document.getElementById('rech_ss-menu').style.display	= 'block';
		}
	}
	function recherches_ssMenu_onMouseOut(obj_name) {
		var obj_a_1	= document.getElementById(obj_name + '_1');
		var obj_a_2	= document.getElementById(obj_name + '_2');
		obj_a_1.className	= obj_a_1.className.replace('-over', '-out')
		obj_a_2.className	= obj_a_2.className.replace('-over', '-out')
		
		if ( obj_name == 'rech_ssMenu_1' ) {
			document.getElementById('rech_ss-menu').style.display	= 'none';
		}
	}
// SOUS-MENU MODELE //

// LANGUES
	function langues_montrer() {
		document.getElementById('langues_inactives').style.display	= 'block';
		document.getElementById('langues_fleche').style.visibility	= 'hidden';
	}
	function langues_cacher() {
		document.getElementById('langues_inactives').style.display	= 'none';
		document.getElementById('langues_fleche').style.visibility	= 'visible';
	}
// LANGUES //

// ONGLETS RECHERCHER UN BIEN
	function recherches_onglets_onMouseOut(id) {
		var obj_onglet		= document.getElementById('recherches_onglet_' + id);
		if ( obj_onglet.getAttribute('actif') == 1 ) {
			obj_onglet.className	= 'recherches_onglet_actif_out';
		} else {
			obj_onglet.className	= 'recherches_onglet_out';
		}
	}

	function recherches_onglets_onMouseOver(id) {
		var obj_onglet		= document.getElementById('recherches_onglet_' + id);
		if ( obj_onglet.getAttribute('actif') == 1 ) {
			obj_onglet.className	= 'recherches_onglet_actif_over';
		} else {
			obj_onglet.className	= 'recherches_onglet_over';
		}
	}
// ONGLETS RECHERCHER UN BIEN //

// MENU GENERAL
	function menu_onMouseOver(num) {
		class_h_actif	= 'modele_menu_menu_h_over';
		class_m_actif	= 'modele_menu_menu_m_over';
		class_b_actif	= 'modele_menu_menu_b_over';
		
		var obj_h = document.getElementById('menu_' + num + '_h');
		obj_h.className = class_h_actif;
		
		var obj_m = document.getElementById('menu_' + num + '_m');
		obj_m.className = class_m_actif;
		
		var obj_b = document.getElementById('menu_' + num + '_b');
		obj_b.className = class_b_actif;
	}

	function menu_onMouseOut(num) {
		class_h_inactif	= 'modele_menu_menu_h';
		class_m_inactif	= 'modele_menu_menu_m';
		class_b_inactif	= 'modele_menu_menu_b';
		
		var obj_h = document.getElementById('menu_' + num + '_h');
		obj_h.className = class_h_inactif;
		
		var obj_m = document.getElementById('menu_' + num + '_m');
		obj_m.className = class_m_inactif;
		
		var obj_b = document.getElementById('menu_' + num + '_b');
		obj_b.className = class_b_inactif;
	}
	
	preload_img(
		'/images/modele/menu/votre-selection-over.gif'
	);
// MENU GENERAL //

// LISTING - 3 RECHERCHES
	function obj_onMouseOver(id) {
		document.getElementById(id).className = document.getElementById(id).className.replace('-out', '-over');
	}
	function obj_onMouseOut(id) {
		document.getElementById(id).className = document.getElementById(id).className.replace('-over', '-out');
	}
	
	function recherche_onMouseOver(id, num, nb) {
		for ( var i = 1; i <= nb; i++ ) {
			if ( i != num ) {
				var obj			= document.getElementById(id + i);
				var obj_titre	= document.getElementById(id + i + '_a');
				obj.style.display		= 'none';
				obj_titre.style.color	= '#C9AA8E';
			}
		}
		
		var obj	= document.getElementById(id + num);
		obj.style.display		= 'block';
		var obj_titre	= document.getElementById(id + num + '_a');
		obj_titre.style.color	= '#98704C';
	}
// LISTING - 3 RECHERCHES //

// LISTING - PAGINATION
	function pagination_onClick(page, link) {
		if ( link != undefined ) document.form_pagination.action = link;
		document.form_pagination.page.value = page;
		document.form_pagination.submit();
	}
// LISTING - PAGINATION //

// LISTING - RECHERCHES
	function montrerSelection(id) {
		var obj_partielle	= document.getElementById(id + '_1');
		var obj_complete	= document.getElementById(id + '_2');
		
		obj_partielle.style.display	= 'none';
		obj_complete.style.display	= 'block';
	}
	function cacherSelection(id) {
		var obj_partielle	= document.getElementById(id + '_1');
		var obj_complete	= document.getElementById(id + '_2');
		
		obj_partielle.style.display	= 'block';
		obj_complete.style.display	= 'none';
	}
// LISTING - RECHERCHES //

// EFFETS GRAPHIQUES
	function fade_images() {
		for (var i = 0; i < tab_obj.length; i++) {
			obj = tab_obj[i];
			if($(obj).fx){$(obj).fx.stop();}
			$(obj).fx = $(obj).effect('opacity', {duration: 3000}).start(aim);
		}
		
		if ( aim == 1 ) {
			aim = 0;
		} else {
			aim = 1;
		}
		
		setTimeout('fade_images();', 6000);
	}
	function fade_roll() {
		for (var i = 0; i < tab_obj_sav.length; i++) {
			if ( tab_obj.in_array(tab_obj_sav[i]) < 0 ) {
				obj = tab_obj_sav[i];
				$(obj).style.color	= '#FFFFFF';
				continue;
			}
			obj = tab_obj_sav[i];
			// if($(obj).morphing){$(obj).morphing.stop();}
			$(obj).morphing = new Fx.Morph(obj,{ 'duration':'500', transition: Fx.Transitions.Sine.easeOut });
			$(obj).morphing.start({ 'color':aim });
		}
		
		if ( aim == '#BDCADF' ) {
			aim = '#001E7E';
		} else {
			aim = '#BDCADF';
		}
		
		setTimeout('fade_roll();', 1000);
	}
// EFFETS GRAPHIQUES //