// if (window.addEventListener) {
// 	window.addEventListener('load', analytics, false);
// }else if (window.attachEvent) {
// 	window.attachEvent('onload', analytics);
// }
//*********************************************************************//
// FONCTION PERMETTANT DE NAVIGUER SUR LES PAGES DU LISTING D'ANNONCES //
//*********************************************************************//
function LinkPages(page){	
	document.form_nav.page.value = page;
	document.form_nav.sens.value = "stand";
	document.form_nav.submit();
}


//****************************************************************************************//
// FONCTION PERMETTANT D'ALLER SUR PAGE PRï¿½Cï¿½DANTE OU SUIVANTE DANS LE LISTING D'ANNONCES //
//****************************************************************************************//
function Go(sens){
	document.form_nav.sens.value = sens;
	document.form_nav.submit();
}
	
	
//********************************************************************//
// FONCTION PERMETTANT LE SWAPPING DES IMAGES DANS LA FICHE Dï¿½TAILLï¿½E //
//********************************************************************//
function swap(img_big, img){
	document.images[img_big].src = document.getElementById(img).src.replace('_small.jpg', '.jpg');
}


//********************************************************************//
// FONCTION PERMETTANT DE MODIFIER LA CLASS D'UN ELEMENT	//
//********************************************************************//
function setClass(elt, newClass){	
	var obj=document.getElementById(elt); 	
	if (obj==null) {alert(elt);}
	obj.className=newClass;
} 


//********************************************************************//
// FONCTION PERMETTANT D'ACTIVER OU DE Dï¿½SACTIVER L'ATTRIBUT DISABLED	//
//********************************************************************//
function setDisabled(id, state){	
	var divObj = null;
	divObj = document.getElementById(id);
 	divObj.disabled = state; 	
} 


//********************************************************************//
// FONCTION PERMETTANT D'ACTIVER OU DE Dï¿½SACTIVER L'ATTRIBUT READONLY	//
//********************************************************************//
function setReadonly(id, state){	
	var divObj = null;
	divObj = document.getElementById(id);
	divObj.readOnly = state;
} 


//***************************************************************//
// FONCTION PERMETTANT DE TRANSFORMER UNE LISTBOX EN CHAMP TEXTE //
//***************************************************************//
function ListingToFields(parent, id, valeur, maxlength){	
	// On rï¿½cupï¿½re l'objet DIV qui contient le listing
	var div = document.getElementById(parent);
	
	// On le transforme en champ texte qui contient la valeur sï¿½lectionnï¿½e
	div.innerHTML = '<input size="35" maxlength="' + maxlength + '" type="text" id="' + id + '" name="' + id + '" value="' + valeur + '">';	
}


//******************************************************************//
// FONCTION PERMETTANT DE RACCOURCIR ET AMï¿½LIORER LE GETELEMENTBYID //
//******************************************************************//
/* 
La derniï¿½re innovation en la matiï¿½re est la fonction baptisï¿½e $(), issue du projet Prototype
et qui sert de remplacement efficace ï¿½ getElementById(). En effet, grï¿½ce ï¿½ elle, un dï¿½veloppeur
peut remplacer ces appels de la forme var el = document.getElementById('id'); en var el = $('id').
C'est bien sï¿½r plus court, mais $() va plus loin, en donnant la possibilitï¿½ d'appeller plusieurs id
diffï¿½rents pour obtenir un tableau d'ï¿½lï¿½ments ï¿½ parcourir ensuite : var el = $('id1', 'id2', 'id3');.
La version que nous prï¿½sentons ici est celle de Matthew Pennell.

L'idï¿½e de cette version est d'offrir un raccourci non seulement pour getElementById(),
mais ï¿½galement getElementsByTagName() et getElementsByClass(), le tout en une seule fonction.
En somme, une boï¿½te ï¿½ outils entiï¿½re en une seule fonction simple d'usage : l'auteur la surnomme
d'ailleurs getElementsByAnything().
*/
	 
// function $(){ 
// 	var elements = new Array(); 
//   for (var i=0,len=arguments.length;i<len;i++){ 
//   	var element = arguments[i]; 
//     if (typeof element == 'string'){ 
//     	var matched = document.getElementById(element); 
//       if (matched){ 
//       	elements.push(matched); 
//       }
//       else{ 
//       	var allels = (document.all) ? document.all : document.getElementsByTagName('*'); 
//         var regexp = new RegExp('(^| )'+element+'( |$)'); 
//         for (var i=0,len=allels.length;i<len;i++) if (regexp.test(allels[i].className)) elements.push(allels[i]); 
//       } 
//       if (!elements.length) elements = document.getElementsByTagName(element); 
//       if (!elements.length){ 
//       	elements = new Array(); 
//         var allels = (document.all) ? document.all : document.getElementsByTagName('*'); 
//         for (var i=0,len=allels.length;i<len;i++) if (allels[i].getAttribute(element)) elements.push(allels[i]); 
//       } 
//       if (!elements.length){ 
//       	var allels = (document.all) ? document.all : document.getElementsByTagName('*'); 
//         for (var i=0,len=allels.length;i<len;i++) if (allels[i].attributes) for (var j=0,lenn=allels[i].attributes.length;j<lenn;j++) if (allels[i].attributes[j].specified) if (allels[i].attributes[j].nodeValue == element) elements.push(allels[i]); 
//       } 
//     }
//     else{ 
//     	elements.push(element); 
//     } 
//   } 
//   if (elements.length == 1){ 
//   	return elements[0]; 
//   }
//   else{ 
//   	return elements; 
//   } 
// }


//****************************************************************//
// FONCTION PERMETTANT D'AUTORISER QUE LES CHIFFRES DANS UN CHAMP //
//****************************************************************//
function NumMask(e){	
	var IE5 = false;

	if (!e) e = window.event;
	if (e.keyCode){
		IE5= true; code = e.keyCode;}
	else if (e.which) code = e.which ;

	//test du code
	if (code < 48 || code > 57) {
		if(IE5){
			e.returnValue = false;
		}
		else
			e.preventDefault();
	} 
}


//*********************************************************************************************//
// FONCTION PERMETTANT D'EMPï¿½CHER LES DOUBLES QUOTES ET LES PIPES DANS UN CHAMP ALPHANUMï¿½RIQUE //
//*********************************************************************************************//
function QuotePipeMask(e){	
	var IE5 = false;

	if (!e) e = window.event;
	if (e.keyCode){
		IE5= true; code = e.keyCode;}
	else if (e.which) code = e.which ;

	//test du code
	if (code == 34 || code == 166) {
		if(IE5){
			e.returnValue = false;
		}
		else
			e.preventDefault();
	} 
}


