var iOpacity = 5;
var fOpacity = 0.5;
var xhr = null;
var xhr2 = null;
var xhr3 = null;
var xhr4 = null;
var response;
var response2;
var response3;
var response4;
var totalh = 0;
var ROOTURL = 'http://www.usatravel.be/paul/alpha';
var navBar;
var pagesNav;
var filterByName_keyref=null;
var results = { nbHotels : 0, orderBy : null, sortOrder : null, data : [] };
var allAvailableResults = { nbHotels : 0, orderBy : null, sortOrder : null, data : [] };

/* charge les conditions générales affichées dans le popup itinéraire */

var conditions;

function hauteur_fenetre()
{
 if (window.innerHeight) return window.innerHeight  ;
 else if (document.body && document.body.offsetHeight) return document.body.offsetHeight;
 else return 0;
}

function hidepage()
{
	return;
	h = hauteur_fenetre();
	document.getElementById("masquee").style.display="block";
	document.getElementById("masquee").style.position="absolute";
	document.getElementById("masquee").style.zIndex="10";
	document.getElementById("masquee").style.background="black";
	document.getElementById("masquee").style.width="100%";
	document.getElementById("masquee").style.height= h + "px";
	document.getElementById("masquee").style.filter="alpha(opacity="+iOpacity+")" ;
	document.getElementById("masquee").style.opacity = fOpacity;
}


function cloneObject(object)
{
	for(var o in object)
	{
		this[o] = object[o];
	}
}

function search() {
	// Vérification des paramettres :

	flagok = true;
	erreur = "";
	nbrooms = document.getElementById("nbRooms").options.selectedIndex +1;

	document.getElementById("destination").style.backgroundColor = 'White';
	document.getElementById("destination").style.color = 'Black';
	document.getElementById("startDate").style.backgroundColor = 'White';
	document.getElementById("startDate").style.color = 'Black';

	i = 1;
  	while (i <= nbrooms)	{
 		j = 1;
 		while( j <= document.getElementById("Room"+i+"Childs").options.selectedIndex) {
 					 	document.getElementById("rChild"+i+j).style.backgroundColor = 'White';
 					 	document.getElementById("rChild"+i+j).style.color = 'Black';
 			j++;
 		}
 		i++;
 	}

	// verif de la destination
	if(document.getElementById("destination").value == "") {
		erreur += "Complete destination field please.\n";
		document.getElementById("destination").style.backgroundColor = 'DarkRed';
		document.getElementById("destination").style.color = 'White';
		flagok = false;
	}
	if (document.getElementById("startDate").value == "" || !isDateValid(document.getElementById("startDate").value)) {
		erreur += "Bad date (dd/mm/yyyy)\n";
		document.getElementById("startDate").style.backgroundColor = 'DarkRed';
		document.getElementById("startDate").style.color = 'White';
		flagok = false;
	}


 	i = 1;
  	while (i <= nbrooms) {
 		j = 1;
		if((document.getElementById("Room"+i+"Childs").options.selectedIndex+document.getElementById("Room"+i+"Adutls").options.selectedIndex) > 4)
 		{
 			flagok = false;
 			erreur += "Maximun occupancy per room is 4 pax\n";
 		}
 		while(j <= document.getElementById("Room"+i+"Childs").options.selectedIndex) {
 			 if(document.getElementById("rChild"+i+j).value == "") {
			 	document.getElementById("rChild"+i+j).style.backgroundColor = 'DarkRed';
			 	document.getElementById("rChild"+i+j).style.color = 'White';
			 	flagok = false;
			 	erreur += "Room "+i+" : Enter Child "+j+" age\n";
 			 }
 			j++;
 		}
 		i++;
 	}


	if(flagok == false) {
		alert(erreur);
		return false;
	} else {
		document.getElementById("destination").style.backgroundColor = 'White';
		document.getElementById("destination").style.color = 'Black';
		document.getElementById("destination").style.backgroundColor = 'White';
		document.getElementById("destination").style.color = 'Black';

	}

	results = { nbHotels : 0, orderBy : null, sortOrder : null, data : [] };
	allResults = false;
	availableResults = false;
	var destination = document.getElementById("destination").value;
	var canada_search = false;
	for(var i = 0; i < dest_ca.length; i++)
	{
		if(dest_ca[i] == destination) canada_search = true;
	}


	if(canada_search)
	{
		var canada = true;
		document.getElementById('ca_search').value = '1';
	}
	else
	{
		var canada = false;
	}

	hidepage();
	document.getElementById('frech').submit();
	return true;
}

/**
 * Construit la requete et lance l'appel aux webservices
 * @param string country : 'us' ou 'ca' : recherche usa ou canada
 */
function do_search(country)
{

}

/**
 * Vérifie la validité de la date
 */
function isDateValid(chaineDate) {

   if (chaineDate == "") return false;

   var ladate = (chaineDate).split("/")

   if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2]))) return false;
