var contenuResultat;
var idSearchEnCours;
var	sortOrderEnCours;
var	indexEnCours;
var tabIndexListOffre = new Array()
var cacheTableauAgence = new Array()
var identifiantAgence;
var ficheCharger;
var fichePrecedente;
var ficheSuivant
var cacheListePaginee = new Array()
var indexFicheEnCour = 0;
var cacheFiche = new Array()
var tabRefPossible = new Array()
var resNext = null
var resPrevious = null
var numPage		 = 1;
var numPagePrec  = "";
var numPageSuiv  = 2;
var indexMax;
var MSG_DEBUT_LISTE
var MSG_FIN_LISTE
var MSG_FIN_SERIE
var budgetMin;
var budgetMax;
var	requete 
var action	
var	dateDepart			
var	fournisseur = "";
var codeTO;
var	destinationVille	
var	destinationPays		
var	formule				
var duree				
var	budgetMin			
var	budgetMax			
var	oldSearchIndex		
var	indexDebut			
var	indexFin
var ficheUnique = false
var WE ="";
var vendeur
var TRI_ALETOIRE    = "Random";
var TRI_PRIX_ASC    = "PrixAsc";
var TRI_PRIX_DES    = "PrixDesc";
var TRI_DUREE_ASC   = "DureeAsc";
var TRI_DUREE_DES   = "DureeDesc";
var MSG_DEBUT_LISTE = "Vous " + String.fromCharCode(234) +"tes en d"+ String.fromCharCode(233)+ "but de liste" ;
var MSG_FIN_LISTE	= "Vous " + String.fromCharCode(234) +"tes en fin de liste" ;
var MSG_FIN_SERIE   = "Vous " + String.fromCharCode(234) +"tes en fin de s"+ String.fromCharCode(233)+"rie de la page" ;
//DJU 20061025 - pr les tris par défaut, prix
TRI_ALETOIRE        = "Random";
TRI_PRIX_ASC        = "PrixAsc";
TRI_PRIX_DES        = "PrixDesc";
TRI_DUREE_ASC       = "DureeAsc";
TRI_DUREE_DES       = "DureeDesc";
var typeTri         = TRI_PRIX_ASC; 
var nom = "undefined";
var estDansContenu = false;

var tab;
var agenceUnique = false;

var actp = "2|3"; // 1=billeterie, 2=forfait, 3=billeterie+forfait

var debug = false;
function debugAfficherGlobales()
{
	if (debug)
	{
		alert("fournisseur='" + fournisseur + "', tab='" + tab + "', agence='" + identifiantAgence + "'");
	}
}

function prevoirSuivant(resultat)
{
	resultat = resultat.replace(/&lt;/g,"<");
	resultat = resultat.replace(/&gt;/g,">");
	cacheListePaginee.push(resultat);
}

function executerScriptDefer(html)
{
	//alert("executerScriptDefer");
	/*if (window.addEventListener) // FF ?*/
	{
		var deb = html.indexOf("/* DEBUT_SCRIPT_DEFER */");
		if (deb>=0)
		{
			var fin = html.indexOf("/* FIN_SCRIPT_DEFER */");
			if (fin>=0)
			{
				var js = html.substring(deb, fin);
				//alert("'" + js + "'");
				eval(js);
			}
		}
	}
}

function SigmaServiceHandlerFlux(resultat)
{
	getBlocContenu().innerHTML = resultat;
	executerScriptDefer(resultat);
	contenuResultat = resultat;
	ficheCharger = resultat;
	cacheListePaginee.push(ficheCharger);
	afficherPagination();
}

function HandlerFV(resultat)
{
	resultat = resultat.replace(/&lt;/g,"<");
	resultat = resultat.replace(/&gt;/g,">");

	getBlocContenu().innerHTML = resultat;

	executerScriptDefer(resultat);
	contenuResultat = resultat;
	ficheCharger = resultat;
	cacheListePaginee.push(ficheCharger);
	afficherPagination();
}

function tri(typeTri)
{
}

function afficherPagination()
{
	try
	{
		indexMax = parseInt(document.getElementById("idIndexMax").innerHTML);
		if 	(parseInt(numPage))
		{
			//DJU 20061018 - on n'affiche les précédents que si >1
			if(numPage>1)
			{
				document.getElementById("idNumPagePrec").innerHTML		=	numPagePrec + " " ;
				document.getElementById("idNumPagePrec2").innerHTML		=	numPagePrec + " " ;
			}			
			document.getElementById("idPageCompteur").innerHTML		=	numPage + " " ;			
			//DJU 20061018 - on n'affiche les suivants que si on n'est pas au dernier
			if(numPage<Math.ceil(indexMax/5))
			{
				document.getElementById("idNumPageSuiv").innerHTML		=	numPageSuiv + " " ;
				document.getElementById("idNumPageSuiv2").innerHTML		=	numPageSuiv + " " ;
			}
			//
			document.getElementById("idPageCompteurSur").innerHTML	=	numPage + " " ;	
			document.getElementById("idPageCompteur2").innerHTML	=	numPage + " " ;			
			document.getElementById("idPageCompteurSur2").innerHTML	=	numPage + " " ;
		}
		else
		{	
			//DJU 20061018 - dans quel cas passe-t-on là? corriger comme dans le if ci-dessus?
			document.getElementById("idNumPagePrec").innerHTML		=	"   ";
			document.getElementById("idPageCompteur").innerHTML		=	" 1 ";
			document.getElementById("idNumPageSuiv").innerHTML		=	" 2 ";
			document.getElementById("idPageCompteurSur").innerHTML	=	" 1 ";
			document.getElementById("idNumPagePrec2").innerHTML		=	"   ";
			document.getElementById("idPageCompteur2").innerHTML	=	" 1 ";
			document.getElementById("idNumPageSuiv2").innerHTML		=	" 2 ";
			document.getElementById("idPageCompteurSur2").innerHTML	=	" 1 ";
			document.getElementById("idPageCompteurCourant").innerHTML	= " 1 ";
		}
	}
	catch(e)
	{}	
}

