// pour initialiser la position du pied de page
function initPositions()
{
	var nav = new Navigateur();
	var hauteur = nav.hEcranClient - 120 - 24 -35; // hauteur page - hauteur bandeau - hauteur menu - hauteur pied de page
	var largeur = nav.lEcranClient;
	
	var calBandeau = document.getElementById("bandeau"); // référence au calque bandeau
	var calMenu = document.getElementById("conteneurMenu"); // référence au calque conteneurMenu
	var calGlobal = document.getElementById("global"); // référence au calque global
	var calContenu = document.getElementById("contenu"); // référence au calque contenu
	var calPiedPage = document.getElementById("piedPage"); // référence au calque piedPage
	
	var margeGauche = ((largeur - 760) / 2) - 16+"px";
	calBandeau.style.marginLeft = margeGauche;
	calMenu.style.marginLeft = margeGauche;
	calPiedPage.style.marginLeft = margeGauche;
	
	calGlobal.style.height = hauteur+"px"
	calContenu.style.marginLeft = margeGauche;
}

// appelée à intervalle de temps réguliers pour 
// rétablir le positionnement des calques en cas
// de redimmensionnement de la fenetre
function retablirPositions()
{
	window.onresize = function()
	{
		initPositions();
	}
}

// lance un setInterval pour surveiller si la fenetre est redimmensionnée
function surveillePositions()
{
	var timer;
	timer = window.setInterval("retablirPositions()", 100);
}

// créér le calque calMessageChargement
// affiché lors d'une requete client / serveur
function initMessageChargement()
{
	var nav = new Navigateur(); // information sur le navigateur
	var lEcran = nav.lEcranClient;
	var hEcran = nav.hEcranClient;
	
	var gauche = ((lEcran / 2) - (250 / 2))+"px"; // la position left du calque qu'on rajoute
	var haut = ((hEcran /2) - (50))+"px"; // la position top du calque qu'on rajoute
	
	if(document.getElementById("calMessageChargement") == undefined)
	{
		calMessageChargement = document.createElement("div"); // créé un nouvel element div
		calMessageChargement.id = "calMessageChargement";

		calMessageChargement.style.position = "absolute"; // position absolue
		calMessageChargement.className = "bordBleu fondBlanc";
		calMessageChargement.style.width = "250px"; // largeur
		calMessageChargement.style.height = "50px"; // hauteur
		calMessageChargement.style.left = gauche; // positionnement left du calque
		calMessageChargement.style.top = haut; // positionnement top du calque
		calMessageChargement.style.zIndex = 1002; // ordre d'empilement des calques
		calMessageChargement.style.display = "none";
		
		var strHtml = "";
		strHtml += "<p class=\"centre margHaut5\">";
		strHtml += "<img src=\"illustrations/chargement.gif\">";
		strHtml += "</p>";
		strHtml += "<p class=\"text12 noir gras centre margHaut5 margBas5\">Opération en cours ...</p>";
		calMessageChargement.innerHTML = strHtml;
		document.body.appendChild(calMessageChargement);
	}
}

// change la propriété className de l'objet obj
function changeClass(obj, newClass)
{
	obj.className = newClass;
}

function changeImageMenu(obj, evt)
{
	var tabNomElmt = obj.id.split("_");
	var numElmt = tabNomElmt[1];
	var nomImage = "image_"+numElmt;
	var image = document.getElementById(nomImage);
	
	if(evt == "over")
	{
		image.src = "boutons_menu/"+image.name+"Over.gif";
	}
	
	if(evt == "out")
	{
		image.src = "boutons_menu/"+image.name+".gif";
	}
}

function changeImageSousMenu(obj, evt)
{	
	if(evt == "over")
	{
		newSrc = "boutons_menu/"+obj.firstChild.name+"Over.gif";
		obj.firstChild.src = newSrc;
	}

	if(evt == "out")
	{
		newSrc = "boutons_menu/"+obj.firstChild.name+".gif";
		obj.firstChild.src = newSrc;
	}
}

