function confirmation_action(nom_formulaire,action) {
	if (confirm('Etes vous sûr de vouloir ' + action + ' cet élément ?')) document.forms[nom_formulaire].submit();
}

// On définit le XHR d'une nouvelle méthode pour permettre d'appliquer plusieurs requêtes AJAX en même temps
pickRecentProgID = function (idList){
	// found progID flag
    var bFound = false;
    for(var i=0; i < idList.length && !bFound; i++){
        try{
            var oDoc = new ActiveXObject(idList[i]);
            o2Store = idList[i];
            bFound = true;
        }catch (objException){
            // trap; try next progID
        };
    };
    if (!bFound)
        throw "Could not retreive a valid progID of Class";
    idList = null;
    return o2Store;
}

GetXmlHttpRequest_AXO=null

GetXmlHttpRequest=function () {
	if (window.XMLHttpRequest) {
		return new XMLHttpRequest()
	}
	else if (window.ActiveXObject) {
		if (!GetXmlHttpRequest_AXO) {
			GetXmlHttpRequest_AXO=pickRecentProgID(["Msxml2.XMLHTTP.5.0", "Msxml2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
		}
		return new ActiveXObject(GetXmlHttpRequest_AXO)
	}
	return false;
}

getXhr = GetXmlHttpRequest;

function calculerPrixPromotionnel(prix,pourcentage_promotion){
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			
			//on remplace le contenu de la div
			document.getElementById('affichagePromotion').innerHTML = xhr.responseText;

			//gestion du javascript dans la page ajax pour afficher les alertes quand le champ est mal rempli
			var texte = xhr.responseText;
			var script = "";
			
			while(texte.indexOf('<script type="text/javascript">') !== -1){
				var provisoire = texte.substr(texte.indexOf('<script type="text/javascript">')+8);
				script += provisoire.substr(0,provisoire.indexOf('</script>'));
				texte = texte.substr(0,texte.indexOf('<script>'))+texte.substr(texte.indexOf('</script>')+9);
			}
			
			eval(script);
			//fin de gestion du javascript dans le fichier ajax
		}
	}
		
	xhr.open("POST",'ajax-produit-promotion.php',true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	
	xhr.send("prix="+ prix + "&pourcentage_promotion=" + pourcentage_promotion);
}

function gestionInscriptionNewsletter(id_client, email, action){
	var xhr = getXhr();
	
	xhr.onreadystatechange = function() {
		if(xhr.readyState == 4 && xhr.status == 200) {
			
			//on remplace le contenu de la div
			document.getElementById('newsletter').innerHTML = xhr.responseText;

			//gestion du javascript dans la page ajax pour afficher les alertes quand le champ est mal rempli
			var texte = xhr.responseText;
			var script = "";
			
			while(texte.indexOf('<script type="text/javascript">') !== -1){
				var provisoire = texte.substr(texte.indexOf('<script type="text/javascript">')+8);
				script += provisoire.substr(0,provisoire.indexOf('</script>'));
				texte = texte.substr(0,texte.indexOf('<script>'))+texte.substr(texte.indexOf('</script>')+9);
			}
			
			eval(script);
			//fin de gestion du javascript dans le fichier ajax
		}
	}
		
	xhr.open("POST",'ajax-gestion-newsletter-email.php',true);
	xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');	
	xhr.send("id_client=" + id_client + "&email=" + email + "&action=" + action);
}

// == Gestion Googlemap pour la liste cadeaux, lieu de l'événement
var map = null;
var geocoder = null;

function load(gps) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		// on affiche les controles
		map.addControl(new GSmallMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		//map.addControl(new GOverviewMapControl());
		// on affiche les coordonnees de poitiers par défaut
		map.setCenter(new GLatLng(46.583333, 0.333333), 5);
		geocoder = new GClientGeocoder();
	}
}

function showAddress(address,output_info,alternate,gps) {
	if (gps != '') {
		var chaine = gps;
		var reg = new RegExp("[ ,;]+", "g");
		var coordonnees = chaine.split(reg);

		var point = new GLatLng(coordonnees[0], coordonnees[1]);
		map.setCenter(point, 17);

		var marker = new GMarker(point, {draggable: true});
		map.addOverlay(marker);

		marker.openInfoWindowHtml(output_info);
	} else {
		if (geocoder) {
			geocoder.getLatLng(
				address,
				function(point) {
					if (!point) {
						if (alternate != '') showAddress(alternate,output_info,'','');
					} else {
						map.setCenter(point, 10);
						var marker = new GMarker(point, {draggable: true});
						map.addOverlay(marker);

						marker.openInfoWindowHtml(output_info);
					}
				}
			);
		}
	}
}

function load2(gps) {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map2"));
		// on affiche les controles
		//map2.addControl(new GSmallMapControl());
		//map2.addControl(new GMapTypeControl());
		//map2.addControl(new GScaleControl());
		//map.addControl(new GOverviewMapControl());
		// on affiche les coordonnees de poitiers par défaut
		map.setCenter(new GLatLng(46.583333, 0.333333), 5);
		geocoder = new GClientGeocoder();
	}
}

function showAddress2(address,output_info,alternate,gps) {
	if (gps != '') {
		var chaine = gps;
		var reg = new RegExp("[ ,;]+", "g");
		var coordonnees = chaine.split(reg);

		var point = new GLatLng(coordonnees[0], coordonnees[1]);
		map.setCenter(point, 17);

		var marker = new GMarker(point, {draggable: true});
		map.addOverlay(marker);
	} else {
		if (geocoder) {
			geocoder.getLatLng(
				address,
				function(point) {
					if (!point) {
						if (alternate != '') showAddress2(alternate,output_info,'','');
					} else {
						map.setCenter(point, 10);
						var marker = new GMarker(point, {draggable: true});
						map.addOverlay(marker);
					}
				}
			);
		}
	}
}