//***************************************************************//
// FONCTION PERMETTANT DE Vï¿½RIFIER LE FORMAT D'UNE ADRESSE EMAIL //
//***************************************************************//
function checkEmail(email){	
	var i;
	
	// Recherche de @
	i = email.indexOf("@");
	if (i == -1) return false;	
	
	// Sï¿½paration du nom de l'utilisateur et du nom de domaine.
	var username = email.substring(0, i);
	var domain = email.substring(i + 1, email.length)

	// Recherche des espaces au dï¿½but du nom de l'utilisateur.
	i = 0;
	while ((username.substring(i, i + 1) == " ") && (i < username.length)){
		i++;
	}
	
	// Les enlï¿½ve s'il en trouve.
	if (i > 0) username = username.substring(i, username.length);
	
	// Recherche d'espaces ï¿½ la fin du nom de domaine.
	i = domain.length - 1;
	while ((domain.substring(i, i + 1) == " ") && (i >= 0)) {
		i--;
	}
	
	// Les enlï¿½ve s'il en trouve.
	if (i < (domain.length - 1)) domain = domain.substring(0, i + 1);
	
	// Vï¿½rifie que le nom de l'utilisateur et du domaine ne soit pas vide.
	if ((username == "") || (domain == ""))	return false;
	
	// Vï¿½rifie s'il n'y a pas de caractï¿½res interdits dans le nom de l'utilisateur.
	var ch;
	for (i = 0; i < username.length; i++){
		ch = (username.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || ((ch >= "0") && (ch <= "9")) ||	(ch == "_") || (ch == "-") || (ch == "."))) return false;		
	}
	
	// Vï¿½rifie s'il n'y a pas de caractï¿½res interdits dans le nom de domaine
	for (i = 0; i < domain.length; i++){
		ch = (domain.substring(i, i + 1)).toLowerCase();
		if (!(((ch >= "a") && (ch <= "z")) || ((ch >= "0") && (ch <= "9")) ||	(ch == "_") || (ch == "-") || (ch == "."))){
			return false;
		}
	}

	// Ajouter ci-dessous de nouveaux noms de domaine (une liste sur http://www.toulouse-renaissance.net/c_outils/c-nom-domaine.htm)
	var aSuffix = new Array("com","net","int","aero","biz","museum","name","info","coop","pro","eu","edu","org","gov","gouv","mil","bj","dz","de","ad","be","ca","bf","bi","cm","cf","cg","cd","ci","cn","dj","fr","ga","gp","gf","jp","lu","mg","ml","ma","mq","mr","mc","nc","pf","re","pm","sn","ch","td","tf","tn");
	var bFoundSuffix = false;
	i = 0;
	while (i < aSuffix.length){
		if (("." + aSuffix[i]) == domain.substring(domain.length - aSuffix[i].length - 1, domain.length))	return true;		
		i++;
	}
	
	// Si le nom de domaine est inconnu  : return false
	return false;	
}


function formChecker(name){
	this.name=name;
	this.checkprix = function(){
		if(arguments.length == 0) return false;
		var _form = eval('document.' + arguments[0]);
		var _prix = _form.prix.value;
		if(_prix == ''){
			alert("Vous devez renseigner le champ prix !");
			return false;
		}else{
			return true;

		}
	}
	this.checkprixachat = function(){
		if(arguments.length == 0) return false;
		var _form = eval('document.' + arguments[0]);
		var _prix = _form.prixachat.value;
		if(_prix == ''){
			alert("Vous devez renseigner le champ prix !");
			return false;
		}else if(_prix.length < 4){
			alert("Le prix doit contenir au moins 4 chiffres.");
			return false;
		}else{
			return true;

		}
	}
	this.checklocalisation = function(){
		if(arguments.length == 0) return false;
		var _localisation = eval('document.' + arguments[0] + '.localisation');
		if(_localisation.value != '' && _localisation.value != 'Saisir une localisation ci-dessus'){
			return true;
		}else{
			alert("Vous devez renseigner la localisation où se situe le bien.");
			return false;
		}
	}
	this.checkville = function(){
		if(arguments.length == 0) return false;
		var _ville = eval('document.' + arguments[0] + '.ville');
		if(_ville.value != ''){
			return true;
		}else{
			alert("Vous devez renseigner la Ville où se situe le bien.");
			return false;
		}
	}
	this.checkville1 = function(){
		if(arguments.length == 0) return false;
		var _ville1 = eval('document.' + arguments[0] + '.ville1');
		var _cp1 = eval('document.' + arguments[0] + '.cp1');
		if(_ville1.value != '' || _cp1.value != ''){
			return true;
		}else{
			alert("Vous devez sélectionner une Ville ou indiquer un Code Postal.");
			return false;
		}
	}
	this.checkville2 = function(){
		if(arguments.length == 0) return false;
		var _ville = eval('document.' + arguments[0] + '.ville');
		if(_ville.value != ''){
			return true;
		}else{
			alert("Vous devez indiquer une Ville.");
			return false;
		}
	}
	this.checkvilleOrCp = function(){
		if(arguments.length == 0) return false;
		var _ville1 = eval('document.' + arguments[0] + '.ville1');
		var _dept1 = eval('document.' + arguments[0] + '.dept1');
		if(_ville1.value != '' || _dept1.value != ''){
			return true;
		}else{
			alert("Vous devez sélectionner une Ville ou indiquer un Code Postal.");
			return false;
		}
	}
	this.checkcp = function(){
		if(arguments.length == 0) return false;
		var _cp = eval('document.' + arguments[0] + '.cp');
		if(_cp.value != ''){ 
			return true;
		}else{
			alert("Vous devez renseigner le Code Postal où se situe le bien.");
			return false;
		}
	}
	this.checkcp2 = function(){
		if(arguments.length == 0) return false;
		var _cp = eval('document.' + arguments[0] + '.cp');
		if(_cp.value != ''){ 
			return true;
		}else{
			alert("Vous devez renseigner votre Code Postal.");
			return false;
		}
	}
	this.checkValidCp = function(){
		var cpObj = eval('document.' + arguments[0] + '.' + arguments[1]);
		var expCp = /^\d{5}$/;
		if(cpObj.value.match(expCp) || cpObj.value == ''){
			return true;
		}else{
			alert("Le Code Postal doit contenir 5 chiffres.");
			cpObj.value = '';
			cpObj.focus();
			return false;
		}
	}
	this.checknom = function(){
		if(arguments.length == 0) return false;
		var _nom = eval('document.' + arguments[0] + '.nom');
		if(_nom.value != ''){
			return true;
		}else{
			alert("Vous devez indiquer votre Nom.");
			return false;
		}
	}
	this.checkprenom = function(){
		if(arguments.length == 0) return false;
		var _prenom = eval('document.' + arguments[0] + '.prenom');
		if(_prenom.value != ''){
			return true;
		}else{
			alert("Vous devez indiquer votre Prénom.");
			return false;
		}
	}
	this.checkagence = function(){
		if(arguments.length == 0) return false;
		var _agence = eval('document.' + arguments[0] + '.agence');
		if(_agence.value != ''){
			return true;
		}else{
			alert("Vous devez indiquer votre Agence ou Société.");
			return false;
		}
	}
	this.checkadresse = function(){
		if(arguments.length == 0) return false;
		var _adresse = eval('document.' + arguments[0] + '.adresse');
		if(_adresse.value != ''){
			return true;
		}else{
			alert("Vous devez indiquer votre Adresse.");
			return false;
		}
	}	
	this.checkemail = function(){
		if(arguments.length == 0) return false;
		var _email = eval('document.' + arguments[0] + '.email');
		if(_email.value == '')
			{
			alert("Vous devez indiquer votre adresse Email.");
			return false;
			}						
		if(_email.value != '')
			{   		 
		if(checkEmail(_email.value))
				{
				return true;
				}
			else
				{
				alert("Le format de cet Email n'est pas valide !");
				return false;
				}		
		}
	return false;
	}
	
	this.checkemail_confirm = function(){
		if(arguments.length == 0) return false;		
		var _email = eval('document.' + arguments[0] + '.email');
		var _email_confirm = eval('document.' + arguments[0] + '.email_confirm');
		if(_email_confirm.value == ''){
			alert("Vous devez confirmer votre adresse Email.");
			return false;
		}						
		if(_email_confirm.value != ''){			 
			//var exp = /w{3}\./i;
			//var exp2 = /@\D{1,}\.\D{1,}/i;
			//var tmp_email = _email_confirm.value.match(exp);
			//var tmp_email2 = _email_confirm.value.match(exp2);
			
			//if(tmp_email){
			//	alert("Le format de cet Email n'est pas valide !");
			//	return false;
			//}else if(tmp_email2){
				if(_email_confirm.value != _email.value){
					alert("Les deux adresses email doivent être indentiques !");
					return false;
				}else{
					return true;
				}
			//}else{
			//	alert("Le format de cet Email n'est pas valide !");
			//	return false;
			//}		
		}		  
		return false;
	}
	this.checkemailami = function(){
		if(arguments.length == 0) return false;
		var _email = eval('document.' + arguments[0] + '.emailami');
		var _emailconfirm = eval('document.' + arguments[0] + '.emailamiconfirm');
		if(_email.value == ''){
			alert("Vous devez indiquer l'adresse Email de votre ami.");
			return false;
		}else{
			if(_email.value != _emailconfirm.value){
				alert("Les deux champ 'E-mail de votre ami' et 'Confirmez l\'E-mail de votre ami' ne sont pas identiques.");
				return false;
			}else{
				var exp = /w{3}\./i;
				var exp2 = /@\D{1,}\.\D{1,}/i;
				var tmp_email = _email.value.match(exp);
				var tmp_email2 = _email.value.match(exp2);
				if(tmp_email){
					alert("Le format de cet Email n'est pas valide !");
					return false;
				}else if(tmp_email2){
					return true;
				}else{
					alert("Le format de cet l'Email de votre ami n'est pas valide !");
					return false;
				}
			}
		}
	}
	this.checktel = function(){
		if(arguments.length == 0) return false;
		var _tel = eval('document.' + arguments[0] + '.tel');
		if(_tel.value != ''){
			if(_tel.value.length == 10){
				return true;
			}else{
				alert("Le numéro de Téléphone doir contenir 10 chiffres.");
				return false;
			}
		}else{
			alert("Vous devez indiquer votre numéro de Téléphone.");
			return false;
		}
	}
	this.checkmessage = function(){
		if(arguments.length == 0) return false;
		var _message = eval('document.' + arguments[0] + '.message');
		if(_message.value != ''){
			return true;
		}else{
			alert("Le champ Message doit être rempli.");
			return false;
		}	
	}
	this.checkquestion = function(){
		if(arguments.length == 0) return false;
		var _question = eval('document.' + arguments[0] + '.question');
		if(_question.value != ''){
			return true;
		}else{
			alert("Le champ Question doit être rempli.");
			return false;
		}	
	}
	this.checkpseudo = function(){
		if(arguments.length == 0) return false;
		var _pseudo = eval('document.' + arguments[0] + '.pseudo');
		if(_pseudo.value != ''){
			return true;
		}else{
			alert("Le champ Pseudo doit être rempli.");
			return false;
		}
	}
	this.checkprixvente = function(){
		if(arguments.length == 0) return false;
		var _prix = eval('document.' + arguments[0] + '.prix');
		var regExp = /\d\d\d\d\d/;
		if(!_prix.value.match(regExp)){
			alert("Le prix minimum de vente est trop faible(5 chiffres minimum)!");
			return false;
		}else{
			return true;
		}
	}

	this.checkvalidation = function(){
		if(arguments.length == 0) return false;
		var _validation = eval('document.' + arguments[0] + '.btAccepter');
		if(_validation.checked == true){
			return true;
		}else{
			alert("Vous devez accepter de recevoir nos annonces par mail.");
			return false;
		}
	}
	this.checkoptin = function(){
		if(arguments.length == 0) return false;
		var _optin = eval('document.' + arguments[0] + '.optin');
		if(_optin.checked == true){
			return true;
		}else{
			alert("Vous devez accepter les conditions d'utilisation de ce service.");
			return false;
		}
	}
	this.checkouinon = function(){
		if(arguments.length == 0) return false;
		var _oui = eval('document.' + arguments[0] + '.ouinon[0].checked');
		var _non = eval('document.' + arguments[0] + '.ouinon[1].checked');
		if(_oui == true || _non == true){
			return true;
		}else{
			alert("Merci de choisir une réponse.");
			return false;
		}
	}
	
}
//*********************************************************************************//
// FONCTION PERMETTANT DE Vï¿½RIFIER LE FORMULAIRE DE CONTACTE AVANT DE LE SOUMETTRE //
//*********************************************************************************//
function checkFormContact(){
	var formContact = new formChecker('form_contact');
	 // On vï¿½rifie chaque champ
	 if (document.form_contact.nom.value == ''){alert('Votre nom est une information obligatoire !'); return;}
	 if (document.form_contact.email.value == ''){alert('Votre email est une information obligatoire !'); return;}
	 if (!checkEmail(document.form_contact.email.value)){alert('Votre email est dans un format incorrect !'); return;}
	 
	 if (document.form_contact.nom.value == ''){alert('Votre nom est une information obligatoire !'); return;}
	 if (document.form_contact.nom.value == ''){alert('Votre nom est une information obligatoire !'); return;}
	 
	 
	 var error = true;
	 for(var i = 2; i < arguments.length; i++)
	 	{
		 var arg = eval('formContact.check' + arguments[i]);
		 if(arg(arguments[0]))		 	
			 error = false;
		 else
		 	{
			 error = true;
			 break;
			}
		}
	
	 // S'il n'y a aucune erreur, on lance le traitement de la Popup
	 if(!error)
	 	{
		 var _form = eval('document.' + arguments[0]);
		 // Si l'argument Popup est rempli, alors on l'ouvre en HTML et on l'indique ï¿½ la CGI...
		 if (arguments[1] != "")
			{			 
			 window.open(arguments[1],'POPUP','top='+top_centre(165)+', left='+left_centre(395)+', width=395,height=165,scrollbars=no,status=no,menubar=no');
			}
			
		 // On soumet le formulaire
		 _form.submit();
		 
		 // On remet le formulaire ï¿½ zero...
		 _form.reset();
		}
	// Ici, il y a une erreur... on sort.
	else				
		return;	
}