function changeImageBouton(obj, evt)
{
	if(evt == "over")
	{
		newSrc = "illustrations/"+obj.firstChild.name+"Over.gif";
		obj.firstChild.src = newSrc;
	}

	if(evt == "out")
	{
		newSrc = "illustrations/"+obj.firstChild.name+".gif";
		obj.firstChild.src = newSrc;
	}
}

// créer un div avec id=masque
// largeur et hauteur du calque à 100%
// ce calque doit etre en dessous du calque affichant les photos ou le formulaire
function afficheMasque(hEcran, offsetY)
{
	var hauteur = hEcran+offsetY+"px";
	calMasque = document.createElement("div"); // créé un nouvel element div
	calMasque.id = "calMasque";
	calMasque.style.position = "absolute"; // position absolue
	calMasque.className = "fondGrisTrans";
	calMasque.style.left = "0px"; // positionnement left du calque
	calMasque.style.top = "0px"; // positionnement top du calque
	calMasque.style.width = "100%"; // largeur du calque
	calMasque.style.height = hauteur; // hauteur du calque
	calMasque.style.zIndex = 1000; // ordre d'empilement
	
	// ajout du noeud calque dans le DOM
	document.body.appendChild(calMasque);
}

function enleveMasque()
{
	if(document.getElementById("calMasque") != undefined)
	{
		var calMasque = document.getElementById("calMasque");
		document.body.removeChild(calMasque);
	}
}

// tableaux pour les titres
var tabTitreFleur = ["Agapanthe" , "Armérie maritime" , "Bruyères" , "Chèvrefeuille" , "Echium" , "Fuchsia" , "Géranium grimpant" , "Hortensia" , "Kniphofia" , "Hortensia" , "Panaché sauvage" , "Passiflore" , "Agapanthes" , "Agapanthes mombrésia" , "Agave américana" , "Agave américana" , "Eucalyptus" , "Géranium de Madère et poirier" , "Géranium grimpant" , "Mimosa" , "Hortensia" , "Mimosa" , "Palmier phénix" , "Phormium"];


