function MM_openBrWindow(theURL,winName,features) { //v2.0
  //alert(location.href);
  var theURL=encodeURI(theURL+"?page="+location.href);
  window.open(theURL,winName,features);
}

/* *** */

function findPos(obj) {
	var curleft = curtop = 0;
	if (obj.offsetParent) {
		do {
			curleft += obj.offsetLeft;
			curtop += obj.offsetTop;
		} while (obj = obj.offsetParent);
	return [curleft,curtop];
	}
}

function do_towns_cb(z) {
	    var liste;
        
	    if (z!=0)
		liste=z.split(",");
		var count = document.getElementById("place"); 
		count.options.length=0;
		//alert(liste);
		if (z!=0) {
			for (i=0; i<liste.length-1; i++) {
		    //alert(i); 
			count.options[count.options.length]=new Option(liste[i].split("|")[0],liste[i].split("|")[1]);
			}
		} else count.options[count.options.length]=new Option("Aucun lieu trouvé");
		   
	}
	
	
function do_towns(value){
		x_getPlace(value,do_towns_cb);
}

function do_checkTown(el,zip) {
   //alert(defined);  
   if ( (document.getElementById(el).value=="") || (defined==true) || (toChoose==true) ) return false;
   defined=true;
   //timer
    overlay = document.createElement('div');
    overlay.style.top = findPos(document.getElementById('search-loc'))[1]+'px';
    overlay.id = 'overlay';
    preload = document.createElement('img');
    preload.src='images/ajax-loader.gif';
	preload.width = 48;
	preload.height = 48;
	preload.align = "middle";
	preload.id = 'preload';
	overlay.appendChild(preload);
	document.getElementById('search-loc').appendChild(overlay);
	document.getElementById('searchButton').disabled=true;
   x_checkTown(document.getElementById(el).value,el,zip,do_checkTown_cb);
   return true;
}

function selectTown(theEl,zip,towns) {
    tmp=theEl.value.split("|");
    document.getElementById(towns).value=tmp[1];
	document.getElementById(zip).value=tmp[0];
	defined=true;
	toChoose=false;
	document.getElementById('searchButton').disabled=false;
}

var defined=false;
var toChoose=false;

function do_checkTown_cb(data) {
  obj = eval("("+data+")");
  varZip=obj['vars']['zip'];
  varTown=obj['vars']['town'];
  if (obj['res']=="OK") {  
      document.getElementById(obj['vars']['town']).value=obj['data'][0]['name'];
	  document.getElementById(obj['vars']['zip']).value=obj['data'][0]['zipcode'];
	  document.getElementById(obj['vars']['town']+'Err').innerHTML="";
	  defined=true;
	  document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
	  document.getElementById('searchButton').disabled=false;
  } else {
    document.getElementById(obj['vars']['town']+'Err').innerHTML="";
    if (obj['res']=="NOK") {
	  err='<font color="#FF0000">Ville ou code postal incorrect.</font>';
	  document.getElementById(obj['vars']['town']+'Err').innerHTML=err;
	  defined=false;
	  document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
	  document.getElementById('searchButton').disabled=false;
	}
	
    if (obj['res']==3 || obj['res']==2) {
	   if (obj['data'].length==1) {
	      document.getElementById(obj['vars']['town']).value=obj['data'][0]['name'];
	      document.getElementById(obj['vars']['zip']).value=obj['data'][0]['zipcode'];
	      document.getElementById(obj['vars']['town']+'Err').innerHTML="";
		  defined=true;
		  document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
		  document.getElementById('searchButton').disabled=false;
	   } else {
       err='<font class="orange">Merci de choisir une ville : </font><table align="left">';
	   var col=0;
       for (i=0; i<obj['data'].length; i++) {
	     if (col==0) {err+="<tr>";};
	     err+='<td ><input name="city"  type="radio" style="vertical-align: middle" value="'+obj['data'][i]['zipcode']+'|'+obj['data'][i]['name']+'" onClick="selectTown(this,\''+varZip+'\',\''+varTown+'\');" /><label style="vertical-align:middle" class="text_left" >'+obj['data'][i]['name']+'</label></td>';
		  col++;
		  if (col>=2) {err+="</tr>";col=0}; 
	   }
       err+="</table>";
	   document.getElementById(obj['vars']['town']+'Err').innerHTML=err;
	   defined=false;
	   toChoose=true;
	   document.getElementById('searchButton').disabled=true;
	   document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
    }
	}
  }
}

