var PATH='http://biogard.fr/';

var polygoneCercle = null;

////////////////////////////////////permet de parser un texte sorti d'un xml
function encodeur(texte){
	return texte;
}

////////////////////////////////vérification de la validité du mail
function chk_mail(email)
{
	var emailPat=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + '+'
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=email.match(emailPat)
	
	if (matchArray==null)
		return false;
		  
	var user=matchArray[1]
	var domain=matchArray[2]
		  
	if(user.match(userPat)==null)
		return false;
		  
	var IPArray=domain.match(ipDomainPat)
	if(IPArray!=null){
			
		for (var i=1;i<=4;i++) {
			  if (IPArray[i]>255)
				return false
		}
		return true;
	}
		  
	var domainArray=domain.match(domainPat)
		if(domainArray==null)
			return false;
		  
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3)
		return false;	
		  
	if (len<2)
		return false;
		  
	return true;
}

//////////////////////////////////////vérification mot de passe (caractères autorisés) 
function verif_mdp(evt){
	var exp = new RegExp("^[a-z0-9A-Z]+$","g");
	return exp.test(evt);
	
}

///////////////////////////////////vérification de la validité du numéro de téléphone
function valid_tel(evt){
	var exp = new RegExp("^0[0-9]{1}([-. /]?[0-9]{1,3}){3,4}$","g");
	return exp.test(evt);
}

/////////////////////////////////////////////////coupe un texte dans un textarea si celui ci depasse le nombre de caractères indiqué (length)
function maxlength(objet,length) {
	
	if(objet.value.length>length) 
		objet.innerHTML=objet.value.substr(0,length); 
		objet.value=objet.value.substr(0,length); 
} 


/////////////////////////////////////////vide le champ dont l'id est passé en parametre
function vide_champ(id_champ){	
	document.getElementById(id_champ).value="";	
}

//////////////////////////////////////////////////affiche l'élément dont l'id est passé en parametre
function affiche_element(nom_element){	
	var element = document.getElementById(nom_element);
	if(element!=null)
		element.style.display='';	
}

//////////////////////////////////////////////////cache l'élément dont l'id est passé en parametre
function cache_element(nom_element){	
	var element = document.getElementById(nom_element);	
	if(element!=null)
		element.style.display='none';	
}

////////////////////////////////////////////////permet l'affichage d'une page en mode pop-up
function affichage_popup(nom_de_la_page)
{
window.open(nom_de_la_page, "", config='height=400, width=550, toolbar=no, menubar=no, scrollbars=no, resizable=no, location=no, directories=no, status=no');
}

function affichage_popup_scrool(nom_de_la_page){

window.open(nom_de_la_page, "", config='height=500, width=600, toolbar=no, menubar=no, scrollbars=yes, resizable=no, location=no, directories=no, status=no');
}

////////////////// transforme un inut type = text en input type = password
function change_in_password(name_span){
	
	var span=document.getElementById(name_span);
	span.innerHTML='<input type="password" value="" size="13" name="password"/>';
	
	if(name_span == "new_pass_mini")
		setTimeout(function() {document.forms.form_log.password.focus();}, 10);
	else
		setTimeout(function() {document.forms.form_log_pro.password.focus();}, 10);
}


/////////////////////////////////////////////////////////////////////////fonctions pour la carte de producteurs
function showAddress(address) {
	var map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    if (geocoder) {
    geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              alert(address + " not found");
            } 
			else {			  	
				//map.clearOverlays()			 	
				map.setCenter(point, 11);
			}
          }
        );
      }
}

function creerMarker(point, onglet1, onglet2, type) {
      var icon = new GIcon();
	  if(type == "producteur")
		icon.image = "images/marker2.png";
	else
		icon.image = "images/marker1.png";
	
	icon.iconSize = new GSize(26, 34);
	icon.iconAnchor = new GPoint(13, 34);
	icon.infoWindowAnchor = new GPoint(10, 1);
	
	  var marker = new GMarker(point, icon);	  
       var infoTabs = [
         new GInfoWindowTab("Détail", onglet1),
         new GInfoWindowTab("Contact", onglet2) 
         ];
       GEvent.addListener(marker, "click", function() {
         marker.openInfoWindowTabsHtml(infoTabs);
         });
       return marker;
       }
	
