var zoom//<![CDATA[
var map_state;
var geocoder;

function load() {
  if (GBrowserIsCompatible()) {
	geocoder = new GClientGeocoder();
	map = new GMap2(document.getElementById('map'));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(40, -100), 4);
	
  }
}

function searchLocations() { 
 var address = document.getElementById('addressInput').value;
 document.getElementById('metro').value = '';
 document.getElementById('zipcode').value = '';

	if(document.getElementById('addressInput').value!='0'){
		 geocoder.getLatLng(address, function(latlng) { 

		   if (!latlng) {
			 alert(address + ' not found');
		   } else {
		//alert(latlng);
			 searchLocationsNear(latlng);

		   }
		   
		 });
	}else{
			document.getElementById('sidebar').innerHTML = '';
	}
}

function searchLocationsNear(center) {  
 var radius = document.getElementById('radiusSelect').value;
 var address = document.getElementById('addressInput').value;
 var searchUrl = 'http://www.curiouschef.com/gen-map-xml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius + '&city=' + address;
//alert(searchUrl);
 GDownloadUrl(searchUrl, function(data) {
   var xml = GXml.parse(data);

   var markers = xml.documentElement.getElementsByTagName('marker');

   map.clearOverlays();

   var sidebar = document.getElementById('sidebar');
   sidebar.innerHTML = '';
   
   if (markers.length == 0) {
	 sidebar.innerHTML = 'Your search returned no results.';
	 map.setCenter(new GLatLng(40, -100), 0);
	 return;
   }
 
   var bounds = new GLatLngBounds();
   for (var i = 0; i < markers.length; i++) {
 	var name = markers[i].getAttribute('name');
	 var address = markers[i].getAttribute('address');
	 var address2 = markers[i].getAttribute('address2');
	 var phone = markers[i].getAttribute('phone');
	  var state = markers[i].getAttribute('state');
	  var city = markers[i].getAttribute('city');
	 var website = markers[i].getAttribute('website');
	 var zip = markers[i].getAttribute('zip');
	/* new variable declared for 'featured' clause */
	 var featured = markers[i].getAttribute('featured');

	 var distance = parseFloat(markers[i].getAttribute('distance'));
	 var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
							 parseFloat(markers[i].getAttribute('lng')));
	 
	
	 /* a new argument is added */
	 var marker = createMarker(point, name, address, address2, phone, city, state, zip, featured);
	 map.addOverlay(marker);
	 /* a new argument is added */
	 var sidebarEntry = createSidebarEntry(marker, name, address, address2, phone, distance, city, state, zip,  website, featured);
	 sidebar.appendChild(sidebarEntry);
	 bounds.extend(point);
   }
   map.setCenter(bounds.getCenter(), 6);
 });
}

function createMarker(point, name, address, address2, phone, city, state, zip, featured) {

  /* new gmarker for featured stores */
	if(featured == 'Yes')
	{
		var 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); 
		var letteredIcon = new GIcon(baseIcon); 
		letteredIcon.image = "/images/pointer.png";
		var marker = new GMarker(point,letteredIcon);
	}
	else
	{
		var marker = new GMarker(point);
	}

  /* Get Direction text added */	
   var html = '<b>' + name + '</b> <br/>' + address + ' <br>  ' + city + ', ' + state + ' ' + zip + '<br> Phone: ' + phone + '<br> <a target="_blank" href ="http://maps.google.com/?q=' + name +' ' +address +' ' + city +' ' + state +' ' + zip +'"> Get Directions</a> ';
  GEvent.addListener(marker, 'click', function() {
	marker.openInfoWindowHtml(html);
  });
  return marker;
}

function createSidebarEntry(marker, name, address, address2, phone, distance, city, state, zip,  website, featured) { 
  var div = document.createElement('div');
 var html = '<b>' + name  + '</b><br/>' + address + '<br/> ' + city + ', ' + state + ' ' + zip + ' <a href="http://'+ website +' " target="_blank">' + website + '</a><br/>Phone: ' + phone  + '<br/>';
  div.innerHTML = html;
  div.style.cursor = 'pointer';
  div.style.marginBottom = '5px'; 
  div.style.paddingBottom = '5px';
  div.style.borderBottom = '1px solid #cccccc'; 

   //div.style.marginBorder = '2px solid Red';  
  GEvent.addDomListener(div, 'click', function() {
	GEvent.trigger(marker, 'click');
  });
  GEvent.addDomListener(div, 'mouseover', function() {
	div.style.backgroundColor = '#eee';
  });

  /* background color set for featured */
  if(featured == 'Yes')
  {
		div.style.backgroundColor = '#FFFF99';
		GEvent.addDomListener(div, 'mouseout', function() {
		div.style.backgroundColor = '#FFFF99';
		});
  }
  else
  {
	  GEvent.addDomListener(div, 'mouseout', function() {
	div.style.backgroundColor = '#fff';
  });
  }
  
  return div;
}
//]]>

