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 = "/icons/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(price) {

	if(price=='cheap'){
		document.search.medium.checked=false;
		document.search.expensive.checked=false;
	}
	if(price=='medium'){
		document.search.cheap.checked=false;
		document.search.expensive.checked=false;
	}
	if(price=='expensive'){
		document.search.medium.checked=false;
		document.search.cheap.checked=false;
	}
	if(price=='firstload'){
		document.search.recommended.checked=true;
	}
  
	function ajax_func(response_text,response_xml){

		var new_code=response_xml.getElementsByTagName("code")[0].childNodes[0].nodeValue;
		if(new_code != old_code){
			old_code = new_code;
			if(new_code == "0") {
				document.getElementById("column_1").innerHTML="";
				document.getElementById("column_2").innerHTML="";
				//document.getElementById("column_3").innerHTML="";
				if(marker_arr.length>0){
					for(var i=0; marker_arr[i]; i++) {
						map.removeOverlay(marker_arr[i]);
					}
				}
			map.setZoom(15);
			a_point = new GLatLng(51.7526,-1.25696);
			map.panTo(a_point);
			
			} else {	
				var rows = response_xml.getElementsByTagName("name");
				var name_arr = new Array();
				var search_content='';
				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 = '';
				var column_3 = '';
				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;'>" + (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;'>" + (i+1) + "</td><td style='padding: 0px;'>" + "<a style='cursor: pointer;' onClick='pan_and_open(" + i + ");'>" + name_arr[i] + "</a></td></tr>";
					} else {
					column_3 = column_3 + "<tr><td style='padding: 0px 3px 0px 0px; text-align: right;'>" + (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: 135px;'>" + 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 class='small' style='text-align: left;'>" + 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></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.chinese.checked && !document.search.english.checked && !document.search.french.checked && !document.search.greek.checked && !document.search.indian.checked && !document.search.italian.checked && !document.search.kebab.checked && !document.search.lebanese.checked && !document.search.pizza.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; }
	if(document.search.cafe.checked){ var cafe=1; } else { var cafe=0; }
	if(document.search.chinese.checked){ var chinese=1; } else { var chinese=0; }
	if(document.search.english.checked){ var english=1; } else { var english=0; }
	if(document.search.french.checked){ var french=1; } else { var french=0; }
	if(document.search.greek.checked){ var greek=1; } else { var greek=0; }
	if(document.search.indian.checked){ var indian=1; } else { var indian=0; }
	if(document.search.italian.checked){ var italian=1; } else { var italian=0; }
	if(document.search.kebab.checked){ var kebab=1; } else { var kebab=0; }
	if(document.search.lebanese.checked){ var lebanese=1; } else { var lebanese=0; }
	if(document.search.pizza.checked){ var pizza=1; } else { var pizza=0; }
	if(document.search.sandwiches.checked){ var sandwiches=1; } else { var sandwiches=0; }
	if(document.search.thai.checked){ var thai=1; } else { var thai=0; }

	if(document.search.cheap.checked){ var cheap=1; } else { var cheap=0; }
	if(document.search.medium.checked){ var medium=1; } else { var medium=0; }
	if(document.search.expensive.checked){ var expensive=1; } else { var expensive=0; }
	if(document.search.fast.checked){ var fast=1; } else { var fast=0; }
	if(document.search.lazy.checked){ var lazy=1; } else { var lazy=0; }
	if(document.search.recommended.checked){ var recommended=1; } else { var recommended=0; }

	var url = "name.php?string=" + document.search.name.value + "&barpub=" + barpub + "&cafe=" + cafe + "&chinese=" + chinese + "&english=" + english + "&french=" + french + "&greek=" + greek + "&indian=" + indian + "&italian=" + italian + "&kebab=" + kebab  + "&lebanese=" + lebanese + "&pizza=" + pizza  + "&sandwiches=" + sandwiches + "&thai=" + thai + "&cheap=" + cheap + "&medium=" + medium + "&expensive=" + expensive + "&fast=" + fast + "&lazy=" + lazy + "&recommended=" + recommended;

	ajax_it(ajax_func,url);
}