//***************************************************************************************//
// FONCTION PERMETTANT DE FAIRE UN REMPLACEMENT RECURRENT D'UN CARACTERE DANS UNE CHAï¿½NE //
//***************************************************************************************//
function replaceAll(str, new_car, old_car) {	
  while (str.indexOf(old_car) != -1)   	
    str = str.replace(old_car, new_car);
  return str;
}


//************************************************************************************//
// FONCTION PERMETTANT D'ENLEVER TOUS LES CARACTERES SPï¿½CIAUX D'UN STRING POUR L'AJAX //
//************************************************************************************//
function Normalize(str) {  
  // Tableau des caractï¿½res spï¿½ciaux
  var spec = new Array("ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½", "ï¿½");
  // Equivalent de la version normalisï¿½e
  var norm = new Array("a", "a", "a", "A", "A", "A", "e", "e", "e", "e", "E", "E", "E", "E", "i", "i", "I", "I", "o", "o", "O", "O", "u", "u", "u", "U", "U", "U", "c", "C");
    
  // On parcourt toutes les possibilitï¿½s de caractï¿½res
  for (var i = 0; i < spec.length; i++)
  	// fonction de remplacement
  	str = replaceAll(str, norm[i], spec[i]);
  
  // On renvoit la chaï¿½ne ainsi traitï¿½e
  return str;
}

//***********************************************************//
// FONCTION PERMETTANT DE RENDRE EDITABLE UN CHAMP DESACTIVE //
//***********************************************************//
function setEnabled(obj) 
{	var o=document.getElementById(obj);
	o.style.border="2px solid red";
	o.style.backgroundColor="#EEE";
	}
	
function disable(obj) 
{	var o=document.getElementById(obj);
	o.style.border="1px solid blue";
	o.style.backgroundColor="#DDD";
}


//************************************************//
// FONCTION PERMETTANT DE RENDRE VISIBLE UN OBJET //
//************************************************//
function setVisible(obj){
	obj = document.getElementById(obj);
	obj.style.visibility = 'visible';
}


//**************************************************//
// FONCTION PERMETTANT DE RENDRE INVISIBLE UN OBJET //
//**************************************************//
function setUnvisible(obj){
	obj = document.getElementById(obj);
	obj.style.visibility = 'hidden';
}


//**********************************************************//
// FONCTION POUR CONCATENER DES VALEURS DANS UN CHAMP TEXT+
// METTRE UN HIDDEN A JOUR. UTLISISEE DANS liste_email.cgi
//**********************************************************//
function ajoute(valeur) 
{ 
		if (window.name=='receiver' && this.opener.document.getElementById('receiver').value=="")
		{ o=(this.opener.document.getElementById('receiver'));}
		else if (window.name=='copie-cachee')
			{o=(this.opener.document.getElementById('copie-cachee'));}
		else {o=(this.opener.document.getElementById('copie'));}
	
	o.value=valeur+";"+o.value;
}


//*****************************************************************************//
// FONCTION PERMETTANT DE CONSERVER L'ADRESSE COMPLETE D'UN FICHIER A UPLOADER //
// 							(I.E. ECRIT DANS UN CHAMP HIDDEN LE CHEMIN COMPLET //
//*****************************************************************************//
function cheminUpload(chemin){
	var o = this.document.getElementById('cheminPJ');
	o.value=chemin+";"+o.value;	
}
	

