 //<![CDATA[

var baseIcon = new GIcon();
baseIcon.shadow = site_url+"filebin/images/icons/"+site+"/shadow.png";
baseIcon.iconSize = new GSize(25, 25);
baseIcon.shadowSize = new GSize(43, 35);
baseIcon.iconAnchor = new GPoint(12, 12);
baseIcon.infoWindowAnchor = new GPoint(12, 12);
baseIcon.infoShadowAnchor = new GPoint(0, 0);
			
var global_markers = new Array();

function createMarker(point, index, html) {
	var letter = String.fromCharCode("a".charCodeAt(0) + index);
	var icon = new GIcon(baseIcon);
	icon.image = site_url+"filebin/images/icons/"+site+"/" + letter + ".png";
	
	var marker = new GMarker(point, icon);
	global_markers[index] = marker;
	//var marker = new GMarker(point);
	GEvent.addListener(marker, "click", function(){
    	marker.openInfoWindowHtml(html);
  	});
  	return marker;
}

function trigger_click(show_marker) {
	//alert(show_marker);
	GEvent.trigger(global_markers[show_marker], "click");
}
function countryChange() {
	if (document.getElementById("country").value != '227' && document.getElementById("country").value != '39') {
		document.getElementById("dist").style.visibility = "hidden";
		document.getElementById("zip").style.visibility = "hidden";
		document.getElementById("gobtn").style.visibility = "hidden";
		load();	
	} else {
		document.getElementById("dist").style.visibility = "visible";
		document.getElementById("zip").style.visibility = "visible";	
		document.getElementById("gobtn").style.visibility = "visible";
	}
	
	//SAVE COUNTRY SELECTION TO SESSION
	//var country = document.getElementById("country").value;
	//var url = "filebin/ajax/php/setCountry.php?country="+country;
	//var xml = new JKL.ParseXML(url);
	//var data = xml.parse();	
}
function load() {

	var zip = document.getElementById("zip").value;
	var dist = document.getElementById("dist").value;
	var country = document.getElementById("country").value;
    if (document.getElementById("map")) {
    	var map = new GMap2(document.getElementById("map"));
    }
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	if (country == '227' || country == '39') {
		map.setCenter(new GLatLng(38.479395, -90.703125), 3);
	} else {
		map.setCenter(new GLatLng(35.86166, 104.195397), 1);
	}
	var bounds = new GLatLngBounds();

	

	//map.enableContinuousZoom();
	// Download the data in data.xml and load it on the map. The format we
	// expect is:
	// <markers>
	//   <marker lat="37.441" lng="-122.141"/>
	//   <marker lat="37.322" lng="-121.213"/>
	// </markers>

	list_show(zip, dist, country);
	
	if (country == '227' || country == '39') {
	GDownloadUrl(site_url+"filebin/ajax/php/map_xml.php?country="+country+"&zip="+zip+"&dist="+dist, function(data, responseCode) {
	  var xml = GXml.parse(data);
	  var markers = xml.documentElement.getElementsByTagName("marker");
	  var centroid_lat = 0;
	  var centroid_lng = 0;
	  var oops = 0;
	  for (var i = 0; (i < markers.length && i < 27); i++) {
		var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
								parseFloat(markers[i].getAttribute("lng")));
		centroid_lat += parseFloat(markers[i].getAttribute("lat"));
		centroid_lng += parseFloat(markers[i].getAttribute("lng"));
		//map.addOverlay(new GMarker(point));//createMarker(point, html)
		var html_out="<div class='mapBubble'>"+markers[i].getAttribute("html")+"</div>";
		if (markers[i].getAttribute("empty")==0) {
			map.addOverlay(createMarker(point, i, html_out));
			//map.addOverlay(createMarker(point, html_out));
			bounds.extend(new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))));
		}
		else {
			var oops = 1;
			//if (document.getElementById("spry_li")) document.getElementById("spry_li").innerHTML = "No result found";
		}
		//alert(i);
	  }
 
	  //alert(centroid_lat);
	  if (oops == 0) {
		  if (i>0) {
			centroid_lat = centroid_lat/i;
			centroid_lng = centroid_lng/i;
		  }
		  var zoom = 0;
		  if (i == 1) zoom=15;
		  else zoom=9;
		  if (centroid_lat!=0 && centroid_lng!=0) {
              zoom = map.getBoundsZoomLevel(bounds);
              if (zoom > 15) {
                zoom = 15;
              }
			  map.setCenter(bounds.getCenter(), zoom);
			  //alert(bounds.getCenter())
		  }
		  map.savePosition();
	  }
	});
	//
	}
	map.enableContinuousZoom();	
}



var ds1 = new Spry.Data.XMLDataSet(site_url+"filebin/ajax/php/map_xml.php", "/markers/marker");

function list_show(zip, dist, country) {
	//alert(zip);
	if (country == '227' || country == '39') {
		
		ds1.setURL(site_url+"filebin/ajax/php/map_xml.php?country="+country+"&zip="+zip+"&dist="+dist, "/markers/marker");
		ds1.loadData()
	} else {
		ds1.setURL(site_url+"filebin/ajax/php/no_map_xml.php?country="+country, "/markers/marker");
		ds1.loadData()
	}
	//alert(ds1);
}

    //]]>
    
function addOnloadEvent(fnc){
  if ( typeof window.addEventListener != "undefined" )
    window.addEventListener( "load", fnc, false );
  else if ( typeof window.attachEvent != "undefined" ) {
    window.attachEvent( "onload", fnc );
  }
  else {
    if ( window.onload != null ) {
      var oldOnload = window.onload;
      window.onload = function ( e ) {
        oldOnload( e );
        window[fnc]();
      };
    }
    else
      window.onload = fnc;
  }
}