/*	'CLASSE' DIAPORAMA	*/
function Diaporama(rep, nbPhotos)
{
	// variables membres
	this.nbPhotos = nbPhotos;
	this.rep = rep;
	this.tabTitreFleur = tabTitreFleur;
	// fonctions membres
	this.initDiapo = initDiapo;
	this.imageSuivante = imageSuivante;
	this.imagePrecedente = imagePrecedente;
	
	// fonction initDiapo
	// créer un div avec id=masque
	// largeur et hauteur du calque à 100%
	// ce calque doit etre en dessus du calque affichant les photos
	function initDiapo()
	{	
		var nav = new Navigateur();
		var hauteur = nav.hEcranClient - 120 - 24 -35; // hauteur page - hauteur bandeau - hauteur menu - hauteur pied de page
		var largeur = nav.lEcranClient;
		var margeGauche = ((largeur - 760) / 2) - 16+"px";
			
		// conteneur
		calConteneur = document.createElement("div"); // créé un nouvel element div
		calConteneur.id = "calque";
		calConteneur.style.position = "absolute"; // position absolue
		calConteneur.style.width = "100%";
		calConteneur.style.height = "100%";
		calConteneur.style.left = "0px"; // positionnement left du calque
		calConteneur.style.top = "0px"; // positionnement top du calque
		calConteneur.style.zIndex = 1001; // ordre d'empilement
		
		// ajout du noeud calque conteneur dans le DOM
		document.body.appendChild(calConteneur);
		
		// cadre
		calCadre = document.createElement("div"); // créé un nouvel element div
		calCadre.id = "cadre";
		calCadre.style.background = "#ffffff";
		calCadre.style.border = "1px solid #0c6f8f";
		calCadre.style.position = "relative"; // position relative
		calCadre.style.width = "760px";
		calCadre.style.height = "auto";
		calCadre.style.marginLeft = margeGauche; // positionnement left du calque
		calCadre.style.top = "0px"; // positionnement top du calque
		calCadre.style.zIndex = 1002; // ordre d'empilement
		
		// ajout du noeud calque cadre dans le conteneur
		calConteneur.appendChild(calCadre);
		
		// barre de titre
		calBarreTitre = document.createElement("div"); // créé un nouvel element div
		calBarreTitre.id = "barreTitre";
		calBarreTitre.className = "fondBarreTitre";
		calBarreTitre.style.width = "760px";
		calBarreTitre.style.height = "20px";
		calBarreTitre.style.margin = "auto"; // positionnement left du calque
		calBarreTitre.style.clear = "both";
		
		// éléments de la barre de titre
		contenuBarreTitre = "";
		contenuBarreTitre += "<table width=\"760\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
		contenuBarreTitre += "<tr>";
		contenuBarreTitre += "<td width=\"740\" height=\"20\" vAlign=\"center\">";
		contenuBarreTitre += "<span class=\"titreFenetre margGauche5\" id=\"titre\">Découverte - diaporama de l'île de Bréhat</span>";
		contenuBarreTitre += "</td>";
		contenuBarreTitre += "<td width=\"20\" class=\"centre margHaut5\">";
		contenuBarreTitre += "<a href=\"#\" title=\"Arreter le diaporama et retourner au site\" onMouseOver=\"changeImageBouton(this, 'over');\" onMouseOut=\"changeImageBouton(this, 'out');\" onClick=\"retourSite();\"><img src=\"illustrations/bout_fermer.gif\" name=\"bout_fermer\" border=\"0\" width=\"14\" height=\"14\" style=\"margin-top:3px;\"></a>";
		contenuBarreTitre += "</td>";
		contenuBarreTitre +=  "</tr>";
		contenuBarreTitre += "</table>";
		
		// innerHTML pour barreTitre
		calBarreTitre.innerHTML = contenuBarreTitre;	
		// ajout du noeud barreTitre dans le cadre
		calCadre.appendChild(calBarreTitre);
		
		// conteneur pour photos et boutons
		calConteneurPhotos = document.createElement("div");
		calConteneurPhotos.id = "conteneurPhotos";
		calConteneurPhotos.style.width = "760px";
		calConteneurPhotos.style.background = "#ffffff";
		calConteneurPhotos.style.paddingTop = "10px";
		calConteneurPhotos.style.paddingBottom = "10px";
		
		// éléments photos et boutons
		contenuPhotos = "";
		contenuPhotos += "<table width=\"760\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
		contenuPhotos += "<tr>";
		contenuPhotos += "<td width=\"60\" align=\"center\" vAlign=\"center\">";
		contenuPhotos += "<a href=\"#\" title=\"Image précédente\" onMouseOver=\"changeImageBouton(this, 'over');\" onMouseOut=\"changeImageBouton(this, 'out');\" onClick=\"diaporama.imagePrecedente();\"><img src=\"illustrations/btnPrec.gif\" name=\"btnPrec\" border=\"0\"></a>";
		contenuPhotos += "</td>";
		contenuPhotos += "<td width=\"640\" align=\"center\" vAlign=\"center\">";
		contenuPhotos += "<img src=\""+rep+"/image_01.jpg\" id=\"photo\" name=\"1\" border=\"0\" align=\"center\">";
		contenuPhotos += "</td>";
		contenuPhotos += "<td width=\"60\" align=\"center\" vAlign=\"center\">";
		contenuPhotos += "<a href=\"#\" title=\"Image suivante\" onMouseOver=\"changeImageBouton(this, 'over');\" onMouseOut=\"changeImageBouton(this, 'out');\" onClick=\"diaporama.imageSuivante();\"><img src=\"illustrations/btnSuiv.gif\" name=\"btnSuiv\" border=\"0\"></a>";
		contenuPhotos += "</td>";
		contenuPhotos +=  "</tr>";
		contenuPhotos += "</table>";
		
		// innerHTML pour conteneurPhotos
		calConteneurPhotos.innerHTML = contenuPhotos
		// ajout du noeud conteneurPhotos dans le cadre
		calCadre.appendChild(calConteneurPhotos);
		
		// titre
		switch(rep) {
			case 'diapo_fleur' : document.getElementById('titre').innerHTML = tabTitreFleur[0];
			break;
		}
	}
	
	function imageSuivante()
	{
		var photo = document.getElementById("photo");
		var numCourant = Number(photo.name);
		if(numCourant < this.nbPhotos)
		{
			var numSuivant = numCourant + 1;
			switch(this.rep) {
				case 'diapo_fleur' : document.getElementById('titre').innerHTML = this.tabTitreFleur[numSuivant-1];
				break;
			}
			
			
			(numSuivant < 10) ? numSuivant="0"+numSuivant : numSuivant;
			var srcSuivant = rep+"/image_"+numSuivant+".jpg";
			photo.name = numSuivant;
			photo.src = srcSuivant;			
		}
		else
		{
			alert("C'est la dernière image du diaporama");
			return;
		}
	}
	
	function imagePrecedente()
	{
		var photo = document.getElementById("photo");
		var numCourant = Number(photo.name);
		if(numCourant > 1)
		{
			var numPrecedent = numCourant - 1;
			switch(this.rep) {
				case 'diapo_fleur' : document.getElementById('titre').innerHTML = this.tabTitreFleur[numPrecedent-1];
				break;
			}
			(numPrecedent < 10) ? numPrecedent="0"+numPrecedent : numPrecedent;
			var srcPrecedent = rep+"/image_"+numPrecedent+".jpg";
			photo.name = numPrecedent;
			photo.src = srcPrecedent;
		}
		else
		{
			alert("C'est la première image du diaporama");
			return;
		}
	}
}
/*	FIN 'CLASSE' DIAPORAMA */

