// Augmenter/diminuer taille police
var t;			
t = 1;
function changerTaille(modif) {
	t = t + modif;
	document.getElementsByTagName("body")[0].style.fontSize = t + "em";		
}

// Mis dans les favoris ========================================================
function favoris(url,titre){
	if(navigator.appName != 'Microsoft Internet Explorer') window.sidebar.addPanel(titre,url,"");
	else window.external.AddFavorite(url,titre);
}
// Grille + effet lightbox =====================================================
function afficherGrille(largeur,hauteur){
	hideSelectBoxes();
	var arrayPageSize = getPageSize();
	// Affichage de la grille
	document.getElementById('grille').style.display='block';
	document.getElementById('grille').style.height=arrayPageSize[1]+"px";
	// Affichage de la zone
	document.getElementById('zoneLightBox').style.display='block';
	document.getElementById('zoneLightBox').style.width=largeur+"px";
	document.getElementById('zoneLightBox').style.height=hauteur+"px";
	document.getElementById('zoneLightBox').style.marginTop="-"+(hauteur/2)+"px";
	document.getElementById('zoneLightBox').style.marginLeft="-"+(largeur/2)+"px";
}
function masquerGrille(){
	showSelectBoxes();
	document.getElementById('grille').style.display='none';
	document.getElementById('zoneLightBox').style.display='none';
}
function hideSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "hidden";
	}
}
function showSelectBoxes(){
	selects = document.getElementsByTagName("select");
	for (i = 0; i != selects.length; i++) {
		selects[i].style.visibility = "visible";
	}
}
function getPageSize(){
	var xScroll, yScroll;
	
	if (window.innerHeight && window.scrollMaxY) {	
		xScroll = document.body.scrollWidth;
		yScroll = window.innerHeight + window.scrollMaxY;
	} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
		xScroll = document.body.scrollWidth;
		yScroll = document.body.scrollHeight;
	} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
		xScroll = document.body.offsetWidth;
		yScroll = document.body.offsetHeight;
	}
	var windowWidth, windowHeight;
	if (self.innerHeight) {	// all except Explorer
		windowWidth = self.innerWidth;
		windowHeight = self.innerHeight;
	}
	else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
		windowWidth = document.documentElement.clientWidth;
		windowHeight = document.documentElement.clientHeight;
	}
	else if (document.body) { // other Explorers
		windowWidth = document.body.clientWidth;
		windowHeight = document.body.clientHeight;
	}	
	
	// for small pages with total height less then height of the viewport
	if(yScroll < windowHeight){
		pageHeight = windowHeight;
	} else { 
		pageHeight = yScroll;
	}

	// for small pages with total width less then width of the viewport
	if(xScroll < windowWidth){	
		pageWidth = windowWidth;
	} else {
		pageWidth = xScroll;
	}


	arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) ;

	return arrayPageSize;
}
// Google Map ==================================================================
var map = null;
var geocoder = null;

