 //<![CDATA[ 

	HS = {}
	
	HS.map = {
		mapQuery: ""
	}
	
	HS.list = {}

	HS.mapMenu = {
		activeTab: "mapTab"
	}
	
	HS.mapMenu.loadtab = function(tab, page) {
		$(HS.mapMenu.activeTab).style.display = "none";
		$(tab).style.display = "block";
		HS.mapMenu.activeTab = tab;
		$("mapTabLink").className = ""
		$("listTabLink").className = ""
		$(tab+"Link").className = "active";	
		
		if(tab == "mapTab") {
			HS.changeZone($("zoneSelect").value);
		}
		
		HS.update();
	}
	
	HS.update = function() {
		if(HS.mapMenu.activeTab == "mapTab") redrawMap(HS.map.mapQuery)
		else if(HS.mapMenu.activeTab == "listTab") HS.list.update();
	}
	
	HS.list.update = function() {
		postRequest(HS.map.mapQuery,"list.php","listTab","show");
	}

	HS.list.flipPage = function(page) {
		postRequest(HS.map.mapQuery + "&page=" + page,"list.php","listTab","show");
	}
	
	HS.showLoading = function() {
		$("loadingBox").style.visibility = "visible";
	}
	
	HS.hideLoading = function() {
		$("loadingBox").style.visibility = "hidden";
	}
	
	HS.changeZone = function(latlng) {
		if(HS.mapMenu.activeTab == "mapTab") {
			if(latlng != "0") {
				latlng = latlng.split(";");
				map.setCenter(new GLatLng(latlng[0], latlng[1]), parseInt(latlng[2]));
				HS.map.mapQuery += "&z=" + latlng[3];
			} else {
				map.setCenter(new GLatLng(13.753214, 100.531780), 13);
				HS.map.mapQuery += "&z=0";
				$("zoneSelect").selectedIndex = 0;
			}
		} else if(HS.mapMenu.activeTab == "listTab") {
			if(latlng != "0") {
				latlng = latlng.split(";");
				zone = latlng[3];
				updateMap();
			} else {
				zone = 0;
				$("zoneSelect").selectedIndex = 0;
				updateMap();
			}
		}
	}
	
	HS.doSearch = function(keywords) {
		$(HS.mapMenu.activeTab).style.display = "none";
		$("listTab").style.display = "block";
		HS.mapMenu.activeTab = "listTab";
		$("mapTabLink").className = ""
		$("listTabLink").className = "active"
		
		if(keywords==null) keywords = $("searchBox").value;
		postRequest("?&s=1&sv=" + keywords,"list.php","listTab","show");
	}

function load() {
	
	var isIE6 = navigator.userAgent.toLowerCase().indexOf('msie 6') != -1;
	
	if (isIE6) try {document.execCommand("BackgroundImageCache", false, true);} catch(e){};
	
	tooltip.init();
	if(navigator.appName == "Microsoft Internet Explorer") {
		try {
  			document.execCommand('BackgroundImageCache', false, true);		//IE6 Flickering Backround FIX
		} catch(e) {}
	}
	
	if(window.opera) {
		$('operaHack').src = "javascript:location.href='javascript:checkPageURL();'";
	}

		currentURL = $("currentPage").value;
		
		if (currentURL == "home") { 
			loadMap(); 
			if($("keywords").value) HS.doSearch($("keywords").value);
		}
		else if(currentURL == "add") {
			addPage();
			loadScript("add");
		} else if(currentURL == "contact") {
			loadScript("contact");
		}
		

	
}

function loadMap() {
	if (GBrowserIsCompatible()) {
		map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        map.setCenter(new GLatLng(13.753214, 100.531780), 13);
		
		var date = new Date();
		var timestamp = date.getTime();
		
		
		GDownloadUrl("genxml.php?time=" + timestamp, function(data, responseCode) {
	      var xml = GXml.parse(data);
	      var markers = xml.documentElement.getElementsByTagName("marker");
			for (var i = 0; i < markers.length; i++) {
			
				var id = parseInt(markers[i].getAttribute("id"));
     			var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
            	var marker = createMarker(point,id);
            	map.addOverlay(marker);
			}
        });
	}
}

function redrawMap(mapQuery) {
	
	var date = new Date();
	var timestamp = date.getTime();
	
	HS.showLoading();
	
	if (GBrowserIsCompatible()) {
		GDownloadUrl("genxml.php?" + mapQuery + "&time=" + timestamp, function(data, responseCode) {
			var xml = GXml.parse(data);
			var markers = xml.documentElement.getElementsByTagName("marker");
			map.clearOverlays();
				for (var i = 0; i < markers.length; i++) {
					var id = parseInt(markers[i].getAttribute("id"));
	     			var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
	        		                 		parseFloat(markers[i].getAttribute("lng")));
	        		var marker = createMarker(point,id);
	        		map.addOverlay(marker);
				}
			HS.hideLoading();
		});
	}
}




