var aStartupCoords = [43.6485936834387, -79.3853352889556];
var iDefaultZoom = 12, iCloseUpZoom = 16;
var map, aRows, iPage, iListingsPerPage = 10, sMapCode = "";

window.onunload = function(){
	GUnload();
}

function Replace(sText, sReplace, sWith){
	var objRegExp = new RegExp(sReplace);
	return sText.replace(objRegExp, sWith);
}

function SearchListings(objForm){
	var aFilter = new Array();
	var sNeighborhoodID = objForm.Neighbourhood.value;
	var sCustom = "";
	if(objForm.Custom) sCustom = objForm.Custom.value;
	if(sNeighborhoodID == "" && sCustom == "") return;
	if(sNeighborhoodID != "") aFilter.push("Neighborhood = " + sNeighborhoodID);
	if(sCustom != ""){
		aFilter.push("Custom = '" + sCustom.replace(/'/g, "\\'") + "'");
	}
	if(objForm.Reviewed.checked) aFilter.push("Reviewed = 1");
	if(aFilter.length == 0) return;
	var sFilter = aFilter.join(" AND ");
	var sURL = "/include/listings.php?cmd=search&type=" + iListingsType + "&filter=" + escape(sFilter);
	var objXMLHttp = GXmlHttp.create();
	var objResults = document.getElementById("search_results");
	var objPager = document.getElementById("search_pages");
	objResults.innerHTML = "<em>Loading...</em>";
	objPager.innerHTML = "";
	
	objXMLHttp.onreadystatechange = function(){
		if(objXMLHttp.readyState == 4 || objXMLHttp.readyState == "complete"){
			if(objXMLHttp.status == 200){
				var sData = objXMLHttp.responseText;
				aRows = sData.split("\n");
				var objResults = document.getElementById("search_results");
				var objPager = document.getElementById("search_pages");
				var sHTML = "";
				objResults.innerHTML = "";
				
				if(sData.length == 0){
					objResults.innerHTML = "<em>Sorry, no results found.</em>";
					objPager.innerHTML = "";
					return;
				}
				
				for(i=0; i<iListingsPerPage; i++){
					if(i == aRows.length) break;
					aFields = aRows[i].split("|");
					sHTML += "<p style=\"margin-left: 0px;\"><a href=\"" + aFields[2] + "\">" + Replace(aFields[1], "\\'", "'") + " <img src=\"/site/images/jumpto-gray.jpg\" border=\"0\" align=\"absmiddle\" /></a></p><div class=\"line\"></div>";
				}
				objResults.innerHTML = sHTML;
				
				if(aRows.length > iListingsPerPage){
					sHTML = "<p align=\"right\" style=\"font-size: 14px;\"><a href=\"javascript: SwitchPage(1);\">Next <img src=\"/site/images/next.jpg\" border=\"0\" align=\"absmiddle\" /></a></p>";
					objPager.innerHTML = sHTML;
				}
			}
		}
	}
	
	objXMLHttp.open("GET", sURL, true);
	objXMLHttp.send(null);
	
	iPage = 1;
}

function SwitchPage(iDirection){
	iPage+=iDirection;
	if(iPage > iPages) iPage = iPages;
	if(iPage < 1) iPage = 1;
	
	var sHTML = "";
	var iPages = Math.ceil(aRows.length / iListingsPerPage);
	var iStart = ((iPage - 1) * iListingsPerPage);
	var objResults = document.getElementById("search_results");
	var objPager = document.getElementById("search_pages");
	
	for(i=iStart; i<(iStart + iListingsPerPage); i++){
		if(i == aRows.length) break;
		aFields = aRows[i].split("|");
		sHTML += "<p style=\"margin-left: 0px;\"><a href=\"" + aFields[2] + "\">" + Replace(aFields[1], "\\'", "'") + " <img src=\"/site/images/jumpto-gray.jpg\" border=\"0\" align=\"absmiddle\" /></a></p><div class=\"line\"></div>";
	}
	objResults.innerHTML = sHTML;
	
	if(iPage > 1 && iPage < iPages){
		sHTML = "<p align=\"right\" style=\"font-size: 14px;\"><a href=\"javascript: SwitchPage(-1);\"><img src=\"/site/images/previous.jpg\" border=\"0\" align=\"absmiddle\" /> Previous</a>&nbsp;&nbsp;&nbsp;<a href=\"javascript: SwitchPage(1);\">Next <img src=\"/site/images/next.jpg\" border=\"0\" align=\"absmiddle\" /></a></p>";
	}
	else if(iPage == iPages){
		sHTML = "<p align=\"right\" style=\"font-size: 14px;\"><a href=\"javascript: SwitchPage(-1);\"><img src=\"/site/images/previous.jpg\" border=\"0\" align=\"absmiddle\" /> Previous</p>";
	}
	else if(iPage == 1){
		sHTML = "<p align=\"right\" style=\"font-size: 14px;\"><a href=\"javascript: SwitchPage(1);\">Next <img src=\"/site/images/next.jpg\" border=\"0\" align=\"absmiddle\" /></p>";
	}
	objPager.innerHTML = sHTML;
}

function ShowProfile(){
	document.getElementById("button_profile").style.backgroundColor = "#F0F0F0";
	document.getElementById("button_map").style.backgroundColor = "#FFFFFF";
	document.getElementById("profile").style.display = "block";
	document.getElementById("map").style.display = "none";
}

function ShowMap(){
	document.getElementById("button_profile").style.backgroundColor = "#FFFFFF";
	document.getElementById("button_map").style.backgroundColor = "#F0F0F0";
	document.getElementById("profile").style.display = "none";
	document.getElementById("map").style.display = "block";
	if(aCoords) return;
	var sData = "cmd=get-location&entryid=" + iEntryID;
	AJAXRequest("/include/listings.php", "GET", sData, function(sResponse, aError){
		if(!aError){
			aCoords = sResponse.split(",");
			if(GBrowserIsCompatible()){
				try{
					map = new GMap2(document.getElementById("map"));
					var objPoint = new GLatLng(aCoords[0], aCoords[1]);
					map.setCenter(objPoint, 16);
					map.addOverlay(new GMarker(objPoint));
					map.addControl(new GMapTypeControl());
					map.addControl(new GSmallMapControl());
					map.setMapType(G_DEFAULT_MAP_TYPES);
				}
				catch(e){}
			}
		}
	});
}