//http://www.touraineverte.com/aide-documentation-exemple-tutoriel-didacticiel/api-google-maps/polyline/faire-creer-creation-dessiner-tracer/un-cercle-rond-disque-carte-map-google-maps/rayon-couleur-trait-fond-epaisseur.htm
function dessineUnCercle(centre){	
	
	var latConv = centre.distanceFrom(new google.maps.LatLng(centre.lat()+0.1, centre.lng()))/100;
	var lngConv = centre.distanceFrom(new google.maps.LatLng(centre.lat(), centre.lng()+0.1))/100;
	
	var cercleCouleur = "#0000ff";
	var cercleEpaisseur = "1";
	var cercleOpacite = ".5";
	var disqueCouleur = "#0000ff";
	var disqueOpacite = ".1";
	var rayon = document.ciblage.distance.value/2;
	var segment = 60;
	
	/* ... Création d'un tableau nommé "pointsCercle". Celui-ci va contenir tous les points nécessaires ... */
	/* ... à la construction du polygone représentant le cercle nommé "polygoneCercle" ... */
	var pointsCercle = [];
	var step = parseInt(360/segment)||10;
	for(var i=0; i<=360; i+=step){
	/* ... "pint" : coordonnées d'un point participant à la construction du polygone nommé "polygoneCercle" ... */
	var pint = new google.maps.LatLng(centre.lat() + (rayon/latConv * Math.cos(i * Math.PI/180)), centre.lng() + (rayon/lngConv * Math.sin(i * Math.PI/180)));
	/* ... Ajout du point "pint" dans le tableau "pointsCercle" ... */
	pointsCercle.push(pint);
	}
	/* ... Création d'un polygone nommé "polygoneCercle" ... */
	if(polygoneCercle != null)
		map.removeOverlay(polygoneCercle);
		
	polygoneCercle = new google.maps.Polygon(pointsCercle, cercleCouleur, cercleEpaisseur, cercleOpacite, disqueCouleur, disqueOpacite);
	/* ... on ajoute le polygone nommé "polygoneCercle" à la carte nommée "maCarte". */
	/* ... ce polygone représente le cercle tracé sur la carte. ... */
	map.addOverlay(polygoneCercle);
}

function cible(){	
	
	if(document.ciblage.codepostal.value!="" && document.ciblage.ville.value!=""){
		
		if(document.ciblage.codepostal.value.length==5 || document.ciblage.codepostal.value.length==0 || document.ciblage.codepostal.value == "code postal"){
		
			var cp = document.ciblage.codepostal.value;
			
			if(cp == "code postal")
				cp = "";
			else
				cp = ", " + cp;
			
			var input_ville=document.getElementById('ville');	
			var address=input_ville.value + cp;
			
			geocoder.getLatLng(address, function(point) {
					if (!point) {
					  alert("L'adresse : " + address + " n'a pas été trouvée");
					} 
					else {	
						var zoom=12;
						if(document.ciblage.distance.value==20)
							zoom=11;
						if(document.ciblage.distance.value==50)
							zoom=10;
							
						map.setCenter(point, zoom);
						dessineUnCercle(point);
					}
				  }
				);			   
		}
		else
		alert("Vous devez donner un code postal valide");
	}else
		alert("Vous devez remplir le code postal ou la ville avant de demander le ciblage");
}