function ficheResultat(resultat) 
{
	resultat = resultat.replace(/&lt;/g,"<");
	resultat = resultat.replace(/&gt;/g,">");
	
	getBlocContenu().innerHTML = resultat;
	
	executerScriptDefer(resultat);
	eval("cacheFiche._"+ indexEnCours +"= resultat");
	if (ficheUnique)
	{
		document.getElementById("navigation").display="none"
		ficheUnique = false;
	}
}

function cacherNav()
{
	if (ficheUnique)
	{
		document.getElementById("navigation").style.display="none"
		ficheUnique = false;
	}
}

function executer(page)
{	
	var monService = new SigmaService();
	monService.url = page;
	monService.callback = HandlerFV;
	monService.lancer();
}

function retour()
{
	getBlocContenu().innerHTML = contenuResultat;
	afficherPagination()
}

function retourWE()
{
	document.getElementById("idBonPlans").style.display="block";
	document.getElementById("marge_centrale").style.display="block";
	getBlocContenu().innerHTML = contenuResultat;
	afficherPagination();
}

function suivant()
{
	if (next() == null)
	{
		var _FicheSuivant = "";
		for (i=0; i<tabIndexListOffre.length; i++)
		{
			if ((tabIndexListOffre[i] == indexEnCours) && typeof(tabIndexListOffre[ 1 + i ]) != "undefined")
			{
				_FicheSuivant = tabIndexListOffre[1 + i];
			}
		}
		if (_FicheSuivant !="" )
		{
			afficherFiche(idSearchEnCours,sortOrderEnCours,_FicheSuivant);
		}
		else
		{
			alert(MSG_FIN_SERIE);
		}
	}
	else
	{
		getBlocContenu().innerHTML= eval("cacheFiche._" + resNext);
		indexEnCours = resNext;
	}
}

function suivantWE()
{
	if (next() == null)
	{
		var _FicheSuivant ="";
		for (i=0;i<tabIndexListOffre.length;i++)
		{
			if((tabIndexListOffre[i] == indexEnCours) && typeof(tabIndexListOffre[ 1 + i ]) != "undefined")
			{
				_FicheSuivant = tabIndexListOffre[1 + i];
			}
		}
		if (_FicheSuivant !="" )
		{
			afficherFiche(idSearchEnCours,sortOrderEnCours,_FicheSuivant);
		}
		else
		{
			alert(MSG_FIN_SERIE);
		}
	}
	else
	{
		getBlocContenu().innerHTML= eval("cacheFiche._" + resNext);
		indexEnCours = resNext;
	}
}

function next()
{
	resNext = null;
	for (i=0; i< tabIndexListOffre.length; i++)
	{
		p = eval("cacheFiche._" + tabIndexListOffre[i + 1]);
		if (typeof(p) != "undefined" && tabIndexListOffre[i] == indexEnCours)
		{
			resNext = tabIndexListOffre[i+1];
		}
	}
	return resNext;
}

function previous()
{	
	resPrevious = null;
	for (i=0; i< tabIndexListOffre.length; i++)
	{
		p = eval("cacheFiche._" + tabIndexListOffre[i - 1]);
		if (typeof(p) != "undefined" && tabIndexListOffre[i] == indexEnCours)
		{
			resPrevious = tabIndexListOffre[i-1];
		}
	}
	return resPrevious;
}

function precedent()
{
	var _FichePrec ="";
	if (previous() == null)
	{
		for (i=0;i<tabIndexListOffre.length;i++)
		{		
				if ((tabIndexListOffre[i] == indexEnCours) && typeof(tabIndexListOffre[i - 1])!="undefined")
				{
					_FichePrec = tabIndexListOffre[i - 1];
				}
		}
		if (_FichePrec!="")
		{
			afficherFiche(idSearchEnCours,sortOrderEnCours,_FichePrec);
		}
		else
		{
			alert(MSG_DEBUT_LISTE);
		}
	}
	else
	{
		getBlocContenu().innerHTML= eval("cacheFiche._" + resPrevious);
		indexEnCours = resPrevious;
	}
}

function precedentWE()
{	
	var _FichePrec ="" 
	if(previous() == null )
	{
		for (i=0;i<tabIndexListOffre.length;i++)
		{		
				if((tabIndexListOffre[i] == indexEnCours) && typeof(tabIndexListOffre[i - 1]) !="undefined" )
				{
					_FichePrec = tabIndexListOffre[i - 1]
				}	
		}
		if(_FichePrec !="" )
		{
			afficherFiche(idSearchEnCours,sortOrderEnCours,_FichePrec);
		}
		else
		{
			alert(MSG_DEBUT_LISTE);
		}
	}
	else
	{
		getBlocContenu().innerHTML= eval("cacheFiche._" + resPrevious);
		indexEnCours = resPrevious 
	}
}

function afficherPage(requete)
{

		/*var img = document.createElement("img");
		img.src = "../../projet-ressources/images/chargement2.gif";
		getBlocContenu().innerHTML = "";
		getBlocContenu().appendChild(img);*/
		
		getBlocContenu().innerHTML = FO_ANA.SigmaPage.getMessageAttente().value;
		
		var url ="flux.aspx?"+requete;
		//si on est dans l'espace extranet => ../../ANA/Pages
		if(document.getElementById("estExtranet"))
		{
			if(document.getElementById("estExtranet").value == "true")
			{
				url ="../../ANA/Page/flux.aspx?"+requete;
			}
			else
			{
				//alert("!extranet...");
			}
		}
		else
		{
			//alert("nqma...");
		}
		var handler = SigmaServiceHandlerFlux;
		var monService2 = new SigmaService();
		monService2.url = url;
		monService2.callback = handler;
		monService2.lancer();
}

