var ongletSelectionne = 2;
var goodImg;
var click_target = false;
var ordreGlobal = "asc";
var triGlobal = "date";

var oldDiv = "dateUp";
var oldOrdre = "asc";
var connectivite = false;

function getXhr() {
    var r = false;
	if (window.XMLHttpRequest) {
	        r = new XMLHttpRequest();
    } else if (window.ActiveXObject) {
        try {
			r = new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			r = new ActiveXObject("Microsoft.XMLHTTP");
		}
    }
	else {
		alert("Erreur XML");
	}
	return r;
}

function selectOnglet(onglet) {
	var ongletAncien = "onglet" + ongletSelectionne;
	var ongletNouveau = "onglet" + onglet;

	var contenuAncien = "contenuOnglet" + ongletSelectionne;
	var contenuNouveau = "contenuOnglet" + onglet;

	ongletSelectionne = onglet;

	document.getElementById(contenuAncien).style.display = "none";
	document.getElementById(contenuNouveau).style.display = "inline";

	document.getElementById(ongletAncien).className = "ongletPasSelectionne";
	document.getElementById(ongletNouveau).className = "ongletSelectionne";

}

function changeMiniature(produitId, imageId, taille) {
	var image = "/locations-vacances/residence_principal_sres_" + produitId + "_" + imageId + "_" + taille + ".jpg";
	document.getElementById("imgPpal").src = image;
	goodImg = 'res_' + produitId + '_' + imageId + '.jpg';
}

function getPanier() {

	if(getEl("panier"))
	{
		var xhr = getXhr();
		xhr.onreadystatechange = function() {
			if(xhr.readyState == 4 && xhr.status == 200) {
				
				document.getElementById("panier").innerHTML = xhr.responseText;
				if(document.getElementById("img_tarifs") != undefined ){
					if(xhr.responseText == ""){
						document.getElementById("img_tarifs").style.display = "inline";
					}else{
						document.getElementById("img_tarifs").style.display = "none";
					}
				}
			}
		}
	
		xhr.open("GET", "/ajax/getPanier.php?d="+ (new Date()).getTime(), true);
		
		xhr.send(null);
	}
}

function changeListe(typeListe, valeur, siteId) {
	
	if(typeof myForm == "undefined")
	{
		myForm = "search";
	}
	
	if(typeListe == "theme")
	{
		if (document.getElementById('listeRegions')) actualizeListe("listeRegions", "&type=region&themeId=" + valeur, siteId);//document.getElementById('listeRegions').value = -1;		
		if (document.getElementById('listeRegions')) actualizeListe("listeRegions", "&type=region&themeId=" + valeur, siteId);//document.getElementById('listeRegions').value = -1;
		if (document.getElementById('listeDeps')) actualizeListe("listeDeps", "&type=dep&themeId=" + valeur, siteId);//document.getElementById('listeDeps').value = -1;
		if (document.getElementById('listeVilles')) actualizeListe("listeVilles", "&type=ville&themeId=" + valeur, siteId);//document.getElementById('listeVilles').value = -1;
	
		if (document.forms[myForm].pays_id) document.forms[myForm].pays_id.value="";
		if (document.forms[myForm].region_id) document.forms[myForm].region_id.value="";
		if (document.forms[myForm].dep_id) document.forms[myForm].dep_id.value="";
		if (document.forms[myForm].ville_id) document.forms[myForm].ville_id.value="";
	}
	
	if (typeListe == "pays") {
		if (document.getElementById('listeRegions')) actualizeListe("listeRegions", "&type=region&paysId=" + valeur, siteId);//document.getElementById('listeRegions').value = -1;
		if (document.getElementById('listeDeps')) actualizeListe("listeDeps", "&type=dep&paysId=" + valeur, siteId);//document.getElementById('listeDeps').value = -1;
		if (document.getElementById('listeVilles')) actualizeListe("listeVilles", "&type=ville&paysId=" + valeur, siteId);//document.getElementById('listeVilles').value = -1;

		document.forms[myForm].pays_id.value=valeur;
		if (document.forms[myForm].region_id) document.forms[myForm].region_id.value="";
		if (document.forms[myForm].dep_id) document.forms[myForm].dep_id.value="";
		if (document.forms[myForm].ville_id) document.forms[myForm].ville_id.value="";

	}

	if (typeListe == "region") {
		if (document.getElementById('listeDeps')) 
		{
			document.getElementById('listeDeps').readonly = 1;
			actualizeListe("listeDeps", "&type=dep&regionId=" + valeur, siteId);//document.getElementById('listeDeps').value = -1;
		}
		if (document.getElementById('listeVilles')) 
		{	
			document.getElementById('listeVilles').readonly = 1;
			actualizeListe("listeVilles", "&type=ville&regionId=" + valeur, siteId);//document.getElementById('listeVilles').value = -1;
		}
		
		document.forms[myForm].region_id.value=valeur;
		if (document.forms[myForm].dep_id) document.forms[myForm].dep_id.value="";
		if (document.forms[myForm].ville_id) document.forms[myForm].ville_id.value="";
	}

	if (typeListe == "dep") {
		if (document.getElementById('listeVilles')) actualizeListe("listeVilles", "&type=ville&depId=" + valeur, siteId);//document.getElementById('listeVilles').value = -1;

		document.forms[myForm].dep_id.value=valeur;
		if (document.forms[myForm].ville_id) document.forms[myForm].ville_id.value="";
	}

	if (typeListe == "ville") {
		if (document.getElementById('listeResidences')) actualizeListe("listeResidences", "&type=residence&villeId=" + valeur, siteId);//document.getElementById('listeVilles').value = -1;
		
		document.forms[myForm].ville_id.value=valeur;
		if (document.forms[myForm].residence_id) document.forms[myForm].residence_id.value="";
	}
/*
	if (typeListe == "date") {

	}
*/
	nombreOffres();

}