/* */
function do_checkTown_oum(el,zip) {
   //alert(defined);  
   if ( (document.getElementById(el).value=="") || (defined==true) ) return false;
   x_checkTown(document.getElementById(el).value,el,zip,do_checkTown_cb_oum);
   return true;
}

function refresh_() {
  if (ongoing==0) {
    if ( document.getElementById("codePostalSe2").value.length>4 && document.getElementById("zone").value>0) {
	  //put on read
	  overlay = document.createElement('div');
	  overlay.style.top = findPos(document.getElementById('search-loc'))[1]+'px';
	  overlay.id = 'overlay';
	  preload = document.createElement('img');
	  preload.src='images/ajax-loader.gif';
	  preload.width = 48;
	  preload.height = 48;
	  preload.id = 'preload';
	  overlay.appendChild(preload);
	  document.getElementById('search-loc').appendChild(overlay);
	  
	  ongoing=1;
	  document.getElementById('badAddress').style.display="none";
	  document.getElementById("number2").readOnly=true;
	  document.getElementById("number2").className=" readonly";
	  document.getElementById("address2").readOnly=true;
	  document.getElementById("address2").className=" readonly";
	  document.getElementById("city2").readOnly=true;
	  document.getElementById("city2").className=" readonly";
	  zone=document.getElementById("zone").value;
	  //document.getElementById("zone").style.display='none';
	  //document.getElementById("zone").innerHTML=zone;
	  x_getNumberLocation(document.getElementById("number2").value,document.getElementById("address2").value,document.getElementById("city2").value,document.getElementById("codePostalSe2").value,document.getElementById("zone").value,do_getNumberLocation);
   } else setTimeout("refresh_()",3000);
  }
}

function do_checkTown_cb_oum(data) {
  obj = eval("("+data+")");
  varZip=obj['vars']['zip'];
  varTown=obj['vars']['town'];
  if (obj['res']=="OK") {
      document.getElementById(obj['vars']['town']).value=obj['data'][0]['name'];
	  document.getElementById(obj['vars']['zip']).value=obj['data'][0]['zipcode'];
	  document.getElementById(obj['vars']['town']+'Err').innerHTML="";
	  defined=true;
  } else {
    document.getElementById(obj['vars']['town']+'Err').innerHTML="";
    if (obj['res']=="NOK") {
	  err='<font color="#FF0000">Ville ou code postal incorrect.</font>';
	  document.getElementById(obj['vars']['town']+'Err').innerHTML=err;
	}
	
    if (obj['res']==3 || obj['res']==2) {
	   if (obj['data'].length==1) {
	      document.getElementById(obj['vars']['town']).value=obj['data'][0]['name'];
	      document.getElementById(obj['vars']['zip']).value=obj['data'][0]['zipcode'];
	      document.getElementById(obj['vars']['town']+'Err').innerHTML="";
	   } else {
       err='<font color="#FF0000">Merci de choisir une ville : </font><table align="center">';
	   var col=0;
       for (i=0; i<obj['data'].length; i++) {
	     if (col==0) {err+="<tr bgcolor=#FFFF99>";};
	     err+='<td><input name="city" type="radio" style="vertical-align: middle" value="'+obj['data'][i]['zipcode']+'|'+obj['data'][i]['name']+'" onClick="selectTown_oum(this,\''+varZip+'\',\''+varTown+'\');" /><label style="vertical-align:middle" >'+obj['data'][i]['name']+'</label></td>';
		  col++;
		  if (col>=2) {err+="</tr>";col=0}; 
	   }
       err+="</table>";
	   document.getElementById(obj['vars']['town']+'Err').innerHTML=err;
    }
	}
  }
}

var carsel='carousel5';
function selectIt(el) {  
   document.getElementById(el).className=document.getElementById(el).className+" selected";
   tmp=document.getElementById(carsel).className;
   tmp=tmp.replace("selected", " "); 
   document.getElementById(carsel).className=tmp;
   carsel=el;
   maxprice=document.getElementById(el).innerHTML;
   tmp=maxprice.split(' ');
   document.getElementById('maxPrice').value=tmp[0];
   alert("maxPrice:"+document.getElementById('maxPrice').value);
   return true;
}

