function placeMarkers(){
	var str = document.getElementById("country").options[document.getElementById("country").selectedIndex].value
	//if (str != "na"){
		var latlng;
		bounds = new GLatLngBounds();
		clearMap();
		var states = [];
		var business = [];
		var marker;
		for(var i = 0; i<array.length; i++){
			var loc = array[i].loc
			if (str != "na"){
				if(loc==str){
					latlng = new GLatLng(array[i].lat,array[i].lng);
					bounds.extend(latlng);
					business.push([array[i],i]);
					if(!existsArray(array[i].state, states)){
						states.push(array[i].state);
						
					}
					createMarker(array[i]);
				}
			}else{
				if(loc=='us'){
					latlng = new GLatLng(array[i].lat,array[i].lng);
					bounds.extend(latlng);
					createMarker(array[i]);
				}
			}
		}
		
		states.sort();
		document.getElementById("state").options.length=0;
		var newOpt = document.getElementById("state").appendChild(document.createElement('option'));
		newOpt.text = "-Select One-";
		newOpt.value = "na";
		for(i = 0; i<states.length; i++){
			newOpt = document.getElementById("state").appendChild(document.createElement('option'));
			newOpt.text = states[i];
			newOpt.value = states[i];
		}
		var str = "<ul id=\"results_list\">";
		for(i = 0; i<business.length; i++){
			str += "<li>";
			str += "<h3 class=\"store_map\"><a href=\"javascript:showMap("+business[i][1]+")\">"+business[i][0].name.toUpperCase()+"</a></h3><p>"+business[i][0].address+"<br />"+business[i][0].city+", "+business[i][0].state+"<br/>"+business[i][0].phone+"</p>";
			if(business[i][0].url!='')
				str += '<a href="'+business[i][0].url+'" target="_blank">- Link to site</a>';
			str += "<li>";
		}
		str+="</ul>";
		$('#results_list').replaceWith(str);
		var zoom = Math.min(16, _map.getBoundsZoomLevel(bounds));
		_map.setCenter(bounds.getCenter(), zoom);
	//}
}

function showMap(a){
	bounds = new GLatLngBounds();
	//clearMap();
	
	latlng = new GLatLng(array[a].lat,array[a].lng);
	bounds.extend(latlng);
	//createMarker(array[a]);
	var zoom = Math.min(16, _map.getBoundsZoomLevel(bounds));
	_map.setCenter(bounds.getCenter(),zoom);
}

function createMarker(a){
	var marker = new GMarker(new google.maps.LatLng(a.lat, a.lng));
	_map.addOverlay(marker);
	GEvent.addListener( marker, 'click', function( ) {
		  marker.openInfoWindowHtml( a.name+'<br>'+a.address+'<br>'+a.city+', '+a.state);
		 }
		);
}
function locator_initialize() {
	if (GBrowserIsCompatible()) {		  
		var latlng = new google.maps.LatLng(40.7609801,-73.9754567);
		var myOptions = {zoom: 12, center: latlng, mapTypeId: google.maps.MapTypeId.HYBRID};
		_map = new GMap2(document.getElementById("map_canvas"), myOptions);
		_map.setCenter(new GLatLng(40.740, -74.18), 4);
		//_map.enableScrollWheelZoom();
		
		var topLeft = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(10,10));
		var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
		_map.addControl(new GLargeMapControl3D(), topLeft);
		_map.addControl(new GMapTypeControl(), topRight);
		
		//markers.push(marker);
		var states=[];
		for(var i = 0; i<array.length; i++){	
			if(!existsArray(array[i].state, states)){
				states.push(array[i].state);
			}
		}states.sort();
		
		document.getElementById("state").options.length=0;
		var newOpt = document.getElementById("state").appendChild(document.createElement('option'));
		newOpt.text = "-Select One-";
		newOpt.value = "na";
		for(i = 0; i<states.length; i++){
			newOpt = document.getElementById("state").appendChild(document.createElement('option'));
			newOpt.text = states[i];
			newOpt.value = states[i];
		}
		var str = "<ul id=\"results_list\">";
		for(i = 0; i<4; i++){
			str += "<li>";
			str += "<h3 class=\"store_map\"><a href=\"javascript:showMap("+business[i][1]+")\">"+business[i][0].name.toUpperCase()+"</a></h3><p>"+business[i][0].address+"<br />"+business[i][0].city+", "+business[i][0].state+"<br/>"+business[i][0].phone+"</p>";
			if(business[i][0].url!='')
				str += '<a href="'+business[i][0].url+'" target="_blank">- Link to site</a>';
			str += "<li>";
		}
		str+="</ul>";
		$('#results_list').replaceWith(str);
		placeMarkers('na');
	}
}
function MTrickOverlay(MOptions) {
	MOptions = MOptions ? MOptions : {};
}
function clearMap(){
	_map.clearOverlays();
}


function updateCountry(){
	var str = document.getElementById("country").options[document.getElementById("country").selectedIndex].value;
	//if (str != "na"){
		placeMarkers(str);
	//}
}

function updateStates(){
	var str = document.getElementById("state").options[document.getElementById("state").selectedIndex].value
	if (str != "na"){
		var latlng;
		bounds = new GLatLngBounds();
		clearMap();
		var states = [];
		var business = [];
		var marker;
		for(var i = 0; i<array.length; i++){
			if(array[i].state == str){
				latlng = new GLatLng(array[i].lat,array[i].lng);
				bounds.extend(latlng);
				business.push([array[i],i]);
				if(!existsArray(array[i].state, states)){
					states.push(array[i].state);
				}
				createMarker(array[i]);
			}
		}
		var str = "<ul id=\"results_list\">";
		for(i = 0; i<business.length; i++){
			str += "<li>";
			str += "<h3 class=\"store_map\"><a href=\"javascript:showMap("+business[i][1]+")\">"+business[i][0].name.toUpperCase()+"</a></h3><p>"+business[i][0].address+"<br />"+business[i][0].city+", "+business[i][0].state+"<br/>"+business[i][0].phone+"</p>";
			if(business[i][0].url!='')
				str += '<a href="'+business[i][0].url+'" target="_blank">- Link to site</a>';
			str += "<li>";
		}
		str+="</ul>";
		$('#results_list').replaceWith(str);
		var zoom = Math.min(16, _map.getBoundsZoomLevel(bounds));
		_map.setCenter(bounds.getCenter(),zoom);
		
	}
}

function existsArray(a, arr){
	for(var i = 0; i < arr.length; i++){
		if(arr[i]==a){
			return true;
		}
	}return false;
}