function actualizeListe(listeId, get, siteId) {
	var xhr = getXhr();
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById(listeId).innerHTML = xhr.responseText;
		}
	}

	xhr.open("GET", "/ajax/selects.php?siteId=" + siteId + get + "&d="+ (new Date()).getTime(), true);
	xhr.send(null);
}









function init_events()
{
	//efface le message d'attente
	if(document.getElementById("load_main"))
	{
		document.getElementById("load_main").style.display = 'none';
	}

	if(document.getElementById('form_search'))
	{

		document.body.onclick = function()
		{
			if(!click_target)
			{
				 if(document.getElementById('site_id'))
				 	document.getElementById('site_id').style.display='none';
				 if(document.getElementById('pays_id'))
				 	document.getElementById('pays_id').style.display='none';
				 if(document.getElementById('region_id'))
				 	document.getElementById('region_id').style.display='none';
				 if(document.getElementById('dep_id'))
				 	document.getElementById('dep_id').style.display='none';
				 if(document.getElementById('ville_id'))
				 	document.getElementById('ville_id').style.display='none';
				 if(document.getElementById('calendrier'))
				 	document.getElementById('calendrier').style.display='none';
				 
			}
			else
			{
				click_target=false;
			}
		}

		//select vendeur
		if(document.getElementById("search_submit"))
		{
			document.getElementById("search_submit").onclick = function()
			{
	
				if (document.getElementById("search_region_id")) tmpregion = document.getElementById("search_region_id").value; else tmpregion = "";
				if (document.getElementById("search_site_id")) tmpsite = document.getElementById("search_site_id").value; else tmpsite = "";
				if (document.getElementById("search_dep_id")) tmpdep = document.getElementById("search_dep_id").value; else tmpdep = "";
				if (document.getElementById("search_ville_id")) tmpville = document.getElementById("search_ville_id").value; else tmpville = "";
				if (document.getElementById("capacite_id")) tmpcap = document.getElementById("capacite_id").value; else tmpcap = "";
				if (document.getElementById("prix_de")) tmpprixde = document.getElementById("prix_de").value; else tmpprixde = "";
				if (document.getElementById("prix_a")) tmpprixa = document.getElementById("prix_a").value; else tmpprixa = "";
				if (document.getElementById("date"))
					tmpdate = document.getElementById("date").value; 
				else tmpdate = "";
				var siteId = getEl("siteId").value;
	
				set_response("siteId="+siteId+"&region_id="+tmpregion+"&dep_id="+tmpdep+"&ville_id="+tmpville+"&capacite_id="+tmpcap+"&prix_de="+tmpprixde+"&prix_a="+tmpprixa+"&date="+tmpdate+"&nump=1", "content");
	
			}
		}
	}
	if(document.getElementById("liste_note"))
	{
		document.getElementById("liste_note").onclick = function()
		{
			if(document.getElementById("liste_note2").style.display == "none")
				document.getElementById("liste_note2").style.display = "";
			else
				document.getElementById("liste_note2").style.display = "none";
		}
	}
}

function set_XY_list(div, champ)
{
	d = document.getElementById(div);
	d.style.left = (getLeft(champ))+"px";
	d.style.top = (getTop(champ) - getEl("main").scrollTop + 19)+"px";

	document.getElementById('iframe_ie').style.left = (getLeft(champ))+"px";
	document.getElementById('iframe_ie').style.top = (getTop(champ) - getEl("main").scrollTop + 19)+"px";

	document.getElementById('iframe_ie').style.width = "180px"
	document.getElementById('iframe_ie').style.height = "200px"

	if(document.getElementById('main'))
	{
		document.getElementById('main').onscroll = function()
		{
			y = this.scrollTop;
			d = document.getElementById(div);
			d.style.top = (getTop(champ) + getHeight(champ) - y + 1) + "px";
			document.getElementById('iframe_ie').style.top = (getTop(champ) + getHeight(champ) - y + 1) + "px";
		}
	}
}