//****************************************************************************//
// FONCTION PERMETTANT DE REMPLACER DANS UNE EXPRESSION UN MOTIF PAR UN AUTRE //
//****************************************************************************//
function Remplace(expr,a,b) {
	var i=0
  while (i!=-1){
  	i=expr.indexOf(a,i);
    if (i>=0){
    	expr=expr.substring(0,i)+b+expr.substring(i+a.length);
      i+=b.length;
    }
  }
  return expr
}


//**************************************************************************************//
// FONCTION PERMETTANT DE SELECTIONNER 1 NB CHOISI DE CHECKBOX DANS UN FORMULAIRE		//
//**************************************************************************************//
function select_part() {
	var tab=opener.document.getElementsByName('prospect_select');
	var i=this.document.getElementById('nb_selection').value;
	if (i>tab.length) {i=tab.length;}
	for (j=1; j<=i; j++) {
		tab[j-1].checked=true;
		}
	}


//******************************************************************************************//
// FONCTION PERMETTANT DE SELECTIONNER OU DESELECT TOUS LES CHECKBOX DANS UN FORMULAIRE		//
//******************************************************************************************//
function select_all(bool) {
	var tab=document.getElementsByName('prospect_select');
	for (j=0; j<tab.length; j++) {
		tab[j].checked=bool;
		}
	}


//**************************************************************************************************//
// FONCTION PERMETTANT DE Dï¿½Sï¿½LECTIONNER TOUS LES CHECKBOX DANS UN FORMULAIRE N'AYANT PAS MEME ID	//
//**************************************************************************************************//
function unselect(formulaire, selection) {
	var tab=document.forms[formulaire].elements;
			for (i=0; i<tab.length; i++) {
			if (tab[i].name!=selection) {tab[i].checked=false;}
		}
}

//**************************************************************************************************//
// FONCTION PERMETTANT DE METTRE TOUS LES CHECKBOX 'selection' D'UN FORMULAIRE 'formulaire' DANS LE MEME//
//			ETAT QU'UN REFERER 'referer'
//**************************************************************************************************//
function setSelectedOrNot(formulaire, selection, referer) {
	var tab=document.forms[formulaire].elements;
			for (i=0; i<tab.length; i++) {
			if (tab[i].name==selection) {tab[i].checked=document.getElementById(referer).checked;}
		}
}


//*********************************************************//
// FONCTION PERMETTANT D'AJOUTER UN ï¿½Lï¿½MENT DANS UN SELECT //
//*********************************************************//
function AddOptionSelect(libelle, valeur, selectId, optGroupName){	
	// On vï¿½rifie tout d'abord que le dï¿½partement n'est pas vide...
	if (valeur == ""){
		alert("Vous devez indiquer un dï¿½partement !");
		return;
	}
	// Et qu'il est composï¿½ de 2 chiffres !
	if (valeur != "" && valeur.length <2){
		alert("Le dï¿½partement doit ï¿½tre composï¿½ de 2 chiffres !");
		return;
	}		
	
	// Y a-t'il doublon ?
	for (i = 0; i < document.getElementById(selectId).options.length; i++){
		if (document.getElementById(selectId).options[i].value == valeur){
			alert('Le département ' + valeur + ' est déjà dans la liste !');
			// On remet le Select ï¿½ l'index 0
			document.getElementById(selectId).options.selectedIndex = 0;
			document.getElementById('dept').value = "";
			return;
		}
	}

	// Calcul du nombre de dï¿½partements actuels
  var nb_dept_left = document.getElementById(selectId).options.length - 1;
	var newOption = new Option(libelle,valeur);
	if (optGroupName == ""){		
  	document.getElementById(selectId).options[document.getElementById(selectId).options.length] = newOption;
  }
  else{
  	var optGroup = document.getElementById("optGroup_"+ selectId +"_"+ optGroupName);
    var Tlibelle = new Array;
    var Tvaleur = new Array;
    var nbOptOrigine;
    // Mis en mï¿½moire des options actuelle
    for (var i = 0; i < optGroup.getElementsByTagName("option").length; i++){
    	Tvaleur[i] = optGroup.getElementsByTagName("option")[i].value;
      Tlibelle[i] = optGroup.getElementsByTagName("option")[i].innerHTML;
      nbOptOrigine = i;
    }
    // Suppression de tout le optGroup
    supp_optgroup(selectId, optGroupName)
    // Crï¿½ation de l'optGroup en fin du select
    ajout_optgroup(selectId, optGroupName)
    // Parcour et ajout des options mï¿½morisï¿½es
    for (var i = 0; i < nbOptOrigine+1; i++){
    	memOption = new Option(Tlibelle[i],Tvaleur[i]);
      document.getElementById(selectId).options[document.getElementById(selectId).options.length] = memOption;
    }    
    // Ajout de la nouvelle option
    newOption = new Option(libelle,valeur);
    document.getElementById(selectId).options[document.getElementById(selectId).options.length] = newOption;
    newOption.selected = true;           
  }
  
  // Incrï¿½mentation du nombre de dï¿½partements liï¿½s
  nb_dept_left++;
  document.getElementById('intro_liste_dept').innerHTML = nb_dept_left + " département(s) lié(s)";
  // On remet le Select ï¿½ l'index 0
	$(selectId).options.selectedIndex = 0;
	$('dept').value = "";
  // Message utilisateur
  alert("Département " + valeur + " correctement ajouté de la liste.");
}


//************************************************************//
// FONCTION PERMETTANT DE SUPPRIMER UN ï¿½Lï¿½MENT DANS UN SELECT //
//************************************************************//
function DelOptionSelect(selectId){	
	// On vï¿½rifie qu'on a sï¿½lectionnï¿½ un dï¿½partement	
	if (document.getElementById(selectId).options.selectedIndex > 0){
		// Mise en mï¿½moire du dï¿½partement sï¿½lectionnï¿½
		var dept = document.getElementById(selectId).options[document.getElementById(selectId).options.selectedIndex].value;
		// Suppression du dï¿½partement choisi
		document.getElementById(selectId).options[document.getElementById(selectId).options.selectedIndex] = null;
		// Rï¿½indication du nombre de dï¿½partement restant
		var nb_dept_left = document.getElementById(selectId).options.length - 1;
		if (nb_dept_left == 0){
			document.getElementById('intro_liste_dept').innerHTML = "Aucun dï¿½partement liï¿½";
		}
		else{			
			document.getElementById('intro_liste_dept').innerHTML = nb_dept_left + " dï¿½partement(s) liï¿½(s)";
		}
		// On remet le Select ï¿½ l'index 0
		document.getElementById(selectId).options.selectedIndex = 0;
		// Message utilisateur
		alert("Dï¿½partement " + dept + " correctement supprimï¿½ de la liste.");
  } 
  else{
		alert("Vous devez sï¿½lectionner un dï¿½partement !");
	}
}


//****************************************************************//
// FONCTION PERMETTANT DE Vï¿½RIFIER UNE DATE DE FORMAT JJ/MM/AAAA  //
//****************************************************************//
function MaskDate(d) {
	// La date peut ï¿½tre vide
	if (d == "" || d == "sans objet")
		return true;
	
	e = new RegExp("^[0-9]{2}\/[0-9]{2}\/([0-9]{4})$");
	
	// On teste l'expression rï¿½guliï¿½re pour valider la forme de la date
	if (!e.test(d))
		return false

	// On sï¿½pare la date en 3 variables pour vï¿½rification, parseInt() converti du texte en entier
	j = parseInt(d.split("/")[0], 10); // jour
	m = parseInt(d.split("/")[1], 10); // mois
	a = parseInt(d.split("/")[2], 10); // annï¿½e

	// Dï¿½finition du dernier jour de fï¿½vrier
	// Annï¿½e bissextile si annnï¿½e divisible par 4 et que ce n'est pas un siï¿½cle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
	else fev = 28;

	// Nombre de jours pour chaque mois
	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}