function chargerCacheSuivant(idRecherche,nbFiche,premNumFiche,nbMaxFiche)
{
				action				="action=CreateSearchAndGetList";
				oldSearchIndex		="&oldSearchIndex="	+	idRecherche;
				indexDebut			="&indexDebut="		+	(premNumFiche+2*nbFiche);
				indexFin			="&indexFin="		+	(premNumFiche +3*(nbFiche)) ;
				creerDemande();
				requete =	action				+	
							dateDepart			+
							fournisseur			+
							destinationVille	+
							destinationPays		+
							formule				+
							duree				+
							budgetMin			+
							budgetMax			+
							oldSearchIndex		+
							indexDebut			+
							indexFin
			var url ="flux.aspx?"+requete;
			var handler = prevoirSuivant;
			var monService3 = new SigmaService();
			monService3.url = url;
			monService3.callback = handler;
			monService3.lancer()
}

function pageSuiv(idRecherche,nbFiche,premNumFiche,nbMaxFiche)
{
		//DJU 20061025 - pr la pagination
		document.getElementById("hiddenPageCourrante").Value = parseInt(numPage) + 1;		
		indexMax = "&indexMax=" + nbMaxFiche;

		if (parseInt(numPage) < nbMaxFiche)
		{
			numPage     =	" " +	(parseInt(numPage)+1) + " ";
			//numPage		=	" " +	(parseInt(calculerNumPage(nbFiche,premNumFiche,nbMaxFiche))+1) + " ";
			numPagePrec =	" " +	(parseInt(numPage) - 1) + " ";
			numPageSuiv =	" " +	(parseInt(numPage) + 1) + " ";
			// refactoring impératif pour cette partie
			// debut			
			
			//DJU 20061025 - pb de pagination
			//LE PB DE PAGINATION VENAIT DU TEST  >= (parseInt(numPage)+1)... !!! donc la même page mis deux fois en cache!!!
			//test si la page courante doit être en cache ou non
			if(cacheListePaginee.length  >= (parseInt(numPage)))
			{
				getBlocContenu().innerHTML = cacheListePaginee[parseInt(numPage)-1];
			}
			else
			{	
				action				="action=SearchResultsDisplay";
				oldSearchIndex		="&oldSearchIndex="	+	idRecherche;
				
				//regarde les offres CETO...
				if((document.getElementsByName("offreCETO").length>0))
				{
					if(is_ie)
					{
						//!ATTENTION! si aucune offre CETO, bug
						//!ATTENTION! si aucune offre SIGMA, bug
						indexDebut			="&indexDebut="		+	(parseInt((document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].index)) + 1);
						indexFin			="&indexFin="		+	(parseInt(nbFiche) + parseInt((document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].index)) ) ;
						PrixMax				="&PrixMax="		+	(document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].prix);
						DureeMax			="&DureeMax="		+	(document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].duree);
						if(tabIndexListOffre[4 + (5 * (numPage-2))].substr(0,5).toUpperCase()== "SIGMA")
						{
							indexDernier		="&indexDernier="   +	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].indexDernier);
						}
						else
						{
							indexDernier		="&indexDernier=-1";
						}
					}
					else
					{
						indexDebut	= "&indexDebut="+	(parseInt((document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].getAttribute("index"))) + 1);
						indexFin	= "&indexFin="	+	(parseInt(nbFiche) + parseInt((document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].getAttribute("index"))) ) ;
						PrixMax		= "&PrixMax="	+	(document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].getAttribute("prix"));
						DureeMax	= "&DureeMax="	+	(document.getElementsByName("offreCETO")[document.getElementsByName("offreCETO").length - 1].getAttribute("duree"));
						if(tabIndexListOffre[4+ (5 * (numPage-2))].substr(0,5).toUpperCase()== "SIGMA")
						{
							indexDernier	= "&indexDernier="   +	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].getAttribute("indexDernier")); 
						}
						else
						{
							indexDernier	= "&indexDernier=-1";
						}
					}
				}
				else
				{
					//!ATTENTION! si aucune offre CETO, bug
					//!ATTENTION! si aucune offre SIGMA, bug
					//sinon regarde les offres SIGMA...
					if((document.getElementsByName("offreSIGMA").length > 0))//&&((document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].index!="")))
					{
						if(is_ie)
						{
							indexDebut			="&indexDebut=1";
							indexFin			="&indexFin="+document.getElementsByName("offreSIGMA").length;
							PrixMax				="&PrixMax="		+	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].prix); 
							DureeMax			="&DureeMax="		+	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].duree);
							if(tabIndexListOffre[4+ (5 * (numPage-2))].substr(0,5).toUpperCase()== "SIGMA")
							{
								indexDernier		="&indexDernier="   +	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].indexDernier); 
							}
							else
							{
								indexDernier		="&indexDernier=-1";
							}
						}
						else
						{
							indexDebut			="&indexDebut=1"
							indexFin			="&indexFin=5"
							PrixMax				="&PrixMax="		+	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].getAttribute("prix"));
							DureeMax			="&DureeMax="		+	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].getAttribute("duree"));
							if(tabIndexListOffre[4+ (5 * (numPage-2))].substr(0,5).toUpperCase()== "SIGMA")
							{								
								indexDernier		="&indexDernier="   +	(document.getElementsByName("offreSIGMA")[document.getElementsByName("offreSIGMA").length - 1].getAttribute("indexDernier"));
							}
							else
							{								
								indexDernier		="&indexDernier=-1";
							}
						}
					}
					else
					{
						indexDebut			="&indexDebut="		+	(premNumFiche+nbFiche);
						indexFin			="&indexFin="	+		(premNumFiche+2*nbFiche);
						PrixMax				="&PrixMax=0";
						DureeMax			="&DureeMax=0";
						indexDernier		="&indexDernier=-1";					
					}
				}
				//fin

				creerDemande();					
				var fromWE = "";
				if(document.getElementById("idFormule").disabled == true)
				{
					fromWE = "1";
				}
				requete =	action				+	
							dateDepart			+
							fournisseur			+
							destinationVille	+
							destinationPays		+
							formule				+
							duree				+
							budgetMin			+
							budgetMax			+
							oldSearchIndex		+
							indexDebut			+
							indexFin			+
							indexMax			+
							PrixMax				+
							DureeMax			+
							indexDernier		+
							"&niemePageListeOffre="+document.getElementById("hiddenPageCourrante").Value +//DJU 20061025 - pr pagination
							"&sortOrder=" + typeTri+	//DJU 20061025 - pr la gestion des tri
							"&fromWE=" + fromWE;		//DJU 20061128 - pr gestion WE, sinon bool perdu dans l'url (pas passé).
				afficherPage(requete); //TODO : POINT SBS sort orde
			}
			afficherPagination()
			contenuResultat = getBlocContenu().innerHTML;
		}
		else
		{
			alert(MSG_FIN_LISTE);
		}
}