function envoiLocation() {
  /*if (!$("#form1").valid()) 
      return false;   */
  if(/*document.getElementById('number2').value=="" ||*/
  	 document.getElementById('address2').value=="" ||    
    (!document.getElementById('option1').checked &&
  	 !document.getElementById('option2').checked &&
	 !document.getElementById('option3').checked) ) {
  	
	//document.getElementById('error_number2').style.display='inline';
	document.getElementById('error_address2').style.display='inline';
	//document.getElementById('error_city2').style.display='inline';
	document.getElementById('error_optiions123').style.display='inline';
	return false;
  }
  
  document.getElementById("hauteurMax").value="-1";
  document.getElementById("dureeBail").value="-1";
  document.getElementById("horaires").value="-1";
  
  var jours="-1";
  if (document.getElementById('option1').checked)
    jours=0;
  if (document.getElementById('option2').checked)
    jours=1;
  if (document.getElementById('option3').checked)
    jours=2;
  res=x_saveSearchLoc(document.getElementById('number2').value+' '+document.getElementById('address2').value,document.getElementById('city2').value,document.getElementById('zone').value,jours,document.getElementById('typeVehicule').value,document.getElementById('typeParking').value,document.getElementById('maxPrice').value,do_saveSearchLoc);
  return false;
  //document.getElementById('form1').submit();
}

var ongoing=0;

function do_getNumberLocation(data) {
  obj = eval("("+data+")");
  if (obj=='-1') {
      document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
	  document.getElementById('badAddress').style.display="";
	  document.getElementById("number2").readOnly=false;
	  document.getElementById("number2").className=document.getElementById("number2").className.replace("readonly","");
	  document.getElementById("number2").value="";
	  document.getElementById("address2").readOnly=false;
	  document.getElementById("address2").className=document.getElementById("address2").className.replace("readonly","");
	  document.getElementById("address2").value="";
	  document.getElementById("city2").readOnly=false;
	  document.getElementById("city2").className=document.getElementById("city2").className.replace("readonly","");
	  document.getElementById("city2").value="";
	  document.getElementById("codePostalSe2").value="";
	  ongoing=0;
	  return false;
  }
  if (obj=='0') {
    document.getElementById("zone").value=dist_max;
  }
  var car="";
  var i=0;
  var first=0;
  if (obj!='0') {
   for (k in obj) {
     if (obj[k]==0 && k!='-1') 
	   car+='<li id="mycarousel-item-'+i+'"><a href="#" class="red" onclick="selectIt(\'carousel'+i+'\');" id="carousel'+i+'">'+k+' &euro;</a></li>';
	 if (obj[k]>=1 && obj[k]<=2 && k!='-1') 
        car+='<li id="mycarousel-item-'+i+'"><a href="#" class="orange" onclick="selectIt(\'carousel'+i+'\');" id="carousel'+i+'">'+k+' &euro;</a></li>';
	 if (obj[k]>=3 && k!='-1') { 
	     if (first==0) {
		    first=1;
			car+='<li id="mycarousel-item-'+i+'"><a href="#" class="green selected" onclick="selectIt(\'carousel'+i+'\');" id="carousel'+i+'">'+k+' &euro;</a></li>';
			document.getElementById('maxPrice').value=k;
			carsel='carousel'+i;
		 }
         else car+='<li id="mycarousel-item-'+i+'"><a href="#" class="green" onclick="selectIt(\'carousel'+i+'\');" id="carousel'+i+'">'+k+' &euro;</a></li>';
	 }	 
	 i++;	    
  } 
  document.getElementById('carousel').innerHTML=car;
  if (obj[-1]>0)
     document.getElementById('zone').value=obj[-1];
}
  document.getElementById('overlay').parentNode.removeChild(document.getElementById('overlay'));
  document.getElementById('option1').disabled=false;
  document.getElementById('option2').disabled=false;
  document.getElementById('option3').disabled=false;


}

defined=true;
function selectTown_oum(theEl,zip,towns) {
    tmp=theEl.value.split("|");
    document.getElementById(towns).value=tmp[1];
	document.getElementById(zip).value=tmp[0];	
	defined=true;
	refresh_();
}

