if (GBrowserIsCompatible()) {
	// updated 06-11-06
	
	var category_markers =  new Array();
	var price_markers =  new Array();
	var label_markers =  new Array();
	var room_markers = new Array();
	
	var markerCluster = null;
	var markerClusterMarkers = [];
	
	var found_markers = 0;
	var help_cpu_load = 50; // display < 50 with more options etc...
	var display_type = "";
	
	var gmarkers_list = [];
	var htmls_list = [];
	var list_bar_html = "";
	var mapcounter = 0;

	/* *********************************************** */

	function showPanoData(panoData) {
		if (panoData.code != 200) {
			//GLog.write('showPanoData: Server rejected with code: ' + panoData.code);
			panoerrors += panoData.code;
			return;
		}
		var angle = computeAngle(houseMarker.getLatLng(), panoData.location.latlng);
		myPano.setLocationAndPOV(panoData.location.latlng, {yaw: angle});
	}

	function computeAngle(endLatLng, startLatLng) {
		var DEGREE_PER_RADIAN = 57.2957795;
		var RADIAN_PER_DEGREE = 0.017453;

		var dlat = endLatLng.lat() - startLatLng.lat();
		var dlng = endLatLng.lng() - startLatLng.lng();
		// We multiply dlng with cos(endLat), since the two points are very closeby,
		// so we assume their cos values are approximately equal.
		var yaw = Math.atan2(dlng * Math.cos(endLatLng.lat() * RADIAN_PER_DEGREE), dlat) * DEGREE_PER_RADIAN;
		return wrapAngle(yaw);
	}

	function wrapAngle(angle) {
		if (angle >= 360) {
			angle -= 360;
		} else if (angle < 0) {
			angle += 360;
		}
		return angle;
	};
	/* *********************************************** */
	

	// A function to create the marker and set up the event window
	function createPropertyMarker(point,name,html,icon) {
		var marker = "";
		//marker = new GMarker(point, {icon:icon, title:name, draggable:true, bouncy:false});
		marker = new GMarker(point, {icon:icon, title:name});
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml(html);
			show_street(marker);
		});
		gmarkers_list[mapcounter] = marker;
		htmls_list[mapcounter] = html;
		//list_bar_html += '<a href="javascript:showmyclick(' + mapcounter + ')">' + mapcounter + '</a><br>';
		mapcounter++;
		return marker;
	}

	function show_street(marker){
		if((typeof myPano) == 'undefined'){
			initialize_pano(marker);
		}else{
			houseMarker.setLatLng(new GLatLng(marker.getLatLng().lat(), marker.getLatLng().lng()))
			panoClient.getNearestPanorama(houseMarker.getLatLng(), showPanoData);
		}
	}


	  // This function picks up the click and opens the corresponding info window
	function showmyclick(disnum) {
		if(gmarkers_list[disnum]){
			gmarkers_list[disnum].openInfoWindowHtml(htmls_list[disnum]);
			show_street(gmarkers_list[disnum]);
		}
	}
	
	function load_property_map(suburb,postcode,the_type){
		document.display_options.suburbname.value = suburb;
		document.display_options.suburbpostcode.value = postcode;
		var display_finish = "false";
		if(document.getElementById("map_status")){
			document.getElementById("map_status").innerHTML = "<span id='loading' style='min-width: 150px; width: 100%; background-color: #FFFFFF; color: #000000;'><img src='/images/loader_blue.gif' alt='Loading Data' /> Loading...<\/span>";
		}
		//document.getElementById("map_status").innerHTML = "Loading Data...";
		display_finish = get_xml_property(suburb,postcode,the_type);
		sync_list();
	}
	
	function get_xml_property(suburb,postcode,the_type){
		$('#map_no_address').hide();

		var xml_location = "";
		if(the_type == "buy"){
			xml_location = "/gearth/google_map_p.php?suburb=" + suburb + "&postcode=" + postcode;
			display_type = "buy";
		}else if(the_type == "share"){
			//console.log("GET SHARE HERE");
			xml_location = "/gearth/google_map_share_p.php?suburb=" + suburb + "&postcode=" + postcode;
			display_type = "share";
		}else{
			xml_location = "/gearth/google_map_rent_p.php?suburb=" + suburb + "&postcode=" + postcode;
			display_type = "rent";
		}
		var loaded = "false";
		// Read the data from example.xml
		// reset values
		map.clearOverlays();
		
		if((typeof myPano) != 'undefined'){
			map.addOverlay(houseMarker);
		}

		list_bar_html = "";
		list_bar_html = "<center><input type='button' value='Highlight Street Address' onClick=\"searchPrompt('Street Address', false);\" /></center>\n";
		list_bar_html += "<table border='1' cellpadding='0' cellspacing='0' width='310'";
		list_bar_html += "	<tr class='search_title'>\n";
		list_bar_html += "		<td>"+suburb+"</td>\n";
		list_bar_html += "	</tr>\n";
		list_bar_html += "</table>\n";
		mapcounter = 0;
		category_markers =  new Array();
		label_markers =  new Array();
		price_markers =  new Array();

		room_markers =  new Array();
		
		var request = GXmlHttp.create();
		request.open("GET", xml_location, true);
		request.onreadystatechange = function() {
			if (request.readyState == 4) {

				if (markerCluster != null) {
					markerCluster.clearMarkers();
				}
				markerClusterMarkers = [];
				markerCluster = null;

				//map.clearOverlays();
			
				//var xmlDoc = request.responseXML;
				var xmlDoc = GXml.parse(request.responseText);
				// obtain the array of markers and loop through it
				var categorys = xmlDoc.documentElement.getElementsByTagName("category");
				var get_found_markers = xmlDoc.documentElement.getElementsByTagName("marker");
				found_markers = get_found_markers.length;

			
				var baseIcon = new GIcon();
				baseIcon.shadow = "/mapsicons/icons/shadow.png";
				baseIcon.iconSize = new GSize(30.0, 30.0);
				baseIcon.shadowSize = new GSize(46.0, 30.0);
				baseIcon.iconAnchor = new GPoint(15.0, 30.0);
				baseIcon.infoWindowAnchor = new GPoint(15.0, 15.0);
				//baseIcon.infoShadowAnchor = new GPoint(18, 25);
				
				var category_list=new Array();
				var category_total=new Array();
				
				var lat = "";
				var lng = "";
				var point = "";
				var price = "";
				var price_group = "";
				var html = "";
				var label = "";
				var num_rooms = "";
				var num_bath = "";
				var num_car = "";
				var star = "";
				var property_ts = "";
				var day_diff = 0;
				
				var display_num = "";
				var markers = "";
				var image = "";
				var img_link = "";
				var ad = "";
				
				var total_price =0;
				var total_price_counter =0;
				var description = "";

				var popular_streets = new Array();
				
var image_array = new Array();
image_array_counter=0;
				
				var lable_counter = 0;
				price_markers['A'] = new Array();
				price_markers['B'] = new Array();
				price_markers['C'] = new Array();
				price_markers['D'] = new Array();
				price_markers['E'] = new Array();
				price_markers['F'] = new Array();
				price_markers['G'] = new Array();
				price_markers['H'] = new Array();
				price_markers['I'] = new Array();
				price_markers['J'] = new Array();
				price_markers['K'] = new Array();
				price_markers['L'] = new Array();
				
				room_markers[0] = new Array();
				room_markers[1] = new Array();
				room_markers[2] = new Array();
				room_markers[3] = new Array();
				room_markers[4] = new Array();
				room_markers[5] = new Array();
				room_markers[6] = new Array();
				room_markers[7] = new Array();
				room_markers[8] = new Array();
				room_markers[9] = new Array();

				
				for (var ci = 0; ci < categorys.length; ci++) {
					var csstype = "B";
					if (display_type == "rent"){
						csstype = "R";
					}else if (display_type == "share"){
						csstype = "S";
					}
					markers = categorys[ci].getElementsByTagName("marker");
										
					category_list[ci] = categorys[ci].getAttribute("id");
					category_total[ci] = markers.length;

					category_markers[ci] = new Array();
					label_markers[ci] = new Array();
					var category_name = category_list[ci].charAt(0).toUpperCase()+category_list[ci].substring(1,category_list[ci].length);

					list_bar_html += "<table border='1' cellpadding='0' cellspacing='0' width='310' class='"+csstype+""+category_list[ci]+"' id='tbl"+category_list[ci]+"'>\n";
					list_bar_html += "<tr class='map_price'><td colspan='2'><b>";
					list_bar_html += category_name;
					list_bar_html += " ("+category_total[ci]+")";
					list_bar_html += "</b></td>";
					list_bar_html += "<td><img src='http://www.suburbview.com/images/bed.gif'></td>";
					list_bar_html += "<td><img src='http://www.suburbview.com/images/bath.gif'></td>";
					list_bar_html += "<td><img src='http://www.suburbview.com/images/car.gif'></td>";
					list_bar_html += "</tr>\n";

					var marker_counter = 0;
					lable_counter = 0;
					for (var i = 0; i < markers.length; i++) {

						lat = "";
						lng = "";
						point = "";
						html = "";
						label = "";
						num_rooms = "";
						num_batch = "";
						num_car = "";
						property_ts = "";
						day_diff = 0;
						
						display_num = "";
						image = "";
						img_link = "";
						ad = "";
						
						// obtain the attribues of each marker
						lat = GXml.value(markers[i].getElementsByTagName("latitude")[0]);
						lng = GXml.value(markers[i].getElementsByTagName("longitude")[0]);
						point = new GLatLng(lat,lng);
						price = GXml.value(markers[i].getElementsByTagName("name")[0]);
						image = GXml.value(markers[i].getElementsByTagName("image")[0]);
						img_link  = GXml.value(markers[i].getElementsByTagName("img_link")[0]);
						ad = GXml.value(markers[i].getElementsByTagName("ad")[0]);
						try{
							property_ts = GXml.value(markers[i].getElementsByTagName("found_ts")[0]);
							if(property_ts != ""){
								var property=new Date(property_ts*1000);
								var today=new Date();
								var one_day=1000*60*60*24;
								day_diff = Math.ceil((today.getTime()-property.getTime())/(one_day));
							}
						}catch(e){
							day_diff = 0;
							//console.log(e);
						}
						// turn back on later if i want to highlight icons with images
						//star = (image != "") ? "s" : "";

						// add to price
						var price_number = 0;
						if(price.length > 1){
							price_number = price.replace("$", "");
							price_number = price_number.replace(",", "");
							price_number = price_number.replace("+", "");
							total_price = parseFloat(total_price) + parseFloat(price_number);
							total_price_counter++;
						}

						label = price;
						
						if(ad != ""){
							var ad_url = GXml.value(markers[i].getElementsByTagName("img")[0]);
							ad_url = "http://ads.suburbview.com/ad" + ad_url;
							html = "<div class='mapdata'>";
							html += "<iframe src=\"" + ad_url + "\" width=\"300px\" height=\"140px\" class=\"map_frame\" SCROLLING=\"NO\"> <p>Your browser does not support iframes.</p></iframe><br/>";
						}else{
							if(image != ""){
								html = "<div class='mapdata mapdatapic'>";
								var image_source = "<img src='http://www.suburbview.com" + image + "' align='top' height='150' width='200'/>";
								image_source = image_source.replace(/_a_1/g, "_b_1");
								html +=  "<a href='" + img_link + "' target='_blank'>" + image_source + "</a><br/>";
							}else{
								html = "<div class='mapdata'>";

							}
						}
						description = GXml.value(markers[i].getElementsByTagName("description")[0]);
						html += description.replace(/<span/g, "<span style='font-weight:bold;color:#fff; background:#fe796c;'>NEW</span> <span");;

						html = html.replace(/<a/g, "<a onclick='link(this)' ")

						var full_text = GXml.value(markers[i].getElementsByTagName("description")[0]);
						var address = full_text.split("<br/>",1);
						if(day_diff > 0){
							html += "<br/><small>Found " + day_diff + " Day";
							html += (day_diff == 1) ? "" : "s";
							html += " ago</small>";
						}
						html += "<br/><div style='text-align:right'><small>[ <a href='javascript:rm(" + ci + "," + i + ",";
						if(price.length > 3){
							html += lable_counter
						}else{
							html += "\"\"";
						}
						html += ")'>Hide</a> ]</small></div></div>";

						num_rooms = GXml.value(markers[i].getElementsByTagName("bedrooms")[0]);
						if(num_rooms >= "1" && num_rooms <= "9"){
							// valid & do nothing
						}else{
							num_rooms = 0;
						}
						num_bath = GXml.value(markers[i].getElementsByTagName("bath")[0]);
						if(num_bath >= "1" && num_bath <= "9"){
							// valid & do nothing
						}else{
							num_bath = "&nbsp;";
						}						
						num_car = GXml.value(markers[i].getElementsByTagName("car")[0]);
						if(num_car >= "1" && num_car <= "9"){
							// valid & do nothing
						}else{
							num_car = "&nbsp;";
						}						
						
						price_group = GXml.value(markers[i].getElementsByTagName("p")[0]);
						
						num_rooms = Math.round(num_rooms);
						
						// Create the coloured markers
						if(category_list[ci] == "house") 						{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/iconb"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/iconb" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "apartment") 			{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icong"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/icong" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "unit") 				{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon1"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/icon1" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "townhouse") 			{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon2"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/icon2" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "land") 				{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon3"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/icon3" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "villa") 				{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon4"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/icon4" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "unit-apmt") 			{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon5"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon5" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "acreage-semi-rural") 	{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon6"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon6" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "duplex-semi-detached")	{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon7"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon7" + star + ".png", null, baseIcon.shadow);}
						}else if(category_list[ci] == "rural") 				{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon8"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{	display_num = new GIcon(baseIcon, "/mapsicons/icons/icon8" + star + ".png", null, baseIcon.shadow);}
						}else 													{ if (num_rooms >= "1" && num_rooms <= "9"){ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon9"+ num_rooms + star +".png", null, baseIcon.shadow);	}else{ display_num = new GIcon(baseIcon, "/mapsicons/icons/icon9" + star + ".png", null, baseIcon.shadow);}		}
						
						if(display_type == "share"){
							html = get_share_html(markers[i], ci, i, lable_counter);
						}
						category_markers[ci][marker_counter] = createPropertyMarker(point,label,html,display_num);
						// wont add markers now
						// as i want to read the cookie
						if(read_cookie(category_list[ci], "category") != "n" && read_cookie(num_rooms, "room") != "n" && read_cookie(price_group, "price") != "n" ){
							map.addOverlay(category_markers[ci][marker_counter]);
							// my hide / logic isn't smart enough for this
							//markerClusterMarkers.push(category_markers[ci][marker_counter]);
						}
						
						var price_display_counter = price_markers[price_group].length;
						price_markers[price_group][price_display_counter] = new Array();
						price_markers[price_group][price_display_counter]['ci'] = ci;
						price_markers[price_group][price_display_counter]['i'] = i;
						
						price_markers[price_group][price_display_counter]['lable_counter'] = "";
						if(price.length > 3){
							price_markers[price_group][price_display_counter]['lable_counter'] = lable_counter; 
						}
						
						// deal with the rooms
						if(room_markers[num_rooms]){
							var room_display_counter = room_markers[num_rooms].length;
							room_markers[num_rooms][room_display_counter] = new Array();
							room_markers[num_rooms][room_display_counter]['ci'] = ci;
							room_markers[num_rooms][room_display_counter]['i'] = i;
							room_markers[num_rooms][room_display_counter]['lable_counter'] = "";
							if(price.length > 3){
								room_markers[num_rooms][room_display_counter]['lable_counter'] = lable_counter; 
							}
						}

						
						if(price.length > 3){
							var elabel_color = (html.match("NEW")) ? "#fe796c" : "#ffffff";
							if(the_type == "buy"){
								label_markers[ci][lable_counter] = new ELabel(new GLatLng(lat, lng), '<div style="background-color:' + elabel_color + ';border:1px solid black; font-family: arial, helvetica; font-size:10px; width:55px;">'+ price + '<\/div>', null, new GSize(6,-30), 75);
							}else{
								label_markers[ci][lable_counter] = new ELabel(new GLatLng(lat, lng), '<div style="background-color:' + elabel_color + ';border:1px solid black; font-family: arial, helvetica; font-size:10px; width:35px;">'+ price + '<\/div>', null, new GSize(6,-30), 75);
							}
							//map.addOverlay(label_markers[ci][marker_counter]); 
							lable_counter++;
						}
						var display_alt = "";
						if (display_counter % 2) {
							display_alt += " alt_property";
						}
						var display_counter = mapcounter -1;

						var image_preload = (image != "") ? "onmouseover='load_images("+image_array_counter+")'" : "";
						var title_text = "";
						if(day_diff > 0){
							title_text = " title='Found " + day_diff + " Day";
							title_text += (day_diff == 1) ? "" : "s";
							title_text += " ago' ";
						}
						
						list_bar_html += "<tr "+title_text+" class='"+csstype+"p"+num_rooms+" "+csstype+"g"+price_group+"  map_row"+display_alt+"' onClick=\"showmyclick('" + display_counter + "')\" "+image_preload+">";
						list_bar_html += "<td width='70' class='"+csstype+"g"+price_group+"'><a href='javascript:showmyclick(\"" + display_counter + "\")'>"+price.split(" ",1);
						if(image != "" && display_type == "share"){
							list_bar_html += "<img src='" + image + "' align='top' height='75' width='100'/>";
						}else if(image != ""){
//							list_bar_html += "XXX<img src='http://www.suburbview.com" + image + "'  height='75' width='100'/>";
							image_array[image_array_counter] = "http://www.suburbview.com" + image;
							if(image_array_counter <= 5){
								list_bar_html += "<img id='img" + image_array_counter + "' src='" +image_array[image_array_counter]+ "' height='75' width='100' alt='" +image_array[image_array_counter]+ "' />";
							}else{
								list_bar_html += "<img id='img" + image_array_counter + "' src='http://www.suburbview.com/images/dot.gif' height='75' width='100' alt='" +image_array[image_array_counter]+ "' />";
							}
							//list_bar_html += "<div id='img" + image_array_counter + "' >DIV : img" + image_array_counter + "</div>";
							image_array_counter++;
						}else{
							list_bar_html += "<img src='http://www.suburbview.com/images/dot.gif' width='100' height='1' />";
                        }
						list_bar_html += "</a></td>";
						list_bar_html += "<td width='160' class='"+csstype+"g"+price_group+"'>"+address+"</td>";
						list_bar_html += "<td width='20' class='"+csstype+"g"+price_group+"'>"+num_rooms+"</td>";
						list_bar_html += "<td width='20' class='"+csstype+"g"+price_group+"'>"+num_bath+"</td>";
						list_bar_html += "<td width='20' class='"+csstype+"g"+price_group+"'>"+num_car+"</td>";
						
						list_bar_html += "</tr>\n";

						marker_counter++;
					
					}
					document.getElementById("map_status").innerHTML = "View Results";
					$('#map_status').fadeOut();
					if(display_type != "share"){
						$("#results_heading").html("<h1 class='title'>Displaying Real Estate Results For Suburb : "+ suburb+ " "+ postcode+ "</h1>");
					}else{
						$("#results_heading").html("<h1 class='title'>"+ suburb+ " Share Accommodation & Flatmates On The Map</h1>");
					}
					
					
					if($('#average_price').length){
						if(total_price > 0 && total_price_counter > 0 && display_type != "share"){
							var average_price = total_price / total_price_counter;
							document.getElementById("average_price").innerHTML = "Average price for "+ suburb + " : $"+parseInt(average_price);
						}else{
							document.getElementById("average_price").innerHTML = "";
						}
					}
				}


				if(categorys.length == 0){
					//document.getElementById("stats_bar").innerHTML = no_results(suburb);
					document.getElementById("prop_details").innerHTML = "";
					document.getElementById("map_summary").innerHTML = no_results(suburb);
					document.getElementById("map_status").innerHTML = "No Results Found";
				}else{
					
					document.getElementById("map_status").innerHTML = "View Results";

					var map_summary_html = "";
					map_summary_html += "<form name='map_form'>\n";
					map_summary_html += "<table class='view_results'>\n";
					map_summary_html += "	<tr class='search_title'>\n";
					if(the_type == "buy"){
						map_summary_html += "		<td class='map_total_white' colspan='2'> &nbsp;For Sale</td>\n";
					}else if(the_type == "rent"){
						map_summary_html += "		<td class='map_total_white' colspan='2'> &nbsp;Rent</td>\n";
					}else if(the_type == "share"){
						map_summary_html += "		<td class='map_total_white' colspan='2'> &nbsp;Share</td>\n";
					}
					map_summary_html += "	</tr>\n";
					map_summary_html += "<tr class='map_price'><td colspan='2'>Real Estate Type</td></tr>\n";
					var cli = 0;
					var display_counter = 0;
					var display_markers_array = new Array();

					for (cli = 0; cli < category_list.length; cli++) {
						//if(category_total[cli] > 0){
							//map_summary_html += "<tr class='site_results_1'>\n";
							var category_name = category_list[cli].charAt(0).toUpperCase()+category_list[cli].substring(1,category_list[cli].length);
							if (display_counter % 2) {
								map_summary_html += "<tr class='alt_property'><td>"
							}else{
								map_summary_html += "<tr><td>"
							}
							map_summary_html += "<input name='cat' type='checkbox' onClick='add_remove_markers(this, \"."+category_list[cli]+"\"," + cli + ",\""+ category_list[cli] +"\",\"y\")'  value='"+ cli + "' ";
							if(read_cookie(category_list[cli], "category") != "n"){
								map_summary_html += "checked='checked'";
								// load property
								//add_remove_markers(cli,category_list[cli], "n");
								var display_markers_array_counter = display_markers_array.length;
								display_markers_array[display_markers_array_counter] = new Array();
								display_markers_array[display_markers_array_counter]['cli'] = cli;
								display_markers_array[display_markers_array_counter]['category_list'] = category_list[cli];
								
							}
							map_summary_html += ">";
							
							if(category_list[cli] == "house") 						{ map_summary_html += " <img src='/mapsicons/icons/iconb.png' height='15' />";
							}else if(category_list[cli] == "apartment") 			{ map_summary_html += " <img src='/mapsicons/icons/icong.png' height='15' />";
							}else if(category_list[cli] == "unit") 					{ map_summary_html += " <img src='/mapsicons/icons/icon1.png' height='15' />";
							}else if(category_list[cli] == "townhouse") 			{ map_summary_html += " <img src='/mapsicons/icons/icon2.png' height='15' />";
							}else if(category_list[cli] == "land") 					{ map_summary_html += " <img src='/mapsicons/icons/icon3.png' height='15' />";
							}else if(category_list[cli] == "villa") 				{ map_summary_html += " <img src='/mapsicons/icons/icon4.png' height='15' />";
							}else if(category_list[cli] == "unit-apmt") 			{ map_summary_html += " <img src='/mapsicons/icons/icon5.png' height='15' />";
							}else if(category_list[cli] == "acreage-semi-rural") 	{ map_summary_html += " <img src='/mapsicons/icons/icon6.png' height='15' />";
							}else if(category_list[cli] == "duplex-semi-detached")	{ map_summary_html += " <img src='/mapsicons/icons/icon7.png' height='15' />";
							}else if(category_list[cli] == "rural") 				{ map_summary_html += " <img src='/mapsicons/icons/icon8.png' height='15' />";
							}else 													{ map_summary_html += " <img src='/mapsicons/icons/icon9.png' height='15' />";	}
							
							map_summary_html += " " + category_name;
							map_summary_html += "</td><td width='30' nowrap='true' align='right'>(" + category_total[cli] + ")</td>\n";
							map_summary_html += "</tr>\n";
							display_counter++;
						//}
					}
					
					map_summary_html += "</table>\n";
					map_summary_html += "</form>\n";
					// DISPLAY THE PRICE gROUP CODE
					var display_price_counter=0;
					map_summary_html += "<form name='map_price_form'>\n";
					map_summary_html += "<table class='view_results'>";
					map_summary_html += "<tr class='map_price'><td colspan='2'>Price</td></tr>\n";
					if(the_type == "buy"){
						if(price_markers['A'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "A", "No Price Listed", price_markers['A'].length);		display_price_counter++; }
						if(price_markers['B'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "B", "Under $100,000", price_markers['B'].length);		display_price_counter++; }
						if(price_markers['C'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "C", "$100,000-$200,000", price_markers['C'].length);	display_price_counter++; }
						if(price_markers['D'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "D", "$200,000-$300,000", price_markers['D'].length);	display_price_counter++; }
						if(price_markers['E'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "E", "$300,000-$400,000", price_markers['E'].length);	display_price_counter++; }
						if(price_markers['F'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "F", "$400,000-$500,000", price_markers['F'].length);	display_price_counter++; }
						if(price_markers['G'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "G", "$500,000-$600,000", price_markers['G'].length);	display_price_counter++; }
						if(price_markers['H'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "H", "$600,000-$700,000", price_markers['H'].length);	display_price_counter++; }
						if(price_markers['I'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "I", "$700,000-$800,000", price_markers['I'].length);	display_price_counter++; }
						if(price_markers['J'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "J", "$800,000-$900,000", price_markers['J'].length);	display_price_counter++; }
						if(price_markers['K'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "K", "$900,000-$1 Million", price_markers['K'].length);	display_price_counter++; }
						if(price_markers['L'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "L", "Above $1 Million", price_markers['L'].length);		display_price_counter++; }
					}else{
						if(price_markers['A'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "A", "No Price Listed", price_markers['A'].length);		display_price_counter++; }
						if(price_markers['B'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "B", "Under $100", price_markers['B'].length);	display_price_counter++; }
						if(price_markers['C'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "C", "$100-$200", price_markers['C'].length);	display_price_counter++; }
						if(price_markers['D'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "D", "$200-$300", price_markers['D'].length);	display_price_counter++; }
						if(price_markers['E'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "E", "$300-$400", price_markers['E'].length);	display_price_counter++; }
						if(price_markers['F'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "F", "$400-$500", price_markers['F'].length);	display_price_counter++; }
						if(price_markers['G'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "G", "$500-$600", price_markers['G'].length);	display_price_counter++; }
						if(price_markers['H'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "H", "$600-$700", price_markers['H'].length);	display_price_counter++; }
						if(price_markers['I'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "I", "$700-$800", price_markers['I'].length);	display_price_counter++; }
						if(price_markers['J'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "J", "$800-$900", price_markers['J'].length);	display_price_counter++; }
						if(price_markers['K'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "K", "$900-$1,000", price_markers['K'].length);	display_price_counter++; }
						if(price_markers['L'].length > 0){	map_summary_html += create_input_form_html(display_price_counter, "L", "Above $1,000", price_markers['L'].length);	display_price_counter++; }
					}
					map_summary_html += "</table>\n";
					map_summary_html += "</form>\n";        
								

					// DISPLAY THE Room gROUP CODE
					map_summary_html += "<form name='map_room_form'>\n";
					map_summary_html += "<table class='view_results'>";
					map_summary_html += "<tr class='map_price'><td colspan='2'>Rooms</td></tr>\n";
					var display_room_counter=0;
					for (found_rooms in room_markers){
						if(room_markers[found_rooms].length > 0){
							if (display_room_counter % 2) {
								map_summary_html += "<tr class='alt_property'><td>"
							}else{
								map_summary_html += "<tr><td>"
							}
							var display_room_text = "Unknown";
							if(found_rooms > 0){
								display_room_text = found_rooms;
							}

							map_summary_html += "<input name='display_room' type='checkbox' onClick=\"add_remove_room(this, '.p"+found_rooms+"', '"+found_rooms+"',"+ display_room_counter + ",'y')\"  value='"+ display_room_counter + "'";
							if(read_cookie(found_rooms, "room") != "n"){
								map_summary_html += "checked='checked'";
								// load property
								//add_remove_room(found_rooms,display_room_counter, "n");
							}
							map_summary_html += " > " + display_room_text + "</td><td width='30' nowrap='true' align='right'>("+ room_markers[found_rooms].length +")</td></tr>";
							display_room_counter++;
						}
					}
					map_summary_html += "</table>\n";
					map_summary_html += "</form>\n"; 
					
					if(document.getElementById("map_summary")){
						document.getElementById("map_summary").innerHTML = map_summary_html;
					}
					if(document.getElementById("prop_details")){
						document.getElementById("prop_details").innerHTML = "</table>"+list_bar_html;
                        highlightGoogleSearchTerms(document.referrer);
					}
					if(found_markers < help_cpu_load){
						// here i find that its good on the CPU to display prices
						//document.map_form.display_price.checked = true;
	// reading from cookie					
	//					add_remove_label(cli)
					}
				}
				if(document.display_options.display_price.checked){
					add_remove_label('99');
				}
				if(lat != "" && lng != "") {
//					map.setCenter(new GLatLng(lat, lng), 15);   
				}
				map.setZoom(15);

				// show ads
				//adsManager.enable();
				
				
				// load google base 
				var base = new gbase.controller(suburb,document.search_address.state.value,the_type);
				//markerCluster = new MarkerClusterer(map, markerClusterMarkers, {gridSize: 40, maxZoom: 14});
				
				//var cluster=new ClusterMarker(map, { markers:markerClusterMarkers } );
				//cluster.fitMapToMarkers();
			}
		}
		

		request.send(null);
		loaded = "true";

		return loaded;

	}
	function load_images(id){
		try{
			id = (id <= 4) ? 1 : (id - 4);
			for ( var i=0; i <= 8; i++ ){
				if(document.getElementById("img"+id) && document.getElementById("img"+id).src != document.getElementById("img"+id).alt){
					document.getElementById("img"+id).src = document.getElementById("img"+id).alt;
				}
				id++;
			}
		}catch(e){
		}
	}

	function get_share_html(marker, ci, i, lable_counter){
		var image = GXml.value(marker.getElementsByTagName("image")[0]);
		var price = GXml.value(marker.getElementsByTagName("price")[0]);
		var externallink = GXml.value(marker.getElementsByTagName("externallink")[0]);
		var externallink2 = GXml.value(marker.getElementsByTagName("externallink2")[0]);
		
		var headline = GXml.value(marker.getElementsByTagName("headline")[0]);
		var long_description = GXml.value(marker.getElementsByTagName("long_description")[0]);
		
		var occupier_gender = GXml.value(marker.getElementsByTagName("occupier_gender")[0]);
		var occupier_age = GXml.value(marker.getElementsByTagName("occupier_age")[0]);
		var occupier_orientation = GXml.value(marker.getElementsByTagName("occupier_orientation")[0]);
		var occupier_occupation = GXml.value(marker.getElementsByTagName("occupier_occupation")[0]);
		var occupier_pets = GXml.value(marker.getElementsByTagName("occupier_pets")[0]);
		
		var flatmate_gender = GXml.value(marker.getElementsByTagName("flatmate_gender")[0]);
		var flatmate_ageLower = GXml.value(marker.getElementsByTagName("flatmate_ageLower")[0]);
		var flatmate_ageUpper = GXml.value(marker.getElementsByTagName("flatmate_ageUpper")[0]);
		var flatmate_smoker = GXml.value(marker.getElementsByTagName("flatmate_smoker")[0]);
		var flatmate_occupation = GXml.value(marker.getElementsByTagName("flatmate_occupation")[0]);
		var flatmate_couples = GXml.value(marker.getElementsByTagName("flatmate_couples")[0]);

		var description = GXml.value(marker.getElementsByTagName("description")[0]);
		
		var width = (parseInt($('#map').width()) < 400) ? "300px" : "400px"; 
			
		if(image != ""){

			html = "<div class='mapdata mapdatapic' style='width:"+width+"; height:300px;overflow:auto;'>";
			html += "<div id='shareheadline'>"+headline+"</div>";
			html += "<table><tr><td>";
			var image_source = "<img src='"+image+"' align='top' height='150' width='200'/>";
			html +=  "<a href='" + externallink + "' target='_blank' onclick='banner_link(this)'>" + image_source + "</a><br/>";
			html += "</td><td valign='top'>";
		}else{
			html = "<div class='mapdata' style='width:"+width+"; height:300px;overflow:auto;'>";
			html += "<div id='shareheadline'>"+headline+"</div>";
			html += "<table><tr><td valign='top'>";
		}

		html += description.replace(/<span/g, "<span style='font-weight:bold;color:#fff; background:#fe796c;'>NEW</span> <span");
		html += "<a href='" + externallink + "' target='_blank' onclick='banner_link(this)'><img src='/images/easyroommate.png' /></a>";
		html += "</td></tr></table>";
		
		html += "<table><tr><td valign='top'>";
		html +=  "<img src='/images/view.png' /><span style='font-size:12px;font-weight:bold;'><a href='" + externallink2 + "' target='_blank' onclick='banner_link(this)'>View Full Listing</a></span>";
		html += "</td><td>";
		html +=  "<img src='/images/contact.png' /><span style='font-size:12px;font-weight:bold;'><a href='" + externallink + "' target='_blank' onclick='banner_link(this)'>Contact Flatmate</a></span>";
		html += "</td></tr></table>";
		
		html += "<div style='font-size:11px;line-height:95%'><b><i>Description : </i></b>";
		html += long_description;
		
		html += "<table>";
		html += "<tr>";
		html += "<td><b>Occupier</b></td>";
		html += "<td><b>Flat Mate</b></td>";
		html += "</tr>";
		html += "<tr>";
		html += "<td valign='top'>";
		html += (occupier_gender != "") ? "Gender : " +occupier_gender + "<br/>" : "";
		html += (occupier_gender != "") ? "Age : " +occupier_age + "<br/>" : "";
		html += (occupier_orientation != "") ? "Orientation : " +occupier_orientation + "<br/>" : "";
		html += (occupier_occupation != "") ? "Occupation : " +occupier_occupation + "<br/>" : "";
		html += (occupier_pets != "") ? "Pets : " +occupier_pets + "<br/>" : "";
		html += "</td>";
		html += "<td valign='top'>";
		html += (flatmate_gender != "") ? "Gender : " +flatmate_gender + "<br/>" : "";
		html += (flatmate_ageLower != "") ? "Age : " +flatmate_ageLower + " - " + flatmate_ageUpper + "<br/>" : "";
		html += (flatmate_smoker != "") ? "Smoker : " +flatmate_smoker + "<br/>" : "";
		html += (flatmate_occupation != "") ? "Occupation : " +flatmate_occupation + "<br/>" : "";
		html += (flatmate_couples != "") ? "Couples : " +flatmate_couples + "<br/>" : "";
		html += "</td>";
		html += "</tr>";
		html += "</table>";
		
		html += "</div>";
		
		
		
		var full_text = GXml.value(marker.getElementsByTagName("description")[0]);
		var address = full_text.split("<br/>",1);

		/*
		html += "<br/><div style='text-align:right'><small>[ <a href='javascript:rm(" + ci + "," + i + ",";
		if(price.length > 3){
			html += lable_counter
		}else{
			html += "\"\"";
		}
		html += ")'>Hide</a> ]</small></div></div>";
		*/
		return html;
	}

	function get_xml_pop_street(suburb, postcode){
		document.getElementById("pop_content").innerHTML = "<span id='loading' style='min-width: 150px; width: 100%; background-color: #FFFFFF; color: #000000;'><img src='/images/loader_blue.gif' alt='Loading Data' /> Loading...<\/span>";
		var street_text="";
		var xml_pop_url = '/xml/pop_street.php?suburb=' + suburb + '&postcode=' + postcode +'&type=' + display_type;
		var street_array = new Array();
		var pop_request = GXmlHttp.create();
		pop_request.open('GET', xml_pop_url, true);
		pop_request.onreadystatechange = function() {
			if (pop_request.readyState == 4) {
				var xmlDoc = pop_request.responseXML;
				var streets = xmlDoc.documentElement.getElementsByTagName("street");
				if(streets.length > 0){
					var max_display = 6;
					if(streets.length > max_display){
						document.getElementById("pop_content").style.overflow="auto";
					}else{
						document.getElementById("pop_content").style.overflow="visible";
					}
					for (var i = 0; i < streets.length; i++) {
						// obtain the attribues of each marker
						street_text += streets[i].getAttribute("address")+"<br/>";
					}
				}
			}
			document.getElementById("pop_content").innerHTML = street_text;
		}
		pop_request.send(null);
	}

	function create_input_form_html(display_price_counter,letter, text, price_markers_length){
		var map_summary_html = "";
		if (display_price_counter % 2) {
			map_summary_html += "<tr class='alt_property'><td>"
		}else{
			map_summary_html += "<tr><td>"
		}
		map_summary_html += "<input name='display_price' type='checkbox' onClick=\"add_remove_price(this,'.g"+letter+"','"+ letter +"'," + display_price_counter + ",'y')\"  value='" + display_price_counter + "' ";
		if(read_cookie(letter, "price") != "n"){
			map_summary_html += "checked='checked'";
			// load property
			//add_remove_price(letter,display_price_counter, "n");
		}
		map_summary_html += " >"+ text +"</td><td width='30' nowrap='true' align='right'>(" + price_markers_length +")</td></tr>";

		return map_summary_html;
	}

	function add_remove_price(box, css, price_group, check_id, add_to_cookie){
		if(add_to_cookie == 'y'){
			add_cookie(price_group, check_id, "price");
		}
		var id = "";
		var i = "";
		var lable_counter = "";
		for(pi in price_markers[price_group]){
		//for (pi = 0; pi < (price_markers[price_group].length); pi++) {
			id = price_markers[price_group][pi]['ci'];
			i = price_markers[price_group][pi]['i'];
			lable_counter = price_markers[price_group][pi]['lable_counter'];
			if(document.map_price_form.display_price[check_id]){
				if(document.map_price_form.display_price[check_id].checked){
					// add 
					am_price(id,i,lable_counter);
				}else{
					// remove
					rm_price(id,i,lable_counter);
				}
			}else{
				if(document.map_price_form.display_price.checked){
					// add 
					am_price(id,i,lable_counter);
				}else{
					// remove
					rm_price(id,i,lable_counter);
				}
			}
		}
		hide_show_block_type(box,css);
	}

	function add_remove_room(box, css, room_group, check_id, add_to_cookie){
		if(add_to_cookie == 'y'){
			add_cookie(room_group, check_id, "room");
		}
		var id = "";
		var i = "";
		var lable_counter = "";
		for(pi in room_markers[room_group]){
		//for (pi = 0; pi < (price_markers[price_group].length); pi++) {
			id = room_markers[room_group][pi]['ci'];
			i = room_markers[room_group][pi]['i'];
			lable_counter = room_markers[room_group][pi]['lable_counter'];
			if(document.map_room_form.display_room[check_id]){
				if(document.map_room_form.display_room[check_id].checked){
					// add 
					am_price(id,i,lable_counter);
				}else{
					// remove
					rm_price(id,i,lable_counter);
				}
			}else{
				if(document.map_room_form.display_room.checked){
					// add 
					am_price(id,i,lable_counter);
				}else{
					// remove
					rm_price(id,i,lable_counter);
				}
			}
		}
		hide_show_block_type(box,css);
	}

	function add_remove_label(id){


		if(document.display_options.display_price.checked){
		//if(document.map_form.display_price.checked){
			//for(ci in label_markers){
			for (var ci = 0; ci < label_markers.length; ci++) {
			
				if(document.map_form.cat[ci] && document.map_form.cat[ci].checked){
					//for(i in label_markers[ci]){
					for (var i = 0; i < label_markers[ci].length; i++) {
						if(check_price_group_is_selected(ci, i, "y") == true && check_room_group_is_selected(ci, i, "y") == true ){
							if(label_markers[ci][i] != undefined){
								map.addOverlay(label_markers[ci][i]);
							}
						}
					}
				}
			}

		}else{
			//for(ci in label_markers){
			for (var ci = 0; ci < label_markers.length; ci++) {
				if(document.map_form.cat[ci] && document.map_form.cat[ci].checked){
					//for(i in label_markers[ci]){
					for (var i = 0; i < label_markers[ci].length; i++) {
						if(label_markers[ci][i] != undefined){
							map.removeOverlay(label_markers[ci][i]);
						}
					}
				}
			}
		}
	}

	function check_price_group_is_selected(check_id, check_i, check_label){
	// function checks to make sure that the price group is valid to be displayed
		var found = false;
		var price_group_counter = 0;
		for(price_group in price_markers){
			for(pi in price_markers[price_group]){
				var id = price_markers[price_group][pi]['ci'];
				var i = price_markers[price_group][pi]['i'];
				var rooms = price_markers[price_group][pi]['rooms'];
				if(check_label == "y"){
					i = price_markers[price_group][pi]['lable_counter'];
				}
				if(document.map_price_form.display_price[price_group_counter]){
					if(document.map_price_form.display_price[price_group_counter].checked && check_id == id && check_i == i){
						// found
						found = true;
					}
				}else{
					if(document.map_price_form.display_price.checked && check_id == id && check_i == i){
						// found
						found = true;
					}
				}

			}
			if(price_markers[price_group].length > 0){
				price_group_counter++;
			}
		}
		return found;
	}

	function check_room_group_is_selected(check_id, check_i, check_label){
	// function checks to make sure that the price group is valid to be displayed
		var found = false;
		var room_group_counter = 0;
		for(room_group in room_markers){
			for(pi in room_markers[room_group]){
				var id = room_markers[room_group][pi]['ci'];
				var i = room_markers[room_group][pi]['i'];
				var rooms = room_markers[room_group][pi]['rooms'];
				if(check_label == "y"){
					i = room_markers[room_group][pi]['lable_counter'];
				}
				//if(document.map_room_form.display_room[room_group_counter].checked && check_id == id && check_i == i){
				if(document.map_room_form.display_room[room_group_counter]){
					if(document.map_room_form.display_room[room_group_counter].checked && check_id == id && check_i == i){
						// found
						found = true;
					}
				}else{
					if(document.map_room_form.display_room.checked && check_id == id && check_i == i){
						// found
						found = true;
					}
				}

			}
			if( room_markers[room_group].length > 0){
				room_group_counter++;
			}
		}
		return found;
	}

	function add_remove_markers(box, css, id, category, add_to_cookie){
		if(add_to_cookie == 'y'){
			add_cookie(category, id, "category");
		}
		if(document.map_form.cat[id]){
			if(document.map_form.cat[id].checked){
				document.getElementById("map_status").innerHTML = "<span id='loading' style='min-width: 150px; width: 100%; background-color: #FFFFFF; color: #000000;'><img src='/images/loader_blue.gif' alt='Loading Data' /> Loading...<\/span>";
				add_markers(id);
			}else{
				document.getElementById("map_status").innerHTML = "<span id='loading' style='min-width: 150px; width: 100%; background-color: #FFFFFF; color: #000000;'>Removing Data...<\/span>";
				remove_markers(id);
			}
		}else{
			if(document.map_form.cat.checked){
				document.getElementById("map_status").innerHTML = "<span id='loading' style='min-width: 150px; width: 100%; background-color: #FFFFFF; color: #000000;'><img src='/images/loader_blue.gif' alt='Loading Data' /> Loading...<\/span>";
				add_markers(id);
			}else{
				document.getElementById("map_status").innerHTML = "<span id='loading' style='min-width: 150px; width: 100%; background-color: #FFFFFF; color: #000000;'>Removing Data...<\/span>";
				remove_markers(id);
			}
		}
		hide_show_block_type(box,css);

		document.getElementById("map_status").innerHTML = "";
	}
	
	function remove_markers(id){
		for (var i = 0; i < category_markers[id].length; i++) {
			if(category_markers[id][i] != undefined){
				map.removeOverlay(category_markers[id][i]);
			}
		}

		for (var i = 0; i < label_markers[id].length; i++) {
			if(label_markers[id][i] != undefined){
				map.removeOverlay(label_markers[id][i]);
			}
		}
		document.getElementById("map_status").innerHTML = "View Results";
	}
	
	function add_markers(id){
		for(i in category_markers[id]){
			if(check_price_group_is_selected(id, i, "n") == true && check_room_group_is_selected(id, i, "n") == true  ){
				if(category_markers[id][i] != undefined){
					map.addOverlay(category_markers[id][i]);
				}
			}
		}
		if(document.display_options.display_price.checked){
			for (var i = 0; i < label_markers[id].length; i++) {
				if(check_price_group_is_selected(id, i, "y") == true && check_room_group_is_selected(id, i, "y") == true ){
					if(label_markers[id][i] != undefined){
						map.addOverlay(label_markers[id][i]);
					}
				}
			}
		}
		document.getElementById("map_status").innerHTML = "View Results";
	}
	
	function rm(id,i,lable_counter){
		// remove a single marker
		if(category_markers[id][i] != undefined){
			map.removeOverlay(category_markers[id][i]);
		}
		if(typeof lable_counter == 'number'){
			if(label_markers[id][lable_counter] != undefined){
				map.removeOverlay(label_markers[id][lable_counter]);
			}
		}
		map.closeInfoWindow();
	}

	function rm_price(id,i,lable_counter){
		// remove a single marker (used by the price)
		if(document.map_form.cat[id]){
			if(document.map_form.cat[id].checked){
				if(category_markers[id][i] != undefined){
					map.removeOverlay(category_markers[id][i]);
				}

				if(typeof lable_counter == 'number' && document.display_options.display_price.checked){
					if(label_markers[id][lable_counter] != undefined){
						map.removeOverlay(label_markers[id][lable_counter]);
					}
				}
			}
		}else{
			if(document.map_form.cat.checked){
				if(category_markers[id][i] != undefined){
					map.removeOverlay(category_markers[id][i]);
				}

				if(typeof lable_counter == 'number' && document.display_options.display_price.checked){
					if(label_markers[id][lable_counter] != undefined){
						map.removeOverlay(label_markers[id][lable_counter]);
					}
				}
			}
		}
	}
	function am_price(id,i,lable_counter){
		// add a single marker (used by the price)
		if(document.map_form.cat[id]){
			if(document.map_form.cat[id].checked){
				if(category_markers[id][i] != undefined){
					if(check_price_group_is_selected(id, i, "n") == true && check_room_group_is_selected(id, i, "n") == true ){
						map.addOverlay(category_markers[id][i]);
					}
				}
				if(typeof lable_counter == 'number' && document.display_options.display_price.checked){
					if(label_markers[id][lable_counter] != undefined){
						if(check_price_group_is_selected(id, lable_counter, "y") == true && check_room_group_is_selected(id, lable_counter, "y") == true ){
							map.addOverlay(label_markers[id][lable_counter]);
						}
					}
				}
			}
		}else{
			if(document.map_form.cat.checked){
				if(category_markers[id][i] != undefined){
					if(check_price_group_is_selected(id, i, "n") == true && check_room_group_is_selected(id, i, "n") == true ){
						map.addOverlay(category_markers[id][i]);
					}
				}
				if(typeof lable_counter == 'number' && document.display_options.display_price.checked){
					if(label_markers[id][lable_counter] != undefined){
						if(check_price_group_is_selected(id, lable_counter, "y") == true && check_room_group_is_selected(id, lable_counter, "y") == true ){
							map.addOverlay(label_markers[id][lable_counter]);
						}
					}
				}
			}
		}
	}


	function add_cookie(name, id, type){
		var value="n";
		

		
		if(type == "price"){
			if(document.map_price_form.display_price[id]){
				if(document.map_price_form.display_price[id].checked){
					value="y";
				}
			}else if(document.map_price_form.display_price.checked){
				value="y";
			}
			
		}else if(type =="room"){
			if(document.map_room_form.display_room[id]){
				if(document.map_room_form.display_room[id].checked){
					value="y";
				}
			}else if(document.map_room_form.display_room.checked){
				value="y";
			}
		}else if(type == "category"){
			if(document.map_form.cat[id]){
				if(document.map_form.cat[id].checked){
					value="y";
				}
			}else if(document.map_form.cat.checked){
				value="y";
			}
			if(name=="house"){							name="ho";
			}else if(name=="apartment"){				name="ap";
			}else if(name=="unit"){					name="un";
			}else if(name=="townhouse"){				name="to";
			}else if(name=="land"){					name="la";
			}else if(name=="villa"){					name="vi";
			}else if(name=="unit-apmt"){				name="ua";
			}else if(name=="acreage-semi-rural"){		name="ac";
			}else if(name=="duplex-semi-detached"){	name="du";
			}else if(name=="rural"){					name="ru";
			}else{										name="unk";
			}

		}
		
		if(display_type == "buy"){
			name = "B" + name;
		}else if (display_type == "rent"){
			name = "R" + name;	
		}else if (display_type == "share"){
			name = "S" + name;	
		}
		write_cookie(name, value, type);
	}
	
	function add_new_cookie(name, box, type){
		var value="n";

		if(type == "price"){
			if(box.checked == true){
				value="y";
			}
			
		}else if(type =="room"){

			if(box.checked == true){
				value="y";
			}
		}else if(type == "category"){
			if(box.checked == true){
				value="y";
			}
			if(name=="house"){							name="ho";
			}else if(name=="apartment"){				name="ap";
			}else if(name=="unit"){					name="un";
			}else if(name=="townhouse"){				name="to";
			}else if(name=="land"){					name="la";
			}else if(name=="villa"){					name="vi";
			}else if(name=="unit-apmt"){				name="ua";
			}else if(name=="acreage-semi-rural"){		name="ac";
			}else if(name=="duplex-semi-detached"){	name="du";
			}else if(name=="rural"){					name="ru";
			}else{										name="unk";
			}

		}
		if(display_type == "buy"){
			name = "B" + name;
		}else if (display_type == "rent"){
			name = "R" + name;	
		}else if (display_type == "share"){
			name = "S" + name;	
		}
		write_cookie(name, value, type);

	}
	
	function write_cookie(name, value, type){

		var price_cookie_data = "";
		var room_cookie_data = "";
		var category_cookie_data = "";
		var temp_cookie_value = "";
		var old_cookie_value_split = "";
		var new_cookie_value = "";
		
		// get the current cookie values
		var whole_cookie = unescape(document.cookie);
		var each_cookie = whole_cookie.split(";");

		//sorting cookies
		for (i = 0; i < each_cookie.length; i++){
			if (each_cookie[i].indexOf("price") > -1){
				temp_cookie_value = each_cookie[i];
				old_cookie_value_split = temp_cookie_value.split("=");
				price_cookie_data = old_cookie_value_split[1];
			}
			if (each_cookie[i].indexOf("room") > -1){
				temp_cookie_value = each_cookie[i];
				old_cookie_value_split = temp_cookie_value.split("=");
				room_cookie_data = old_cookie_value_split[1];
			}
			if (each_cookie[i].indexOf("category") > -1){
				temp_cookie_value = each_cookie[i];
				old_cookie_value_split = temp_cookie_value.split("=");
				category_cookie_data = old_cookie_value_split[1];
			}
		}


		if(type == "price"){
			var price_cookie_text = "";
			var price_cookie_list = price_cookie_data.split("|");

			//sorting cookies
			for (i = 0; i < price_cookie_list.length; i++){
				if(name == price_cookie_list[i] && value=="y"){
					// do nothing as i only want No values
				}else{
					if(price_cookie_list[i].length > 0){
						price_cookie_text += price_cookie_list[i] + "|";
					}
				}
			}
			if(value != "y"){
				price_cookie_text += name + "|";
			}
			new_cookie_value = "price=|"+price_cookie_text;
			
		}else if(type == "room"){
			var room_cookie_text = "";
			var room_cookie_list = room_cookie_data.split("|");

			//sorting cookies
			for (i = 0; i < room_cookie_list.length; i++){
				if(name == room_cookie_list[i] && value=="y"){
					// do nothing as i only want No values
				}else{
					if(room_cookie_list[i].length > 0){
						room_cookie_text += room_cookie_list[i] + "|";
					}
				}
			}
			if(value != "y"){
				room_cookie_text += name + "|";
			}
			new_cookie_value = "room=|"+room_cookie_text;
			

		}else if(type == "category"){
			var category_cookie_text = "";
			var category_cookie_list = category_cookie_data.split("|");

			//sorting cookies
			for (i = 0; i < category_cookie_list.length; i++){
				if(name == category_cookie_list[i] && value=="y"){
					// do nothing as i only want No values
				}else{
					if(category_cookie_list[i].length > 0){
						category_cookie_text += category_cookie_list[i] + "|";
					}
				}
			}
			if(value != "y"){
				category_cookie_text += name + "|";
			}
			new_cookie_value = "category=|"+category_cookie_text;
		}
		var days = 360;
		var time="";
		if(days){
			(time = new Date()).setTime(new Date().getTime()+days*24*60*60*1000);
			var exp = '; expires='+time.toGMTString();
		}else{
			var exp='';
		}
		document.cookie=new_cookie_value+exp+"; path=/";
	}
	function Delete_Cookie() {
		document.cookie = "category=" + ";expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
		document.cookie = "room=" + ";expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
		document.cookie = "price=" + ";expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/";
		sync_list();
	}

	function read_cookie(name, type){
		var found = "y";
		var quote_cookie_data = "";
		var whole_cookie = unescape(document.cookie);
		var each_cookie = whole_cookie.split(";");

		var price_cookie_data = "";
		var room_cookie_data = "";
		var category_cookie_data = "";
		var temp_cookie_value = "";
		var old_cookie_value_split = "";

		if(type == "category"){
			if(name=="house"){							name="ho";
			}else if(name=="apartment"){				name="ap";
			}else if(name=="unit"){					name="un";
			}else if(name=="townhouse"){				name="to";
			}else if(name=="land"){					name="la";
			}else if(name=="villa"){					name="vi";
			}else if(name=="unit-apmt"){				name="ua";
			}else if(name=="acreage-semi-rural"){		name="ac";
			}else if(name=="duplex-semi-detached"){	name="du";
			}else if(name=="rural"){					name="ru";
			}else{										name="unk";
			}
		}

		if(display_type == "buy"){
			name = "B" + name;
		}else if (display_type == "rent"){
			name = "R" + name;	
		}else if (display_type == "share"){
			name = "S" + name;	
		}

		//sorting cookies
		if(each_cookie.length){
			for (i = 0; i < each_cookie.length; i++){
				if (each_cookie[i].indexOf("price") > -1){
					temp_cookie_value = each_cookie[i];
					old_cookie_value_split = temp_cookie_value.split("=");
					price_cookie_data = old_cookie_value_split[1];
				}
				if (each_cookie[i].indexOf("room") > -1){
					temp_cookie_value = each_cookie[i];
					old_cookie_value_split = temp_cookie_value.split("=");
					room_cookie_data = old_cookie_value_split[1];
				}
				if (each_cookie[i].indexOf("category") > -1){
					temp_cookie_value = each_cookie[i];
					old_cookie_value_split = temp_cookie_value.split("=");
					category_cookie_data = old_cookie_value_split[1];
				}
			}
		}

		
		if(type == "price"){
			var price_cookie_text = "";
			if(price_cookie_data){
				var price_cookie_list = price_cookie_data.split("|");
				if(price_cookie_list.length){
					for (i = 0; i < price_cookie_list.length; i++){
						if(name == price_cookie_list[i]){
							 found = "n";
						}
					}
				}
			}
			
		}else if(type =="room"){
			var room_cookie_text = "";
			if(room_cookie_data){
				var room_cookie_list = room_cookie_data.split("|");
				if(room_cookie_list.length){
					for (i = 0; i < room_cookie_list.length; i++){
						if(name == room_cookie_list[i]){
							 found = "n";
						}
					}
				}
			}

		}else if(type == "category"){
			var category_cookie_text = "";
			if(category_cookie_data){
				var category_cookie_list = category_cookie_data.split("|");
				if(category_cookie_list.length){
					for (i = 0; i < category_cookie_list.length; i++){
						if(name == category_cookie_list[i]){
							 found = "n";
						}
					}
				}
			}
		}

		return found;
	}
	
	function link(value){
		var url = "/outgoing/"+value.href;
		urchinTracker(url);
	}

}