function creerDemande()
{
	dateDepart ="&dateDepart="+document.getElementById("cbDate").value;
	if(document.getElementById("idToursOp").value==0)
	{
		fournisseur			="&fournisseur=";
	}
	else
	{
		fournisseur			="&fournisseur="+document.getElementById("idToursOp").value;
	}
	if (document.getElementById("idDestination").value == "")
	{
		destinationVille	="&destinationVille="
		destinationPays		="&destinationPays=";
	}
	else
	{	
		if(document.getElementById("idDestination").value.indexOf("V")==0)
		
		{
			destinationVille	="&destinationVille="+document.getElementById("idDestination").value.slice(1);
			destinationPays		="&destinationPays=";
		}
		else
		{
			destinationPays		="&destinationPays="+document.getElementById("idDestination").value;
			destinationVille	="&destinationVille=";
		}
	}
	formule				="&formule="+document.getElementById("idFormule").value;
	duree				="&duree="+document.getElementById("idDuree").value;
	switch(document.getElementById("idBudget").value)
	{
		case("0"):
		budgetMin			="&budgetMin=0";
		budgetMax			="&budgetMax=0";
		break;
		case("1"):
		budgetMin			="&budgetMin=0";
		budgetMax			="&budgetMax=500";
		break;
		case("2"):
		budgetMin			="&budgetMin=500";
		budgetMax			="&budgetMax=750";
		break;
		case("3"):
		budgetMin			="&budgetMin=750";
		budgetMax			="&budgetMax=1000";
		break;
		case("4"):
		budgetMin			="&budgetMin=1000";
		budgetMax			="&budgetMax=1500";
		break;
		case("5"):
		budgetMin			="&budgetMin=1500";
		budgetMax			="&budgetMax=2000";
		break;
		case("6"):
		budgetMin			="&budgetMin=2000";
		budgetMax			="&budgetMax=2500";
		break;
		case("7"):
		budgetMin			="&budgetMin=2500";
		budgetMax			="&budgetMax=3000";
		break;
		case("8"):
		budgetMin			="&budgetMin=3000";
		budgetMax			="&budgetMax=0";
		break;
	}
}

function pagePrec(idRecherche,nbFiche,premNumFiche,nbMaxFiche)
{
	document.getElementById("hiddenPageCourrante").Value = parseInt(numPage) - 1;
	if (typeof(cacheListePaginee[(parseInt(numPage) - 2)]) != "undefined")
	{	
		numPage		=	" " +	(parseInt(numPage) - 1) +" " ;
		numPagePrec =	" " +	(parseInt(numPage) - 1 )	+ " " ;
		numPageSuiv =	" " +	(parseInt(numPage) + 1 )	+ " " ;
		getBlocContenu().innerHTML = cacheListePaginee[numPage-1] ;
		afficherPagination()
		contenuResultat = getBlocContenu().innerHTML ;
	}
	else
	{
		alert(MSG_DEBUT_LISTE);
	}
}

/* Nettoyage des éléments dynamiques la page */
function nettoyerPageVoyages()
{
	var ficheVoyages = getBlocContenu();

	var navigation = document.getElementById("navigation");
	if (navigation)
	{
		ficheVoyages.removeChild(navigation);
	}

	var detail = document.getElementById("detail");
	if (detail)
	{
		ficheVoyages.removeChild(detail);
	}

	var patience = document.getElementById("idPatience");
	if (patience)
	{
		ficheVoyages.removeChild(patience);
	}

	var cadreCarte = document.getElementById("idCadreCarte");
	if (cadreCarte)
	{
		//ficheVoyages.removeChild(cadreCarte);
		cadreCarte.style.display = "none";
	}

	var tableauAgence = document.getElementById("idTableauAgence");
	if (tableauAgence)
	{
		//tableauAgence.parentNode.removeChild(tableauAgence);
		tableauAgence.style.display = "none";
		// CHP le 16/04/07 : faire autrement car le retour à la liste ne fonctionnait plus (page blanche)
		// Pyc le 27/02/07 : pour IE7, la div doit avoir une largeur sinon la fiche agence s'affiche mal.
		//tableauAgence.innerHTML = "<div style='width=150px;'>&nbsp;</div>";
	}
	
	var descriptifAgence = document.getElementById("idDescriptifAgence");
	if (descriptifAgence)
	{
		//descriptifAgence.parentNode.removeChild(descriptifAgence);
		descriptifAgence.style.display = "none";
	}
	
	var formulaireContact = document.getElementById("idFormulaire");
	if (formulaireContact)
	{
		formulaireContact.parentNode.removeChild(formulaireContact);
	}

	var descriptifAgence = document.getElementById("idDescriptifAgence");
	if (descriptifAgence)
	{
		descriptifAgence.parentNode.removeChild(descriptifAgence);
	}

	var formulaireContact = document.getElementById("idFormulaire");
	if (formulaireContact)
	{
		formulaireContact.parentNode.removeChild(formulaireContact);
	}
}