function load(div,adresse,adresse2,afficherControl,afficherZoom,niveauZoom){
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById(div));
		geocoder = new GClientGeocoder();
		showAddress(adresse,adresse2,afficherControl,afficherZoom,niveauZoom);
	}
}
function showAddress(adresse,adresse2,afficherControl,afficherZoom,niveauZoom) {
	if (geocoder) {
		geocoder.getLatLng(adresse,
		function(point) {
			if (!point){
				load('map',adresse2,'',afficherControl,afficherZoom,niveauZoom);
			}
			else {
				// Carte
				if(afficherControl=='oui'){
					map.addControl(new GSmallMapControl());
					map.addControl(new GMapTypeControl());
					map.setCenter(point, niveauZoom,G_HYBRID_MAP);// Mode mixte
				}
				else map.setCenter(point, niveauZoom);// Mode non mixte
				// Icone au centre
				var icon = new GIcon();
				icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
				icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
				icon.iconSize = new GSize(12, 20);
				icon.shadowSize = new GSize(22, 20);
				icon.iconAnchor = new GPoint(6, 20);
				icon.infoWindowAnchor = new GPoint(5, 1);
				map.addOverlay(new GMarker(point, icon));
				
			}
		}
		);
	}
}
// Affiche formulaire de contact
function formulaireContact(urlPrincipale,repJs,titre,mailDestinataire,objet,message,afficheObjet,afficheEmailDestinataire){
	afficherGrille('500','418');
	texteHTML='<img id="fermer" src="'+urlPrincipale+'/css/images/pictogrammes/fermer.png" alt="Fermer" onclick="masquerGrille();" />';
	texteHTML+='<div id="formulaireEnvoiMail">';
	texteHTML+='<h1>'+titre+'</h1>';
		texteHTML+='<div id="envoiOk"></div>';
		texteHTML+='<div id="messageChampsObligatoires">Tous les champs marqués d\'une * sont obligatoires</div>';
		texteHTML+='<div id="messageChampsObligatoires2"></div>';
		texteHTML+='<form id="formDesMails">';
			texteHTML+='<fieldset>';
				texteHTML+='<label>Nom*</label><input type="text" id="nomF" value="" /><br />';
				texteHTML+='<label>Prénom</label><input type="text" id="prenom" value="" /><br />';
				texteHTML+='<label>Votre e-mail*</label><input type="text" id="emailExp" value="" /><br />';
				if(afficheEmailDestinataire=='oui') texteHTML+='<label>E-mail destinataire*</label><input type="text" id="emailDest" value="'+mailDestinataire+'" /><br />';
				else texteHTML+='<label>Destinataire*</label><input type="text" id="emailDest" value="'+mailDestinataire+'" disabled="disabled" /><br />';
				if(afficheObjet=='oui') texteHTML+='<label>Objet*</label><input type="text" id="objet" value="'+objet+'" /><br />';
				else texteHTML+='<label>Objet*</label><input type="text" id="objet" value="'+objet+'" disabled="disabled" /><br />';
				texteHTML+='<label>Votre message*</label><textarea id="votreMessage">'+message+'</textarea><br />';
				texteHTML+='<label id="labelVide">&nbsp;</label><input onclick="envoyerFormulaire(\'ficheDoc\',\''+repJs+'\',\''+urlPrincipale+'\');return false;" type="submit" value="Envoyer le message" id="bouton" />';
			texteHTML+='</fieldset>';
		texteHTML+='</form>';
	texteHTML+='</div>';
	document.getElementById('zoneLightBox').innerHTML=texteHTML;
}
// Envoyer le formulaire
function envoyerFormulaire(page,repJs,urlPrincipale){
	if(page=='ficheDoc'){
		url=repJs+'envoiForm.php';
		valeurs='&nom='+document.getElementById('nomF').value;
		valeurs+='&prenom='+document.getElementById('prenom').value;
		valeurs+='&emailExp='+document.getElementById('emailExp').value;
		valeurs+='&emailDest='+document.getElementById('emailDest').value;
		valeurs+='&objet='+document.getElementById('objet').value;
		valeurs+='&votreMessage='+document.getElementById('votreMessage').value;
		div='envoiOk';
	}
	if(page!=''){
		document.getElementById(div).innerHTML='';
		var xhr_object = null;
		if(window.XMLHttpRequest) xhr_object = new XMLHttpRequest();
		else
			if(window.ActiveXObject) xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
			else{
				alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
				return;
			}

		var method = "POST";
		var filename = url;
		var data = valeurs;
		xhr_object.open(method, filename, true);

		xhr_object.onreadystatechange = function(){
			if(xhr_object.readyState == 4){
				var doc = xhr_object.responseXML;
				for(var i=0;i<doc.getElementsByTagName('message').length;i++)
					document.getElementById(div).innerHTML+=doc.getElementsByTagName('message').item(i).firstChild.data+"";
				if(doc.getElementsByTagName('erreur').item(0).firstChild.data=='non'){
					document.getElementById('messageChampsObligatoires2').innerHTML='<input type="submit" onclick="masquerGrille();" value="Revenir au document" id="boutonRetour" />';
					document.getElementById('formDesMails').style.display='none';
					document.getElementById('messageChampsObligatoires').style.display='none';
				}
			}
		}
	
		xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 
		xhr_object.send(data);
	}
}
