var map;
var baseIcon;
var a_marker;
var marker_arr = new Array();
var point_arr = new Array();
var content_arr = new Array();
var rest_id = new Array();
var photo_id = new Array();
var old_code = "1";

function createMarker(point,html,j) {
	var letteredIcon = new GIcon(baseIcon);
	letteredIcon.image = "/gicons/iconr" + (j+1) + ".png";
	markerOptions = { icon:letteredIcon };

	var marker = new GMarker(point,markerOptions);
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(html);
	});
	return marker;
}

function pan_and_open(j){
	marker=marker_arr[j];
	html=content_arr[j];
	marker.openInfoWindowHtml(html);
}

function load() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
		map.setCenter(new GLatLng(51.7526,-1.25696), 15);
		map.addControl(new GSmallMapControl());
		map.setMapType(G_HYBRID_MAP);
		
		baseIcon = new GIcon();
		baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
		baseIcon.iconSize = new GSize(20, 34);
		baseIcon.shadowSize = new GSize(37, 34);
		baseIcon.iconAnchor = new GPoint(9, 34);
		baseIcon.infoWindowAnchor = new GPoint(9, 2);
		baseIcon.infoShadowAnchor = new GPoint(18, 25);
		ajaxFunction('firstload');
	}
}


function ajax_it(func_one,func_url) {
var xmlHttp;
try{xmlHttp=new XMLHttpRequest();}
catch (e)
{ try{ xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");}
catch (e)
{ try{xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}
catch (e)
{alert("Your browser is not supported - please download the latest version of firefox.");
return false;}
}
}
xmlHttp.onreadystatechange=function() {
if(xmlHttp.readyState==4){
func_one(xmlHttp.responseText,xmlHttp.responseXML);
}
}
xmlHttp.open("GET",func_url,true);
xmlHttp.send(null);
}


function ajaxFunction() {

	function ajax_func(response_text,response_xml){

		var new_code=response_xml.getElementsByTagName("code")[0].childNodes[0].nodeValue;
		if(new_code != old_code){
			//results have changed
			old_code = new_code;
			if(new_code == "0") {
				//no results
				document.getElementById("column_1").innerHTML="";
				document.getElementById("column_2").innerHTML="";
				//clear markers from map
				if(marker_arr.length>0){
					for(var i=0; marker_arr[i]; i++) {
						map.removeOverlay(marker_arr[i]);
					}
				}
			//reset map cantre
			map.setZoom(15);
			a_point = new GLatLng(51.7526,-1.25696);
			map.panTo(a_point);
			
			} else {
				//there are results
				var rows = response_xml.getElementsByTagName("name");
				var name_arr = new Array();
				var search_content='';
				//remove previous markers
				if(marker_arr.length>0){
					for(var i=0; marker_arr[i]; i++) {
						map.removeOverlay(marker_arr[i]);
					}
				}
				marker_arr.length=0;
				point_arr.length=0;
				content_arr.length=0;
				var column_1 = '';
				var column_2 = '';
				for(var i=0; rows[i]; i++) {
					name_arr[i]=response_xml.getElementsByTagName("name")[i].childNodes[0].nodeValue;
					if(i<10) {
					column_1 = column_1 + "<tr><td style='padding: 0px 3px 0px 0px; text-align: right; vertical-align:top;'>" + (i+1) + "</td><td style='padding: 0px;'>" + "<a style='cursor: pointer;' onClick='pan_and_open(" + i + ");'>" + name_arr[i] + "</a></td></tr>";
					} else if (i<20) {
					column_2 = column_2 + "<tr><td style='padding: 0px 3px 0px 0px; text-align: right; vertical-align:top;''>" + (i+1) + "</td><td style='padding: 0px;'>" + "<a style='cursor: pointer;' onClick='pan_and_open(" + i + ");'>" + name_arr[i] + "</a></td></tr>";
					} 
					lat=response_xml.getElementsByTagName("lat")[i].childNodes[0].nodeValue;
					lng=response_xml.getElementsByTagName("lng")[i].childNodes[0].nodeValue;
					//rest_id[i]=response_xml.getElementsByTagName("id")[i].childNodes[0].nodeValue;
					//photo_id[i]=response_xml.getElementsByTagName("photo_id")[i].childNodes[0].nodeValue;
					point_arr[i]=new GLatLng(lat, lng);
					//if(photo_id[i] > 0) {
					//	content = "<table><tr><td  class='small' style='width: 150px;'>" + name_arr[i] + "<br />" + response_xml.getElementsByTagName("add_1")[i].childNodes[0].nodeValue + "<br />" + response_xml.getElementsByTagName("notes")[i].childNodes[0].nodeValue + "<br />" + response_xml.getElementsByTagName("tel")[i].childNodes[0].nodeValue  + "</td><td><img src='/oxnosh/restaurant_thumbnails/" + rest_id[i] + "-" + photo_id[i] + ".jpg'></img></td></tr></table>";
					//} else {
						content = "<table><tr><td style='text-align: left;'><h3>" + name_arr[i] + "</h3>" + response_xml.getElementsByTagName("add_1")[i].childNodes[0].nodeValue + "<br />" + response_xml.getElementsByTagName("notes")[i].childNodes[0].nodeValue + "<br />" + response_xml.getElementsByTagName("tel")[i].childNodes[0].nodeValue + "</td></tr></table>";
					//}
					content_arr[i] = content;
					marker_arr[i] = createMarker(point_arr[i], content, i);
					map.addOverlay(marker_arr[i]);
				}
				document.getElementById("column_1").innerHTML= "<table>"+column_1+"</table>";
				document.getElementById("column_2").innerHTML= "<table>"+column_2+"</table>";
				//document.getElementById("column_3").innerHTML= "<table>"+column_3+"</table>";
				
				//if(!document.search.barpub.checked && !document.search.cafe.checked && document.search.name.value.length<2){
					map.panTo(point_arr[0]);
				//} else {
				//	pan_and_open(0);
				//}
			}
		}
	}

	//if(document.search.barpub.checked){ var barpub=1; } else { var barpub=0; }
	//etc etc
	var long_ting = $("#search").serialize();
	var url = "shop_search.php?" + long_ting;
	ajax_it(ajax_func,url);
}