function appelerCarteInterActive(page)
{
	// supprimer la liste des agences
	var tableauAgence = document.getElementById("idTableauAgence");
	if (tableauAgence)
	{
		tableauAgence.parentNode.removeChild(tableauAgence);
	}	
	// si la carte a déjà été chargée, l'afficher
	var cadreCarte = document.getElementById("idCadreCarte");
	if (cadreCarte)
	{
		cadreCarte.style.display = "block";
		return;
	}
	// sinon la remplir
	var monService = new SigmaService();
	monService.url = page;
	monService.callback = cadreResultat;
	monService.lancer();
}

function agenceResultat(resultat)
{
	var tableauAgence;
	
	nettoyerPageVoyages();

	tableauAgence = document.getElementById("idTableauAgence");
	if (tableauAgence==null)
	{
		tableauAgence    = document.createElement("div");
		tableauAgence.id = "idTableauAgence";
		tableauAgence.innerHTML	= resultat;
		getBlocContenu().appendChild(tableauAgence);
	}
	else
	{
		tableauAgence.innerHTML	= resultat;
		tableauAgence.style.display = "block";
	}
}

function cadreResultat(resultat)
{
	nettoyerPageVoyages();

	// vider la cellule "Achat/Réservation en agence"
	/*if (document.getElementById("idCelluleAchat"))
	{
		document.getElementById("idCelluleAchat").innerHTML = "" ;
	}*/

	if (resultat.indexOf("[",0) != -1)
	{
		var codeTO = eval(resultat);
		tab = null;
		appelerTableauAgence("Fragment_tableauAgence.aspx");
		if (typeof codeTO[0]=="object")
		{
			contenuResultatAgence(resultat);
		}
		else
		{
			appelerContenuTableauAgence(
				"Fragment_tableauAgence.aspx" + 
					"?action=" + escape("tableauTODistribue") + 
					"&actp="   + escape(actp) + 
					"&codeTO=" + escape(codeTO[0])
			);
		}
	}
	else
	{
		var cadreCarte = document.createElement("div");
		cadreCarte.id = "idCadreCarte";
		cadreCarte.innerHTML = resultat;
		getBlocContenu().appendChild(cadreCarte);
		var carte = document.getElementById("idCarteAgence");
		if (carte)
			carte.onclick = getPositionCarte;
	}
}

function afficherFichePromDernm(index, affichePagination, promo)
{
    if ( promo != null )
    {
	    if (promo)
	    {
		    tabIndexListOffre = tabIndexListOffrePromo;
		    tabRefPossible = tabRefPossiblePromo;
	    }
	    else
	    {
    	    
		    tabIndexListOffre = tabIndexListOffreDernm;
		    tabRefPossible = tabRefPossibleDernm;
	    }
	}
	else
	{
    }
	afficherFicheWE(index, affichePagination)
}

function afficherFicheWE(index, affichePagination)
{
	WE="&WE=WE";
    //document.getElementById("idBonPlans").style.display='none';
    //document.getElementById("marge_centrale").style.display='none';
//	if (estDansContenu)
//		document.getElementById("RechercheVols1_idRechercheVols").innerHTML='';

    document.getElementById("bloc_droite").style.display='none';
    document.getElementById("bloc_centre").id ='bloc_centredroite';

	afficherFiche(0,"PrixAsc",index)
}

function afficherFicheUnique(idSearch,sortOrder,index)
{
	ficheUnique = true
	afficherFiche(idSearch,sortOrder,index);
}

function afficherFiche(idSearch,sortOrder,index)
{
	var fichierFlux ="flux.aspx?";				
	//si on est dans l'espace extranet => ../../ANA/Pages
	if(document.getElementById("estExtranet"))
	{
		if(document.getElementById("estExtranet").value == "true")
		{
			fichierFlux = "../../ANA/Page/flux.aspx?";
		}
		else
		{
			//alert("!extranet...");
		}
	}
	else
	{
		//alert("nqma...");
	}

	if (typeof(index)!="undefined")
	{
		indexEnCours = index;
		if(isNaN(index) && index.substring(0,5).toUpperCase() == "SIGMA")
		{
			index = index.substr(5,index.length)
			idSearchEnCours=idSearch;
			sortOrderEnCours=sortOrder;
			
			/*var img = document.createElement("img");
			img.src="../../projet-ressources/images/chargement2.gif";
			getBlocContenu().innerHTML="";
			getBlocContenu().appendChild(img);*/
			
			getBlocContenu().innerHTML = FO_ANA.SigmaPage.getMessageAttente().value;
			
			//cacherNav();
					
			var url = fichierFlux + "action=SearchProduitDetailDisplaySigma&oldSearchIndex=" +idSearch + "&sortOrder=" + sortOrder +"&index="+index+WE ;

			var handler = ficheResultat;
			var monService = new SigmaService();
			monService.url = url;
			monService.callback = handler;
			monService.lancer();
		}
		else
		{
			idSearchEnCours=idSearch;
			sortOrderEnCours=sortOrder;
		
			/*var img = document.createElement("img");
			img.src="../../projet-ressources/images/chargement2.gif";
			getBlocContenu().innerHTML="";
			getBlocContenu().appendChild(img);*/
			
			getBlocContenu().innerHTML=FO_ANA.SigmaPage.getMessageAttente().value;
			
			//cacherNav();
			
			var url = fichierFlux + "action=SearchProduitDetailDisplay&oldSearchIndex=" +idSearch + "&sortOrder=" + sortOrder +"&index="+index ;
			//alert(url)
			var handler = ficheResultat;
			var monService = new SigmaService();
			monService.url = url;
			monService.callback = handler;
			monService.lancer();
		}
	}
}