//liste de region dans le moteur de recherche
function list(div, get)
{

	var xhr = getXhr();
  	e = document.getElementById(div);

	e.style.display = "";
	document.getElementById('iframe_ie').style.display = "";

  	e.innerHTML = "<p style='text-align:center;color:#0071DB; font-size:10px;'><img src='/commun/images/common/loading.gif' style='margin:3px;' /></p>";

	var siteId = getEl("siteId").value;

  	xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
		}
	}
	xhr.open("GET", "/ajax/selects.php?d="+ (new Date()).getTime()+"&"+get+"&siteId=" + siteId, true);
  	xhr.send(null);

}

function getEl(div)
{
	return document.getElementById(div);
}

function set_calendar(la_date, div)
{
  var xhr = getXhr();
  e = document.getElementById(div);
  e.style.left = (getLeft("date"))+"px";
  e.style.top = (getTop("date") - getEl("main").scrollTop + 19)+"px";

  document.getElementById('iframe_ie').style.left = (getLeft("date"))+"px";
  document.getElementById('iframe_ie').style.top = (getTop("date") - getEl("main").scrollTop + 19)+"px";
  document.getElementById('iframe_ie').style.width = "140px";
  document.getElementById('iframe_ie').style.height = "120px";
  e.style.display = "";
  document.getElementById('iframe_ie').style.display = "";
  e.innerHTML = "<div id='my_cal'><p style='text-align:center;color:#0071DB; font-size:10px;'><img src='/commun/images/common/loading.gif' style='margin:3px;' /></p></div>";
  xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
		}
	}

	xhr.open("GET", "/commun/calendrier.php?date="+la_date+"&div="+div+"&d="+ (new Date()).getTime(), true);
  xhr.send(null);
}

function set_date(d)
{
	document.search.date.value=d;
	document.getElementById('calendrier').style.display='none';
	nombreOffres();

}

function nombreOffres() {
	if(document.getElementById("nbOffres"))
	{
		if (document.getElementById("search_region_id")) tmpregion = document.getElementById("search_region_id").value; else tmpregion = "";
		if (document.getElementById("search_site_id")) tmpsite = document.getElementById("search_site_id").value; else tmpsite = "";
		if (document.getElementById("search_dep_id")) tmpdep = document.getElementById("search_dep_id").value; else tmpdep = "";
		if (document.getElementById("search_ville_id")) tmpville = document.getElementById("search_ville_id").value; else tmpville = "";
		if (document.getElementById("capacite_id")) tmpcap = document.getElementById("capacite_id").value; else tmpcap = "";
		if (document.getElementById("prix_de")) tmpprixde = document.getElementById("prix_de").value; else tmpprixde = "";
		if (document.getElementById("prix_a")) tmpprixa = document.getElementById("prix_a").value; else tmpprixa = "";
		if (document.getElementById("date")) tmpdate = document.getElementById("date").value; else tmpdate = "";
		checkBoxes = "";
		if(typeof(myForm) == "undefined")
		{
			myForm = "search";
		}
		
		for(i=0;i<document.forms[myForm].elements.length; i++)
		{
		  if(document.forms[myForm].elements[i].type=='checkbox')
		  {		 
			  c = document.forms[myForm].elements[i];
			  if(c.checked == true)
			  {
				checkBoxes += "&"+c.name+"="+c.value;
			  }
		  }
		}
	
		
		var siteId = getEl("siteId").value;
	
		var params = "&siteId="+siteId+"&region_id="+tmpregion+"&dep_id="+tmpdep+"&ville_id="+tmpville+"&capacite_id="+tmpcap+"&prix_de="+tmpprixde+"&prix_a="+tmpprixa+"&date="+tmpdate+checkBoxes+"&justeNb=oui";
		var xhr = getXhr();
	
		document.getElementById("nbOffres").innerHTML = "<img src = \"/images/load2.gif\" />";
	
	    xhr.onreadystatechange = function()
		{
			if(xhr.readyState == 4 && xhr.status == 200)
			{
				document.getElementById("nbOffres").innerHTML = xhr.responseText;
			}
		}
	
		xhr.open("GET", "/ajax/nbOffres.php?"+params+"&d="+ (new Date()).getTime(), true);
	    xhr.send(null);
	}
}

//clic d'une option pays
function clic_pays(nom,num)
{
	document.getElementById("pays_id").style.display="none";
	document.getElementById('iframe_ie').style.display = "none";
	if (document.search.la_region) document.search.la_region.value="";
	if (document.search.region_id) document.search.region_id.value="";
	if (document.search.le_dep) document.search.le_dep.value="";
	if (document.search.dep_id) document.search.dep_id.value="";
	if (document.search.la_ville) document.search.la_ville.value="";
	if (document.search.ville_id) document.search.ville_id.value="";
	nombreOffres();
}

//clic d'une option region
function clic_region(nom,num)
{
	document.getElementById("region_id").style.display="none";
	document.getElementById('iframe_ie').style.display = "none";
	document.search.la_region.value=nom;
	document.search.region_id.value=num;
	if (document.search.le_dep) document.search.le_dep.value="";
	if (document.search.dep_id) document.search.dep_id.value="";
	if (document.search.la_ville) document.search.la_ville.value="";
	if (document.search.ville_id) document.search.ville_id.value="";
	nombreOffres();
}

