var map
var mkrsLoaded = false;
var loadedObj = ""
function loadMap(){
	if(GBrowserIsCompatible()){
		var rrLoc = new GPoint(-118.282849, 34.25);
 		map = new GMap(document.getElementById("testmap"));
 		map.addControl(new GSmallMapControl());
  		map.addControl(new GMapTypeControl());
 		map.centerAndZoom(rrLoc,8);
 		//GEvent.addListener(map, 'zoomend', function() {if(map.getZoom() == 12){loadCityShops(loadedObj,"no");}});
 		//GEvent.addListener(map, 'move', function() {if(mkrsLoaded){loadCityShops(loadedObj,"no");}});
 		//loadExist();
 	}else{
 		alert("Sorry, your browser does not support this map feature");
 	}
} 
 

//get distinct cities
function cityList(){
	var cities = new Array();
	var cCt = 0;
	document.write("<SELECT NAME='city' ONCHANGE='loadCityShops(this)'>")
	document.write("<OPTION VALUE='' SELECTED>Select a City</OPTION>")
	//document.write("<OPTION VALUE='All'>All</OPTION>")
	for(var i=1;i<=points.length-1;i++){ //
		var cityNam = points[i][3]
		var addCity = true
		if(cities.length>=1){
			var c = 0;
			for(c=0;c<=cities.length-1;c++){
				if(cities[c]==cityNam){
					addCity = false
					break;					
				}
			}
		}else{
			addCity = true
		}
		if(addCity && cityNam != ""){	
			cities[cCt] = cityNam;			
			cCt=cCt+1
		}	
	}
	var c = 0;
	cities.sort();
	for(c=0;c<=cities.length-1;c++){
		document.write("<OPTION VALUE='"+cities[c]+"'>"+cities[c]+"</OPTION>")
	}
	document.write("</SELECT>")
}

function resetCity(){
 document.forms[0].city.selectedIndex = 0;
}


function loadCityShops(obj){
	map.clearOverlays()
	if(obj.selectedIndex == 0){
		var revLoc = new GPoint(-118.282849, 34.25);
		map.centerAndZoom(revLoc,8);
	}else if(obj != null){
		
		loadedObj=obj;
		var city = obj[obj.selectedIndex].value;
		mkrsLoaded = true		
		var locCt=0;
		var totLon=0;
		var totLat=0;
		var zmOut = 0;
		var maxLon = -300;
		var minLon = 0;
		var maxLat = 0;
		var minLat = 45;
			for(var i=1;i<=points.length-1;i++){
				if(points[i][3] == city || city == "All"){
					var mkrLon = points[i][7];
					var mkrLat = points[i][8];
					if(mkrLat != 0){
						var oldLoc = new GPoint(mkrLon, mkrLat);
						var marker = createMarker(oldLoc,i);
						map.addOverlay(marker);						
						totLon+=parseFloat(mkrLon)
						totLat+=parseFloat(mkrLat)
						maxLon=Math.max(maxLon,parseFloat(mkrLon))
						minLon=Math.min(minLon,parseFloat(mkrLon))
						maxLat=Math.max(maxLat,parseFloat(mkrLat))
						minLat=Math.min(minLat,parseFloat(mkrLat))
						locCt++
					}
				}
			}
		var bounds = null;
		bounds = new GLatLngBounds(new GLatLng(minLat,minLon),new GLatLng(maxLat,maxLon))
		map.setCenter(bounds.getCenter());
		zmLev = map.getBoundsZoomLevel(bounds);
		map.setZoom(zmLev-1)
	}
}

function createMarker(theLoc, number) {
  	var marker = new GMarker(theLoc);
	var html = "<B>"+points[number][1]+"</B><BR>"+points[number][2]+"<BR>"+points[number][3]+" "+points[number][4]+" "+points[number][5]+"<BR>"+points[number][6]+"";
	html = "<div style='white-space:nowrap;'>" + html + "<\/div>"
  	GEvent.addListener(marker, 'click', function() {marker.openInfoWindowHtml(html);});
  	return marker;
}