function calculerNumPage(nbFiche,premNumFiche,nbMaxFiche)
{
	if (premNumFiche > nbMaxFiche-nbFiche)
	{
		return Math.ceil(nbMaxFiche/nbFiche);
	}
	else
	{
		return calculerNumPage(nbFiche, premNumFiche, nbMaxFiche-nbFiche);
	}
}

function trouverAgence(codeTO)
{
	if (debug) alert("trouverAgence(" + codeTO + "): " + actp);
	fournisseur = codeTO;
	appelerCarteInterActive("flux.aspx?action=carteInteractive&actp=" + escape(actp) + "&fournisseur=" + escape(fournisseur));
}

function retourCarte()
{
	nettoyerPageVoyages();

	if(typeof(codeTO) == "undefined")
	{
		codeTO = [""];
	}

	if(codeTO[0].substr(0,5).toUpperCase()!= "SIGMA")
	{
		appelerCarteInterActive("flux.aspx?action=carteInteractive&codeTO="+codeTO[0]);
	}
	else
	{
		appelerCarteInterActive("flux.aspx?action=carteInteractive&codeTO=");
	}
}

function retourTableau()
{
	nettoyerPageVoyages();

	// si la liste a déjà été chargée, l'afficher
	var tableauAgence = document.getElementById("idTableauAgence");
	if (tableauAgence)
	{
		tableauAgence.style.display = "block";
		return;
	}

	if (typeof(fournisseur)=="undefined")
		retourCarte();

	appelerTableauAgence("Fragment_tableauAgence.aspx");
	appelerContenuTableauAgence(
		"Fragment_tableauAgence.aspx" + 
			"?action=" + escape("tableauTODistribue") + 
			"&actp="   + escape(actp) +
			"&codeTO=" + escape(fournisseur)
	);
}

function retourAgence()
{
	afficherFicheAgenceFormulaire();
}

function appelerContenuTableauAgence(page)
{
	var monService3 = new SigmaService();
	monService3.url = page;
	monService3.callback = contenuResultatAgence;
	monService3.lancer();
}

function contenuResultatAgence(_resultat)
{		
		var lignes = eval(_resultat)
		var cellLienForm = new Array()

		try
		{	
			document.getElementById("idNbAgence").innerHTML=" " + lignes.length + " agences correspondent &agrave; votre s&eacute;lection";
			tab = document.getElementById("idTableResultat");
			for(i = 0 ; i <lignes.length ; i++)
			{	
				tab.insertRow(tab.rows.length);
			
				var cellNomAgence		= tab.rows[tab.rows.length-1].insertCell(0);
				cellNomAgence.align		= "center"	
				//cellNomAgence.innerText = lignes[i][0]
				cellNomAgence.innerHTML = lignes[i][0]
				cellNomAgence.id		= lignes[i][7]
				
				var cellAddr			= tab.rows[tab.rows.length-1].insertCell(1);
				cellAddr.align			= "center"	
				//cellAddr.innerText		= lignes[i][1] +" "+ lignes[i][2] +" "+ lignes[i][3] +" "+ lignes[i][4]
				cellAddr.innerHTML		= lignes[i][1] +" "+ lignes[i][2] +" "+ lignes[i][3] +" "+ lignes[i][4]
			
				var cellVille			= tab.rows[tab.rows.length-1].insertCell(2);
				cellVille.align			= "center"	
				//cellVille.innerText		= lignes[i][5]
				cellVille.innerHTML		= lignes[i][5]
				
				var cellCP				= tab.rows[tab.rows.length-1].insertCell(3);
				cellCP.align			= "center"	
				//cellCP.innerText		= lignes[i][6]
				cellCP.innerHTML		= lignes[i][6]
				
				var cellSect			= tab.rows[tab.rows.length-1].insertCell(4);
				cellSect.align			= "center"	
				//cellSect.innerText		= lignes[i][6]
				cellSect.innerHTML		= lignes[i][8]

				cellLienForm[i]		= tab.rows[tab.rows.length-1].insertCell(5);
				cellLienForm[i].align		= "center"	
				cellLienForm[i].innerHTML	= " <img src='../../Projet-ressources/images/bt_fiche_agence.gif'> "
			
				cellLienForm[i].identifiantAgence = lignes[i][7];
				cellLienForm[i].onclick	= ouvrirFicheAgence;
				cellLienForm[i].style.cursor	= "pointer";
			
				if(lignes.length == 1)
				{
					identifiantAgence = lignes[0][7];
					insererFicheAgence("Fragment_ficheAgence.aspx?id="+lignes[0][7]);
				}
			}
		}
		catch (e)
		{
		}	
}

function rechercherCoupleParVal(parametre)
{	
	var res=""
	var p = document.URL.substring(document.URL.indexOf("?"),document.URL.length)
	p = p.split("&")
	
	for(i=0;i<p.length;i++)
	{
		if (p[i].search(parametre)!= -1)
		{
			res = p[i].replace("?","")
		}		
	}
	return res
}