function clic_dep(nom,num)
{
	document.getElementById("dep_id").style.display="none";
	document.getElementById('iframe_ie').style.display = "none";
	document.search.le_dep.value=nom;
	document.search.dep_id.value=num;
	if (document.search.la_region) document.search.la_region.value="";
	if (document.search.region_id) document.search.region_id.value="";
	if (document.search.la_ville) document.search.la_ville.value="";
	if (document.search.ville_id) document.search.ville_id.value="";
	nombreOffres();
}

//clic d'une option ville
function clic_ville(nom,num)
{
	document.getElementById("ville_id").style.display="none";
	document.getElementById('iframe_ie').style.display = "none";
	document.search.la_ville.value=nom;
	document.search.ville_id.value=num;
	if (document.search.la_region) document.search.la_region.value="";
	if (document.search.region_id) document.search.region_id.value="";
	if (document.search.le_dep) document.search.le_dep.value="";
	if (document.search.dep_id) document.search.dep_id.value="";
	if (document.search.la_residence) document.search.la_residence.value="";
	if (document.search.residence_id) document.search.residence_id.value="";
	nombreOffres();
}

//clic d'une option capcite
function clic_capacite(nom,num)
{
	document.getElementById("capacite_id").style.display="none";
	document.getElementById('iframe_ie').style.display = "none";
	document.search.la_capacite.value=nom;
	document.search.capacite_id.value=num;
	nombreOffres();

}



function showOptions (optionId) {
	var xhr = getXhr();
    xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById('optionInfos').style.visibility = 'visible';
			document.getElementById('optionInfos').style.top = getTop (optionId) + "px";
			document.getElementById('optionInfos').style.left = getLeft (optionId) + "px";
			document.getElementById('messageText').innerHTML = xhr.responseText;
			if(navigator.appName == "Microsoft Internet Explorer") {
				var ot = document.getElementById('optionInfos').offsetTop;
				var oh = document.getElementById('optionInfos').offsetHeight;
				var tmp = eval (ot+oh);
				var doh = document.documentElement.offsetHeight;
				var st = document.documentElement.scrollTop;
				var tmp2 = eval (doh+st);
				if (tmp > tmp2) {
					document.getElementById('optionInfos').style.top = ((document.documentElement.offsetHeight) - (document.getElementById('optionInfos').offsetHeight) + document.documentElement.scrollTop) + "px";
				}
			} else {
				if (((document.getElementById('optionInfos').offsetTop) + (document.getElementById('optionInfos').offsetHeight)) > window.innerHeight + window.pageYOffset) {
					document.getElementById('optionInfos').style.top = ((window.innerHeight) - (document.getElementById('optionInfos').offsetHeight) + window.pageYOffset) + "px";
				}
			}
		}
	}
	xhr.open("POST", "/commun/ajax_opt_infos.php?id="+ optionId, true);
    xhr.send(null);
}

function rotate(rotatifId) {
	eval('var auto = rotate_' + rotatifId + '_auto;');
	eval('var sens = rotate_' + rotatifId + '_sens;');
	if (auto == true) {
		if (sens == "next") rotatifNext(rotatifId); else if (sens == "prev") rotatifPrev(rotatifId);
		setTimeout("rotate('" + rotatifId + "')", 5000);
	}
}

function rotatifNext(leRotatif) {
	// Le rotatif
	if(document.getElementById('rotatif_' + leRotatif))
	{
	var rotatif = document.getElementById('rotatif_' + leRotatif + '_content');
	//rotatifActual++;
	eval('var left = rotatif_' + leRotatif + '_left;');
	eval('var max = rotatif_' + leRotatif + '_max;');
	eval('var actual = rotatif_' + leRotatif + '_actual;');
	eval('var width = rotatif_' + leRotatif + '_width;');

	eval('var auto = rotate_' + leRotatif + '_auto;');
	eval('var sens = rotate_' + leRotatif + '_sens;');

	if (auto == false) {
		if (actual == max) {
			rotatifRembobine(leRotatif);
			return;
		}
	} else if (auto == true) {
		if (actual == max) {
			sens = "prev";
			eval('rotate_' + leRotatif + '_sens = sens;');
			rotatifPrev(leRotatif);
			return;
		}
	}

	actual++;
	//alert (actual);
	eval('rotatif_' + leRotatif + '_actual = actual;');

	document.getElementById('rotatif_' + leRotatif + '_actual').innerHTML = actual;

	var leftFinal = left - width;
	eval('rotatif_' + leRotatif + '_left = leftFinal;');

	rotatif.move = function() {
		if (left > leftFinal) {
			if (left - 30 > leftFinal) left = left - 20;
			else left = left - 5;
			if (left < leftFinal) left = leftFinal;
			rotatif.style.left = left + "px";
			setTimeout(function() {
					rotatif.move();
			} , 10);

		}
	}

	rotatif.move();
	}
}

