function fenetre(page,largeur, hauteur, barre, centre)
{
	if (centre)
	{
		var left=((screen.availWidth-largeur)/2);
		var top=((screen.availHeight-hauteur)/2);
	}
	else
	{
		var left=screen.availWidth-largeur-40;

		var top=screen.availHeight-hauteur-60;
	}

	window.open(page, "", "width="+largeur+", height="+hauteur+",resizable=no, scrollbars="+barre+", toolbar=no, status=no, directories=no, menubar=no, left="+left+", top="+top+", titlebar=no");
}

function popup(URL)
{
	window.open(URL, "telecommande","resizable=yes, scrollbars=yes, toolbar=no, status=no, directories=no, menubar=no, screenX = 600, screenY = 400, width=800, height=500");
}

function getAJAX_generique(fichierPHP,variables,cible,formulaire) {
	
	//alert(cible.innerHTML);

	// L'objet qui va effectuer le lien vers le php
	var xhr_object = null;

	variables = variables;

	if(window.XMLHttpRequest) { // Firefox + Opera
		xhr_object = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) { // Internet Explorer
		xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
	} else { // XMLHttpRequest non supporté par le navigateur
		alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
		return;
	}
	
	//Petite retouche de sécurité
	fichierPHP = fichierPHP.replace(/http/,"NOHACK");
	
	//On charge le fichier PHP qui va être éxécuté
	if(formulaire == 1) {
		if(variables == '')
			variables = 'fichierPHP=' + fichierPHP;
		else
			variables += '&fichierPHP=' + fichierPHP;
		xhr_object.open('POST','php/chargerFormulaire.php', true);
	}
	else {
		xhr_object.open('POST',fichierPHP, true);
	}

	//On affiche le résultat, ou tant que l'on a pas fini on affiche que l'on est en chargement
	xhr_object.onreadystatechange = function() {
		if (xhr_object.readyState < 4) {
			cible.innerHTML = 'chargement ...';
		}
		if(xhr_object.readyState == 4) {
			var chaine=xhr_object.responseText;
			//var reg=new RegExp("(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)", "g");
			var reg=new RegExp("(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)", "g");
			
			//exécution des codes Javascript...
			var test = chaine.match(reg);
			test = test+''; //On ajoute le '' pour transformer la variable en chaine de caractère et pouvoir faire des replace()
			test = test.replace(/(?:<script.*?>)/g,'');
			test = test.replace(/(?:<\/script>)/g,'');
			//La ligne suivante est un bout de scotch
			//En effet, lorsque l'on trouve plusieurs script, match() les sépare par une virgule. 
			//Chaque ligne de code javascript se terminant pas un point-virgule, on recherche ';,' 
			//et on le remplace par ';' pour éviter l'erreur de syntaxe
			test = test.replace(/;,/g,';'); 
			//alert(xhr_object.responseText);
			cible.innerHTML = xhr_object.responseText;
			if(test != '')
				eval(test);
		}
	}


	xhr_object.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	
	//Les variables à ajouter
	var data = variables;

	//On envoie les données
	xhr_object.send(data);

}

function envoyerFormulaire_generique(variablesChamps,variablesSupplementaires,fichierPHP,cible,formulaire) {
	var variables = "";
	
	variables = variablesChamps;
	
	//On passe les variables complémentaires s'il y en a
	if(variablesSupplementaires != '')
		variables += variablesSupplementaires;

	//On appelle le tout est on charge la nouvelle page
	getAJAX_generique(fichierPHP,variables,cible,formulaire);
}

function enableMelTo(id){
	var lnk,i;
	if(!document.getElementById || !document.getElementsByTagName) return;
	if(id==null) lnk=document.getElementsByTagName("a");
	else lnk=document.getElementById(id).getElementsByTagName("a");
	var reg = /^.*melto.*$/
	for(i=0;i<lnk.length;i++) if ( reg.exec(lnk[i].className) != null ) prepareMelTo(lnk[i]);
}
function prepareMelTo(el){
	var mel=document.createElement("a");
	mel.className=el.className;
	mel.href="mailto:"+el.title+"@"+el.href.substring(11,el.href.length-1);
	mel.appendChild(document.createTextNode(el.title+"@"+el.href.substring(11,el.href.length-1)));
	el.parentNode.replaceChild(mel, el);
}	

function pop_visite(href)
{
	window.open(href, "pop_visite","resizable=yes, scrollbars=no, toolbar=no, status=no, directories=no, menubar=no, screenX = 200, screenY = 100, width=700, height=600");
}