function afficherFicheAgenceFormulaire()
{
	insererFicheAgence("Fragment_ficheAgence.aspx?id=" + escape(identifiantAgence));
}

// clic bouton "GO" liste agences
function ouvrirFicheAgence(e, paramIdentifiantAgence)
{
	if (typeof(paramIdentifiantAgence)!="undefined")
	{
		identifiantAgence = paramIdentifiantAgence;
	}
	else
	{
		identifiantAgence = this.identifiantAgence;
	}
	afficherFicheAgenceFormulaire();
}

// afficher le formulaire de contact
function ouvrirFormulaire()
{
	var ARBO_ID			= rechercherCoupleParVal("ARBO_ID");
	var ARBO_VERSION	= rechercherCoupleParVal("ARBO_VERSION");
	var dateDepart      = rechercherCoupleParVal("dateDepart");

	if (typeof(paramIdentifiantAgence)!="undefined")
	{
		identifiantAgence = paramIdentifiantAgence;
	}
	else
	{
		identifiantAgence = this.identifiantAgence;
	}

	// passer par une iframe pour que le formulaire soit indépendant de la page
	iframe = document.createElement("iframe");
	iframe.id ="idFormulaire"
	iframe.src = "Fragment_formulaire.aspx" + 
		"?PUB_VERSION=0" + 
		"&" + PubIDForm + 
		"&identifiantAgence=" + escape(identifiantAgence) + 
		"&" + dateDepart
	;
	iframe.width = "100%"
	iframe.height = "640px"
	iframe.style.paddingTop = "0px"
	iframe.style.overflow = "visible"
	iframe.style.clear= "both"
	iframe.frameBorder = "0"

	nettoyerPageVoyages();

	getBlocContenu().appendChild(iframe);
}

function getPubIdForm(page)
{
	var url = page
	var handler = resPubIDForm;
	var monService = new SigmaService();
	monService.url = url;
	monService.callback = handler;
	monService.lancer();
}

var PubIDForm;
function resPubIDForm(resultat)
{
	PubIDForm = "PUB_ID=" + resultat 
}

function insererFicheAgence(page)
{
	var url = page
	var handler = descriptifAgence;
	var monService = new SigmaService();
	monService.url = url;
	monService.callback = handler;
	monService.lancer();
}

function descriptifAgence(resultat)
{
	debugAfficherGlobales();
	var detailAgence;
	detailAgence              = document.createElement("div");
	detailAgence.id           = "idDescriptifAgence";
	detailAgence.innerHTML    = resultat;
	//detailAgence.style.height = "500px";
	nettoyerPageVoyages();
	getBlocContenu().appendChild(detailAgence);
}

function appelerTableauAgence(page)
{
	nettoyerPageVoyages();

	var patience = document.createElement("div");
	patience.id  = "idPatience";
	/*var img      = document.createElement("img");
	img.src      ="../../projet-ressources/images/chargement2.gif";
	patience.appendChild(img);
	getBlocContenu().appendChild(patience);*/
	
	patience.innerHTML = FO_ANA.SigmaPage.getMessageAttente().value;
    getBlocContenu().appendChild(patience);

	/*var url = page
	var handler = agenceResultat;
	var monService = new SigmaService();
	monService.url = url;
	monService.callback = handler;
	monService.lancer();*/

	// faire un appel synchrone
	try
	{
		var ajax;
		if(std_isCompatibleIE55) // IE
		{
			ajax = new ActiveXObject("Msxml2.XMLHTTP");
		}
		else // Gecko (FF/Moz) / Autres
		{
			ajax = new XMLHttpRequest();
		}
		ajax.open("GET", page, false);
		ajax.send(null);
		agenceResultat(ajax.responseText);
	}
	catch (e)
	{
	}	
}

var codeTOCarte;

function selectionnerAgencePosition(x,y,dx,dy,_codeTOCarte)
{
	debugAfficherGlobales();
	if (debug) alert(_codeTOCarte);

	// supprimer l'ancienne liste
	var tableauAgence = document.getElementById("idTableauAgence");
	if (tableauAgence)
	{
		tableauAgence.parentNode.removeChild(tableauAgence);
	}

	// récupérer le HTML de l'en-tête du tableau
	appelerTableauAgence("Fragment_tableauAgence.aspx");

	// récupérer le contenu du tableau
	codeTOCarte = _codeTOCarte;
	if(codeTOCarte=="" || typeof(codeTOCarte)=="undefined"||codeTOCarte =="undefined")
	{
		tab = null;
		appelerContenuTableauAgence(
			"Fragment_tableauAgence.aspx" + 
				"?action=" + escape("tableauResultatCarte") + 
				"&actp="   + escape(actp) +
				"&x="      + escape(x) + 
				"&y="      + escape(y) + 
				"&dx="     + escape(dx) + 
				"&dy="     + escape(dy)
		);
	}	
	else
	{
		// pour le TO sélectionné
		tab = null;
		appelerContenuTableauAgence(
			"Fragment_tableauAgence.aspx" + 
				"?action=" + escape("tableauResultatCarte") + 
				"&actp="   + escape(actp) +
				"&codeTO=" + escape(codeTOCarte) +
				"&x="      + escape(x) + 
				"&y="      + escape(y) + 
				"&dx="     + escape(dx) + 
				"&dy="     + escape(dy)
		);
	}
}