function rotatifPrev(leRotatif) {
	if(document.getElementById('rotatif_' + leRotatif))
	{
	// Le rotatif
	var rotatif = document.getElementById('rotatif_' + leRotatif + '_content');
	//rotatifActual++;
	eval('var left = rotatif_' + leRotatif + '_left;');
	eval('var max = rotatif_' + leRotatif + '_max;');
	eval('var actual = rotatif_' + leRotatif + '_actual;');
	eval('var width = rotatif_' + leRotatif + '_width;');

	eval('var auto = rotate_' + leRotatif + '_auto;');
	eval('var sens = rotate_' + leRotatif + '_sens;');

	if (auto == false) {
		if (actual == 1) {
			rotatifDebobine(leRotatif);
			return;
		}
	} else if (auto == true) {
		if (actual == 1) {
			sens = "next";
			eval('rotate_' + leRotatif + '_sens = sens;');
			rotatifNext(leRotatif);
			return;
		}
	}

	actual--;

	eval('rotatif_' + leRotatif + '_actual = actual;');
	document.getElementById('rotatif_' + leRotatif + '_actual').innerHTML = actual;

	var leftFinal = left + width;
	eval('rotatif_' + leRotatif + '_left = leftFinal;');

	rotatif.move = function() {
		if (left < leftFinal) {
			if (left + 30 < leftFinal) left = left + 20;
			else left = left + 5;
			if (left > leftFinal) left = leftFinal;
			rotatif.style.left = left + "px";
			setTimeout(function() {
					rotatif.move();
			} , 10);

		}
	}

	rotatif.move();
	}
}


function getTarifs(residenceId, tri, ordre, addr) {

	var xhr = getXhr();
	document.getElementById("tarifs").innerHTML = "<div id='pricesLoad'>Veuillez patienter. Nous recherchons les tarifs correspondant à votre recherche.</div>";
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			document.getElementById("tarifs").innerHTML = xhr.responseText;

			// Méthode babare : on met toutes les flèches au noir, et on colore la bonne en rouge
			// En fait non.
			
			if(typeof addr != "undefined" && document.getElementById(oldDiv))
				//si l'adresse de l'img n'est pas spécifiée, 
				//c'est que l'ordre fonctionne par le lien du titre de la colonne
			{
				if (oldOrdre == "asc") document.getElementById(oldDiv).src = addr+"/up_ltl.gif";
				else document.getElementById(oldDiv).src = addr+"/down_ltl.gif";
	
				if (ordre == "asc") { var tmp = "Up"; var src = addr+"/up.gif"; }
				else { tmp = "Down"; var src = addr+"/down.gif"; }
				
				var imgId = tri + tmp;
				document.getElementById(imgId).src = src;
			
				oldDiv = imgId;
			}
			else
			{
				
					
			}
			ordreGlobal = ordre;

			oldOrdre = ordre;
			triGlobal = tri;
			if(typeof getEl("panier") != "undefined")
				getPanier();

		}
	}
	if(typeof addr == "undefined" || !document.getElementById(oldDiv))
	{
		if(typeof ordre == "undefined")
		{
			if(oldOrdre == "asc")
			{
				ordre = "desc";
			}
			else
			{
				ordre = "asc";
			}
		}
	}
	var params = "pId=" + residenceId + "&ordre=" + ordre + "&tri=" + tri;

	xhr.open("GET", "/ajax/ajax_prix_2.php?" + params + "&d="+ (new Date()).getTime(), true);
	xhr.send(null);
}

function getPricesGrid(params,type) {

	var xhr = getXhr();
	
	if(typeof beforeGetPricesGrid == "function")
	{
		beforeGetPricesGrid();
	}
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			if(typeof afterGetPricesGrid == "function")
			{
				afterGetPricesGrid(xhr);
			}
		}
	}

	xhr.open("GET", "/ajax/ajax_prix_"+type+".php?" + params + "&d="+ (new Date()).getTime(), true);
	xhr.send(null);
}

function scrolldiv(adivid,astartx,astarty,scrollparentid) {
	var ns = (navigator.appName.indexOf("Netscape") != -1);
	var d = document;
	var el = d.getElementById ? d.getElementById(adivid) : d.all ? d.all[adivid] : d.layers[adivid]; // el = élément à faire bouger
	if (!el) {
		return; // Pas d'élément à faire bouger trouvé : on s'en va
	}

	if (!scrollparentid) {
	
		scrollparentid="scrollzone"; // Pas de zone parente spécifiée : on prend l'id "scrollzone"
	}

	el.scrollpId = scrollparentid;
	el.sP = function(x,y){ // Fonction pour replacer l'élément
		this.style.left= x + "px";
		this.style.top= y + "px";
	}
	

	el.bodyY = function() {
		return getBodyY(this);
	}

	el.scrollParent = function() {
		var res;
		if (this.scrollpId) {
			res = d.getElementById ? d.getElementById(this.scrollpId) : d.all ? d.all[this.scrollpId] : d.layers[this.scrollpId];
		}
		if (!res) {
			res = document.documentElement;
		}
		return res;
	}

	el.stayvisible=function() {
		var el = this;
		var prevY = el.y;
		var bodyYact= el.bodyY();
		var sY = ns ? pageYOffset : document.documentElement.scrollTop;
		var p = el.scrollParent();
		var maxy = getBodyY(p) + p.offsetHeight - el.offsetHeight;
		if (( maxy > 0) && (maxy < sY)) {
			sY = maxy;
		}
		if (bodyYact < sY) {
			el.y = sY-el.startBY;
		} else if ((bodyYact > el.startBY) && (bodyYact > sY)) {
			el.y = sY-el.startBY;
			if (el.y < el.startY) {el.y = el.startY;}
		}
		var tdelay = 300;
		if (el.y != prevY) {
			if (Math.abs(el.y - prevY) > 8) {
				el.y = Math.round( prevY + ((el.y - prevY) / 8));
			}
			el.sP(el.x, el.y);
			tdelay = 10;
		}
		setTimeout(function() {
			el.stayvisible();
		} , tdelay);
	}
	el.startX=astartx;
	el.startY=astarty;
	el.style.position='relative';
	el.x = el.startX;
	el.y = el.startY;
	el.sP(el.x, el.y);
	el.startBY = el.bodyY();
	el.stayvisible();
}