function valider_contact(thisForm)
{
    if(thisForm.nom.value == '')
    {
         document.getElementById('erreurMessage').innerHTML = 'Merci d\'entrer votre nom';
         thisForm.nom.focus();
         return false;
    }
	if(thisForm.prenom.value == '')
    {
         document.getElementById('erreurMessage').innerHTML = 'Merci d\'entrer votre prénom';
         thisForm.prenom.focus();
         return false;
    }
	if(thisForm.ville.value == '')
    {
         document.getElementById('erreurMessage').innerHTML = 'Merci d\'entrer votre ville';
         thisForm.ville.focus();
         return false;
    }
	if(thisForm.contact_mail.value == '')
    {
         document.getElementById('erreurMessage').innerHTML = 'Merci d\'entrer votre adresse E-mail';
         thisForm.contact_mail.focus();
         return false;
    }
	return true;
}



















function ajax_send_form(form,fichierphp,cible)
{
	var f = document.getElementById(form);
	params = '' ;
	if(f) 
	{
		var champs = f.getElementsByTagName("input");
		for(var i=0, n=champs.length; i<n; i++) 
		{
			if ( champs[i].getAttribute('name') != null )
			{
				if ( champs[i].getAttribute('type') == 'checkbox' )
				{
					if ( champs[i].checked ) params += '&'+champs[i].getAttribute('name')+'='+champs[i].value ;
				}
				else
				{
					if ( champs[i].getAttribute('type') == 'radio' )
					{
						if ( champs[i].checked )
							params += '&'+champs[i].getAttribute('name')+'='+champs[i].value ;
					}
					else
					{
						params += '&'+champs[i].getAttribute('name')+'='+champs[i].value ;
					}
				}
			}
		}
		var champs = f.getElementsByTagName("textarea");
		for(var i=0, n=champs.length; i<n; i++) 
		{
			params += '&'+champs[i].getAttribute('name')+'='+champs[i].value ;
		}
		var selects = f.getElementsByTagName("select") ;
		for(var i=0, n=selects.length; i<n; i++)
		{
			params += '&'+selects[i].getAttribute('name')+'='+selects[i].options[selects[i].selectedIndex].value ;
		}
	}
	ajax(fichierphp,cible,params) ;
}

function ajax(fichierPHP,cible,variables) {

	if ( document.getElementById(cible) ) 
	{
		cible = document.getElementById(cible) ;
	}
	else
	{
		if ( ! cible )
		{
			alert('Cible inconnue : '+cible) ;
			return ;
		}
	}
	//alert(cible.innerHTML);

	/*
		var variables = 'var1='+document.getElementById('var1')+'&var2='+document.getElementById('var2') ;
	*/
	
	// L'objet qui va effectuer le lien vers le php
	var xhr_object = null;

	if(window.XMLHttpRequest) { // Firefox + Opera
		xhr_object = new XMLHttpRequest();
	}
	else if(window.ActiveXObject) { // Internet Explorer
		xhr_object = new ActiveXObject('Microsoft.XMLHTTP');
	} else { // XMLHttpRequest non supporté par le navigateur
		alert('Votre navigateur ne supporte pas les objets XMLHTTPRequest...');
		return;
	}

	//On charge le fichier PHP qui va être éxécuté
	
	xhr_object.open('POST',fichierPHP, true);

	//On affiche le résultat, ou tant que l'on a pas fini on affiche que l'on est en chargement
	xhr_object.onreadystatechange = function() {
		if (xhr_object.readyState < 4) 
		{
			cible.innerHTML = '<div class="wait"></div>' ;
		}
		if(xhr_object.readyState == 4) 
		{
		
			cible.style.background = "0" ;
			
			var chaine=xhr_object.responseText;
			//var reg=new RegExp("(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)", "g");
			var reg=new RegExp("(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)", "g");
			
			//exécution des codes Javascript...
			var test = chaine.match(reg);
			test = test+''; //On ajoute le '' pour transformer la variable en chaine de caractère et pouvoir faire des replace()
			test = test.replace(/(?:<script.*?>)/g,'');
			test = test.replace(/(?:<\/script>)/g,'');
			//La ligne suivante est un bout de scotch
			//En effet, lorsque l'on trouve plusieurs script, match() les sépare par une virgule. 
			//Chaque ligne de code javascript se terminant pas un point-virgule, on recherche ';,' 
			//et on le remplace par ';' pour éviter l'erreur de syntaxe
			test = test.replace(/;,/g,';'); 
			eval(test);
			//alert(xhr_object.responseText);
			cible.innerHTML = xhr_object.responseText;
		}
	}


	xhr_object.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
	
	//Les variables à ajouter
	var data = variables;

	//On envoie les données
	xhr_object.send(data);

}