function selectionnerAgenceRecherche()
{	
	tab = null;
	
	var ville = document.getElementById('idSelectVille').options[ document.getElementById('idSelectVille').selectedIndex].value;
	var dept = document.getElementById('idSelectDept').options[ document.getElementById('idSelectDept').selectedIndex].value;
	var idMotsClefs = document.getElementById('idMotsClefs').value;

	// supprimer l'ancienne liste
	var tableauAgence = document.getElementById("idTableauAgence");
	if (tableauAgence)
	{
		tableauAgence.parentNode.removeChild(tableauAgence);
	}

	appelerTableauAgence("Fragment_tableauAgence.aspx" );
	appelerContenuTableauAgence(
		"Fragment_tableauAgence.aspx" + 
			"?action="   + escape("tableauResultatRech") +
			"&actp="     + escape(actp) +
			"&motClefs=" + escape(idMotsClefs) + 
			"&ville="    + escape(ville) + 
			"&dept="	 + escape(dept) + 
			"&codeTO="   + escape(typeof(fournisseur)=="undefined" ? "" : fournisseur)
	);
}

function getDepartement()
{
	appelerListeDept(
		"Fragment_tableauAgence.aspx" +
			"?action=" + escape("listeDepartement") + 
			"&nbr="    + escape(Math.random())
	);
}

function resultatDept(resDept)
{
	//var chainettest
	var tabDept = eval(resDept)
	if(document.getElementById("idSelectDept"))
	{
		document.getElementById("idSelectDept").options.length = 0;
		document.getElementById("idSelectDept").options[0] = 
			new Option("Tous d"+  String.fromCharCode(233) + "partements","",false,false);
	}
	for (i = 0 ;i < tabDept.length ; i ++)
	{
		document.getElementById("idSelectDept").options[i+1]= 
			new Option(tabDept[i][0],tabDept[i][1],false,false);
	}
}

function appelerListeDept(page)
{

	var urlDept = page
	var handlerDept = resultatDept;
	var monServiceDept = new SigmaService();
	monServiceDept.url = urlDept;
	monServiceDept.callback = handlerDept;
	monServiceDept.lancer();

}

function filtrerDept()
{
	appelerFiltreDept(
		"Fragment_tableauAgence.aspx" + 
			"?action=" + escape("filtreDept") + 
			"&dept="   + escape(document.getElementById("idSelectDept").options[document.getElementById("idSelectDept").selectedIndex].value)
	);
}

function appelerFiltreDept(page)
{
	var urlFiltreDept = page
	var handlerFiltreDept = resultatFiltreDept;
	var monServiceFiltreDept = new SigmaService();
	monServiceFiltreDept.url = urlFiltreDept;
	monServiceFiltreDept.callback = handlerFiltreDept;
	monServiceFiltreDept.lancer();
}

function resultatFiltreDept(resVille)
{	
	var tabVille = eval(resVille)
	document.getElementById("idSelectVille").options.length = 0;
	document.getElementById("idSelectVille").options[0]= new Option("Toutes villes","",false,false);
	for (i = 0 ;i <tabVille.length ; i ++)
	{
		document.getElementById("idSelectVille").options[i+1]= new Option(tabVille[i][0],tabVille[i][0],false,false);
	}
}

function getVille()
{
	appelerListeVille("Fragment_tableauAgence.aspx?action=listeVille&nbr=" + Math.random());
}

function resultatVille(resVille)
{	
	var tabVille = eval(resVille);
	document.getElementById("idSelectVille").options.length = 0;
	document.getElementById("idSelectVille").options[0]= new Option("Toutes villes","",false,false);
	for (i = 0 ;i <tabVille.length ; i ++)
	{
		document.getElementById("idSelectVille").options[i+1]= new Option(tabVille[i][0],tabVille[i][0],false,false);
	}
}

function appelerListeVille(page)
{
	var urlVille = page
	var handlerVille = resultatVille;
	var monServiceVille = new SigmaService();
	monServiceVille.url = urlVille;
	monServiceVille.callback = handlerVille;
	monServiceVille.lancer();
}

function validation()
{
	var bloc1 = document.createElement("div")
	bloc1.innerHTML = "Votre demande a bien été transmise à l'agence de voyage qui prendra contact avec vous dans les plus brefs délais. Un courrier de confirmation vous a également été envoyé dans votre boîte mail."
}

function tri(type)
{
	//alert(typeTri);
	//alert(type);
	//alert(document.getElementById("EdUrl").value);
	//TODO: vider le cache et revenir à 0
	if(typeTri!=type)
	{
		//init la page (tous les num sont basés dessus)
		numPage		 = 1;
		numPagePrec  = "";
		numPageSuiv  = 2;
		document.getElementById("hiddenPageCourrante").Value = parseInt(numPage);
		//indexDebut = 1;
		//indexFin = 5;
		//vider le cache pour redemarrer
		
		/*getBlocContenu().innerHTML="<IMG src=\"../../projet-ressources/images/chargement2.gif\" align=\"middle\">";*/
		getBlocContenu().innerHTML = FO_ANA.SigmaPage.getMessageAttente().value;
		
		tabIndexListOffre = new Array();//sinon les pages du tri croissant sont conservées pour le tri par duree
		cacheListePaginee = new Array();
	}
	typeTri = type;
	
	var chemin = "flux.aspx?";
	if(document.getElementById("estExtranet"))
	{
		if(document.getElementById("estExtranet").value == "true")
		{
			 chemin = "../../ANA/Page/flux.aspx?";
		}
		else
		{
			//
		}
	}
	else
	{
		//
	}		
	executer(chemin + document.getElementById("EdUrl").value + "&sortOrder=" + typeTri+"&changeTri=1");
}


function getBlocContenu()
{
    if ( document.getElementById("bloc_centredroite") )
	{
	    return document.getElementById("bloc_centredroite");
	}
	else
	{
	    return document.getElementById("bloc_centre");
	}
}