function getBodyY(item) {
	var res = 0;
	var e = item;
	while (e) {
		res += e.offsetTop;
		e = e.offsetParent;
	}
	if (typeof document.body.style.maxHeight != "undefined") {
	} else {
		// res -= 172;
	}
	if (connectivite == true) res += 164;
	//alert(res);
	return res;
}

function getTop(div)
{
	l = getEl(div).offsetTop;
	var parent=getEl(div).offsetParent;
	while (parent)
	{
		l += parent.offsetTop;
		parent=parent.offsetParent;

	}

	return l;
}

function reserve(heb_id, occ_id,date_id, cont_id, div,request, qte)
{

	if(request==1)
	{
		request="request=1&";
	}
	else 
	{
		request="request=0&";
	}
	params = "";
	if(typeof qte != "undefined")
	{
		params = "&qte="+qte;
	}
	
	var xhr = getXhr();
	
	document.getElementById("k_prix_c_fini").style.display = "none";
	document.getElementById("picto_verif_prix").innerHTML = "<div style='position:absolute; left: 50%; top: 480px; width: 140px; height: 80px; margin-left: -70px; border: 2px solid #CCCCCC; background-color: #FFFFFF; font-size: 12px; font-weight: bold; color:#0071DB; text-align:center;'><br />Vérification du tarif<br /><img src='/commun/images/common/loading.gif' style='margin:3px;' /></div>";
	
	if(typeof beforeReserve == "function")
	{
		beforeReserve();
		
	}
	
    xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{			
			if(typeof afterReserve == "function")
			{
				if (xhr.responseText == "prix_invalide") {
					document.getElementById("k_prix_c_fini").style.display = "";
				}else{
				
				afterReserve();
				
				}
				document.getElementById("picto_verif_prix").innerHTML = "";
			}
		}

	}
    

    
	xhr.open("GET", "/ajax/fonctions.php?action=addPanier&hebergeId="+heb_id+"&occupeId="+occ_id+"&"+request+"dateId="+date_id+"&contrainteId="+cont_id+params+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

function reservePax(dateId, produitId)
{
	var xhr = getXhr();
	
	if(typeof beforeReserve == "function")
	{
		beforeReserve();
	}
	
    xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{			
			if(typeof afterReserve == "function")
			{
				afterReserve();
			}
		}

	}
    
	xhr.open("GET", "/ajax/fonctions.php?action=addPanierPax&dateId="+dateId+"&produitId="+produitId+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

function setPrices(c_id, div, nump)
{
  var xhr = getXhr();
  //document.getElementById(div).innerHTML = "<p style='text-align:center;color:#0071DB; font-size:10px;'>Loading<br /><img src='/commun/images/common/loading.gif' style='margin:3px;' /></p>";
  if(typeof beforeSetPrice == "function"){
	  beforeSetPrice();
  }
  xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
			if(typeof afterSetPrice == "function"){
				  afterSetPrice();
			  }
		}
	}
  
	xhr.open("GET", "/ajax/ajax_prix_1.php?nump="+nump+"&c_id="+c_id+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

function setPrices_TabV2(c_id, div, nump, mois, duree)
{
  var xhr = getXhr();
  document.getElementById(div).innerHTML = "<p style='text-align:center;color:#3350aa; font-size:20px;'><br /><br /><img src='/commun/images/common/loading.gif' style='margin: 0px 0px 0px 5px; vertical-align: middle;' />&nbsp;Recherche en cours<br /><br /><br /></p>";
  if(typeof beforeSetPrice == "function"){
	  beforeSetPrice();
  }
  xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
			if(typeof afterSetPrice == "function"){
				  afterSetPrice();
			  }
		}
	}
	
	if(typeof duree == "undefined")
    {
    	duree = "";
    }
  
	xhr.open("GET", "/ajax/ajax_prix_4.php?mois="+mois+"&duree="+duree+"&nump="+nump+"&c_id="+c_id+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

function setPricesAlloCamping(c_id, div, nump, mois, duree)
{
  var xhr = getXhr();
  document.getElementById(div).innerHTML = "<p style='text-align:center;color:#3350aa; font-size:20px;'><br /><br /><img src='/commun/images/common/loading.gif' style='margin: 0px 0px 0px 5px; vertical-align: middle;' />&nbsp;Recherche en cours<br /><br /><br /></p>";
  if(typeof beforeSetPrice == "function"){
	  beforeSetPrice();
  }
  xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
			if(typeof afterSetPrice == "function"){
				  afterSetPrice();
			  }
		}
	}
	
	if(typeof duree == "undefined")
    {
    	duree = "";
    }
  
	xhr.open("GET", "/ajax/ajax_prix_4.php?mois="+mois+"&duree="+duree+"&nump="+nump+"&c_id="+c_id+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}
function setPrices4(c_id, div, nump, mois, duree)
{
  var xhr = getXhr();
  document.getElementById(div).innerHTML = "<p style='text-align:center;color:#3350aa; font-size:20px;'><br /><br /><img src='/commun/images/common/loading.gif' style='margin: 0px 0px 0px 5px; vertical-align: middle;' />&nbsp;Recherche en cours<br /><br /><br /></p>";
  if(typeof beforeSetPrice == "function"){
	  beforeSetPrice();
  }
  xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
			if(typeof afterSetPrice == "function"){
				  afterSetPrice();
			  }
		}
	}
	
	if(typeof duree == "undefined")
    {
    	duree = "";
    }
  
	xhr.open("GET", "/ajax/ajax_prix_4.php?mois="+mois+"&duree="+duree+"&nump="+nump+"&c_id="+c_id+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

function setPricesOVillage(c_id, div, nump)
{
  var xhr = getXhr();
  document.getElementById(div).innerHTML = "<p style='text-align:left; color:#0071DB; font-size:16px; font-weight: bold'><br /><br /><br /><img src='/commun/images/common/loading.gif' style='margin: 0px 0px 0px 5px; vertical-align: middle;' />&nbsp;Recherche en cours</p>";
  if(typeof beforeSetPrice == "function"){
	  beforeSetPrice();
  }
  xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			document.getElementById(div).innerHTML = xhr.responseText;
			if(typeof afterSetPrice == "function"){
				  afterSetPrice();
			  }
		}
	}
  
	xhr.open("GET", "/scripts/o-village/ajax_prix.php?nump="+nump+"&c_id="+c_id+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

function reserve_3() {
	selects = getEl("containPrixDispo").getElementsByTagName("select");
	txt = "";
	tabRes = new Array();
	for(i=0; i < selects.length; i++)
	{
		idSel = selects[i].id;
		if(idSel.substr(0,4) == "qte_")
		{
			id = idSel.replace("qte_", "");
			if(parseInt(getEl("qte_"+id).value) > 0)
			{
				tmp = new Array(getEl("sel_"+id).value, getEl("qte_"+id).value);
				tabRes.push(tmp);
			}
		}		
	}
	
	for(i = 0; i < tabRes.length; i++)
	{
		if(i == tabRes.length - 1)
		{
			afterReserve = function()
			{
				location.href = '/reservation_1.html';
			}
		}
		lines = tabRes[i][0].split("#");
		for(j=0; j < lines.length; j++)
		{
			vars = lines[j].split("-");
			if(vars[3] > 0)
			{
				req = 0;	
			}
			else
			{
				req = 1;
			}
			if(vars[0] == "pax")
			{
				reservePax(vars[1],vars[2]);
			}
			else
			{
				reserve(vars[0], vars[1], vars[2], '', '', req, tabRes[i][1]);
			}
		}
	}
	
	if(tabRes.length == 0)
	{
		alert("Veuillez sélectionner le nombre d'hébergement que vous souhaitez réserver.");
	}
}

function verifPart() {
    if(getEl("isPax"))
    {
    	document.nbPart.action = "/location-vacances-choix_pax.html";
    	document.nbPart.submit();
    }
    else
    {
	var xhr = getXhr();

    xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			var resp = xhr.responseText;

			if (resp == "1") {

				document.nbPart.submit();
				//document.getElementById("formulaire").submit();
				
				//alert(resp);
				
			} else {
				alert(resp);
			}
		}
	}

	var adultes = parseInt(document.getElementById("nbAdultes").value, 10);
	var enfants = parseInt(document.getElementById("nbEnfants").value, 10);
	var bebes = parseInt(document.getElementById("nbBebes").value, 10);

	//alert ("test");
	//alert (adultes);

	//var part = adultes+enfants+bebes;
	var part = eval("adultes+enfants+bebes");

	//alert (part);
	xhr.open("POST", "/ajax/ajax_verif_participants.php?part=" + part, true);
    xhr.send(null);
    }
}
function partenaires_form(){

	if(document.Form_Partenaires.nom.value != "" && document.Form_Partenaires.prenom.value != "" && document.Form_Partenaires.ville.value != "" && document.Form_Partenaires.tel1.value != "" && document.Form_Partenaires.nom_heb.value != "") {
		document.Form_Partenaires.submit();
	}else{
		alert("Tous les champs avec une * sont obligatoire.");
  	}
}
function reduc_form(){

	if(document.search.mail.value != "" ) {
			document.search.submit();
	}else{
		alert("L'adresse mail est obligatoire.");
  	}
}
function groupes_form(){

	if(document.search.nom.value != "" && document.search.prenom.value != "" && document.search.ville.value != "" && document.search.tel1.value != "" && document.search.mail1.value != "" && document.search.cp.value != "" && document.search.adr.value != "") {
		if(document.search.nb_pers.value < "14"){
			alert("Le nombre minimum de participants est de 15.");
			
		}else if(document.search.ville_id.value == ""){
			alert("Veuillez choisir une ville!");
		}else if(document.search.date.value == ""){
			alert("Veuillez choisir une date de départ");
		}else{
			document.search.submit();
		}
	}else{
		alert("Tous les champs avec une * sont obligatoires.");
  	}
}
function goOmnitureOpodo()
	{
		
			var s_account="opodofrprod";
			
			s.pageName="OC:FR:Camping:Searchresult";
			s.server="";
			s.channel="Camping_OC";
			s.pageType="";
			s.campaign=s.getQueryParam('CMP');
			var s_code=s.t();if(s_code)document.write(s_code);
			
			
	}