//****************************************************************//
// FONCTION PERMETTANT DE Vï¿½RIFIER UNE DATE DE FORMAT JJ/MM/AAAA  //
//****************************************************************//
function MaskCA(ca) {	
	// Dï¿½finition du mask
	e = new RegExp("g{1}[0-9]{4}");
	
	// Test de l'expression rï¿½guliï¿½re
	if (!e.test(d))
		return false
		
	return true;
}


//*********************************************************************************//
// FONCTION PERMETTANT DE Vï¿½RIFIER UNE DATE D'APRES 3 VARIABLES JOUR, MOIS, ANNEE  //
//*********************************************************************************//
function MaskDate2(j, m, a) {
	// Dï¿½finition du dernier jour de fï¿½vrier
	// Annï¿½e bissextile si annnï¿½e divisible par 4 et que ce n'est pas un siï¿½cle, ou bien si divisible par 400
	if (a%4 == 0 && a%100 !=0 || a%400 == 0) fev = 29;
	else fev = 28;

	// Nombre de jours pour chaque mois
	nbJours = new Array(31,fev,31,30,31,30,31,31,30,31,30,31);

	// Enfin, retourne vrai si le jour est bien entre 1 et le bon nombre de jours, idem pour les mois, sinon retourn faux
	return ( m >= 1 && m <=12 && j >= 1 && j <= nbJours[m-1] );
}

//*********************************************************************************//
// FONCTION POUR EMPECHER LE RAFRAICHISSEMENT DE LA PAGE						  //
//*********************************************************************************//
function antiRefresh(e) {
	/*if (e.which=='116') {
		for (var i=0; i<this.document.forms.length;i++) {
			var formulaire=this.document.forms[i];
			formulaire.reset();
			/*for (var j=0;j<formulaire.elements.length;j++) {
				formulaire.elements[j].value=0;
				}
			}
		}	*/
var xhr_object ;
if(window.XMLHttpRequest) // Firefox 
	   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..."); 
	   } 
	xhr_object.abort();
		
	return;
}


//******************************************//
// FONCTIONS PERMETTANT DE CENTRER LA POPUP //
//******************************************//
function top_centre(hauteur){
	 var top=(screen.height-hauteur)/2;
	 return top;
}	

function left_centre(largeur){
	 var left=(screen.width-largeur)/2;
	 return left;
}

// function analytics(event) {
// 	var script1 = document.createElement('script');
// 	script1.src="http://www.google-analytics.com/ga.js";
// 	script1.type="text/javascript";
// 	document.body.appendChild(script1);
// 	var script2 = document.createElement('script');
// 	script2.src="/javascript/commun/analytics.js";
// 	script2.type="text/javascript";
// 	document.body.appendChild(script2);
// }


function slide (dir, id) {
// 	var slideWidth = document.getElementById('diapo_0').style.width;
	if (!document.getElementById(id).currentPos) {
		document.getElementById(id).currentPos = 0;
	}
	if (!document.getElementById(id).style.left) {document.getElementById(id).style.left = 0;}
	var slideWidth = document.getElementById(id+'_1').offsetLeft;
	var nextPosition = document.getElementById(id).currentPos;
	if (dir=="droite") {
	// 		slideWidth = document.getElementById('diapo_'+currentPosition).offsetLeft;
	// 		currentPosition++;
			nextPosition++;
		}else{
	// 		 currentPosition--;
			nextPosition--;
		}
	var end = slideWidth * (-nextPosition);
	var pos = parseInt(document.getElementById(id).style.left);
	if (dir =="droite" && (pos <= end || nextPosition > 16 )) {return;}
	else if (dir =="gauche" && ( pos >= end || nextPosition < -3 ) ) {return;}
	else {
		document.getElementById(id).currentPos = nextPosition;
		animate(id, dir , end);
	}
	
}

function scroll (dir, id) {
	if (!document.getElementById(id).currentPos) {
		document.getElementById(id).currentPos = 0;
	}
	if (!document.getElementById(id).limit) {
		document.getElementById(id).limit = 0;
		var elemts = document.getElementById(id).childNodes;
		for (var i=0;i<elemts.length;i++) {
			if (elemts[i].tagName =='LI'){
				document.getElementById(id).limit++;
			}
		}
		document.getElementById(id).limit-=1;
	}

	if (!document.getElementById(id).style.top) {document.getElementById(id).style.top = 0;}
	var slideWidth = document.getElementById(id+'_1').offsetHeight;
	var nextPosition = document.getElementById(id).currentPos;
	if (dir=="haut") {
	// 		slideWidth = document.getElementById('diapo_'+currentPosition).offsetLeft;
	// 		currentPosition++;
			nextPosition++;
		}else{
	// 		 currentPosition--;
			nextPosition--;
		}
		
	var end = slideWidth * (-nextPosition);
	var pos = parseInt(document.getElementById(id).style.top);
	if (dir =="haut" && (pos <= end || nextPosition > document.getElementById(id).limit)) {return;}
	else if (dir =="bas" && ( pos >= end || nextPosition < 0 ) ) {return;}
	else {
		document.getElementById(id).currentPos = nextPosition;
		animate(id, dir , end);
	}
	
}

function goto(point, id, e) {
	var pp = document.getElementsByClassName('petitPiedOn');
	for (var i = 0;i < pp.length;i++) {
		pp[i].className='petitPied';
	}
	try {
		e.target.className = 'petitPiedOn';
	}catch (err) {
		try {
			e.srcElement.className = 'petitPiedOn';
		}catch(err) {}
	}
		
	var slideWidth = document.getElementById(id+'_1').offsetLeft;
	var pos = (parseInt(document.getElementById(id).style.left) ? parseInt(document.getElementById(id).style.left) : 0);
	var end = pos + slideWidth * (document.getElementById(id).currentPos - point);
	if (pos > end) {
		document.getElementById(id).currentPos = point;
		animate(id, 'droite' , end);
	}else if( pos < end) {
		document.getElementById(id).currentPos = point;
		animate(id, 'gauche' , end);
	}else{return;}

}
function animate (elt, dir, position) {
	
	var posLeft = parseInt(document.getElementById(elt).style.left);
	if (dir == "haut" || dir == "bas") {
		posLeft = parseInt(document.getElementById(elt).style.top);
	}
	if (!posLeft) {
		posLeft = 0;
	}
	if (dir == 'haut'){
		if (posLeft > position) {
			posLeft -= 20;
			if (posLeft < position) {posLeft = position;}
			document.getElementById(elt).style.top=posLeft+"px";
			setTimeout("animate(\'"+elt+"\', \'"+dir+"\',"+ position +")", 40);
		}
		else {
			return;
		}
	} else if (dir == 'bas') {
		if (posLeft < position) {
			posLeft += 20;
			if (posLeft > position) {posLeft = position;}
			document.getElementById(elt).style.top=posLeft+"px";
			setTimeout("animate(\'"+elt+"\', \'"+dir+"\', "+ position +")", 40);
		}
		else {
			return;
		}
	} else if (dir == 'gauche') {
		if (posLeft < position) {
			posLeft += 20;
			if (posLeft > position) {posLeft = position;}
			document.getElementById(elt).style.left=posLeft+"px";
			setTimeout("animate(\'"+elt+"\', \'"+dir+"\', "+ position +")", 40);
		}
		else {
			return;
		}
	} else if (dir == 'droite'){
		if (posLeft > position) {
			posLeft -= 20;
			if (posLeft < position) {posLeft = position;}
			document.getElementById(elt).style.left=posLeft+"px";
			setTimeout("animate(\'"+elt+"\', \'"+dir+"\',"+ position +")", 40);
		}
		else {
			return;
		}
	} 
}

function accordeon (id, sens) {
try {
	var end = 0;
	if (sens == 'down') {
		var children = document.getElementById(id).childNodes;
		for (var i=0;i < children.length;i++) {
			if (children[i].tagName=='LI') {
				end += children[i].offsetHeight;
			}
			end+=1;
		}
	}
	document.getElementById(id).style.height = document.getElementById(id).offsetHeight + "px";
	stretch(sens, id, end);
}catch(err){}
}