////////////////////////////////////////////////////////////////// affiche la ville dont le codepostal a ete tapé
function replace_ville(espace_pro){
	
	var url="javascript/liste_ville.php?cp="+cp;	
		
	var xhr=null;
	var cp=document.getElementById('codepostal').value;
	
		if(cp!="" && cp.length==5){
			
			url="javascript/liste_ville.php?cp="+cp;
			if (window.XMLHttpRequest)
			{ 
				xhr = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) 
			{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			//on définit l'appel de la fonction au retour serveur
			xhr.onreadystatechange = function() { crea_select(xhr, espace_pro); };
				
			//on appelle le fichier
			xhr.open("GET", url, true);
			xhr.send(null);		
		}
		else{			
			if(espace_pro){
				document.getElementById("td_ville").innerHTML="<input type='text' id='ville' name='ville' value='' />";	
				
			}
			else{		
				document.getElementById("td_ville").innerHTML="<input type='text' size='40' autocomplete='off' value='ville' id='ville' name='ville' onkeyup='affiche_ville(this)'  onfocus='if(this.value == \'ville\') vide_champ(\'ville\')' />";
			}
					
		}
}

//////////suite - remplace l'input ville par un select
function crea_select(xhr, espace_pro){
	 
	var td=document.getElementById("td_ville");	
		
	var docXML= xhr.responseXML;
	
	if(docXML != null){
		var items = docXML.getElementsByTagName("donnee");
		var nbelement=items.length;
			
		var tab=new Array();
		
		if(nbelement!=0){
			for( var itab=0;itab<nbelement;itab++)
			{
				tab[itab]=new Array();
				e = items.item(itab);
				resxml=e.getAttribute("ville");			
				tab[itab]["res"]=encodeur(resxml);			
			}
			
			if(tab[0]["res"]!="erreur"){
				
				td.innerHTML="";		
				selects=document.createElement("select");
				selects.setAttribute("name","ville");
				selects.setAttribute("id","ville");
				
				for (i=0;i<tab.length;i++)
				{
					opt = document.createElement('Option');
					opt.innerHTML = '';
					opt.value = tab[i]["res"];
					texte=document.createTextNode(tab[i]["res"]); 
					opt.appendChild(texte);
					selects.appendChild(opt);
				} 
				td.appendChild(selects);
			}
			else{
				document.getElementById('codepostal').value="";			
				alert("Ce code postal n'existe pas");
				if(espace_pro){
					document.getElementById("td_ville").innerHTML="<input type='text' id='ville' name='ville' value='' />";						
				}
				else{		
					document.getElementById("td_ville").innerHTML="<input type='text' size='40' autocomplete='off' id='ville' name='ville' value='ville' onkeyup='affiche_ville(this)' onfocus='if(this.value == \'ville\') vide_champ(\'ville\')' />";
				}
			}
		}
	}
 }
 
//////////////////////////////////////////////////////////////////////////////////////vérification de formulaires

///////////////////////////////////////////////////////////////////////
function verif_news(){
	var mail=document.forms.form_news.mail_news.value;
	if(mail==""){		
		alert("Vous devez remplir le champ E-mail");
		return false;
	}
	
	if (!chk_mail(mail)){		
		alert("Vous devez donner une adresse mail correcte");
		return false;
	}	
	return true;
}

///////////////////////////////////////////////////////////////////////
function verif_mail_gestion(){
	var mail=document.forms.form_news_gestion.mail_gestion.value;
	if(mail==""){		
		alert("Vous devez remplir le champ E-mail");
		return false;
	}
	
	if (!chk_mail(mail)){		
		alert("Vous devez donner une adresse mail correcte");
		return false;
	}	
	return true;
}

///////////////////////////////////////////////////////////////////////
function verif_form_contact(){	
		
	if(form_contact.nom.value==''){
		alert('Veuillez saisir votre nom');
		document.forms.form_contact.nom.focus();
		return false;
	}
	
	if(form_contact.prenom.value==''){
		alert('Veuillez saisir votre prénom');
		document.forms.form_contact.prenom.focus();
		return false;
	}
	
	if(form_contact.mail.value==''){
		alert('Veuillez saisir votre E-mail');
		document.forms.form_contact.mail.focus();
		return false;
	}
		
	var email = document.form_contact.mail.value;
	if (!chk_mail(email)){
		alert('Veuillez saisir une adresse E-mail valide');
		document.forms.form_contact.mail.focus();
		return false;
	}	
	
	if(form_contact.message.value==''){
		alert('Veuillez saisir un message');
		document.forms.form_contact.message.focus();
		return false;
	}	
	return true;
}

///////////////////////////////////////////////////////////////////////
function verif_form_pro(nom_form){	

	if(nom_form=="form_log_pro"){	
	
		if(form_log_pro.login.value=='' || form_log_pro.login.value=='login'){
			alert('Veuillez saisir votre login');
			document.forms.form_log_pro.login.focus();
			return false;
		}
		
		if(form_log_pro.mdp.value=='' || form_log_pro.mdp.value=='mot de passe'){
			alert('Veuillez saisir votre mot de passe');
			document.forms.form_log_pro.mdp.focus();
			return false;
		}		
		return true;	
	}
	
	if(nom_form=="form_log"){	
	
		if(form_log.login.value=='' || form_log.login.value=='login'){
			alert('Veuillez saisir votre login');
			document.forms.form_log.login.focus();
			return false;
		}
		
		if(form_log.mdp.value=='' || form_log.mdp.value=='mot de passe'){
			alert('Veuillez saisir votre mot de passe');
			document.forms.form_log.mdp.focus();
			return false;
		}		
		return true;	
	}
	return false;
}

///////////////////////////////////////////////////////////////////////
function verif_form_recup(){
	
	if(form_recup.log.value=='' || form_recup.log.value=='Votre login'){
			alert('Veuillez saisir votre login');
			document.forms.form_recup.log.focus();
			return false;
		}
		
		if(form_recup.cp.value==''){
			alert('Veuillez saisir votre code postal');
			document.forms.form_recup.cp.focus();
			return false;
		}	
		if(form_recup.cp.value.length!=5){
			alert('Veuillez saisir un code postal valide');
			document.forms.form_recup.cp.focus();
			return false;
		}	
		return true;
}

///////////////////////////////////////////////////////////////////////
function verif_annonce(){
	if(crea_annonce.titre.value==''){
			alert('Veuillez saisir un titre');
			document.forms.crea_annonce.titre.focus();
			return false;
	}
	if(crea_annonce.texte.value==''){
			alert('Veuillez saisir un texte pour votre annonce');
			document.forms.crea_annonce.texte.focus();
			return false;
	}
	if(crea_annonce.texte.value.length>500){
			alert('Veuillez saisir un texte moins long');
			document.forms.crea_annonce.texte.focus();
			return false;
	}
	return true;	
}

///////////////////////////////////////////////////////////////////////
function verif_demande(){
	if(crea_demande.quantite.value==''){
			alert('Veuillez saisir une quantité');
			document.forms.crea_demande.quantite.focus();
			return false;
	}	
	return true;
	
}

///////////////////////////////////////////////////////////////////////
function verif_demande_inscription(){
	if(crea_demande_inscription.nom_personne.value==''){
			alert('Veuillez saisir votre nom');
			document.forms.crea_demande_inscription.nom_personne.focus();
			return false;
	}
	if(crea_demande_inscription.prenom_personne.value==''){
			alert('Veuillez saisir votre prénom');
			document.forms.crea_demande_inscription.prenom_personne.focus();
			return false;
	}
	
	var email=crea_demande_inscription.mail_personne.value;
	if(email==''){
			alert('Veuillez saisir votre E-mail');
			document.forms.crea_demande_inscription.mail_personne.focus();
			return false;
	}
	if (!chk_mail(email)){
		alert('Veuillez saisir une adresse E-mail valide');
		document.forms.crea_demande_inscription.mail_personne.focus();
		return false;
	}
	if(crea_demande_inscription.telephone_personne.value==''){
			alert('Veuillez saisir votre numéro de téléphone');
			document.forms.crea_demande_inscription.telephone_personne.focus();
			return false;
	}
	if(!valid_tel(crea_demande_inscription.telephone_personne.value)){
			alert('Veuillez saisir un numéro de téléphone correct');
			document.forms.crea_demande_inscription.telephone_personne.focus();
			return false;
	}
	
	
	if(crea_demande_inscription.mail_personne.value==''){
			alert('Veuillez saisir votre E-mail');
			document.forms.crea_demande_inscription.mail_personne.focus();
			return false;
	}
	
	if(!chk_mail(crea_demande_inscription.mail_personne.value)){
			alert('Veuillez saisir un E-mail valide');
			document.forms.crea_demande_inscription.mail_personne.focus();
			return false;
	}
	
	if(crea_demande_inscription.adresse.value==''){
			alert('Veuillez saisir votre adresse');
			document.forms.crea_demande_inscription.adresse.focus();
			return false;
	}
	if(crea_demande_inscription.codepostal.value==''){
			alert('Veuillez saisir votre code postal');
			document.forms.crea_demande_inscription.codepostal.focus();
			return false;
	}	
	return true;	
}

///////////////////////////////////////////////////////////////////////
function verif_form_coord(){
		
	
	
	var email=document.forms.form_coord.mail.value;	
	if (email!="" && !chk_mail(email)){
		alert('Veuillez saisir une adresse E-mail valide');
		document.forms.form_coord.mail_personne.focus();
		return false;
	}
	if(document.forms.form_coord.tel.value==''){
			alert('Veuillez saisir votre numéro de téléphone');
			document.forms.form_coord.tel.focus();
			return false;
	}
	if(!valid_tel(document.forms.form_coord.tel.value)){
			alert('Veuillez saisir un numéro de téléphone correct');
			document.forms.form_coord.tel.focus();
			return false;
	}	
	if(document.forms.form_coord.adresse.value==''){
			alert('Veuillez saisir votre adresse');
			document.forms.form_coord.adresse.focus();
			return false;
	}
	if(document.forms.form_coord.codepostal.value==''){
			alert('Veuillez saisir votre code postal');
			document.forms.form_coord.codepostal.focus();
			return false;
	}
	if(document.forms.form_coord.ville.value==''){
			alert('Veuillez chosir une ville');
			document.forms.form_coord.ville.focus();
			return false;
	}
	if(document.forms.form_coord.pass.value!=document.forms.form_coord.pass2.value){
			alert('Les mots de passe doivent être identiques');
			document.forms.form_coord.pass.focus();
			return false;
	}
	if(document.forms.form_coord.pass.value!="" && document.forms.form_coord.pass.value.length>12){
			alert('Le mot de passe ne doit pas faire plus de 12 caratères');
			document.forms.form_coord.pass.focus();
			return false;
	}
	if(document.forms.form_coord.pass.value!="" && document.forms.form_coord.pass.value.length<6){
			alert('Le mot de passe doit faire au moins 6 caratères');
			document.forms.form_coord.pass.focus();
			return false;
	}
	if(document.forms.form_coord.pass.value!="" && !verif_mdp(document.forms.form_coord.pass.value)){
		alert('Le mot de passe doit contenir seulement des lettres (sans accent) et des chiffres');
		document.forms.form_coord.pass.focus();
		return false;	
	}
	return true;	
}

///////////////////////////////////////////////////////////////////////
function verif_form_edit_mm(){
	if(form_edit_fiche.nom.value==''){
			alert('Veuillez remplir le nom de la fiche');
			document.form_edit_fiche.nom.focus();
			return false;
	}
	if(form_edit_fiche.longitude.value=='' || form_edit_fiche.latitude.value==''){
			alert('Veuillez définir la localisation');
			document.form_edit_fiche.longitude.focus();
			return false;
	}
	if(form_edit_fiche.telephone.value==''){
			alert('Veuillez définir le numéro de téléphone');
			document.form_edit_fiche.telephone.focus();
			return false;
	}
	var mail = form_edit_fiche.mail.value;
	if(mail==''){
			alert('Veuillez définir une adresse E-mail');
			document.form_edit_fiche.mail.focus();
			return false;
	}
	else{
		if(!chk_mail(mail)){
			alert('Veuillez donner une adresse E-mail valide');
			document.form_edit_fiche.mail.focus();
			return false;
		}
	}		
	return true;	
}

///////////////////////////////////////////////////////////////////////
function verif_form_edit_fiche(){
	if(form_edit_fiche.nom_fiche.value==''){
			alert('Veuillez remplir le nom de la fiche');
			document.form_edit_fiche.nom_fiche.focus();
			return false;
	}
	if(form_edit_fiche.longitude.value=='' || form_edit_fiche.latitude.value==''){
			alert('Veuillez définir la localisation');
			document.form_edit_fiche.longitude.focus();
			return false;
	}
	if(form_edit_fiche.telephone.value==''){
			alert('Veuillez définir le numéro de téléphone');
			document.form_edit_fiche.telephone.focus();
			return false;
	}
	var mail = form_edit_fiche.mail.value;
	if(mail==''){
			alert('Veuillez définir une adresse E-mail');
			document.form_edit_fiche.mail.focus();
			return false;
	}
	else{
		if(!chk_mail(mail)){
			alert('Veuillez donner une adresse E-mail valide');
			document.form_edit_fiche.mail.focus();
			return false;
		}
	}
	if(form_edit_fiche.description.value==''){
			alert('Veuillez donner une description');
			document.form_edit_fiche.description.focus();
			return false;
	}	
	return true;	
}


////////////////* gestion fichier (agora like)

function substr (str, start, len) {
    str += '';
    var end = str.length;
    if (start < 0) {        start += end;
    }
    end = typeof len === 'undefined' ? end : (len < 0 ? len + end : len + start);
    return start >= str.length || start < 0 || start > end ? !1 : str.slice(start, end);
}

function rm($cible)
{
	if(substr($cible,-1)=="/")  $cible = substr($cible,0,-1);
	if(is_file($cible))	
		unlink($cible);
}

function affiche_fichiers()
{
	for(var i=1; i<=10; i++)
	{
		var input = document.getElementById("ajout_fichier_joint_"+i);
		if(input.value!="")		
			affiche_element("div_fichier_joint_"+(i+1));
	}
}

////	SUPPRESSION D'UN FICHIER JOINT
function suppr_fichier_joint(id_fichier)
{
	var xhr=null;
	var url="includes/fichier_joint_suppr.php?id_fichier="+id_fichier;
	if(confirm("Êtes-vous sur de vouloir supprimmer cette image")==true) {
		if (window.XMLHttpRequest)
			{ 
				xhr = new XMLHttpRequest();
			}
			else if (window.ActiveXObject) 
			{
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			//on définit l'appel de la fonction au retour serveur
			xhr.onreadystatechange = function() { reponse(xhr); };
				
			//on appelle le fichier
			xhr.open("GET", url, true);
			xhr.send(null);		
		
		
		/*New_Http_Request("GET", );
		if(Http_Request_Result=="oui")	afficher("fichier_joint_"+id_fichier,false);*/
	}
}

function reponse(xhr){
	
	var docXML= xhr.responseXML;
	var items = docXML.getElementsByTagName("donnee");
	var nbelement=items.length;
		
	var val=null;
	var id_fichier=null;
	
	if(nbelement!=0){
		for( var itab=0;itab<nbelement;itab++)
		{
			e = items.item(itab);
			resxml=e.getAttribute("res");			
			val=encodeur(resxml);
			resxml2=e.getAttribute("id");			
			id_fichier=encodeur(resxml2);
		}
		if(val=="oui"){			
			cache_element("fichier_joint_"+id_fichier);
		}		
	}	
}


////	AFFICHAGE DES DETAILS D'OPTION
function afficher_option(id_option)
{
	affiche_element("div_fichiers_joints");
}


///////////////////////////////////////////afficher une ville du gard à partir d'une entrée texte
function affiche_ville(object){
	
	var tab_recup = object.id.split('_');
	var i= tab_recup[3];
	var val=object.value;
	
	var xhr=null;
	var url="javascript/liste_ville_gard.php?entree="+val;
	//document.getElementById("tab_result").style.display="none";	
	if(val.length>2){
	
		if (window.XMLHttpRequest)
		{ 
			xhr = new XMLHttpRequest();
		}
		else if (window.ActiveXObject) 
		{
			xhr = new ActiveXObject("Microsoft.XMLHTTP");
		}
		
		//on définit l'appel de la fonction au retour serveur
		xhr.onreadystatechange = function() {
			crea_fake_select(xhr);
		};
					
		//on appelle le fichier
		xhr.open("GET", url, true);
		xhr.send(null);
	}
	else 
		document.getElementById("tab_result").style.display="none";	
}

function crea_fake_select(xhr){
	 
	if(xhr.responseXML != null){
		var div=document.getElementById("tab_result");
		var lul = document.createElement('ul');
			
		var docXML= xhr.responseXML;
		var items = docXML.getElementsByTagName("donnee");
		var nbelement=items.length;		
		var tab=new Array();
		if(nbelement!=0){
			for( var itab=0;itab<nbelement;itab++)
			{
				tab[itab]=new Array();
				e = items.item(itab);			
				
				resxml2=e.getAttribute("ville");			
				tab[itab]["ville"]=encodeur(resxml2);
				
				resxml3=e.getAttribute("cp");			
				tab[itab]["cp"]=encodeur(resxml3);			
							
			}
			
			if(tab[0]["cp"]!=0){			
				div.innerHTML="";
				div.style.display="";	
				var li="";	
				for (i=0;i<tab.length;i++)
				{
					li = document.createElement('li');				
					texte=document.createTextNode(tab[i]["ville"]);
					li.appendChild(texte);
					li.onclick=new Function("select_fait('"+tab[i]["cp"]+"', '"+tab[i]["ville"]+"')");
					lul.appendChild(li);
											
				}			
			}		
		}
		div.appendChild(lul);
	}
 }
 
function select_fait(cp, ville){
	var input_cp=document.getElementById("codepostal");
	input_cp.value=cp;
	
	var input_ville=document.getElementById("ville");		
	input_ville.value=ville;
	
	document.getElementById("tab_result").style.display="none";
}

function change_projet(id_projet){

	var elems = document.getElementsByTagName("*");
	var matches = []; 
	for (var i=0; i<elems.length; i++) {
		if (elems[i].id && elems[i].id.indexOf("encart_projet_") != -1) {
			matches.push(elems[i]);
		}
	}
	
	for (var i=0; i<matches.length; i++) {
		if(matches[i].id != 'encart_projet_'+id_projet){
			cache_element(matches[i].id); 
		}
	}
	
	affiche_element('encart_projet_'+id_projet);
}


var textHeight = new Number();
var zoneHeight = new Number();
var scrollSpeed = 50;
var margin_begin = new Number();


function scrollText(scroll_zone){
	var objet = document.getElementById(scroll_zone);
	var currentMargin = parseInt(objet.style.marginTop) || 0;
	if(currentMargin>-(textHeight-zoneHeight) && currentMargin>(margin_begin-200)){
		//currentMargin--;
		currentMargin = currentMargin-3;
		objet.style.marginTop = currentMargin+'px';
		window.setTimeout('scrollText("'+scroll_zone+'")', scrollSpeed);
	}
	else return;
}

function deScrollText(scroll_zone){
	var objet = document.getElementById(scroll_zone);
	var currentMargin = parseInt(objet.style.marginTop) || 0;
	if(currentMargin<=(margin_begin+200) && currentMargin<0){
		//currentMargin++;
		currentMargin = currentMargin+3;
		objet.style.marginTop = currentMargin+'px';
		window.setTimeout('deScrollText("'+scroll_zone+'")', scrollSpeed);
	}
	else return;
}

function defile(scroll_conteneur, scroll_zone, up){	
	
	var conteneur = document.getElementById(scroll_conteneur);	
	var madiv = document.getElementById(scroll_zone);
	
	textHeight = madiv.offsetHeight;
	zoneHeight = conteneur.offsetHeight;
	margin_begin = parseInt(madiv.style.marginTop) || 0;
	
	if(margin_begin<=0)
		if(up == 1)
			window.setTimeout("deScrollText('"+scroll_zone+"')", 0);
		else
			window.setTimeout("scrollText('"+scroll_zone+"')", 0);
			
}
 
 