// Sinon, c'est maintenant que je crée la date correspondante. Attention, les mois sont étalonnés de 0 à 11
   var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]))

   var annee = unedate.getYear()
   if ((Math.abs(annee)+"").length < 4) annee = annee + 1900

   return ((unedate.getDate() == eval(ladate[0])) && (unedate.getMonth() == eval(ladate[1])-1) && (annee == eval(ladate[2])))
}
/**
 * Affiche le masque d'opacité modal
 */
function masquearrive() {
	var masque = document.getElementById("masque");
	masque.style.filter = "alpha(opacity=80)" ;
	masque.style.opacity = 0.8;
	masque.style.width = document.documentElement.scrollWidth + 'px';
	masque.style.height = document.documentElement.scrollHeight + 'px';
}
/**
 * Modifie dynamiquement le formulaire lors du choix du nombre de nuits
 */
function changeCheckOut() {


	var nights = document.getElementById("nights").value;
	var nights = eval(nights);
	var startDate = document.getElementById("startDate");
	var checkOut = document.getElementById("checkOut");
	var ladate = (startDate.value).split("/");

	if ((ladate.length != 3) || isNaN(parseInt(ladate[0])) || isNaN(parseInt(ladate[1])) || isNaN(parseInt(ladate[2]))) {
		checkOut.innerHTML = 'bad date format';
		return false;
	}

	d = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]));	
	d.setDate(d.getDate() + nights);
	
//	alert(d.getDate());
//	t = t + 1000*24*60*60*nights;
//	d.setTime(t);
	
	j = d.getDate();
	m = d.getMonth() + 1;
	if(m < 10)
	{
		m = "0" + m;
	}
	y = d.getYear();
	
	if(y < 1000)	
		y = 1900+y;
	
	
	
	/*var d = o2s.dateAdd("d",nights,new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0])));
	var d = o2s.format(d,"dd/mm/yyyy");*/

	date = j + "/" + m + "/" + y;
	jQuery("#checkOut").text(date);

	return true;

	var unedate = new Date(eval(ladate[2]),eval(ladate[1])-1,eval(ladate[0]) );
	var j = nights.options.selectedIndex +1;
	unedate = new Date(unedate.getTime() + (1000 * 60 * 60 * 24 * j) );
	var annee = unedate.getYear()
    if ((Math.abs(annee)+"").length < 4) annee = annee + 1900
   	var jour = unedate.getDate();
   	var moi = eval(unedate.getMonth()+1);

   	if (moi.length == 1) { moi = '0' + moi;}
   	if (jour.length == 1) jour = '0' + jour;
	checkOut.innerHTML = unedate.getDate() + "/" +  moi + "/" + annee;
	return true;
}
/**
 * Modifie dynamiquement le formulaire lors du choix du nombre de chambres
 */
function roomschanged() {
	var nbrooms;
	var select = document.getElementById("nbRooms");
	nbrooms = select.options[select.selectedIndex].text;

	switch (nbrooms) {
		case '1' :
			document.getElementById("Room1").style.display = 'block';
			document.getElementById("Room2").style.display = 'none';
			document.getElementById("Room3").style.display = 'none';
		break;
		case '2' :
			document.getElementById("Room1").style.display = 'block';
			document.getElementById("Room2").style.display = 'block';
			document.getElementById("Room3").style.display = 'none';
		break;
		case '3' :
			document.getElementById("Room1").style.display = 'block';
			document.getElementById("Room2").style.display = 'block';
			document.getElementById("Room3").style.display = 'block';
		break;
	}
}
/**
 * Modifie dynamiquement le formulaire lors du choix du nombre d'enfants
 */
function childschanged(numRoom) {
	var nbchilds;
	var select = document.getElementById("Room"+numRoom+"Childs")
	nbchilds = select.options[select.selectedIndex].text;
	var i = 1;
		document.getElementById("Child"+numRoom+"1").style.display = 'none';
		document.getElementById("Child"+numRoom+"2").style.display = 'none';
		document.getElementById("Child"+numRoom+"3").style.display = 'none';

	if(nbchilds != 0) {
		while (i <= nbchilds) {
			document.getElementById("Child"+numRoom+i).style.display = 'block';
			i=i+1;
		}
	}
}

/**
 * Retourne un object xmlhttp
 */
function getXhr(ixhr){
	if(ixhr ==1 ) {
		xhrt = xhr;
	} else if (ixhr==2) {
		xhrt = xhr2;
	} else if (ixhr==3) {
			xhrt = xhr3;
	} else if (ixhr==4) {
		xhrt = xhr4;
	}


	if(window.XMLHttpRequest) // Firefox et autres
		xhrt = new XMLHttpRequest();
	else if(window.ActiveXObject){ // Internet Explorer
		try {
			xhrt = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			xhrt = new ActiveXObject("Microsoft.XMLHTTP");
		}
	}
	else { // XMLHttpRequest non supporté par le navigateur
		alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
		xhrt = false;
	}
	return xhrt;
}