function stretch (sens, id, fin) {
	var elt = document.getElementById(id);
	var h = parseInt(elt.style.height);
	if (sens == 'up' && h > fin) {
		h = h - 20;
		if (h < fin) {h=fin;}
		elt.style.height = h + "px";
		setTimeout("stretch('"+sens+"', '"+id+"', '"+fin+"')", 40);
	}else if (sens == 'down' && h < fin) {
		h = h + 20;
		if (h > fin) {h=fin;}
		elt.style.height = h + "px";
		setTimeout("stretch('"+sens+"', '"+id+"', '"+fin+"')", 40);
	}
	return true;
}

/* --- ONGLET --- */
function selectTab(onglet){		
	// Avant quoique ce soit, s'agit-il d'une fermeture ?
	/*if (document.getElementById('onglet_' + onglet).className == "on"){
		document.getElementById('onglet_' + onglet).className = "";
		document.getElementById('li_' + onglet).className = "";	
		document.getElementById('form_' + onglet).style.display = "none";
		return;
	}*/
		
	// On récupère tous les enfants du UL
	var allChilds = document.getElementById('ulMenu').childNodes;
	// Réinitialisation des LI, ONGLETS et FORMS
	var i = allChilds.length;
		
	while(i--){
		if(allChilds[i].nodeName == "LI" && allChilds[i].id){
			
			if (allChilds[i].id.match(/^li_/)) {
				try{
					document.getElementById(allChilds[i].id).className = "";
					document.getElementById(allChilds[i].id.replace('li_', 'onglet_')).className = "";
					document.getElementById(allChilds[i].id.replace('li_', 'form_')).className = "formOff";
					document.getElementById(allChilds[i].id.replace('li_', 'form_')).style.display = "none";
				}catch(e){alert(e);}
			}
		}		
	}
	// Activation des objets désirés
	document.getElementById('onglet_' + onglet).className = "on";
	document.getElementById('li_' + onglet).className = "bgOn";
	document.getElementById('form_' + onglet).className= "formOn";
	document.getElementById('form_' + onglet).style.display= "inline";
}

