var map = null;
var geocoder = null;
var points = [];
var markers = [];
var nanIcon = null;
var curIndex;

function initialize() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map_canvas"));
		var $firstProject = $('#front-projects-container .views-row-first');
		$firstProject.addClass('selected');
		var lat = $firstProject.find('.views-field-field-latitude-value span').text();
		var lng = $firstProject.find('.views-field-field-longitude-value span').text();
		
		if ($('#front-projects-container .views-row').length > 0){
			var center = new GLatLng(lat,lng);
		} else {
			var center = new GLatLng("43.670233","-79.386755");
		}
		
    map.addControl(new GLargeMapControl3D());
    map.setCenter(center, 13);
    geocoder = new GClientGeocoder();

    nanIcon = new GIcon(G_DEFAULT_ICON);
		nanIcon.image = '/sites/all/themes/nan/images/nan-marker.png';
		nanIcon.shadow = '/sites/all/themes/nan/images/nan-marker-shadow.png';
		nanIcon.highlight = '/sites/all/themes/nan/images/nan-marker-hover.png';
		nanIcon.iconSize = new GSize(28, 38);
		nanIcon.shadowSize = new GSize(44, 39);
		nanIcon.iconAnchor = new GPoint(13, 38);
	
	}
	$('#front-projects-container .views-row').each(function(i,n){
		$this = $(this);
		var point = null;
		var lat = $this.find('.views-field-field-latitude-value span').text();
		var lng = $this.find('.views-field-field-longitude-value span').text();
		
		if (lat) {
			point = new GLatLng(parseFloat(lat),parseFloat(lng));
			points.push(point);
		}
		
		if (point) {
			var marker = new GMarker(point,{icon:nanIcon});

			$this.data('marker',marker);
			marker.point = point;
			marker.el = $this;
			marker.index = i;
			GEvent.addListener(marker,'click',function(){
				map.panTo(marker.point);
				if(!marker.el.hasClass('selected')){
					markers[curIndex].setImage('/sites/all/themes/nan/images/nan-marker.png');
					marker.setImage('/sites/all/themes/nan/images/nan-marker-hover.png');
					marker.el.show();
					curIndex = marker.index;
					$('#front-projects-container .selected').fadeOut('fast',function(){
						$(this).removeClass('selected');
						marker.el.addClass('selected');
					})
				}
			})
			markers.push(marker);
		}
		
	})
	
	$('#main .views-row').click(function(){
		GEvent.trigger($(this).data('marker'),'click');
	})
	$('#main .views-row').hover(function(){
		GEvent.trigger($(this).data('marker'),'mouseover');
	},function(){
		GEvent.trigger($(this).data('marker'),'mouseout');
	})
	
	for (var i = 0; i < markers.length; i++){
		map.addOverlay(markers[i]);
		if (i==0) markers[i].setImage('/sites/all/themes/nan/images/nan-marker-hover.png');
		curIndex = 0;
	}
		
}

function showAddress(address) {
  if (geocoder) {
    geocoder.getLatLng(
			address+'Toronto, Ontario',
      function(point) {
        if (!point) {
          alert(address + " not found");
        } else {
//					if (myLocationMarker) map.removeOverlay(myLocationMarker);
//          myLocationMarker = new GMarker(point);
          map.panTo(point);
//          map.addOverlay(myLocationMarker);
        }
      }
    );
  }
}