function updateRating(r) {
    if(r!=0) {
    	document.getElementById("bigSR").className = "bigstar notset";
    }
    if (r==0) {
		document.getElementById("ratingStars").className = "rating nostar";
		document.getElementById("bigSR").className = "bigstar set";
		rating = 0;
	}
    if (r==1) {
		document.getElementById("ratingStars").className = "rating onestar";
		rating = 1;
	}
	if (r==2) {
		document.getElementById("ratingStars").className = "rating twostar";
		rating = 2;
	}
	if (r==3) {
		document.getElementById("ratingStars").className = "rating threestar";
		rating = 3;
	}
	if (r==4) {
		document.getElementById("ratingStars").className = "rating fourstar";
		rating = 4;
	}
	if (r==5) {
		document.getElementById("ratingStars").className = "rating fivestar";
		rating = 5;
	}
	updateMap();
}

function updatePrice() {
	var qOR = "";
	price = "";
	
	if(document.getElementById("p1").checked == true) {
		price = "price = 1";
		qOR = " OR ";
	}
	if(document.getElementById("p2").checked == true) {
		price += qOR + "price = 2";
		qOR = " OR ";
	}
	if(document.getElementById("p3").checked == true) {
		price += qOR + "price = 3";
		qOR = " OR ";
	}
	if(document.getElementById("p4").checked == true) {
		price += qOR + "price = 4";
		qOR = " OR ";
	}
	if(document.getElementById("p5").checked == true) {
		price += qOR + "price = 5";
		qOR = " OR ";
	}
	updateMap();
}

function updateMap(lang) {
	var mapQuery = "";
	var numofCat = $('numofCat').value;
	for(var i=1; i<=numofCat; i++) {
		if($("c" + i + LANG).checked == true) {
			mapQuery += "&c" + i + "=1"; }
	}	
	mapQuery += "&p=" + price;
	mapQuery += "&r=" + rating;
	mapQuery += "&z=" + zone;
	HS.map.mapQuery = mapQuery;
	HS.update();	
}
	
function createBubble (id) {
    	var bubble = document.createElement('div');
			bubble.className = 'infowin';
		var closeB = document.createElement('div');
			closeB.className = "closeB";
			closeB.onclick = function() {
			map.getPane(G_MAP_FLOAT_PANE).style.display = 'none';
			map.closeInfoWindow()
			}
		var addressT = document.createElement('div');
			addressT.className = "tab addressT";
			addressT.innerHTML = "Address";
			addressT.onclick = function() {
				bTab(1);
			}
		var infoT = document.createElement('div');
			infoT.className = "tab infoT";
			infoT.id = "active";
			infoT.innerHTML = "Info";
			infoT.onclick = function() {
				bTab(0);
		}
		var bTabs = document.createElement('ul');
			bTabs.id = "bTabs";
			bTabs.innerHTML = 	'<ul id="bTabs">' +
								'<li><a href="javascript:void(0)" class="activeT" id="tI">Info</a></li>' +
								'<li><a href="javascript:void(0)" id="tA">Address</a></li>' +
								'<li><a href="javascript:void(0)" id="tP">Pictures</a></li>' +
								'</ul>';
		var iDiv = document.createElement("div");
			iDiv.id = "iDiv";	
	    var content = document.createElement('iframe');
			content.name = "ibubble" + id;
			content.setAttribute("frameBorder", "no");
			content.setAttribute("allowTransparency", "true");
			content.setAttribute("scrolling", "no");
	    	content.className = "ibubble";
			content.src = "bangkok-restaurant.php?id=" + id;
		bubble.appendChild(bTabs);		
		bubble.appendChild(closeB);
		bubble.appendChild(iDiv);
		iDiv.appendChild(content);		
		return bubble;	
	}
	
   function createMarker(point,id) {
      var marker = new GMarker(point);
      var bubble = createBubble(id);
	  map.getPane(G_MAP_FLOAT_SHADOW_PANE).style.visibility = 'hidden';
	  map.getPane(G_MAP_FLOAT_PANE).style.visibility = 'hidden';	  
	  
	  G_DEFAULT_ICON.infoWindowAnchor = new GPoint(162,94);
	  
      GEvent.addListener(marker, "click", function() {
			map.getPane(G_MAP_FLOAT_PANE).style.display = 'block';
			marker.openInfoWindowHtml(bubble);
	});
	
	GEvent.addListener(marker, "infowindowopen", function() {
		
			var pixoff = map.fromLatLngToContainerPixel(point);
			//alert(pixoff);
			var xPos = pixoff.x;
			var yPos = pixoff.y;
			xPos = 102 - xPos;
			yPos = 418 - yPos;
			var xyPos = new GSize(xPos,yPos);
			map.panBy(xyPos);
			
			var bID = "ibubble"+id;
			
			
	});	
	
      return marker;
}

function suggestZone() {
	var zone = $("sZone").value;
	var param = "&zone=" + zone;
	postRequest(param,"sendDesc.php");
	$("newZone").innerHTML = "Thank you!";
}

function changeLang(div,lang) {
	LANG = lang;
	var lang2;
	lang == "th" ? lang2 = "en" : lang2 = "th";
	
	$(div+"_"+lang).style.display = "block";
	$(div+"_"+lang2).style.display = "none";	
	
	var numofCat = $('numofCat').value;
	for(var i=1; i<=numofCat; i++) {
		if($("c" + i + lang2).checked == true) {
			$("c" + i + lang).checked = true; }
		else { $("c" + i + lang).checked = false; }
	}	
}

function $(id) {
	return document.getElementById(id);
}

function loadingShow() {
	$("loadingBox").style.visibility = "visible";
}

function loadingHide() {
	$("loadingBox").style.visibility = "hidden";
}
//]]>