/****************************************************************************************/
/* Cette page contient tous les scripts javascript necessaire au bon affichage du site. */
/*                                                                                      */
/****************************************************************************************/

//** Fonction permettant l'affichage de l'horloge dinamique

function horloge()
{
	var dt, jour, tab_jour, num_jour, mois, tab_mois, annee, heures, minutes, secondes, suffixe_jour, suffixe_heure, horloge, message;
	tab_heures = new Array("00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11")
	tab_jours = new Array("Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday");
	tab_mois = new Array("January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December");
	
	 dt = new Date();
	 jour = tab_jours[dt.getDay()];
	 num_jour = dt.getDate();
	 if(num_jour==1) suffixe_jour="st";
	 else if(num_jour==2) suffixe_jour="nd";
	 else if(num_jour==3) suffixe_jour="rd";
	 else suffixe_jour="th";
	 annee = dt.getFullYear();
	 mois = tab_mois[dt.getMonth()];
	 heures = tab_heures[dt.getHours()];
	 if(dt.getHours()<13) suffixe_heure = "am";
	 else suffixe_heure = "pm";
	 minutes = dt.getMinutes();
	 if(minutes<10) minutes = "0"+minutes;
	 secondes = dt.getSeconds();
	 if(secondes<10) secondes = "0"+secondes;
	 if(dt.getHours()>"6" && dt.getHours()<"12") message = "Good Morning";
	 else if(dt.getHours()>="12" && dt.getHours()<"18") message = "Good Afternoon";
	 else message = "Good Evening";
	 	
	 horloge = document.getElementById('horloge');
	 horloge.innerHTML = "<span id='heure'>"+jour+", "+mois+" "+num_jour+suffixe_jour+" "+annee+" | "+heures+":"+minutes+":"+secondes+" "+suffixe_heure+" | "+message+"</span>";
}

//** Fonction permettant le changement de page lorsqu'on clique sur un lien du menu
//** Ou lorsqu'on selectionne une page dans le menu déroulant
//** La fonction ajoute le lien de la page dans l'url

function changePage(formulaire)
{ 
	location.href = formulaire.elements["liens"].value;
}

//** Fonction permettant de modifier la hauteur des menus sur les cotes
//** Suivant si on est sur l'index ou ou une autre page,
//** Ou encore si les hotels sont affiches ou pas

