var exchanges = new Array();
var filter = "Member";
var map;
	
exchange = function () {
	this.latitude = 0;
	this.longitude = 0;
	this.type = "Member"; // Member/Affiliate/Dealer/Commodity
	this.tab1Name = "";
	this.tab1Content = "";
	this.tab2Name = "";
	this.tab2Content = "";
	this.tab3Name = "";
	this.tab3Content = "";
	this.tab4Name = "";
	this.tab4Content = "";
}
	
function createTabbedMarker(point,htmls,labels,type) {
	var icon = new GIcon();
	icon.image = "http://www.feas.org/graphics/gmap_" + type.toLowerCase() + ".png";
	icon.shadow = "http://www.feas.org/graphics/shadow.png";
	icon.iconSize = new GSize(17, 23);
	icon.shadowSize = new GSize(34, 25);
	icon.iconAnchor = new GPoint(0, 10);
	icon.infoWindowAnchor = new GPoint(14, 0);
	
      var marker = new GMarker(point,icon);
      GEvent.addListener(marker, "click", function() {
        // adjust the width so that the info window is large enough for this many tabs
        if (htmls.length > 2) {
          htmls[0] = '<div>' + htmls[0] + '</div>';
          htmls[1] = '<div>' + htmls[1] + '</div>';
        }
        var tabs = [];
        for (var i=0; i<htmls.length; i++) {
		  if(labels[i] != "")//Only add the tab if the label has a name
          	tabs.push(new GInfoWindowTab(labels[i],htmls[i]));
        }
        marker.openInfoWindowTabsHtml(tabs,{width:250, maxHeight: 150});
    
	setTimeout("refreshLinks()",600);
      });
      return marker;
	  
}

function refreshLinks(){	
	$("a[href^='http:']").not("[href*='feas.org']").click(function(){
		window.open(this.href);
		return false;
	});
}

function filterExchanges(type){
	filter = type;
	map.clearOverlays();
	createOverlays();
}
      
function createOverlays() {
    for(i=0; i<exchanges.length; i++){
      var exchange = exchanges[i];
	  if(filter.toLowerCase() == "all" || filter.toLowerCase() == exchange.type.toLowerCase()){
      	var point = new GLatLng(exchange.latitude, exchange.longitude);
      	var marker = createTabbedMarker(point, [exchange.tab1Content, exchange.tab2Content,exchange.tab3Content,exchange.tab4Content],[exchange.tab1Name,exchange.tab2Name,exchange.tab3Name,exchange.tab4Name], exchange.type);
     	map.addOverlay(marker);
	  }
    }
}

function load() { 
	if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.setCenter(new GLatLng(38.58252615935333, 69.2138671875), 3);
    map.enableScrollWheelZoom();
    map.addControl(new GSmallMapControl());
    var mapControl = new GMapTypeControl();
    map.addControl(mapControl);
	createOverlays();
  }
}
$(window).load(function(){
	generateExchanges();
  	load();
  });
//}

