/* Fonction qui initialise le formulaire depuis les donn\u00E9es Lotus *//* ****************************************************************** */// on est oblige de ne pas recuperer en direct ces champs la car// on ne veut pas ouvrir la form en edition en lotus (passthru html)function initText(formname, fieldname, fieldvaluename){	fieldtext=eval('document.forms[\''+formname+'\'].' + fieldname);	if (fieldtext) {		fieldvalue=eval('document.forms[\'main\'].' + fieldvaluename+'.value');		fieldtext.value=fieldvalue;	}}function initRadio(formname, fieldname, fieldvaluename){	fieldradio=eval('document.forms[\''+formname+'\'].' + fieldname);	fieldvalue=eval('document.forms[\'main\'].' + fieldvaluename+'.value');	pos=0;	for (var i=0; i<fieldradio.length;i++ )	{	if (fieldradio.options[i].value==fieldvalue) {pos=i};	}	fieldradio.selectedIndex=pos;}function initCheckbox(formname, fieldname, fieldvaluename){	fieldcheckbox=eval('document.forms[\''+formname+'\'].' + fieldname);	fieldvalue=eval('document.forms[\'main\'].' + fieldvaluename+'.value');	if (fieldcheckbox) {		if (fieldcheckbox.length){			vfieldvalue=fieldvalue.split('-');			for (i=0; i<fieldcheckbox.length ; i++) {				for (k=0; k<vfieldvalue.length; k++) {					if (fieldcheckbox[i].value==vfieldvalue[k]) {						fieldcheckbox[i].checked=true;					}				}			}		} else {			if (fieldcheckbox.value==fieldvalue) {				fieldcheckbox.checked=true;			}		}	}}function initForm() {	initRadio('main','searchprov','fsearchprov');	initRadio('main','searchcat','fsearchcat');	initRadio('display','nbpp_choix','nbpp');	initCheckbox('main','searchvpub','fsearchvpub');}function initDetails(){	initCheckbox('details','searchsubcat','fsearchsubcat');	initCheckbox('details','searchgarage','fsearchgarage');	initCheckbox('details','searchjardin','fsearchjardin');		initCheckbox('details','searchterrasse','fsearchterrasse');		initCheckbox('details','searchplainpied','fsearchplainpied');	initCheckbox('details','searchrc1','fsearchrc1');	initCheckbox('details','searchgrenam','fsearchgrenam');	initText('details','chamin','fchamin');	initText('details','chamax','fchamax');}/* Fonction qui transforme le formulaire en URL de recherche *//* ****************************************** *//* applique le rechargement des r\u00E9sultats si la recherche a chang\u00E9 */function updateSearch() {	getElement('ajaxresults').innerHTML="<h1>Rechargement en cours....</h1>";	var frm=window.document.forms['main'];	frm.firsttime.value='';	postForm();	// check if type has changed, if yes, throw refresh of details	if (frm.searchcat.options[frm.searchcat.selectedIndex].value!=frm.fsearchcat.value) {		loadDetail(frm.searchcat.options[frm.searchcat.selectedIndex].value);		frm.fsearchcat.value=frm.searchcat.options[frm.searchcat.selectedIndex].value;	}}   /* Sauvegarde la recherche actuelle *//* ************************************* */   function serializeField(formname, fieldname, fieldtype, serializeString) {	fieldobj=eval('document.forms[\''+formname+'\'].' + fieldname);	if (fieldobj) {		if (serializeString!='') {			serializeString=serializeString+"&";		}		switch (fieldtype) {			case "text":				serializeString=serializeString+fieldname+"="+encodeURI( noaccent(fieldobj.value) );				// also refresh main doc in case of return				if (formname=='details') {				 	formmain=eval('document.forms[\'main\'].f' + fieldname);				 	formmain.value=fieldobj.value;				}			break;			case "checkbox":				if (fieldobj.length) {					alldata="";					for (i=0; i<fieldobj.length; i++){						if (fieldobj[i].checked) {							if (alldata!='') {								alldata=alldata+"-";							}							alldata=alldata+encodeURI( fieldobj[i].value);						}												}					serializeString=serializeString+fieldname+"="+alldata;											if (formname=='details') {				 		formmain=eval('document.forms[\'main\'].f' + fieldname);				 		formmain.value=alldata;					}										} else {					if (fieldobj.checked) {						serializeString=serializeString+fieldname+"="+encodeURI( fieldobj.value );							} else {						serializeString=serializeString+fieldname+"=";					}										if (formname=='details') {						if (fieldobj.checked) {					 		formmain=eval('document.forms[\'main\'].f' + fieldname);			 						 			formmain.value=fieldobj.value;				 		}					}																			}			break;			case "radio":				serializeString=serializeString+fieldname+"="+encodeURI( fieldobj.options[fieldobj.selectedIndex].value );						if (formname=='details') {					formmain=eval('document.forms[\'main\'].f' + fieldname);					formmain.value=fieldobj.options[fieldobj.selectedIndex].value;				}			break;		}	}	return serializeString;}function cancelMap(){	var frm=window.document.forms[0];	frm.mapaction.value='';	frm.locationtype.value='box';}function postForm() {	var frm=window.document.forms[0];	serializeString="";		serializeString=serializeField('main', 'unid', 'text', serializeString);	serializeString=serializeField('main', 'nbpp', 'text', serializeString);	serializeString=serializeField('main', 'startp', 'text', serializeString);	serializeString=serializeField('main', 'display', 'text', serializeString);		serializeString=serializeField('main', 'firsttime', 'text', serializeString);			serializeString=serializeField('main', 'mapaction', 'text', serializeString);		// reinitialize mapaction if not null	if (frm.mapaction.value!='') {		frm.mapaction.value='normal';		frm.locationtype.value='map';	}		serializeString=serializeField('main', 'locationtype', 'text', serializeString);	// nothing for mpscale, mapcenterx, mapcentery		serializeString=serializeField('main', 'mapxmin', 'text', serializeString);		serializeString=serializeField('main', 'mapxmax', 'text', serializeString);					serializeString=serializeField('main', 'mapymin', 'text', serializeString);		serializeString=serializeField('main', 'mapymax', 'text', serializeString);			serializeString=serializeField('main', 'mapsearchx', 'text', serializeString);		serializeString=serializeField('main', 'mapsearchy', 'text', serializeString);			serializeString=serializeField('main', 'searchcat', 'radio', serializeString);	serializeString=serializeField('main', 'pmax', 'text', serializeString);	serializeString=serializeField('main', 'pmin', 'text', serializeString);		serializeString=serializeField('main', 'supmin', 'text', serializeString);		serializeString=serializeField('main', 'supmax', 'text', serializeString);		serializeString=serializeField('main', 'searchvpub', 'checkbox', serializeString);	// uniquement pour vente publique	serializeString=serializeField('main', 'searchvpubonly', 'text', serializeString);		serializeString=serializeField('main', 'searchvpubdate', 'checkbox', serializeString);		//** fin uniquement pour vente publique	serializeString=serializeField('main', 'searchtext', 'text', serializeString);		serializeString=serializeField('main', 'searchprov', 'radio', serializeString);			serializeString=serializeField('details', 'searchsubcat', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchgarage', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchgrenam', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchjardin', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchplainpied', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchterrasse', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchrc1', 'checkbox', serializeString);	serializeString=serializeField('details', 'chamin', 'text', serializeString);	serializeString=serializeField('details', 'chamax', 'text', serializeString);		serializeString=serializeString+"&database=search.nsf";	postRequest('/servlet/query?x',serializeString);	  }function postRequest(url, parameters) {ecrire_cookie("querydid", document.main.unid.value);new Ajax.Request(url+"=d&"+parameters+'&d='+new Date().getTime(), {  method: 'get',  onSuccess: function updatePageR(transport) {												var response = transport.responseXML;												var resp= response.getElementsByTagName('response')[0];																								var content=getNodeValue(resp, 'results');												var title=getNodeValue(resp, 'title');												var map=getNodeValue(resp, 'map');												var navigation=getNodeValue(resp, 'navigation');																							if (map){													if (map!='-' && map!='') {													if (getElement('mapajax')){													getElement('mapajax').innerHTML=map;													}													}												}												getElement('ajaxresults').innerHTML=content;													getElement('ajaxtitle').innerHTML=title;													getElement('ajaxnavigationtop').innerHTML=navigation;													getElement('ajaxnavigationbottom').innerHTML=navigation;																									if (getElement('selection')){													if (document.forms[0].searchcat.options[document.forms[0].searchcat.selectedIndex].value=='') {														disabledrag();													} else {														initDragZoom();enabledrag();													}												}												}																						});   }   function loadDetail(bientype) {   parameters='';	if(window.XMLHttpRequest) channel0 = new XMLHttpRequest(); 		 else if(window.ActiveXObject)channel0 = new ActiveXObject("Msxml2.XMLHTTP");		 else if(window.ActiveXObject)channel0 = new ActiveXObject("Microsoft.XMLHTTP"); 	else { alert('Your brower is not ajax compliant!');};                  url="/notmaison/search.nsf/moresearch" +bientype+"?ReadForm";      channel0.onreadystatechange = function updateDetail() {		if (channel0.readyState == 4) {			result = channel0.responseText;			getElement('detailcontent').innerHTML=result;			initDetails();        		}       }      channel0.open('POST', url+'&d='+new Date().getTime(), true);      channel0.setRequestHeader("Content-type", "application/x-www-form-urlencoded");      channel0.setRequestHeader("Content-length", parameters.length);      channel0.setRequestHeader("Connection", "close");      channel0.send("");   }/* Fonction d'ouverture d'une fiche bien *//* **************************************** */   function openbien(url) {	if (window.document.forms[0].unid) {		window.location.href=url+"&querydid="+window.document.forms[0].unid.value;	} else {		window.location.href=url;	}}/* Fonction de mise \u00E0 jour du nbpp et de la start page *//* ******************************************************* */   function unbpp(new_nbpp) {document.forms['main'].nbpp.value=new_nbpp;document.forms['main'].startp.value='1';}function ustartp(new_startp) {document.forms[0].startp.value=new_startp;}function udisplay(new_display){document.forms['main'].display.value=new_display;}/* Fonctions de compatibilit\u00E9 *//********************************/   function getElement(aID){      return (document.getElementById) ? document.getElementById(aID)                                      : document.all[aID];   } function getContent(respt, tagbegin,tagend) { 	var intermediate=(respt.split(tagbegin))[1].split(tagend)[0]; 	var intermediate=intermediate.replace('<![CDATA[',''); 	var intermediate=intermediate.replace(']]>',''); 	return intermediate;}/* Fonctions li\u00E9es \u00E0 l'annuaire *//*********************************/  function postFormAn() {	var frm=document.forms[0];	serializeString="";		serializeString=serializeField('main', 'unid', 'text', serializeString);	serializeString=serializeField('main', 'searchprov', 'radio', serializeString);	serializeString=serializeField('main', 'searchtypen', 'checkbox', serializeString);	serializeString=serializeField('details', 'searchlocation', 'text', serializeString);	serializeString=serializeField('details', 'searchcodepostal', 'text', serializeString);	serializeString=serializeField('details', 'searchetude', 'text', serializeString);	serializeString=serializeField('main', 'startp', 'text', serializeString);	serializeString=serializeField('main', 'nbpp', 'text', serializeString);	serializeString=serializeField('main', 'sortlist', 'text', serializeString);	getElement('ajaxresults').innerHTML="<h1>Rechargement en cours....</h1>";	makePOSTRequestAn('/notmaison/search.nsf/postqueryan?OpenAgent', serializeString);  }function makePOSTRequestAn(url, parameters) {	if(window.XMLHttpRequest) channel1 = new XMLHttpRequest(); 		 else if(window.ActiveXObject)channel1 = new ActiveXObject("Msxml2.XMLHTTP");		 else if(window.ActiveXObject)channel1 = new ActiveXObject("Microsoft.XMLHTTP");		  	else { alert('Your brower is not ajax compliant!');};            channel1.onreadystatechange = goDetailAn;      channel1.open('POST', url, true);      channel1.setRequestHeader("Content-type", "application/x-www-form-urlencoded");      channel1.setRequestHeader("Content-length", parameters.length);      channel1.setRequestHeader("Connection", "close");      channel1.send(parameters);   }   function goDetailAn() {      if (channel1.readyState == 4) {         if (channel1.status == 200) {			var frm=document.forms[0];			result = channel1.responseText;			getElement('ajaxresults').innerHTML=result;         } else {            alert("Pouvez-vous recommencer l'op\u00E9ration, svp.");         }      }   }/* Fonctions ajax crossbrowser *//**********************************/function getNodeValue(resp, nodeid) {	if (resp.getElementsByTagName(nodeid)[0]){		if  (resp.getElementsByTagName(nodeid)[0].childNodes[0]){		return resp.getElementsByTagName(nodeid)[0].childNodes[0].nodeValue;		} else { return ''; };	} else {		return '';	}}function replaceInnerHTML(doc, elementID, content) {	if (elementID!='') {		if (doc.getElementById(elementID)){			doc.getElementById(elementID).innerHTML=content;		}	}}/* Fonctions MM & switchclass *//**********************************/function pixchangeclass(step, myClass, eventtype) {	// change class but also switch the step button and the corresponding refresh button	getElement('num'+step).src='/notmaison/search.nsf/search_'+step+'_small_green.gif';	getElement('refresh'+step).src='/notmaison/search.nsf/search_refresh_small_green.gif';	changeclass(getElement('step0'+step), myClass, eventtype);}// Standard change class functionfunction changeclass(objet, myClass, eventtype){	switch( eventtype){		case "mouseover":			if (this.selState != 'sel'){				swapState(objet, myClass)			}			break;		case "click":			this.selState = 'sel';			swapState(objet, myClass)		break;		case "mouseout":			if (this.selState != 'sel'){				swapState(objet, myClass)			}		break;	}}function swapState(objet, myClass) {	objet.className = myClass;}function checkNumeric(message,e){   // Get ASCII value of key that user pressed   	var evtobj=window.event? event : e //distinguish between IE's explicit event object (window.event) and Firefox's implicit.	var key=evtobj.charCode? evtobj.charCode : evtobj.keyCode   // Was key that was pressed a numeric character (0-9)?   if (( key > 47 && key < 58 )|| (key==8) || (key==9)){}//      return true; // if so, do nothing   else {   	alert(message);      return false; } // otherwise, 	                               // discard character};function Toggle(item) {	obj=document.getElementById(item);		visible=(obj.style.display!="none")//	key=document.getElementById("x" + item);	if (visible) { 		obj.style.display="none";//		key.innerHTML="[+]";   } else { 		obj.style.display="block";//		key.innerHTML="[-]";   }	}function MM_findObj(n, d) { //v4.01  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}function MM_showHideLayers() { //v6.0  var i,p,v,obj,args=MM_showHideLayers.arguments;  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }    obj.visibility=v; }}function MM_goToURL() { //v3.0  var i, args=MM_goToURL.arguments; document.MM_returnValue = false;  for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");}/* Fonctions pour la carte selectionnable *//********************************************/function selectMap(typeb, provb) {	var frm=document.forms[0];	frm.searchcat.selectedIndex=typeb;	frm.searchprov.selectedIndex=provb;	cancelMap();	if (frm.pmax.value=="") {		frm.pmax.value="999999";		}	updateSearch();}/* Fonctions de manipulation de string */ function noaccent(chaine) {      temp = chaine.replace(/[\u00E0\u00E2\u00E4]/gi,"a")      temp = temp.replace(/[\u00E9\u00E8\u00EA\u00EB]/gi,"e")      temp = temp.replace(/[\u00EE\u00EF]/gi,"i")      temp = temp.replace(/[\u00F4\u00F6]/gi,"o")      temp = temp.replace(/[\u00F9\u00FB\u00FC]/gi,"u")      return temp   }/* Fonctions de manipulation de cookie */function ecrire_cookie(nom, valeur) {    expires = new Date;    expires.setMonth(expires.getMonth() + 12);    document.cookie = nom + "=" + escape(valeur) + "; expires=" + expires.toGMTString() + "; path=/;";}function arguments_cookie(offset) {    var endstr = document.cookie.indexOf(";", offset);    if (endstr == -1) {        endstr = document.cookie.length;    }    return unescape(document.cookie.substring(offset, endstr));}function lire_cookie(nom) {    var arg = nom + "=";    var alen = arg.length;    var clen = document.cookie.length;    var i = 0;    while (i < clen) {        var j = i + alen;        if (document.cookie.substring(i, j) == arg) {            return arguments_cookie(j);        }        i = document.cookie.indexOf(" ", i) + 1;        if (i == 0) {            break;        }    }    return null;}