//<![CDATA[
var xmlHttp2;

function listingsQuery(searchType){
	if (xmlHttp2)
		xmlHttp2.abort();

	document.getElementById("searchProgress").style.visibility = "visible";

	xmlHttp2 = makeXmlHttpObject();
	xmlHttp2.onreadystatechange=function(){
		if(xmlHttp2.readyState==4){
				
			//PROCESS RESULTS//
			
			if (xmlHttp2.responseText){
				var x = eval('(' + xmlHttp2.responseText + ')');
				//alert(xmlHttp.responseText); //DEBUG
				}
			
			if (x.results.length > 0){
				mgr.clearMarkers();	
				resultsBounds = new GLatLngBounds();
				//MAP
				var markerbatch = [];
							
				//LOOP
				for (var i=0; i<x.results.length; i++){
					
					//add markers
					//MARKERS
					if (x.results[i].lat && x.results[i].lng){
						var point = new GLatLng(x.results[i].lat, x.results[i].lng);
						var marker = createMarker(point, null, x.results[i].htmltext, null, x.results[i].sysid);
						markerbatch.push(marker);
						}
						
					}//each listing
					
					mgr.addMarkers(markerbatch, 0);	
					mgr.refresh();	
					
					map.setZoom(map.getBoundsZoomLevel(resultsBounds));
					map.setCenter(resultsBounds.getCenter());	
					
					listResults();
				}//if results
			else {
				mgr.clearMarkers();	
				}

			document.getElementById("searchProgress").style.visibility = "hidden";
			}//readystate 4
    }//end onreadystatechange

	var varstring = ''; 
		
	//COORDS//
	if (document.searchcriteriaform.onlyonmap.checked == true){
		var bounds = map.getBounds();
		var southWest = bounds.getSouthWest();
		var northEast = bounds.getNorthEast();
		var minlat = southWest.lat(); 
		var maxlat = northEast.lat();
		var minlng = northEast.lng();
		var maxlng = southWest.lng();
		var center = map.getCenter().toUrlValue();
		var zoom = map.getZoom();
		varstring = varstring + "&minlat=" + southWest.lat(); 
		varstring = varstring + "&maxlat=" + northEast.lat();
		varstring = varstring + "&minlng=" + northEast.lng();
		varstring = varstring + "&maxlng=" + southWest.lng();
		varstring = varstring + "&center=" + center;
		varstring = varstring + "&zoom=" + zoom;		
		}

	//ZIP//
	var x = document.searchcriteriaform.zip;
	for (var loop=0; loop < x.length; loop++) {
		if (x[loop].selected == true && x[loop].value != ''){
			varstring += "&zip[]=" + x[loop].value;
			}
		}	
		
	//LISTING TYPE//
	var x = document.searchcriteriaform.mltype;
	for (var loop=0; loop < x.length; loop++) {
		if (x[loop].checked == true){
			varstring += "&listingtype=" + x[loop].value;
			}
		}
	
	//TYPE//
	var x = document.searchcriteriaform.mtype;
	for (var loop=0; loop < x.length; loop++) {
		if (x[loop].checked == true){
			varstring += "&type[]=" + x[loop].value;
			}
		}

	if (document.searchcriteriaform.manualzip) varstring += "&manualzip="+escape(document.searchcriteriaform.manualzip.value);
	if (document.searchcriteriaform.mforeclosures) varstring += "&foreclosures="+escape(document.getElementById("mforeclosures").value);
	if (document.searchcriteriaform.mlistdate) varstring += "&listdate="+escape(document.getElementById("mlistdate").value);
	if (document.searchcriteriaform.mminprice) varstring += "&minprice="+escape(document.getElementById("mminprice").value);
	if (document.searchcriteriaform.mmaxprice) varstring += "&maxprice="+escape(document.getElementById("mmaxprice").value);
	if (document.searchcriteriaform.mminbeds) varstring += "&minbeds="+escape(document.getElementById("mminbeds").value);
	if (document.searchcriteriaform.mmaxbeds) varstring += "&maxbeds="+escape(document.getElementById("mmaxbeds").value);
	if (document.searchcriteriaform.mminbaths) varstring += "&minbaths="+escape(document.getElementById("mminbaths").value);
	if (document.searchcriteriaform.mmaxbaths) varstring += "&maxbaths="+escape(document.getElementById("mmaxbaths").value);
	if (document.searchcriteriaform.mminsf) varstring += "&minsf="+escape(document.getElementById("mminsf").value);
	if (document.searchcriteriaform.mmaxsf) varstring += "&maxsf="+escape(document.getElementById("mmaxsf").value);
	if (document.searchcriteriaform.mmlsnum) varstring += "&mlsnum="+escape(document.searchcriteriaform.mmlsnum.value);
	
	varstring = varstring + "&searchtype=map";		
	  
	//alert(varstring);
  	
	xmlHttp2.open("post","mls/cgi/search?" + varstring, true);
	xmlHttp2.send(varstring);  
	
	return false;
	}//end function 

function zoomTo(address, zoom, lat, lng){
	document.getElementById("mapProgress").style.display = "block";

	//alert(lat + lng);

	if (!zoom)
		zoom = 11;
		
	if (lat && lng){
		map.panTo(new GLatLng(lat, lng));
		map.setZoom(zoom);
		listingsQuery("map");
		}
	
	else {
	
	if (xmlHttp2)
		xmlHttp2.abort();

	xmlHttp2 = makeXmlHttpObject();
	xmlHttp2.onreadystatechange=function(){
		if(xmlHttp2.readyState==4){
							
			if (xmlHttp2.responseText){
				var x = eval(xmlHttp2.responseText);
				//alert(x.lat + x.lng); //DEBUG
				map.panTo(new GLatLng(x.lat, x.lng));
				map.setZoom(zoom);
				listingsQuery("map");
				}
			
			document.getElementById("mapProgress").style.display = "none";
			}//readystate 4
    }//end onreadystatechange

	var varstring = ''; 
	
	if (!address)
		address = document.searchcriteriaform.zoomto.value;
	
	varstring = varstring + "&zoomto=" + escape(address);		
	  
	//alert(varstring);
  	
	xmlHttp2.open("post","mls/cgi/zoomto?" + varstring, true);
	xmlHttp2.send(varstring);  
	
	}//only do this if no lat/lng sent
	
	return false;
	}//end function 

function listResults(orderby){
	document.getElementById("list").innerHTML = "<img src='mls/images/progress.gif' />";

	var xmlHttp = makeXmlHttpObject();
	xmlHttp.onreadystatechange=function(){

		if(xmlHttp.readyState==4){
			document.getElementById("list").innerHTML = xmlHttp.responseText;
			}//readystate 4
    	}//end onreadystatechange
	
	if (orderby != '')
		orderby = "orderby=" + orderby;
	
	xmlHttp.open("GET","mls/components/list?"+ orderby, true);
	xmlHttp.send(null);  
	}//end function LISTINGSQUERY

//]]>