function do_saveSearchLoc(res) {
  document.getElementById('form1').submit();  
}
/* */ 
function getXMLHttp() {
  var xmlHttp
  try {
    //Firefox, Opera 8.0+, Safari
    xmlHttp = new XMLHttpRequest();
  } catch (e) {
    //Internet Explorer
    try {
      xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
        alert("Your browser does not support AJAX!")
        return false;
      }
    }
  }
  return xmlHttp;
}

function MakeRequest(params) {
  document.getElementById('city2Err').innerHTML = "<img width='16' height='11' src='http://www.location-parking.com/images/ajax-loading.gif' alt='Attendre'>";
  var xmlHttp = getXMLHttp();
  var url = 'index.php?';
  xmlHttp.onreadystatechange = function () {
    if (xmlHttp.readyState == 4) {
      HandleResponse(xmlHttp.responseText, params);
    }
  }
  
  if (params[1]!='' && params[2]!='') url += 'param1=' + params[2] + '&param2=' + params[1];
  else if (params[2]!='') url += 'param1=' + params[2];
  else url += 'param2=' + params[1];  
  if (params[0]!='') url += '&param3=' + params[0];
  if (params[3]!='') url += '&param4=' + params[3];
  
  xmlHttp.open("GET", url, true);  
  xmlHttp.send(null);
}

function HandleResponse(response, params) {
  var responses = eval( "(" + response + ")" );     
  if (responses.res==3) { 
  	defined=false;
    toChoose=false;
	/*document.getElementById('searchButton').disabled=true;
	document.formulaire.searchButton.disabled=true;*/			
	
	if (params[1]!='' && params[1]!=0 && params[2]!='' && params[2]!=0) {	 
	  //document.getElementById("ville").value = responses.data[0].town; 
	  document.getElementById("city2").value = params[2];
	  //document.getElementById("codePostalSe").value = responses.data[0].zipcode; 
	  document.getElementById("codePostalSe2").value = params[1];
	//} else if (responses.data[0].zipcode!='') {
	} else if (params[1]!='' && params[1]!=0) {	
	  //document.getElementById("codePostalSe").value = responses.data[0].zipcode; 
	  document.getElementById("codePostalSe2").value = params[1];
	} else {
	  //document.getElementById("ville").value = responses.data[0].town; 
	  document.getElementById("city2").value = params[2];	
	}
	
	do_checkTown_oum('city2','codePostalSe2');
	document.getElementById('city2Err').innerHTML = '';
  } else if (responses.res==2) {     
	defined=false;
    toChoose=false;	
	/*document.getElementById('searchButton').disabled=true;
	document.formulaire.searchButton.disabled=true;*/	
	
	if (params[1]!='' && params[1]!=0 && params[2]!='' && params[2]!=0) {	 
	  //document.getElementById("ville").value = responses.data[0].town; 
	  document.getElementById("city2").value = params[2];
	  //document.getElementById("codePostalSe").value = responses.data[0].zipcode; 
	  document.getElementById("codePostalSe2").value = params[1];
	//} else if (responses.data[0].zipcode!='') {
	} else if (params[1]!='' && params[1]!=0) {	
	  //document.getElementById("codePostalSe").value = responses.data[0].zipcode; 
	  document.getElementById("codePostalSe2").value = params[1];
	} else {
	  //document.getElementById("ville").value = responses.data[0].town; 
	  document.getElementById("city2").value = params[2];	
	}

	do_checkTown_oum('city2','codePostalSe2');
	document.getElementById('city2Err').innerHTML = '';
  } else if (responses.res==0) {	  
	// No results
	/*document.getElementById('searchButton').disabled=true;
	document.formulaire.searchButton.disabled=true;*/
	
	document.getElementById("city2").value = 'ex: 115 rue saint jacques, paris';	
	document.getElementById('city2Err').innerHTML = '';
  } else {	
	/*document.getElementById('searchButton').disabled=false;
	document.formulaire.searchButton.disabled=false;*/

	document.getElementById("city2").value = responses.data[0].name; 
	document.getElementById("codePostalSe2").value = responses.data[0].zipcode; 
	document.getElementById('city2Err').innerHTML = '';
	refresh_();
  }	
}