var timerVille;
function getVilles(valeurs) {
	clearTimeout(timerVille);
	valeurs=valeurs.replace(/\'/, "\\\'");
	timerVille = setTimeout("subgetVilles('"+valeurs+"')", 250);
}

function subgetVilles(valeurs) {
	if (valeurs.length > 1) {
		startAjax();
		setTimeout("stopAjax()", 3000);
		// Variable qui va contenir l'objet AJAX
		var httpRequest = false;
		
		// Création de l'objet AJAX
		try{
			httpRequest = new XMLHttpRequest();
			if (httpRequest.overrideMimeType){
				httpRequest.overrideMimeType('text/xml');
			}
		}catch(e){
			try{
				httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
			}catch (e){
				try{
					httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
				}catch (e){}
			}
		}
		
		if (!httpRequest){
			alert('Abandon :( Impossible de créer une instance XMLHTTP');
			return false;
		}
		// 	httpRequest.open('GET', url + ieTrick('&'), true);
		httpRequest.open('POST', '/perl/ajax/villes.pl', true);
		httpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		httpRequest.send('villes='+valeurs);
		httpRequest.onreadystatechange = function() {
			try{
				if (httpRequest.responseText.match(/^Pas de/)) {
					_Div = document.getElementById('_Div_villes');
					_Div.innerHTML='';
					_Div.style.display='block';
					var _SpanTitre = document.createElement('SPAN');
					_SpanTitre.className='spanTitre';
					_SpanTitre.innerHTML = httpRequest.responseText;
					_Div.appendChild(_SpanTitre);
				}else{
					var _champVille =  document.form_preciser.localisation;
					multiple_villes =1;
					/*var _posLeft = fieldOffset(_champVille,'offsetLeft') + "px";
					 v ar _posTop = fieldO*ffset(_champVille,'offsetTop') + 32 + "px";*/
					var villes = httpRequest.responseText.split("|");
					if(villes.length>0) {
						_Div = document.getElementById('_Div_villes');
						_Div.innerHTML='';
						var _SpanTitre = document.createElement('SPAN');
						_SpanTitre.className='spanTitre';
						_SpanTitre.innerHTML = 'Merci de préciser... <span class="fermer" onclick="document.getElementById(\'_Div_villes\').style.display=\'none\'">X</span>';
						
						_Div.appendChild(_SpanTitre);
						
						// 					_Div.style.left = _posLeft;
						// 					_Div.style.top = _posTop;
						//Constrution des span villes;
						var j = villes.length - 1;
						for (i=0; i < j; i++) {
							var d = document.createElement('DIV');
							d.id = 'div_' + i;
							var s = document.createElement('SPAN');
							s.id = villes[i]+'span';
							s.id.replace(/'/g, "_");
							s.className='spanVille';
							s.innerHTML = villes[i];
							d.onmousedown = mDown;
							d.appendChild(s);
							_Div.appendChild(d);
						}
						_Div.style.display='block';
					}
				}
			}catch(e){stopAjax();}
			
		};
		return false;
	}
}
var mDown=function(){
	t=this.firstChild;
	if (document.form_preciser.localisation.value.match(/^Ville,/)) document.form_preciser.localisation.value = "";
	document.getElementById('_Div_villes').style.display='none';
	document.form_preciser.localisation.value=t.innerHTML;
	document.form_preciser.blur();
	
// 	if (document.getElementById('cityList').className == 'Out') document.getElementById('cityList').className='Over';
// 	this.parentNode.removeChild(this);
// 	if (document.getElementById('_Div_villes').childNodes.length == 1) setTimeout("document.getElementById('_Div_villes').style.display='none'", 500);
}
//#########################Gestion de la souris#########################
//Variables souris&DragDrop
posX = 0;
backUpPosX = 0;
object = "";
objectSize = 0;
moveCurseur=false;
step=0;
//le pendant de l'objet en mouvement : curseur droit si c'est le gauche en mouvement
pendant= "";
posParent = 0;
//le type de valeur : un prix, une surface etc... afin de définir les ordres de grandeurs et les unités à utiliser
type="";
//defini la position du curseur qui bouche : gauche (=0) ou droite(=1)
sens=0

document.onmousemove = getMousePos;
document.onmouseup = stopDragDrop;

minSurf=0;
maxSurf=250;
minTypeSurface=0;
maxTypeSurface=5;
minPrix=0;
maxPrix=500000;
minSurfTerr=0;
maxSurfTerr=2000;

initialVals = new Array ();
initialVals['typesurfaceG']=minTypeSurface;
initialVals['typesurfaceD']=maxTypeSurface;
initialVals['surfaceG']=minSurf;
initialVals['surfaceD']=maxSurf;
initialVals['prixG']=minPrix;
initialVals['prixD']=maxPrix;
initialVals['surfaceterrG']=minSurfTerr;
initialVals['surfaceterrD']=maxSurfTerr;


function moveReturnTop ()
{
	if (document.all)
	{
		//ie
		document.getElementById("returnTop").style.top = document.documentElement.scrollTop + 5 + "px";
	}
	else
	{
		//fire
		document.getElementById("returnTop").style.top = window.pageYOffset + 5 + "px";
	}
	if (window.pageYOffset < 600)
		document.getElementById("returnTop").style.display = "none";
	else document.getElementById("returnTop").style.display = "block";
}


function getMousePos (e) {
	if (document.all) {
		posX=event.screenX - window.screenLeft;
		// 		event.preventDefault();
		event.cancelBubble=true;
		// 		event.returnValue= false;
	}
	else {
		posX=e.screenX - window.screenX;
		e.preventDefault();
		e.returnValue= false;
	}
	if (moveCurseur==true) {
		
		if (object != "")
		{
			var curseur = document.getElementById(object);
			var curseurTwin = document.getElementById(pendant);
			if(document.getElementById('newtooltip')) {
				divtooltip = document.getElementById('newtooltip');
			}else{
				divtooltip = createdivTooltip('newtooltip');
				curseur.parentNode.appendChild(divtooltip);
			}
			
			switch (type)
			{
				case("rayon"):
					setWidth('simple', curseur );
					curseur.val = parseInt((posX - posParent[0]) * (maxRayon/curseur.parentNode.offsetWidth) );
					
					if (curseur.val < minRayon)
						curseur.val = minRayon;
					else if (curseur.val  > (maxRayon+step)) {
						delete curseur.val ;
					}else if (curseur.val  > maxRayon) {
						curseur.val = maxRayon;
					}
					
					if(!curseur.val) {
						document.getElementById("rayon").value = divtooltip.innerHTML = "N.C";
					}
					else if ( curseur.val ==0)
					{
						document.getElementById("rayon").value = divtooltip.innerHTML = "min";
					}
					else {
						document.getElementById("rayon").value = divtooltip.innerHTML = curseur.val;
					}
					divtooltip.style.width=(divtooltip.innerHTML.length * 8)+"px";
					// 					}
					break;
					
					
				case("prix"):
					
					if(sens==0) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxPrix / curseur.parentNode.offsetWidth) / step) * step;
						if (curseur.val < minPrix){
							curseur.val = minPrix;
							curseur.style.width = "18px";
						}else if (curseur.val > curseurTwin.val)
							curseur.val = curseurTwin.val;
						
						if (!curseur.val || curseur.val==0)
						{
							document.getElementById("prixMin").value = divtooltip.innerHTML = "min";
						}
						else {
							document.getElementById("prixMin").value= curseur.val;
							divtooltip.innerHTML = FormatInt(curseur.val) + '&euro;';
						}
						
					}
					else if (sens==1) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxPrix / curseur.parentNode.offsetWidth) / step) * step;
						if (curseur.val < curseurTwin.val)
							curseur.val = curseurTwin.val;
						else if (curseur.val  > (maxPrix+step)) {
							delete curseur.val ;
						}else if (curseur.val  > maxPrix) {
							curseur.val = maxPrix;
							curseur.style.width = curseur.parentNode.offsetWidth - 18;
						}
						// 						erreur(curseur.style.width+' '+curseur.parentNode.offsetWidth, 0, 'recherche');
						if (!curseur.val || curseur.val==0)
						{
							document.getElementById("prixMax").value= divtooltip.innerHTML = "max";
							try {curseur.style.width = "18px"}
							catch(e){curseur.width = "18px"}
							
							break;
						}
						else {
							document.getElementById("prixMax").value= curseur.val;
							divtooltip.innerHTML = FormatInt(curseur.val) + '&euro;';
						}
						
					}
					setWidth('double', curseur);
					divtooltip.style.width=(divtooltip.innerHTML.length * 8)+"px";
					break;
					
				case("surface"):
					setWidth('double', curseur);
					if(sens==0) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxSurf / curseur.parentNode.offsetWidth) / step) * step ;
						if (curseur.val < minSurf){
							curseur.val = minSurf;
							curseur.style.width = "18px";
						}else if (curseur.val > curseurTwin.val )
							curseur.val = curseurTwin.val;
						
						
						if (!curseur.val || curseur.val==0)
						{
							document.getElementById("surfaceMin").value = divtooltip.innerHTML = "min";
						}
						else {
							document.getElementById("surfaceMin").value = curseur.val;
							divtooltip.innerHTML = curseur.val + 'm&sup2;';
						}
					}
					else if (sens==1) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxSurf / curseur.parentNode.offsetWidth) / step) * step;
						if (curseur.val < curseurTwin.val)
							curseur.val = curseurTwin.val;
						else if (curseur.val  > (maxSurf+step)) {
							delete curseur.val ;
						}else if (curseur.val  > maxSurf) {
							curseur.val = maxSurf;
							curseur.style.width = curseur.parentNode.offsetWidth - 18;
						}
						if (!curseur.val || curseur.val==0)
						{
							document.getElementById("surfaceMax").value = divtooltip.innerHTML = "max";
						}
						else {
							document.getElementById("surfaceMax").value = curseur.val;
							divtooltip.innerHTML = curseur.val + 'm&sup2;';
						}
					}
					divtooltip.style.width=(divtooltip.innerHTML.length * 8)+"px";
					break;
				case("typesurface"):
					setWidth('double', curseur);
					if(sens==0) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxTypeSurface / curseur.parentNode.offsetWidth) / step) * step ;
						if (curseur.val < minTypeSurface){
							curseur.val = minTypeSurface;
							curseur.style.width = "18px";
						}else if (curseur.val > curseurTwin.val ){
							curseur.val = curseurTwin.val;
						}
						
						if (!curseur.val || curseur.val==0){
							document.getElementById("typesurfaceMin").value = divtooltip.innerHTML = "min";
						}else {
							document.getElementById("typesurfaceMin").value = divtooltip.innerHTML = curseur.val;
						}
					}else if (sens==1) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxTypeSurface / curseur.parentNode.offsetWidth) / step) * step;
						if (curseur.val < curseurTwin.val){
							curseur.val = curseurTwin.val;
						}else if (curseur.val  > (maxTypeSurface+step)) {
							delete curseur.val ;
						}else if (curseur.val  > maxTypeSurface) {
							curseur.val = maxTypeSurface;
							curseur.style.width = curseur.parentNode.offsetWidth - 18;
						}
						if (!curseur.val || curseur.val==0){
							document.getElementById("typesurfaceMax").value = divtooltip.innerHTML = "max";
						}else {
							document.getElementById("typesurfaceMax").value = divtooltip.innerHTML = curseur.val;
						}
					}
					divtooltip.style.width=(divtooltip.innerHTML.length * 8)+"px";
					break;
				case("surfaceterr"):
					setWidth('double', curseur);
					if(sens==0) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxSurfTerr / curseur.parentNode.offsetWidth) / step) * step ;
						if (curseur.val < minSurfTerr){
							curseur.val = minSurfTerr;
							curseur.style.width = "18px";
						}else if (curseur.val > curseurTwin.val ) {
							curseur.val = curseurTwin.val;
						}
						
						if (!curseur.val || curseur.val==0)
						{
							document.getElementById("surfaceTerrMin").value = divtooltip.innerHTML = "min";
						}
						else {
							document.getElementById("surfaceTerrMin").value = curseur.val;
							divtooltip.innerHTML = curseur.val + 'm&sup2;';
						}
					}
					else if (sens==1) {
						curseur.val = parseInt( (posX - posParent[0]) * (maxSurfTerr / curseur.parentNode.offsetWidth) / step) * step;
						if (curseur.val < curseurTwin.val)
							curseur.val = curseurTwin.val;
						else if (curseur.val  > (maxSurfTerr+step)) {
							delete curseur.val ;
						}else if (curseur.val  > maxSurfTerr) {
							curseur.val = maxSurfTerr;
							curseur.style.width = curseur.parentNode.offsetWidth - 18;
						}
						if (!curseur.val || curseur.val==0)
						{
							document.getElementById("surfaceTerrMax").value = divtooltip.innerHTML = "max";
						}
						else {
							document.getElementById("surfaceTerrMax").value = curseur.val;
							divtooltip.innerHTML = curseur.val + 'm&sup2;';
						}
					}
					divtooltip.style.width=(divtooltip.innerHTML.length * 8)+"px";
					break;
			}
		}
	}else return;
}

function startDragDrop (id){
	if (moveCurseur) {moveCurseur=false;return}
	else {moveCurseur=true;}
	object = id;
	pendant=id;
	posParent = getLeft(document.getElementById(object).parentNode);

	document.body.style.MozUserSelect="none";
	if(id.match(/D$/)) {
		pendant = pendant.replace(/^(\w*)D$/, "$1G");
		sens=1;
	}else{
		pendant = pendant.replace(/^(\w*)G$/, "$1D");
		sens=0;
	}
	if (! document.getElementById(object).val) {
		document.getElementById(object).val = initialVals[id];
	}
	try{
		if (! document.getElementById(pendant).val) {
			document.getElementById(pendant).val = initialVals[pendant];
		}
	}catch(e){}

	step = Math.abs(parseInt((initialVals[id] - initialVals[pendant] ) / 50));
	if(id == 'typesurfaceG' || id == 'typesurfaceD'){
		step=1;
	}
	type=object;
	type = type.replace(/^(\w*)\w$/, "$1");
	backUpPosX = posX;
	objectSize = document.getElementById(object).offsetWidth;
}

