
	var divComboMoteur = document.getElementById( 'ComboRechercheMoteur' );
	var divComboResultats = document.getElementById( 'ComboRechercheResultats' );
	var urlInit = "http://tourmalet.mspro.soprane.fr/_combo/getInitParameters.php";

	var today;
	var template;
	var tailles = new Array();
	var urls = new Array();
	var champsGroupes = new Array();
	var tris = new Array();
	var inputs = new Array();
	var rangementResultats;
	var tableauResultatsAll;
	var tableauResultatsLibres;
	var tableauResultatsRequests;
	var tableauChargement;
	var headers = "";
	var trisValue = 0;

	var refreshResultsXMLObject_All;
	var refreshResultsXMLObject_Libres;
	var refreshResultsXMLObject_Requests;

	var values = new Array();
	values[0] = new Array( "durees" , null , "Tout" );
	values[1] = new Array( "type_hebergement" , null , "Tout" );
	values[2] = new Array( "micro_regions" , null , "Tout" );
	values[3] = new Array( "communes" , null , "Tout" );
	values[4] = new Array( "nb_personnes" , null , "Tout" );
	values[5] = new Array( "confort" , null , "Tout" );
	values[6] = new Array( "animaux" , null , "Tout" );
	values[7] = new Array( "piscine" , null , "Tout" );
	values[8] = new Array( "cheminee" , null , "Tout" );
	values[9] = new Array( "labels" , null , "Tous" );
	values[10] = new Array( "handicap" , null , "Tous" );

	valuesOf = new Array();
	valuesOf["durees"] 				= 0;
	valuesOf["type_hebergement"] 	= 1;
	valuesOf["micro_regions"]		= 2;
	valuesOf["communes"] 			= 3;
	valuesOf["nb_personnes"]		= 4;
	valuesOf["confort"] 			= 5;
	valuesOf["animaux"] 			= 6;
	valuesOf["piscine"] 			= 7;
	valuesOf["cheminee"] 			= 8;
	valuesOf["labels"] 				= 9;
	valuesOf["handicap"] 			= 10;
	
	var initialisation = true;

	function startCombo()
	{
		if( (divComboMoteur != null)  && (divComboResultats != null) )
		{
			var parametre = "idOuverture=" + idOuverture;

			initXMLObject = new XMLHTTP();
			initXMLObject.open( "GET", urlInit + "?" + parametre , true );
			initXMLObject.onerror = function( description )
			{
				alert( 'Erreur : ' + description );
			}

			initXMLObject.onreadystatechange = function()
			{
				initData( initXMLObject );
			}
			initXMLObject.send();
		}
		else
		{
			// Impossibilité de charger le module (pas de div)
		}
	}

	function initData( initXMLObject )
	{
		if( initXMLObject.readyState == 4 && initXMLObject.status == 200 )
		{
			comboInitXML = initXMLObject.responseXML.getElementsByTagName( "comboInit" )[0];

			today						= comboInitXML.getAttribute( "today" );
			template					= comboInitXML.getAttribute( "template" );
			rangementResultats			= comboInitXML.getAttribute( "resultats" );
			dateIndifferent				= comboInitXML.getAttribute( "date" );

			tailles["tailleTxt"] 		= comboInitXML.getAttribute( "tailleTxt" );
			tailles["tailleTxt1"] 		= comboInitXML.getAttribute( "tailleTxt1" );
			tailles["tailleTxt2"] 		= comboInitXML.getAttribute( "tailleTxt2" );
			tailles["tailleSelect"] 	= comboInitXML.getAttribute( "tailleSelect" );
			tailles["tailleSelect1"] 	= comboInitXML.getAttribute( "tailleSelect1" );
			tailles["tailleSelect2"] 	= comboInitXML.getAttribute( "tailleSelect2" );
			tailles["tailleDate1"] 		= comboInitXML.getAttribute( "tailleDate1" );
			tailles["tailleDate2"] 		= comboInitXML.getAttribute( "tailleDate2" );

			urlsXML = initXMLObject.responseXML.getElementsByTagName( "url" );

			for( var i = 0 ; i < urlsXML.length ; i++ )
			{
				urls[urlsXML[i].getAttribute( "use" )]
					= urlsXML[i].getAttribute( "value" );
			}

			champsGroupesXML = initXMLObject.responseXML.getElementsByTagName( "champsGroupe" );

			for( var i = 0 ; i < champsGroupesXML.length ; i++ )
			{
				champsGroupes[i] = new Array();

				for( var j = 0 ; j < champsGroupesXML[i].childNodes.length ; j++ )
				{
					var champEnCour = champsGroupesXML[i].childNodes[j];

					champsGroupes[i][j] = new Array();

					champsGroupes[i][j]["type"] 	= champEnCour.getAttribute( "type" );
					champsGroupes[i][j]["value"] 	= champEnCour.getAttribute( "value" );
					champsGroupes[i][j]["data"] 	= champEnCour.getAttribute( "data" );
					champsGroupes[i][j]["all"] 		= champEnCour.getAttribute( "all" );
					champsGroupes[i][j]["place"] 	= champEnCour.getAttribute( "place" );
					champsGroupes[i][j]["align"] 	= champEnCour.getAttribute( "align" );
					champsGroupes[i][j]["hauteur"] 	= champEnCour.getAttribute( "hauteur" );

					if( champsGroupes[i][j]["all"] != null )
					{
						var getPosition = valuesOf[champsGroupes[i][j]["data"]];
						values[getPosition][2] = champsGroupes[i][j]["all"];
					}
				}
			}

			trisXML = initXMLObject.responseXML.getElementsByTagName( "tri" );

			for( var i = 0 ; i < trisXML.length ; i++ )
			{
				tris[trisXML[i].getAttribute( "value" )] = trisXML[i].getAttribute( "libelle" );
			}

			createForm();
		}
	}

	function createForm()
	{
		// Formulaire
		form = document.createElement( "form" );
		form.onsubmit = function()
		{
			return false;
		}
		divComboMoteur.appendChild( form );

		// Tableau général
		tableau = document.createElement( "table" );
		tableau.align = "center";
		if( template == 1 )
		{
			tableau.width = parseInt( tailles["tailleTxt1"] ) + parseInt( tailles["tailleSelect1"] ) + 2;
		}
		else if( template == 2 )
		{
			tableau.width = parseInt( tailles["tailleTxt"] ) + parseInt( tailles["tailleSelect"] ) + 2;
		}
		tableau.border = 0;
		tableau.cellSpacing = 1;
		tableau.cellPadding = 1;
		form.appendChild( tableau );

		// TBody (pour IE)
		tableauBody = document.createElement( "tbody" );
		tableau.appendChild( tableauBody );

		var inputCpt = 0;
		for( var i = 0 ; i < champsGroupes.length ; i++ )
		{
			var tmpTr = document.createElement( "tr" );

			for( var j = 0 ; j < champsGroupes[i].length ; j++ )
			{
				switch( champsGroupes[i][j]["type"] )
				{
					case "textPur":
					{
						var tmpTd = document.createElement( "td" );
						tmpTr.appendChild( tmpTd );

						tmpTd.innerHTML = champsGroupes[i][j]["value"];
						if( template == 1 && j == 0 )
						{
							tmpTd.width = tailles["tailleTxt1"];
						}
						else if( template == 1 )
						{
							tmpTd.width = tailles["tailleTxt2"];
						}
						else if( template == 2 )
						{
							tmpTd.width = tailles["tailleTxt"];
						}

						if( champsGroupes[i][j]["align"] != null )
						{
							tmpTd.align = champsGroupes[i][j]["align"];
						}

						if( champsGroupes[i][j]["place"] != null && champsGroupes[i][j]["place"] != 1 )
						{
							tmpTd.colSpan = champsGroupes[i][j]["place"];
						}

						break;
					}
					case "select":
					{
						inputs[inputCpt] = new Array( "select" , champsGroupes[i][j]["data"] );
						inputCpt++;

						var tmpTd = document.createElement( "td" );
						if( template == 1 && champsGroupes[i].length == 2 )
						{
							tmpTd.width = tailles["tailleSelect1"];
						}
						else if( template == 1 )
						{
							tmpTd.width = tailles["tailleSelect2"];
						}
						else if( template == 2 )
						{
							tmpTd.width = tailles["tailleSelect"];
						}

						tmpTr.appendChild( tmpTd );

						if( champsGroupes[i][j]["place"] != null && champsGroupes[i][j]["place"] != 1 )
						{
							tmpTd.colSpan = champsGroupes[i][j]["place"];
						}

						var tmpSelect = document.createElement( "select" );
						tmpTd.appendChild( tmpSelect );
						tmpSelect.id = champsGroupes[i][j]["data"];
						tmpSelect.name = champsGroupes[i][j]["data"];
						tmpSelect.style.width = "100%";
						tmpSelect.onchange = function()
						{
							refreshAll();
						}

						var tmpOption = document.createElement( "option" );
						tmpOption.value = 0;
						tmpOption.innerHTML = "... Chargement ...";
						tmpSelect.appendChild( tmpOption );

						break;
					}
					case "inputDate":
					{
						inputs[inputCpt] = new Array( "text" , "date_sejour" );
						inputCpt++;

						var tmpTd = document.createElement( "td" );
						tmpTd.width = parseInt( tailles["tailleDate1"] ) + parseInt( tailles["tailleDate2"] );
						tmpTr.appendChild( tmpTd );

						if( champsGroupes[i][j]["place"] != null && champsGroupes[i][j]["place"] != 1 )
						{
							tmpTd.colSpan = champsGroupes[i][j]["place"];
						}

						tableauDate = document.createElement( "table" );
						tableauDate.align = "left";
						tableauDate.width = parseInt( tailles["tailleDate1"] ) + parseInt( tailles["tailleDate2"] );
						tableauDate.border = 0;
						tableauDate.cellSpacing = 0;
						tableauDate.cellPadding = 0;
						tmpTd.appendChild( tableauDate );

						// Pour IE
						tableauDateBody = document.createElement( "tbody" );
						tableauDate.appendChild( tableauDateBody );

						tableauDateTr = document.createElement( "tr" );
						tableauDateBody.appendChild( tableauDateTr );

						tableauDateTd1 = document.createElement( "td" );
						tableauDateTr.appendChild( tableauDateTd1 );

						dateInput = document.createElement( "input" );
						dateInput.id = "date_sejour";
						dateInput.name = "date_sejour";
						dateInput.setAttribute( "type" , "text" );
						dateInput.style.textAlign = "center";
						dateInput.value = dateIndifferent == 1 ? "Indifférent" : today;
						dateInput.style.width = "100%";
						dateInput.onfocus = function() {
							this.blur();
							alert( "Veuillez utiliser le calendrier afin de modifier la date de début de séjour." );
							return false;
						};
						tableauDateTd1.appendChild( dateInput );

						tableauDateTd2 = document.createElement( "td" );
						tableauDateTd2.align = "center";
						tableauDateTd2.vAlign = "middle";
						tableauDateTd2.width = tailles["tailleDate2"];
						tableauDateTr.appendChild( tableauDateTd2 );

						lienCalendrier = document.createElement( "a" );
						lienCalendrier.href = "javascript:;";
						lienCalendrier.onclick = function() {
							launchCalendar();
							return false;
						};
						tableauDateTd2.appendChild( lienCalendrier );

						imgCalendrier = document.createElement( "img" );
						imgCalendrier.src = "./comboRecherche/calendar.gif";
						imgCalendrier.border = 0;
						lienCalendrier.appendChild( imgCalendrier );

						break;
					}
					case "vide":
					{
						var tmpTd = document.createElement( "td" );
						tmpTr.appendChild( tmpTd );

						if( champsGroupes[i][j]["place"] != null && champsGroupes[i][j]["place"] != 1 )
						{
							tmpTd.colSpan = champsGroupes[i][j]["place"];
						}

						if( champsGroupes[i][j]["hauteur"] != null )
						{
							tmpTd.height = champsGroupes[i][j]["hauteur"];
						}

						break;
					}
					case "resetButton":
					{
						var tmpTd = document.createElement( "td" );
						tmpTr.appendChild( tmpTd );

						if( champsGroupes[i][j]["place"] != null && champsGroupes[i][j]["place"] != 1 )
						{
							tmpTd.colSpan = champsGroupes[i][j]["place"];
						}

						if( champsGroupes[i][j]["align"] != null )
						{
							tmpTd.align = champsGroupes[i][j]["align"];
						}

						tmpButton = document.createElement( "input" );
						tmpButton.id = "reset_button";
						tmpButton.setAttribute( "type" , "button" );
						tmpButton.value = "Nouvelle Recherche";
						tmpButton.onclick = function()
						{
							remiseZero();
						}

						tmpTd.appendChild( tmpButton );

						break;
					}
					default: {  }
				}
			}

			tableauBody.appendChild( tmpTr );
		}

		if( rangementResultats == 0 )
		{
			var br1 = document.createElement( "br" );
			//divComboResultats.appendChild( br1 );

			var tmpTab = document.createElement( "table" );
			tmpTab.align = "center";
			tmpTab.width = tableau.width;
			tmpTab.border = 0;
			tmpTab.cellSpacing = 1;
			tmpTab.cellPadding = 3;
			tmpTab.style.display = "none";

			divComboResultats.appendChild( tmpTab );

			var tmpTabBody = document.createElement( "tbody" );
			tmpTab.appendChild( tmpTabBody );

			tableauResultatsAll = tmpTabBody;
		}
		else
		{
			// Espacement entre les deux tableaux
			var br1 = document.createElement( "br" );
			//divComboResultats.appendChild( br1 );

			// Tableau Libres
			var tmpTab1 = document.createElement( "table" );
			tmpTab1.align = "center";
			tmpTab1.width = tableau.width;
			tmpTab1.border = 0;
			tmpTab1.cellSpacing = 1;
			tmpTab1.cellPadding = 3;
			tmpTab1.style.display = "none";

			divComboResultats.appendChild( tmpTab1 );

			var tmpTabBody1 = document.createElement( "tbody" );
			tmpTab1.appendChild( tmpTabBody1 );

			tableauResultatsLibres = tmpTabBody1;

			// Espacement entre les deux tableaux
			var br2 = document.createElement( "br" );
			divComboResultats.appendChild( br2 );

			// Tableau request
			var tmpTab2 = document.createElement( "table" );
			tmpTab2.align = "center";
			tmpTab2.width = tableau.width;
			tmpTab2.border = 0;
			tmpTab2.cellSpacing = 1;
			tmpTab2.cellPadding = 3;
			tmpTab2.style.display = "none";

			divComboResultats.appendChild( tmpTab2 );

			var tmpTabBody2 = document.createElement( "tbody" );
			tmpTab2.appendChild( tmpTabBody2 );

			tableauResultatsRequests = tmpTabBody2;
		}

		var tmpChargement = document.createElement( "table" );
		tmpChargement.align = "center";
		tmpChargement.width = tableau.width;
		tmpChargement.border = 0;
		tmpChargement.cellSpacing = 1;
		tmpChargement.cellPadding = 10;

		divComboResultats.appendChild( tmpChargement );

		var tmpChargementBody = document.createElement( "tbody" );
		tmpChargement.appendChild( tmpChargementBody );

		var trChargement = document.createElement( "tr" );
		tmpChargementBody.appendChild( trChargement );

		var tdChargement = document.createElement( "td" );
		tdChargement.align = "center";
		tdChargement.innerHTML = "<br />Chargement en cours ...";
		trChargement.appendChild( tdChargement );

		tableauChargement = tmpChargement;

		// On créé tout maintenant
		refreshAll();
	}

	function refreshAll( recup )
	{
		
		
		recup = recup == null ? true : false;

		headers = "";
		// Récupération des valeur des select
		if( recup )
		{
			for( var i = 0 ; i < values.length ; i++ )
			{
				if( document.getElementById( values[i][0] ) )
				{
					var selectedSelect = document.getElementById( values[i][0] );
					values[i][1] = selectedSelect.options[selectedSelect.options.selectedIndex].value;

					headers += "&" + values[i][0] + "=" + values[i][1];

					selectedSelect.disabled = true;
				}
			}
		}
		else
		{
			for( var i = 0 ; i < values.length ; i++ )
			{
				values[i][1] = null;

				headers += "&" + values[i][0] + "=" + values[i][1];

				if( document.getElementById( values[i][0] ) )
				{
					document.getElementById( values[i][0] ).disabled = true;
				}
			}
		}

		// Date
		var inputDate = document.getElementById( "date_sejour" );
		headers += "&date_sejour=" + ( inputDate.value != "Indifférent" ? inputDate.value : "" );
		inputDate.disabled = true;

		document.getElementById( "reset_button" ).disabled = true;

		if( document.getElementById( "tris" ) )
		{
			var trisSelect = document.getElementById( "tris" );
			headers += "&orderby=" + trisSelect.options[trisSelect.options.selectedIndex].value;
			trisValue = trisSelect.options[trisSelect.options.selectedIndex].value;
			trisSelect.disabled = true;
		}

		var parametre = headers + "&idOuverture=" + idOuverture;

		var refreshComboXMLObject = new XMLHTTP();
		refreshComboXMLObject.open( "GET", urls["getRefreshedCombo"] + "?" + parametre , true );
		refreshComboXMLObject.onerror = function( description )
		{
			alert( 'Erreur : ' + description );
		}

		refreshComboXMLObject.onreadystatechange = function()
		{
			refreshSelect( refreshComboXMLObject );
			if(!initialisation){
				document.location="#resultats_mspro";
			}else{
				initialisation=false;
			}
		}
		refreshComboXMLObject.send();

		if( rangementResultats == "0" )
		{
			// Tout mélangé
			refreshResults( "all" , 1 );

			tableauResultatsAll.parentNode.style.display = "none";
		}
		else
		{
			// Tableau Libres
			refreshResults( "libres" , 1 );

			// Tableau Requests
			refreshResults( "requests" , 1 );

			tableauResultatsLibres.parentNode.style.display = "none";
			tableauResultatsRequests.parentNode.style.display = "none";
		}

		tableauChargement.style.display = BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Opera" ? "table" : "block";
	}

			
	function refreshSelect( refreshComboXMLObject )
	{
		if( refreshComboXMLObject.readyState == 4 && refreshComboXMLObject.status == 200 )
		{
			for( var i = 0 ; i < inputs.length ; i++ )
			{
				if( inputs[i][0] == "select" )
				{
					var valuesGroupesXML = refreshComboXMLObject.responseXML.getElementsByTagName( inputs[i][1] )[0];

					var valueOfSelect = 0;
					var valueOfFirstOption = "";
					for( var j = 0 ; j < values.length ; j++ )
					{
						if( values[j][0] == inputs[i][1] )
						{
							valueOfSelect = values[j][1];
							valueOfFirstOption = values[j][2];
						}
					}

					var selectSelected = document.getElementById( inputs[i][1] );
					selectSelected.options.length = 0;

					var tmpOption = document.createElement( "option" );
					tmpOption.value = 0;
					tmpOption.innerHTML = valueOfFirstOption;
					selectSelected.appendChild( tmpOption );

					for( var j = 0 ; j < valuesGroupesXML.childNodes.length ; j++ )
					{

						var tmpOption = document.createElement( "option" );
						tmpOption.value = valuesGroupesXML.childNodes[j].getAttribute( "id" );
						tmpOption.innerHTML = valuesGroupesXML.childNodes[j].firstChild.nodeValue;

						if( valuesGroupesXML.childNodes[j].getAttribute( "id" ) == valueOfSelect )
						{
							tmpOption.selected = true;
						}

						selectSelected.appendChild( tmpOption );
					}
				}
			}

			for( var i = 0 ; i < inputs.length ; i++ )
			{
				var input = document.getElementById( inputs[i][1] );
				input.disabled = null;
			}

			document.getElementById( "reset_button" ).disabled = false;
		}
	}

	function refreshResults( type , page )
	{
		var parametre = headers + "&idOuverture=" + idOuverture + "&wanted=" + type + "&page=" + page;

		var XMLObjectToUse = eval( "refreshResultsXMLObject_" + ucFirst( type ) );

		XMLObjectToUse = new XMLHTTP();
		XMLObjectToUse.open( "GET", urls["getResults"] + "?" + parametre , true );
		XMLObjectToUse.type = type;
		XMLObjectToUse.tableau = eval( "tableauResultats" + ucFirst( type ) );
		XMLObjectToUse.page = page;
		XMLObjectToUse.onerror = function( description )
		{
			alert( 'Erreur : ' + description );
		}

		XMLObjectToUse.onreadystatechange = function()
		{
			displayResults( XMLObjectToUse );
			
		}

		XMLObjectToUse.send();
	}

	function displayResults( refreshResultsXMLObject )
	{
		if( refreshResultsXMLObject.readyState == 4 && refreshResultsXMLObject.status == 200 )
		{
			var trs = refreshResultsXMLObject.tableau.getElementsByTagName( "tr" );

			while( trs.length > 0 )
			{
				refreshResultsXMLObject.tableau.removeChild( trs.item( 0 ) );
			}

			var root = refreshResultsXMLObject.responseXML.getElementsByTagName( "comboResults" )[0];
			var valuesTab = refreshResultsXMLObject.responseXML.getElementsByTagName( "value" );

			var nbParPage = root.getAttribute( "nbParPage" );
			var totalResults = root.getAttribute( "totalResults" );
			var pageEnCours = root.getAttribute( "page" );
			var baseSLA = root.getAttribute( "baseSLA" );

			if( refreshResultsXMLObject.tableau == tableauResultatsAll )
			{
				var trTitre = document.createElement( "tr" );
				var tdTitre = document.createElement( "td" );
				tdTitre.colSpan = 3;
				tdTitre.align = "right";

				tdTitre.innerHTML = "Afficher par : ";

				var tmpSelect = document.createElement( "select" );
				tdTitre.appendChild( tmpSelect );
				tmpSelect.id = "tris";
				tmpSelect.name = "tris";
				tmpSelect.onchange = function()
				{
					refreshAll();
				}

				var tmpOption = document.createElement( "option" );
				tmpOption.value = 0;
				tmpOption.innerHTML = "Aléatoire";
				tmpSelect.appendChild( tmpOption );

				for( tri in tris )
				{
					if( tri >= 0 )
					{
						var tmpOption = document.createElement( "option" );
						tmpOption.value = tri;
						tmpOption.innerHTML = tris[tri];
						tmpSelect.appendChild( tmpOption );

						if( trisValue == tri )
						{
							tmpOption.selected = true;
						}
					}
				}

				trTitre.appendChild( tdTitre );
				refreshResultsXMLObject.tableau.appendChild( trTitre );
			}
			if( refreshResultsXMLObject.tableau == tableauResultatsLibres )
			{
				var trTitre = document.createElement( "tr" );
				var tdTitre = document.createElement( "td" );

				tdTitre.colSpan = 3;

				var tablePlus = document.createElement( "table" );
				tablePlus.width = tableau.width;
				var tbodyPlus = document.createElement( "tbody" );
				var trPlus = document.createElement( "tr" );
				var tdPlus1 = document.createElement( "td" );
				var tdPlus2 = document.createElement( "td" );
				var souligne = document.createElement( "u" );

				souligne.innerHTML = "Réservation en ligne";
				tdPlus1.appendChild( souligne );

				tdPlus2.align = "right";
				tdPlus2.innerHTML = "Afficher par : ";

				var tmpSelect = document.createElement( "select" );
				tdTitre.appendChild( tmpSelect );
				tmpSelect.id = "tris";
				tmpSelect.name = "tris";
				tmpSelect.onchange = function()
				{
					refreshAll();
				}

				var tmpOption = document.createElement( "option" );
				tmpOption.value = 0;
				tmpOption.innerHTML = "Aléatoire";
				tmpSelect.appendChild( tmpOption );

				for( tri in tris )
				{
					if( tri >= 0 )
					{
						var tmpOption = document.createElement( "option" );
						tmpOption.value = tri;
						tmpOption.innerHTML = tris[tri];
						tmpSelect.appendChild( tmpOption );

						if( trisValue == tri )
						{
							tmpOption.selected = true;
						}
					}
				}

				tdPlus2.appendChild( tmpSelect );

				trPlus.appendChild( tdPlus1 );
				trPlus.appendChild( tdPlus2 );

				tbodyPlus.appendChild( trPlus );

				tablePlus.appendChild( tbodyPlus );

				tdTitre.appendChild( tablePlus );
				trTitre.appendChild( tdTitre );
				refreshResultsXMLObject.tableau.appendChild( trTitre );
			}
			if( refreshResultsXMLObject.tableau == tableauResultatsRequests )
			{
				var trTitre = document.createElement( "tr" );
				var tdTitre = document.createElement( "td" );
				var souligne = document.createElement( "u" );

				tdTitre.colSpan = 3;
				tdTitre.align = "left";

				souligne.innerHTML = "Sur demande auprès du propriétaire";

				tdTitre.appendChild( souligne );
				trTitre.appendChild( tdTitre );
				refreshResultsXMLObject.tableau.appendChild( trTitre );
			}

			if( valuesTab.length > 0 )
			{
				if( values[0][1] == 0 || values[0][1] == null )
				{
					var trResultats = document.createElement( "tr" );
					var tdResultats1 = document.createElement( "td" );
					var tdResultats2 = document.createElement( "td" );

					tdResultats1.colSpan = 2;
					tdResultats1.align = "left";

					tdResultats1.innerHTML = "Résultats " + ( ( ( refreshResultsXMLObject.page - 1 ) * nbParPage ) + 1 ) + " à " +
												( ( ( refreshResultsXMLObject.page - 1 ) * nbParPage ) + valuesTab.length )
												+ " sur " + totalResults;

					tdResultats2.align = "center";

					tdResultats2.innerHTML = dateIndifferent == 1 && document.getElementById( "date_sejour" ).value == "Indifférent" ? "Le séjour<br> à partir de :" : "Le séjour<br>à partir de :";

					trResultats.appendChild( tdResultats1 );
					trResultats.appendChild( tdResultats2 );
					refreshResultsXMLObject.tableau.appendChild( trResultats );
				}
				else
				{
					var trResultats = document.createElement( "tr" );
					var tdResultats1 = document.createElement( "td" );
					var tdResultats2 = document.createElement( "td" );

					tdResultats1.colSpan = 2;
					tdResultats1.align = "left";

					tdResultats1.innerHTML = "Résultats " + ( ( ( refreshResultsXMLObject.page - 1 ) * nbParPage ) + 1 ) + " à " +
												( ( ( refreshResultsXMLObject.page - 1 ) * nbParPage ) + valuesTab.length )
												+ " sur " + totalResults;

					tdResultats2.align = "center";

					tdResultats2.innerHTML = document.getElementById( "date_sejour" ).value == "Indifférent" ? "A partir de :" : "";

					trResultats.appendChild( tdResultats1 );
					trResultats.appendChild( tdResultats2 );
					refreshResultsXMLObject.tableau.appendChild( trResultats );
				}

				var trLigne = document.createElement( "tr" );
				var tdLigne = document.createElement( "td" );

				var inputDate = document.getElementById( "date_sejour" );

				tdLigne.colSpan = 3;
				tdLigne.className = "ligneVide";
				//tdLigne.style.height = 1;
				//tdLigne.style.padding = 0;
				//tdLigne.style.margin = 0;
				//tdLigne.style.background = "#000000";

				trLigne.appendChild( tdLigne );
				refreshResultsXMLObject.tableau.appendChild( trLigne );

				for( var i = 0 ; i < valuesTab.length ; i++ )
				{
					var trResultats1 = document.createElement( "tr" );
					var tdResultats11 = document.createElement( "td" );
					var tdResultats21 = document.createElement( "td" );
					var tdResultats31 = document.createElement( "td" );

					var trResultats2 = document.createElement( "tr" );
					var tdResultats22 = document.createElement( "td" );

					tdResultats11.width = 100;
					tdResultats11.align = "center";
					tdResultats11.rowSpan = 2;

					if( valuesTab[i].getAttribute( "image" ) != null )
					{
						var lienImg1 = document.createElement( "a" );
						lienImg1.id = ucFirst( refreshResultsXMLObject.type ) + "_1_" + valuesTab[i].getAttribute( "produit_base" ) + "_"
									+ valuesTab[i].getAttribute( "produit_cle" ) + "_" + values[0][1]
									+ ( valuesTab[i].getAttribute( "request" ) == 1 ? "_1" : "_0" );

						var img1 = document.createElement( "img" );

						if( valuesTab[i].getAttribute( "minisite" ) != null )
						{
							var date = inputDate.value != "Indifférent" ?
											document.getElementById( "date_sejour" ).value.split( "/" )
											:
											"0/0/0".split( "/" );

							var tab = today.split( "/" );
							var todaySQL = tab[2] + "-" + tab[1] + "-" + tab[0];

							var u = "";
							u += valuesTab[i].getAttribute( "urlSite" ) != null ?
										valuesTab[i].getAttribute( "urlSite" )
										:
										urls["miniSite"] + valuesTab[i].getAttribute( "minisite" );
							u += "/" + ( date[2] == null ? todaySQL : date[2] + "-" + date[1] + "-" + date[0] ) + "/"
										+ valuesTab[i].getAttribute( "sejour_cle" ) + "/" + valuesTab[i].getAttribute( "nbPersonnes" ) + "/";

							lienImg1.href = u;
							lienImg1.target = "_blank";
						}
						else
						{
							lienImg1.href = "javascript:;";
							lienImg1.setAttribute( "onclick" , "openFicheProduit( this )" );
							lienImg1.onclick = function() { openFicheProduit( this ) };
						}

						img1.src = urls["imageReduite"] + valuesTab[i].getAttribute( "image" );
						img1.border = 0;

						lienImg1.appendChild( img1 );
						tdResultats11.appendChild( lienImg1 );
					}


					tdResultats21.align = "left";

					var lienLibelle = document.createElement( "a" );
					lienLibelle.id = ucFirst( refreshResultsXMLObject.type ) + "_2_" + valuesTab[i].getAttribute( "produit_base" ) + "_"
									+ valuesTab[i].getAttribute( "produit_cle" ) + "_" + values[0][1]
									+ ( valuesTab[i].getAttribute( "request" ) == 1 ? "_1" : "_0" );
					var retourLigne = document.createElement( "br" );

					if( valuesTab[i].getAttribute( "minisite" ) != null )
					{
						var date = inputDate.value != "Indifférent" ?
										document.getElementById( "date_sejour" ).value.split( "/" )
										:
										"0/0/0".split( "/" );

						var tab = today.split( "/" );
						var todaySQL = tab[2] + "-" + tab[1] + "-" + tab[0];

						var u = "";
						u += valuesTab[i].getAttribute( "urlSite" ) != null ?
									valuesTab[i].getAttribute( "urlSite" )
									:
									urls["miniSite"] + valuesTab[i].getAttribute( "minisite" );
						u += "/" + ( date[2] == null ? todaySQL : date[2] + "-" + date[1] + "-" + date[0] ) + "/"
									+ valuesTab[i].getAttribute( "sejour_cle" ) + "/" + valuesTab[i].getAttribute( "nbPersonnes" ) + "/";

						lienLibelle.href = u;
						lienLibelle.target = "_blank";
					}
					else
					{
						lienLibelle.href = "javascript:;";
						lienLibelle.setAttribute( "onclick" , "openFicheProduit( this ); return false;" );
					}

					lienLibelle.innerHTML = valuesTab[i].getAttribute( "produit_libelle" );

					tdResultats21.appendChild( lienLibelle );
					tdResultats21.innerHTML += "&nbsp;";

					if( valuesTab[i].getAttribute( "produit_base" ) == baseSLA && valuesTab[i].getAttribute( "request" )!=1)
					{
						var cb = document.createElement( "img" );
						cb.src = "./comboRecherche/reservationEnLigne.jpg";
						cb.border = 0;

						tdResultats21.appendChild( cb );
					}

					tdResultats22.align = "right";

					var lienImg2 = document.createElement( "a" );
					lienImg2.id = ucFirst( refreshResultsXMLObject.type ) + "_3_" + valuesTab[i].getAttribute( "produit_base" ) + "_"
									+ valuesTab[i].getAttribute( "produit_cle" ) + "_" + values[0][1]
									+ ( valuesTab[i].getAttribute( "request" ) == 1 ? "_1" : "_0" );
					var img2 = document.createElement( "img" );

					if( valuesTab[i].getAttribute( "minisite" ) != null )
					{
						var date = inputDate.value != "Indifférent" ?
										document.getElementById( "date_sejour" ).value.split( "/" )
										:
										"0/0/0".split( "/" );

						var tab = today.split( "/" );
						var todaySQL = tab[2] + "-" + tab[1] + "-" + tab[0];

						var u = "";
						u += valuesTab[i].getAttribute( "urlSite" ) != null ?
									valuesTab[i].getAttribute( "urlSite" )
									:
									urls["miniSite"] + valuesTab[i].getAttribute( "minisite" );
						u += "/" + ( date[2] == null ? todaySQL : date[2] + "-" + date[1] + "-" + date[0] ) + "/"
									+ valuesTab[i].getAttribute( "sejour_cle" ) + "/" + valuesTab[i].getAttribute( "nbPersonnes" ) + "/";

						lienImg2.href = u;
						lienImg2.target = "_blank";
						/*lienImg2.href = urls["miniSite"] + valuesTab[i].getAttribute( "minisite" );
						lienImg2.target = "_blank";*/
					}
					else
					{
						lienImg2.href = "javascript:;";
						lienImg2.setAttribute( "onclick" , "openFicheProduit( this )" );
						lienImg2.onclick = function() { openFicheProduit( this ) };
					}

					img2.src = valuesTab[i].getAttribute( "request" ) == 1 ? "./comboRecherche/plusRequest.jpg" : "./comboRecherche/plusLibre.jpg";
					img2.border = 0;

					lienImg2.appendChild( img2 );
					tdResultats22.appendChild( lienImg2 );

					tdResultats31.width = 80;
					tdResultats31.align = "center";
					tdResultats31.rowSpan = 2;

					if( valuesTab[i].getAttribute( "remise" ) == null )
					{
						tdResultats31.innerHTML = valuesTab[i].getAttribute( "prix" ) + " &euro;";
					}
					else
					{
						var nouveauPrix = parseInt( valuesTab[i].getAttribute( "prix" ) ) - parseInt( valuesTab[i].getAttribute( "remise" ) );

						var barre = document.createElement( "s" );
						var retourLigne = document.createElement( "br" );

						barre.innerHTML = valuesTab[i].getAttribute( "prix" ) + " &euro;";

						tdResultats31.appendChild( barre );
						tdResultats31.appendChild( retourLigne );
						tdResultats31.innerHTML += nouveauPrix + " &euro;";
					}

					trResultats1.appendChild( tdResultats11 );
					trResultats1.appendChild( tdResultats21 );
					trResultats1.appendChild( tdResultats31 );
					refreshResultsXMLObject.tableau.appendChild( trResultats1 );

					trResultats2.appendChild( tdResultats22 );
					refreshResultsXMLObject.tableau.appendChild( trResultats2 );

					var trLigne = document.createElement( "tr" );
					var tdLigne = document.createElement( "td" );

					tdLigne.colSpan = 3;
					tdLigne.className = "ligneVide";
					//tdLigne.style.height = 1;
					//tdLigne.style.padding = 0;
					//tdLigne.style.margin = 0;
					//tdLigne.style.background = "#000000";

					trLigne.appendChild( tdLigne );
					refreshResultsXMLObject.tableau.appendChild( trLigne );
				}


				if( parseInt( nbParPage ) < parseInt( totalResults ) )
				{
					// Pages
					var trPages = document.createElement( "tr" );
					var tdPages = document.createElement( "td" );

					tdPages.colSpan = 3;
					tdPages.align = "center";

					trPages.appendChild( tdPages );
					refreshResultsXMLObject.tableau.appendChild( trPages );

					var tmpDiv = document.createElement( "div" );

					for( var i = 1 ; ( ( i - 1 ) * nbParPage ) < totalResults ; i++ )
					{
						var lien = document.createElement( "a" );

						lien.setAttribute( "onclick" , "refreshResults( '" +  refreshResultsXMLObject.type + "' , '" + i + "' ); return false;" );
						lien.href = "javascript:;";


						if( i == pageEnCours )
						{
							lien.style.fontWeight = "bold";
						}

						lien.innerHTML = i;

						tmpDiv.innerHTML += " ";
						//tdPages.innerHTML = tdPages.innerHTML + " ";

						tmpDiv.appendChild( lien );

						if( i % 20 == 0 )
						{
							var retourLigne = document.createElement( "br" );
							tdPages.appendChild( retourLigne );
						}
					}
					tmpDiv.innerHTML += " ";

					tdPages.appendChild( tmpDiv );
				}
			}
			else
			{
				var trLigne = document.createElement( "tr" );
				var tdLigne = document.createElement( "td" );

				tdLigne.colSpan = 3;
				tdLigne.className = "ligneVide";
				//tdLigne.style.height = 1;
				//tdLigne.style.padding = 0;
				//tdLigne.style.margin = 0;
				//tdLigne.style.background = "#000000";

				trLigne.appendChild( tdLigne );
				refreshResultsXMLObject.tableau.appendChild( trLigne );

				var trResultats = document.createElement( "tr" );
				var tdResultats = document.createElement( "td" );
				var i = document.createElement( "i" );

				tdResultats.colSpan = 3;
				tdResultats.align = "center";

				i.innerHTML = "Pas de résultat correspondant";

				tdResultats.appendChild( i );
				trResultats.appendChild( tdResultats );
				refreshResultsXMLObject.tableau.appendChild( trResultats );

				var trLigne = document.createElement( "tr" );
				var tdLigne = document.createElement( "td" );

				tdLigne.colSpan = 3;
				tdLigne.className = "ligneVide";
				//tdLigne.style.height = 1;
				//tdLigne.style.padding = 0;
				//tdLigne.style.margin = 0;
				//tdLigne.style.background = "#000000";

				trLigne.appendChild( tdLigne );
				refreshResultsXMLObject.tableau.appendChild( trLigne );
			}
		}

		voirTout();
	}

	function voirTout()
	{
		tableauChargement.style.display = "none";

		if( rangementResultats == "0" )
		{
			tableauResultatsAll.parentNode.style.display = BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Opera" ? "table" : "block";
		}
		else
		{
			tableauResultatsLibres.parentNode.style.display = BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Opera" ? "table" : "block";
			tableauResultatsRequests.parentNode.style.display = BrowserDetect.browser == "Firefox" || BrowserDetect.browser == "Opera" ? "table" : "block";
		}
	}

	function launchCalendar()
	{
		window.open( "./comboRecherche/calendrier.html" , "Calendrier" , "width=400,height=240,left=0,top=0,resizable=no" );
	}

	function openFicheProduit( me )
	{
		var tab = me.getAttribute( "id" ).split( "_" );

		base = tab[2];
		produit = tab[3];
		date = document.getElementById( "date_sejour" ).value != "Indifférent" ? document.getElementById( "date_sejour" ).value : "";
		sejour = tab[4];

		var parametres = "produitBase=" + base + "&produitCle=" + produit + "&sejourDate=" + date + "&sejourCle=" + sejour
							+ "&idOuverture=" + idOuverture + ( tab[5] == "1" ? "&request=1" : "" );
		var url = urls["ficheProduit"] + "?" + parametres;

		window.open( url , "" , "width=800,height=550,left=0,top=0,resizable=yes,scrollbars=yes" );
	}

	function remiseZero()
	{
		document.getElementById( "date_sejour" ).value = dateIndifferent == 1 ? "Indifférente" : today;
		document.getElementById( "tris" ).selectedIndex = 0;

		refreshAll( false );
	}

	function ucFirst( text )
	{
		return text.substr( 0,1 ).toUpperCase() + text.substr(1);
	}

	var BrowserDetect = {
		init: function () {
			this.browser = this.searchString(this.dataBrowser) || "An unknown browser";
			this.version = this.searchVersion(navigator.userAgent)
				|| this.searchVersion(navigator.appVersion)
				|| "an unknown version";
			this.OS = this.searchString(this.dataOS) || "an unknown OS";
		},
		searchString: function (data) {
			for (var i=0;i<data.length;i++)	{
				var dataString = data[i].string;
				var dataProp = data[i].prop;
				this.versionSearchString = data[i].versionSearch || data[i].identity;
				if (dataString) {
					if (dataString.indexOf(data[i].subString) != -1)
						return data[i].identity;
				}
				else if (dataProp)
					return data[i].identity;
			}
		},
		searchVersion: function (dataString) {
			var index = dataString.indexOf(this.versionSearchString);
			if (index == -1) return;
			return parseFloat(dataString.substring(index+this.versionSearchString.length+1));
		},
		dataBrowser: [
			{ 	string: navigator.userAgent,
				subString: "OmniWeb",
				versionSearch: "OmniWeb/",
				identity: "OmniWeb"
			},
			{
				string: navigator.vendor,
				subString: "Apple",
				identity: "Safari"
			},
			{
				prop: window.opera,
				identity: "Opera"
			},
			{
				string: navigator.vendor,
				subString: "iCab",
				identity: "iCab"
			},
			{
				string: navigator.vendor,
				subString: "KDE",
				identity: "Konqueror"
			},
			{
				string: navigator.userAgent,
				subString: "Firefox",
				identity: "Firefox"
			},
			{
				string: navigator.vendor,
				subString: "Camino",
				identity: "Camino"
			},
			{		// for newer Netscapes (6+)
				string: navigator.userAgent,
				subString: "Netscape",
				identity: "Netscape"
			},
			{
				string: navigator.userAgent,
				subString: "MSIE",
				identity: "Explorer",
				versionSearch: "MSIE"
			},
			{
				string: navigator.userAgent,
				subString: "Gecko",
				identity: "Mozilla",
				versionSearch: "rv"
			},
			{ 		// for older Netscapes (4-)
				string: navigator.userAgent,
				subString: "Mozilla",
				identity: "Netscape",
				versionSearch: "Mozilla"
			}
		],
		dataOS : [
			{
				string: navigator.platform,
				subString: "Win",
				identity: "Windows"
			},
			{
				string: navigator.platform,
				subString: "Mac",
				identity: "Mac"
			},
			{
				string: navigator.platform,
				subString: "Linux",
				identity: "Linux"
			}
		]

	};

	BrowserDetect.init();

	window.load = startCombo();
	