function lancerDiapo(rep, nbPhotos)
{
	var nav = new Navigateur();
	var hEcran = nav.hEcranClient;
	var offsetY = nav.scrollHaut;
	diaporama = new Diaporama(rep, nbPhotos);
	afficheMasque(hEcran, offsetY);
	diaporama.initDiapo();
}

/*	'CLASSE' DIAPORAMA  détails */
function DiaporamaDetail(nbPhotos, idHebergement, rep)
{
	// variables membres
	this.nbPhotos = nbPhotos;
	this.idHebergement = idHebergement;
	// fonctions membres
	this.imageSuivante = imageSuivante;
	this.imagePrecedente = imagePrecedente;
	
	function imageSuivante()
	{
		var photo = document.getElementById("photo");
		var avancement = document.getElementById("avancement");
		var numCourant = Number(photo.name);

		if(numCourant < this.nbPhotos)
		{
			var numSuivant = numCourant + 1;
			var srcSuivant = rep+"/photo_"+numSuivant+".jpg";
			photo.name = numSuivant;
			photo.src = srcSuivant;
			avancement.innerHTML = numSuivant+ "/"+this.nbPhotos;
		}
		else
		{
			alert("C'est la dernière image du diaporama");
			return;
		}
	}
	
	function imagePrecedente()
	{
		var photo = document.getElementById("photo");
		var avancement = document.getElementById("avancement");
		
		var numCourant = Number(photo.name);
		if(numCourant > 1)
		{
			var numPrecedent = numCourant - 1;
			var srcPrecedent = rep+"/photo_"+numPrecedent+".jpg";
			photo.name = numPrecedent;
			photo.src = srcPrecedent;
			avancement.innerHTML = numPrecedent+ "/"+this.nbPhotos;
		}
		else
		{
			alert("C'est la première image du diaporama");
			return;
		}
	}
}
/*	FIN 'CLASSE' DIAPORAMA détails  */

function lancerDiapoDetail(nbPhotos, idHebergement, rep)
{
	diaporamaDetail = new DiaporamaDetail(nbPhotos, idHebergement, rep);
}

function retourSite()
{
	if(document.getElementById("calMasque") != undefined)
	{
		var calMasque = document.getElementById("calMasque");
		document.body.removeChild(calMasque);
	}
	var conteneur = document.getElementById("calque");
	document.body.removeChild(conteneur);
}	

function versionImprimable()
{
	var fenetre = window.open("impression.php", "Impression", "width=760, height=400, left=10, top=10, menubar=yes, scrollbars=yes, location=no, status=no, directories=no, toolbar=no, resizable=yes");
}

function configImpression()
{
	var parent = window.opener;
	var contenuImprim = parent.document.getElementById("contenu").innerHTML;
	var calContenu = document.getElementById("contenu");
	calContenu.innerHTML = contenuImprim;
}