function setHauteur(page)
{
	var entete, content, menu, reservation, neighborhood;
	var ht_entete, ht_content, ht_menu, ht_reservation, ht_neighborhood;
	
	menu = document.getElementById('menu');
	entete = document.getElementById('entete');
	content = document.getElementById('content');
	reservation = document.getElementById('reservation');
	neighborhood = document.getElementById('neighborhood');
	
	if(entete.offsetHeight) ht_entete=entete.offsetHeight;
	else if(entete.style.pixelHeight) ht_entete=entete.style.pixelHeight;
	if(content.offsetHeight) ht_content=content.offsetHeight;
	else if(content.style.pixelHeight) ht_content=content.style.pixelHeight;
	if(menu.offsetHeight) ht_menu=menu.offsetHeight;
	else if(menu.style.pixelHeight) ht_menu=menu.style.pixelHeight;
	if(reservation.offsetHeight) ht_reservation=reservation.offsetHeight;
	else if(reservation.style.pixelHeight) ht_reservation=reservation.style.pixelHeight;
	if(neighborhood.offsetHeight) ht_neighborhood=neighborhood.offsetHeight;
	else if(neighborhood.style.pixelHeight) ht_neighborhood=neighborhood.style.pixelHeight;
	
	if(page=="index" || !page)
	{
		var liensrapides;
		var ht_liensrapides;
		
		liensrapides = document.getElementById('liensrapides');
	
		if(liensrapides.offsetHeight) ht_liensrapides=liensrapides.offsetHeight;
		else if(liensrapides.style.pixelHeight) ht_liensr
		
		if((ht_content>=(ht_menu-ht_liensrapides-ht_entete)) && (ht_content>=(ht_reservation+ht_neighborhood-ht_entete-12)))
		{
			menu.style.height=ht_content+ht_entete+ht_liensrapides+9+"px";
			neighborhood.style.height=ht_content-ht_reservation+ht_entete-2+"px";
		}
		else if((ht_neighborhood>=(ht_entete+ht_content-ht_reservation)) && (ht_neighborhood>=(ht_menu-ht_reservation-ht_liensrapides)))
		{
			content.style.height=ht_neighborhood+ht_reservation-ht_entete-9+"px";
			menu.style.height=ht_neighborhood+ht_reservation+ht_liensrapides+1+"px";
		}
		else if((ht_menu>=(ht_content+ht_entete+ht_liensrapides)) && (ht_menu>=(ht_liensrapides+ht_reservation+ht_neighborhood)))
		{
			menu.style.height=ht_menu-2+"px";
			content.style.height=ht_menu-ht_entete-ht_liensrapides-11+"px";
			reservation.style.height=ht_menu-ht_liensrapides-ht_neighborhood-12+"px";
		}
	}
	else
	{
		if((ht_content>=(ht_menu-ht_entete)) && (ht_content>=(ht_neighborhood+ht_reservation-ht_entete)))
		{
			menu.style.height=ht_content+ht_entete+8+"px";
			neighborhood.style.height=ht_content+ht_entete-ht_reservation-2+"px";
		}
		else if((ht_neighborhood>=(ht_entete+ht_content-ht_reservation)) && (ht_neighborhood>=(ht_menu-ht_reservation)))
		{
			content.style.height=ht_reservation-ht_entete+ht_neighborhood-9+"px";
			menu.style.height=ht_neighborhood+ht_reservation+"px";
		}
		else if((ht_menu>=(ht_content+ht_entete)) && (ht_menu>=(ht_neighborhood+ht_reservation)))
		{
			content.style.height=ht_menu-ht_entete-11+"px";
			neighborhood.style.height=ht_menu-ht_reservation-10+"px";
		}
	}
}

//** Fonction permettant d'afficher la carte google map
//** Avec l'emplacement du lieu decrit dans la page 
//** Et l'emplacement des hotels proche de ce lieu

function showMap(adresse, titre) 
{
	var map, geocoder;
	var adresseHotel, nameHotel, hotel;
	var valeurAdresse = new Array();
	var valeurName = new Array();

	if (GBrowserIsCompatible()) 
	{
		map = new GMap2(document.getElementById("map"));
		map.addControl(new GSmallMapControl());
		map.setCenter(new GLatLng(48.8698008, 2.30), 13);
		geocoder = new GClientGeocoder();
		geocoder.getLatLng
		(
			adresse,
			function(point)
			{
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
				marker.openInfoWindowHtml("<b>"+titre+"</b><br /><br />"+adresse);
				GEvent.addListener(marker, "click", function() 
				{
				    map.openInfoWindowHtml(point, "<b>"+titre+"</b><br /><br />"+adresse);
				});
			}
		);
		nameHotel = document.getElementsByName("nameHotel");
		adresseHotel = document.getElementsByName("adresseHotel");
		for(hotel in nameHotel)
		{
			if(!isNaN(hotel))
			{
				valeurName[hotel]=nameHotel[hotel].innerHTML;
				valeurAdresse[hotel]=adresseHotel[hotel].innerHTML;
				showHotel(hotel, valeurName, valeurAdresse, map, geocoder);
			};
		}
	}
}

//** Fonction permettant d'afficher sur la map
//** Les hotels situes pret du lieu decrit par la page

function showHotel(hotel, valeurName, valeurAdresse, map, geocoder)
{
	geocoder.getLatLng
	(
		valeurAdresse[hotel],
		function(point) 
		{
			var marker = new GMarker(point);
			map.addOverlay(marker);
			GEvent.addListener(marker, "click", function() 
			{
			    map.openInfoWindowHtml(point, "<b>"+valeurName[hotel]+"</b><br /><br />"+valeurAdresse[hotel]);
			});
		}
	);
}