booking = new Object();
booking.submitStep = function(step)
{
	document.onkeypress = function(e)
	{
	    if(window.event)
	    {
	        e = window.event;
	    }
	    if(e.keyCode == 13)
	    {
	       switch(step)
	       {
	       	case 1 : verifPart();
	       			 break;
	       	case 2 : document.nbPart.submit();
	       			 break;
	       	case 3 : document.nbPart.submit();
  			 		 break;
	       	case 4 : document.nbPart.submit();
		 		 break;
	       	case 5 : document.nbPart.submit();
	       			 break;
	       	case 6 : document.nbPart.submit();
  			 		 break;
	       }
	    }
	}
}


var priceGrid = new Object();

priceGrid.display3 = function(produitId, duree,sejour)
{
	var xhr = getXhr();
    
    xhr.onreadystatechange = function()
	{
		if(xhr.readyState == 4 && xhr.status == 200)
		{
			getEl("containPrixDispo").innerHTML = xhr.responseText;
		}
	}
    
    if(typeof part == "undefined")
    {
    	part = "";
    }
    if(typeof duree == "undefined")
    {
    	duree = "";
    }
    getEl("containPrixDispo").innerHTML = "<div id=\"containPrixDispo_attente\">les tarifs et disponibilités sont en cours de chargement.<br /> Merci de patienter.<br /><br /><img src=\"/commun/images/common/loading.gif\"/></div>";
	xhr.open("GET", "/ajax/ajax_prix_3.php?produitId="+produitId+"&duree="+duree+"&sejour="+sejour+"&d="+ (new Date()).getTime(), true);
    xhr.send(null);
}