function imprimer()
{
	window.print();
}

// créer un div avec id=calque
// le centre dans la page
// affiche dans ce div le formulaire pour envoyer à un ami
// affiche le calque masque
function afficheFormEnvoiAmi(l, h, urlPage)
{
	var nav = new Navigateur(); // information sur le navigateur
	var lEcran = nav.lEcranClient;
	var hEcran = nav.hEcranClient;
	var offsetY = nav.scrollHaut;
	
	var gauche = ((lEcran / 2) - (l / 2))-16+"px"; // la position left du calque qu'on rajoute
	var haut = ((hEcran /2) - (h / 2))+offsetY+"px"; // la position top du calque qu'on rajoute
	
	// si le calque conteneurFlash existe
	if(document.getElementById("animFlash") != null)
	{
		var anim = document.getElementById("animFlash");		
		anim.style.display = "none";
	}
	
	// affiche le masque
	afficheMasque(hEcran, offsetY);
	
	if(document.getElementById("calque") == undefined)
	{
		conteneur = document.createElement("div"); // créé un nouvel element div
		conteneur.id = "calque";

		conteneur.style.position = "absolute"; // position absolue
		conteneur.style.left = gauche; // positionnement left du calque
		conteneur.style.top = haut; // positionnement top du calque
		conteneur.style.zIndex = 1001;
		
		var strHtml = "";
		strHtml += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\""+l+"\">";
		strHtml += "<tr>";
		strHtml += "<td>";		
			// barre de titre
			strHtml += "<table width=\""+l+"\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"fondBarreTitre\">";
			strHtml += "<tr>";
			// titre de l'image
			strHtml += "<td height=\"20\">";
			strHtml += "<span class=\"titreFenetre margGauche5\">Envoyer à un ami</span>";
			strHtml += "</td>";
			// bouton fermer
			strHtml += "<td height=\"20\" width=\"20\" class=\"margHaut5 centre\">";
			strHtml += "<a href=\"#\" onMouseOver=\"changeImageBouton(this, 'over');\" onMouseOut=\"changeImageBouton(this, 'out');\" onClick=\"fermerEnvoiAmi();return false;\" title=\"fermer cette fenêtre\" style=\"cursor:pointer\"><img src=\"illustrations/bout_fermer.gif\" name=\"bout_fermer\" width=\"14\" height=\"14\" border=\"0\"></a>";
			strHtml += "</td>";
			strHtml += "</tr>";
			strHtml += "</table>";
		strHtml += "</td>";
		strHtml += "</tr>";
		strHtml += "<tr>";
		strHtml += "<td>";			
			// formulaire
			strHtml += "<div id=\"calqueContact\">";
			strHtml += "<form name=\"envoiAmi\" id=\"envoiAmi\">";
			// champ caché avec l'url de la page à envoyer en lien
			strHtml += "<input type=\"hidden\" name=\"urlPage\" value=\""+urlPage+"\">";
			strHtml += "<table width=\""+l+"\" class=\"bordBleu\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bgcolor=\"#ffffff\">";
			strHtml += "<tr>";			
			strHtml += "<td class=\"texte12 noir esp5 justif\" colspan=\"2\">";
			strHtml += "Ce message comportera automatiquement un lien vers la page : <br><b>"+urlPage+"</b><br>Il n'est donc pas la peine de le rajouter";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// separateur
			strHtml += "<tr>";			
			strHtml += "<td height=\"10\" colspan=\"2\"></td>";
			strHtml += "</tr>";
			
			// email Expediteur
			strHtml += "<tr>";			
			strHtml += "<td width=\"35%\" height=\"25\" class=\"texte12 noir\">";
			strHtml += "<span id=\"lbl_emailExpediteur\" class=\"margGauche5\">votre email </span>*";
			strHtml += "</td>";
			strHtml += "<td width=\"65%\" height=\"25\">";
			strHtml += "<input type=\"text\" id=\"emailExpediteur\" name=\"emailExpediteur\" class=\"inputText\">";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// nom Expediteur
			strHtml += "<tr>";			
			strHtml += "<td width=\"35%\" height=\"25\" class=\"texte12 noir\">";
			strHtml += "<span id=\"lbl_nomExpediteur\" class=\"margGauche5\">votre nom </span>*";
			strHtml += "</td>";
			strHtml += "<td width=\"65%\" height=\"25\">";
			strHtml += "<input type=\"text\" id=\"nomExpediteur\" name=\"nomExpediteur\" class=\"inputText\">";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// prénom Expediteur
			strHtml += "<tr>";			
			strHtml += "<td width=\"35%\" height=\"25\" class=\"texte12 noir\">";
			strHtml += "<span id=\"lbl_prenomExpediteur\" class=\"margGauche5\">votre prénom </span>*";
			strHtml += "</td>";
			strHtml += "<td width=\"65%\" height=\"25\">";
			strHtml += "<input type=\"text\" id=\"prenomExpediteur\" name=\"prenomExpediteur\" class=\"inputText\">";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// email du destinataire
			strHtml += "<tr>";			
			strHtml += "<td width=\"35%\" height=\"25\" class=\"texte12 noir\">";
			strHtml += "<span id=\"lbl_emailDestinataire\" class=\"margGauche5\">email de votre ami </span>*";
			strHtml += "</td>";
			strHtml += "<td width=\"65%\" height=\"25\">";
			strHtml += "<input type=\"text\" id=\"emailDestinataire\" name=\"emailDestinataire\" class=\"inputText\">";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// sujet du message
			strHtml += "<tr>";			
			strHtml += "<td width=\"35%\" height=\"25\" class=\"texte12 noir\">";
			strHtml += "<span id=\"lbl_sujetMessage\" class=\"margGauche5\">sujet de votre message </span>*";
			strHtml += "</td>";
			strHtml += "<td width=\"65%\" height=\"25\">";
			strHtml += "<input type=\"text\" id=\"sujetMessage\" name=\"sujetMessage\" class=\"inputText\">";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// texte du message
			strHtml += "<tr>";			
			strHtml += "<td width=\"35%\" vAlign=\"top\" class=\"texte12 noir\">";
			strHtml += "<span id=\"lbl_message\" class=\"margGauche5\">votre message </span>*";
			strHtml += "</td>";
			strHtml += "<td width=\"65%\">";
			strHtml += "<textarea id=\"message\" name=\"message\" class=\"inputTextArea\"></textarea>";
			strHtml += "</td>";
			strHtml += "</tr>";
			
			// separateur
			strHtml += "<tr>";			
			strHtml += "<td height=\"10\" colspan=\"2\"></td>";
			strHtml += "</tr>";
			
			// remarques et bouton d'envoi
			strHtml += "<tr>";
			strHtml += "<td colspan=\"2\">";
			strHtml += "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">";
			strHtml += "<tr>";		
			strHtml += "<td width=\"80%\" class=\"texte10 noir esp5\">";
			strHtml += "les champs marqués par * sont requis";
			strHtml += "</td>";
			strHtml += "<td width=\"20%\">";
			strHtml += "<input type=\"button\" class=\"margGauche20\" onClick=\"xajax_verifFormulaireEnvoiAmi(xajax.getFormValues('envoiAmi'), "+l+");\" value=\"Envoyer\">";
			strHtml += "</td>";
			strHtml += "</tr>";
		strHtml += "</table>";
		strHtml += "</td>";
		strHtml += "</tr>";
		
		strHtml += "</table>";
		strHtml += "</form>";
		strHtml += "</div>";
			
		strHtml += "</td>";
		strHtml += "</tr>";
		strHtml += "</table>";
		
		conteneur.innerHTML = strHtml;
		document.body.appendChild(conteneur);
	}
	else
	{
		alert("Le formulaire est déjà affiché.");
	}
}

// enleve le masque
// enleve le calque contenant le formulaire
// remet le calque contenant l'anim flash s'il existe
function fermerEnvoiAmi()
{
	enleveMasque();
	var cal = document.getElementById("calque");
	document.body.removeChild(cal);
	// si le calque conteneurFlash existe
	if(document.getElementById("animFlash") != null)
	{
		var anim = document.getElementById("animFlash");		
		anim.style.display = "block";
	}
}
