//---------------------------------------------------------------------------------------------------------------
// FONCTIONS SUR LE GLOBAL CONTAINER
//---------------------------------------------------------------------------------------------------------------

var CartoOk		= false;
var Contener	= {};

// confirmer la vue actuellement utilisée
function onWorldInit(){Contener.GCDone("Photo")}
function mappyInitMap(D,E,B,A){if(!CartoOk){CartoOk=true;Contener.GCDone("Carto")}}
function onWorldOutside(){Contener.GCOutside()}
// retours du GC prévus pour les statistiques
function GCStat(D,A,B,C){
	switch(D.toLowerCase()){
		case"vue":
			type_vue="Photo";
			break;
		case"plan":
			type_vue="Carto";
			break
	}
}
function _pjStatCarto(C,A,B){
	switch(C.toLowerCase()){
		case"vue":
			type_vue="Photo";
			break;
		case"plan":
			type_vue="Carto";
			break
	}
}

// initialise le global container
function initGlobalContainer(vue, zoom, latitude, longitude, loc, print){
	if($("swfGC")){
		// détection de la version flash
		if(Browser.Plugins.Flash.version>=8){
			// charge le flash
			var flashID	= "FlashAPI";
			new Swiff("http://iayes.pagesjaunes.fr/Contener.swf",{
				id			: flashID,
				width		: 600,
				height		: 450,
				container	: $("swfGC"),
				params		: {
					wMode				: "opaque",
					bgcolor				: "#FFFFFF",
					allowScriptAccess	: "always",
					loop				: "false",
					menu				: "false",
					quality				: "high",
					scale				: "noscale",
					salign				: "tl"
				},
				vars		: {
					GCMAP	: vue,
					GCCTX	: (print)?"print":"PB",
					GCLOC	: "WGS:"+latitude+":"+longitude+":"+zoom,
					ES		: loc
				}
			});
			// la référence javascript vers "l'objet" flash
			Contener	= Browser.Engine.trident?window[flashID]:document[flashID];
		}else
			$("swfGC").setProperty("html","<br/><br/><br/><strong>Pour pouvoir visualiser "+((vue=="Photo")?"la vue aérienne":"le plan")+', vous devez installer le <a href="http://www.adobe.com/go/getflashplayer_fr" target="_blank">plug-in Flash</a>.</strong><br/><br/><br/><br/><br/>');
	}
}

// ouvre la vue 3D
function openVue3D(url){
	openWindow(url, 970, 675, "status=yes, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no")
}

// switch entre les vues
function switchVue(value){
	// cache le formulaire d'envoi
	if($("formulaire")&&$("formulaire").getStyle("display")=="block")
		new Fx.Tween($("formulaire"),{duration:"250"}).start("height",$("formulaire").getStyle("height").toInt(),0).chain(function(){$("formulaire").setStyle("display","none")});

	// affiche le plan ou la vue aérienne
	if(value=="Photo"||value=="Carto"){
		// affiche le GC
		if($("swfGC")){
			with($("swfGC")){
				if(Browser.Engine.trident){
					if(getStyle("overflow")!="visible")
						setStyle("overflow","visible");
				}else{
					if(getStyle("visibility")!="visible")
						setStyle("visibility","visible");
					if(getStyle("marginTop")!="0")
						setStyle("marginTop","0");
				}
				if(getStyle("height")!="450px")
					setStyle("height","450px");
			}
		}
		// cache la vue 3D
		if($("imgVue3D")&&$("imgVue3D").getStyle("display")!="none")
			$("imgVue3D").setStyle("display","none");
		// le GC n'est pas prêt
		if(typeof Contener.GCSetMap!="function")
			window.setTimeout("switchVue('"+value+"')",200);
		else{
			type_vue=value;
			if(value=="Photo"){
				// appel de statistiques
				callStats(getLangue()+"_VUE",activite);
				_pjStatClic('VUE', getLangue()+'_VUE', 'switch');
				// changement de vue
				Contener.GCSetMap("Photo");
			}else{
				// appel de statistiques
				callStats(getLangue()+"_PLAN",activite);
				_pjStatClic('PLAN', getLangue()+'_PLAN', 'switch');
				// changement de vue
				Contener.GCSetMap("Carto");
			}
		}
	// affiche la vue 3D
	}else{
		if(value=="3D"){
			// appel de statistiques
			callStats(getLangue()+"_3D",activite);
			_pjStatClic('V3D', getLangue()+'_V3D', 'switch');
			// cache le GC
			if($("swfGC")){
				with($("swfGC")){
					if(Browser.Engine.trident){
						if(getStyle("overflow")!="hidden")
							setStyle("overflow","hidden")
					}else{
						if(getStyle("visibility")!="hidden")
							setStyle("visibility","hidden")
						if(getStyle("marginTop")!="-200px")
							setStyle("marginTop","-200px")
					}
					if(getStyle("height")!="0")
						setStyle("height","0")
				}
			}
			// affiche la vue 3D
			if($("imgVue3D")&&$("imgVue3D").getStyle("display")=="none")
				$("imgVue3D").setStyle("display","block")
		}
	}
}


//---------------------------------------------------------------------------------------------------------------
// FONCTIONS DU FORMULAIRE "ENVOYER"
//---------------------------------------------------------------------------------------------------------------