priceGrid.reserve3 = function(container) {
	selects = getEl(container).getElementsByTagName("select");
	txt = "";
	tabRes = new Array();
	for(i=0; i < selects.length; i++)
	{
		idSel = selects[i].id;
		if(idSel.substr(0,4) == "qte_")
		{
			id = idSel.replace("qte_", "");
			if(parseInt(getEl("qte_"+id).value) > 0)
			{
				tmp = new Array(getEl("sel_"+id).value, getEl("qte_"+id).value);
				tabRes.push(tmp);
			}
		}		
	}
	
	for(i = 0; i < tabRes.length; i++)
	{
		if(i == tabRes.length - 1)
		{
			afterReserve = function()
			{
				location.href = '/reservation_1.html';
			}
		}
		lines = tabRes[i][0].split("#");
		for(j=0; j < lines.length; j++)
		{
			vars = lines[j].split("-");
			if(vars[3] > 0)
			{
				req = 0;	
			}
			else
			{
				req = 1;
			}
			if(vars[0] == "pax")
			{
				reservePax(vars[1],vars[2]);
			}
			else
			{
				reserve(vars[0], vars[1], vars[2], '', '', req, tabRes[i][1]);
			}
		}
	}
	
	if(tabRes.length == 0)
	{
		alert("Veuillez sélectionner le nombre d'hébergement que vous souhaitez réserver.");
	}
}

priceGrid.reserve4 = function(code) {
	lines = code.split("#");
	for(j=0; j < lines.length; j++)
	{
		vars = lines[j].split("-");
		if(vars[3] > 0)
		{
			req = 0;	
		}
		else
		{
			req = 1;
		}
		if(vars[0] == "pax")
		{
			reservePax(vars[1],vars[2]);
		}
		else
		{
			reserve(vars[0], vars[1], vars[2], '', '', req, '1');
		}
	}
}


function satisfaction_form(){

	if(document.search.siteId.value != "" && document.search.residenceId.value != "" && document.search.contratId.value != "") {
		if(document.search.siteId.value == ""){
			alert("Veuillez choisir une ville!");
		}else{
			document.search.submit();
		}
	}else{
		alert("Tous les champs sont obligatoires.");
  	}
}