function stopDragDrop ()
{
	moveCurseur=false;
	posParent=[0,0];
	setTimeout('try{divtooltip.parentNode.removeChild(divtooltip)}catch(err){}', 500);
	if (object != "") {
		try {
			for (var cpt = 0; cpt<annoncesPlus.length; cpt++)
			{
				if (!annoncesPlus[cpt].get("caddye") && (annoncesPlus[cpt].get("prix")<valPrixG || annoncesPlus[cpt].get("prix")>valPrixD || annoncesPlus[cpt].get("surfaceh")<valSurfG || annoncesPlus[cpt].get("surfaceh")>valSurfD))
				{
					if (annoncesPlus[cpt].titre.style.display=="block")
					{
						annoncesPlus[cpt].titre.style.display="none";
						annoncesPlus[cpt].annonce.style.display="none";
						annoncesAff--;
					}
				}
				else
				{
					if (annoncesPlus[cpt].titre.style.display=="none")
					{
						if (!annoncesPlus[cpt].get("caddye") && (boostMe[annoncesPlus[cpt].get("bien")].checked && boostMe[annoncesPlus[cpt].get("typebien")].checked && boostMe[annoncesPlus[cpt].get("cp")].checked && boostMe[annoncesPlus[cpt].get("ville")].checked && boostMe[annoncesPlus[cpt].get("typesurface")].checked && ((!boostMe["recent"].checked && !annoncesPlus[cpt].get("recent")) || annoncesPlus[cpt].get("recent")) && ((!boostMe["photo"].checked && !annoncesPlus[cpt].get("photo")) || annoncesPlus[cpt].get("photo")) && annoncesPlus[cpt].get("surfaceh")<=valSurfD && annoncesPlus[cpt].get("surfaceh")>=valSurfG && annoncesPlus[cpt].get("prix")<=valPrixD && annoncesPlus[cpt].get("prix")>=valPrixG))
						{
							annoncesPlus[cpt].titre.style.display="block";
							annoncesAff++;
						}
					}
				}
			}
			object = "";
			dispAnnoncesAff (annoncesAff);
			dispRecapCrit ();
		}catch(e){}
	}
}

function classBy (tag)
{
	var min,temp;
	
	for (var cpt1 = 0; cpt1 < annoncesPlus.length-1; cpt1++)
	{
		min = cpt1;
		for (var cpt2 = cpt1 + 1; cpt2 < annoncesPlus.length; cpt2++)
		{
			if (annoncesPlus[cpt2].get(tag) < annoncesPlus[min].get(tag))
			{
				min=cpt2;
			}
		}
		
		if (min != cpt1)
		{
			temp = annoncesPlus[cpt1];
			annoncesPlus[cpt1] = annoncesPlus[min];
			annoncesPlus[min] = temp;
		}
	}
	
	if (classTag != tag || nbClick % 2 == 0)
	{
		if (classTag)
			document.getElementById(classTag+"A").className = "tri_null";
		document.getElementById(tag+"A").className = "tri_haut";
		for (var cpt = 0; cpt < annoncesPlus.length; cpt++)
		{
			globalAnnonces.appendChild(annoncesPlus[cpt].titre);
			globalAnnonces.appendChild(annoncesPlus[cpt].annonce);
		}
		classTag = tag;
		nbClick=1;
	}
	else
	{
		document.getElementById(tag+"A").className = "tri_bas";
		for (var cpt = annoncesPlus.length - 1; cpt >= 0; cpt--)
		{
			globalAnnonces.appendChild(annoncesPlus[cpt].titre);
			globalAnnonces.appendChild(annoncesPlus[cpt].annonce);
		}
		nbClick++;
	}
}

function boostThis (id)
{
	boostMe [id] = document.getElementById(id);
}


function setWidth(curseurType, object) {
	
	switch (curseurType) {
		case ('simple') :
			if (posX > posParent[0] && posX <= posParent[0]+object.parentNode.offsetWidth-5.5) {
				object.style.width = objectSize-posX+backUpPosX+"px";
				divtooltip.style.left=(Math.abs(posX - posParent[0]))+"px";
			}
			break;
			
		case ('double') :
			if (object.className == "curseurG")
			{
				if (posX > (posParent[0] + 5.5)  && posX < ( posParent[0] + object.parentNode.offsetWidth - document.getElementById(pendant).offsetWidth - 5.5 )  && sens==0  ) {
					try {object.style.width = objectSize+posX-backUpPosX+"px";}
					catch(e){object.width = objectSize+posX-backUpPosX+"px";}
					divtooltip.style.left=(Math.abs(posX - posParent[0]))+"px";
				}
			}
			else
			{
				if (posX < (posParent[0] + object.parentNode.offsetWidth - 5.5) && sens == 1 && posX > ( document.getElementById(pendant).offsetWidth + posParent[0]  ) ) {
					try {object.style.width = objectSize-posX+backUpPosX+"px";}
					catch(e){object.width = objectSize-posX+backUpPosX+"px";}
					divtooltip.style.left=(Math.abs(posX - posParent[0]))+"px";
				}
			}
			
			break;
	}
}
function getLeft(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
		
		return [curleft,curtop];
	}
}

function createdivTooltip(id) {
	var div = document.createElement('DIV');
	// 	div.className="infobulle infobulleOnglets";
	div.id = id;
	div.className='vignetteCurseur';
	div.style.visibility='visible';
	div.style.width="20px";
	div.style.position="relative";
	div.style.top="-25px";
	return div;
}
function switchTypeSearch(type_search){
	switch(type_search){
		case ('terrains') :
			document.getElementById('criteres').className='block';
			document.getElementById('_divTypesurface').style.display='none';
			document.getElementById('_divSurfaceh').style.display='none';
			document.getElementById('_divSurfaceTerr').style.display='block';
			break;
		case ('programmes') :
			document.getElementById('criteres').className='none';
			break;
		case ('constructions') :
			document.getElementById('criteres').className='block';
			document.getElementById('_divTypesurface').style.display='block';
			document.getElementById('_divSurfaceh').style.display='block';
			document.getElementById('_divSurfaceTerr').style.display='block';
			break;
		case ('modeles') :
			document.getElementById('criteres').className='block';
			document.getElementById('_divTypesurface').style.display='block';
			document.getElementById('_divSurfaceh').style.display='block';
			document.getElementById('_divSurfaceTerr').style.display='none';
			break;
		case ('professionnels') :
			document.getElementById('criteres').className='none';
			break;
		case ('appartements') :
			document.getElementById('criteres').className='block';
			document.getElementById('_divTypesurface').style.display='block';
			document.getElementById('_divSurfaceh').style.display='block';
			document.getElementById('_divSurfaceTerr').style.display='none';
			break;
	}
}
function showHideCriteres(){
	if(document.form_preciser.type_search[0].checked == true){
		switchTypeSearch('programmes');
	}else if(document.form_preciser.type_search[1].checked == true){
		switchTypeSearch('terrains');
	}else if(document.form_preciser.type_search[2].checked == true){
		switchTypeSearch('constructions');
	}else if(document.form_preciser.type_search[3].checked == true){
		switchTypeSearch('modeles');
	}else if(document.form_preciser.type_search[4].checked == true){
		switchTypeSearch('professionnels');
	}else if(document.form_preciser.type_search[5].checked == true){
		switchTypeSearch('appartements');
	}
}
function FormatInt(amount){
	var delimiter = " "; // replace comma if desired
	var i = parseInt(amount);
	i = Math.abs(i);
	var n = new String(i);
	var a = [];
	while(n.length > 3){
		var nn = n.substr(n.length-3);
		a.unshift(nn);
		n = n.substr(0,n.length-3);
	}
	if(n.length > 0) { a.unshift(n); }
	n = a.join(delimiter);
	return n;
}