// affichage du formulaire d'envoi à un ami
function lancer_formulaire(){
	if((!$("imgVue3D")||$("imgVue3D").getStyle("display")=="none")&&typeof type_vue=="undefined"){
		window.setTimeout("lancer_formulaire()",700);
		return;
	}
	if($("formulaire").getStyle("display")=="none"){
		// initialise les styles
		$("formulaire").setStyle("display","block");
		$("formulaire").setStyle("height","0");
		$("formulaire").setStyle("overflow","hidden");
		// appels aux statistiques
		var tag	= "";
		if($("imgVue3D")&&$("imgVue3D").getStyle("display")!="none")
			tag	= "3D";
		else
			tag	= (type_vue=="Carto")?"PLAN":"VUE";
		callStats(getLangue()+"_FORM_"+tag, activite);
		_pjStatClic('', getLangue()+'_FORM', 'ouverture');
		// affiche le formulaire
		new Fx.Tween($("formulaire")).start("height", 0, 380);
	// cache le formulaire
	}else{
		new Fx.Tween($("formulaire"),{duration:"250"}).start("height",$("formulaire").getStyle("height").toInt(),0).chain(function(){
			$("formulaire").setStyle("display","none");
		});
		_pjStatClic('', getLangue()+'_FORM', 'fermeture');
	}
}

// vérifi l'intégralité des données
function verif_form(formulaire){
	var emailDest	= formulaire.emailDest.value.trim();

	var alerte		= "";
	// email(s) du destinataires valide(s) ?
	if(emailDest != ""){
		var tabMail	= emailDest.split(";");
		tabMail.each(function(C){
			if(!validMail(C)){
				alerte	= textes.erreur_emailDest2+".";
				formulaire.emailDest.focus();
			}
		});
	// l'email du destinataire est vide
	}else{
		alerte	+= ((alerte!="")?"<br/>":"")+textes.erreur_emailDest+".";
		formulaire.emailDest.focus();
	}

	// nom et prénom vide ?
	if(formulaire.nom.value.trim()==""){
		alerte	+= ((alerte!="")?"<br/>":"")+textes.erreur_nom+".";
		formulaire.nom.focus();
	}

	// recevoir une copie
	if(formulaire.copie.checked==true){
		var emailSource	= formulaire.emailSource.value.trim();
		if(emailSource=="" || !validMail(emailSource)){
			alerte	+= ((alerte!="")?"<br/>":"")+textes.erreur_emailCopie+".";
			formulaire.emailSource.focus();
		}
		formulaire.copie.value	= "true";
	}else
		formulaire.copie.value	= "false";

	if(alerte!=""){
		addAlert(alerte);
		return false;
	}
	return true;
}

// envoi les données du formulaire
function send_form(){
	$("donnees_formulaire").urlEs.value	= document.location.href;
	addAlert(textes.libelle_titre_popup);
	// envoi les données au script
	new Request({
		url			: "/cgi-bin/sendMap.php",
		method		: "post",
		encoding	: "iso-8859-1",
		data		: $("donnees_formulaire"),
		onSuccess	: function(C,B){
			// appel les statistiques
			var tag	= "";
			if($("imgVue3D")&&$("imgVue3D").getStyle("display")!="none")
				tag	= "3D";
			else
				tag	= (type_vue=="Carto")?"PLAN":"VUE";
			callStats(getLangue()+"_FORM_"+tag+"_OK",activite);
			_pjStatClic('', getLangue()+'_FORM.OK', '');
			// cache le formulaire
			new Fx.Tween($("formulaire"),{duration:"250"}).start("height",$("formulaire").getStyle("height").toInt(),0).chain(function(){
				$("formulaire").setStyle("display","none");
			});
		}
	}).send();
}


//---------------------------------------------------------------------------------------------------------------
// FONCTION POUR "IMPRIMER"
//---------------------------------------------------------------------------------------------------------------

// récupère l'url de l'impression du plan
function getUrlPrint(){
	var url		= "impression_";
	if($("imgVue3D")&&$("imgVue3D").getStyle("display")!="none")
		url	+= "vue3D";
	else{
		if(type_vue=="Photo")
			url	+= "vue";
		else if(type_vue=="Carto")
			url	+= "plan";
		else
			url	+= "plan";
	}
	url		+= ".htm";
	var params="";
	if(window.location.search!=""){
		var D=location.search.substring(1).split("&");
		for(var i=0;i<D.length;i++){
			var A=D[i].split("=");
			if(A[0] != "x" && A[0] != "y" && A[0] != "z")
				params	+= (params!=""?"&":"?")+A[0]+"="+A[1];
		}
	}
	if(Contener && (type_vue == "Photo" || type_vue == "Carto")){
		var E=Contener.GCGetCoord().toString().split(",");

		if(E[0]&&!isNaN(E[0]))
			params+=(params!=""?"&":"?")+"x="+E[0];
		else if(typeof longitude != "undefined")
			params+=(params!=""?"&":"?")+"x="+longitude;

		if(E[1]&&!isNaN(E[1]))
			params+=(params!=""?"&":"?")+"y="+E[1];
		else if(typeof latitude != "undefined")
			params+=(params!=""?"&":"?")+"y="+latitude;

		if(E[2]&&!isNaN(E[2]))
			params+=(params!=""?"&":"?")+"z="+E[2];
		else if(typeof zoom != "undefined")
			params+=(params!=""?"&":"?")+"z="+zoom;
	}
	return url+params;
}