﻿	var map_agencias;
	var geocoder_agencias;
   	var xml_agencias;
   	var markers_agencias;
   	var address_agencias;
	var id_agencias;
	var nome_agencias;
	
	var icon3 = new GIcon();
      	icon3.image = '../_widgets/gmap-xml/_images/icon_agencias.png';
	  	icon3.iconSize = new GSize(35, 34);
      	icon3.iconAnchor = new GPoint(9, 34);
      	icon3.infoWindowAnchor = new GPoint(9, 0);
      	icon3.infoShadowAnchor = new GPoint(18, 25);
 
   // On page load, call this function
   function load_agencias()
   {
      // Create new map object
      map_agencias = new GMap2(document.getElementById("gmap_agencias"));  
 
	   // Set map center location	  
	  map_agencias.setCenter(new GLatLng(39.724089,-8.02002), 6);
	  
	   // Add Map Controls
      		//map.addControl(new GSmallMapControl());
       		//map.addControl(new GMapTypeControl());
			var customUI = map_agencias.getDefaultUI();
        	customUI.controls.scalecontrol = false;
        	map_agencias.setUI(customUI);
	   
      // Create new geocoding object
      geocoder_agencias = new GClientGeocoder();
	  
  	  // Download the data in data.xml and load it on the map.
	   GDownloadUrl("../_widgets/gmap-xml/_xml/list_agencias.htm", function(data) {
          xml_agencias = GXml.parse(data);
          markers_agencias = xml_agencias.documentElement.getElementsByTagName("marker");
		  
          for (var i = 0; i < markers_agencias.length; i++) {
            address_agencias =  markers_agencias[i].getAttribute("address");
			id_agencias =  markers_agencias[i].getAttribute("id");
			nome_agencias =  markers_agencias[i].getAttribute("nome");
			morada_agencias =  markers_agencias[i].getAttribute("morada");
			telefone_agencias =  markers_agencias[i].getAttribute("telefone");
			fax_agencias =  markers_agencias[i].getAttribute("fax");
			email_agencias =  markers_agencias[i].getAttribute("email");
			tab1_agencias =  markers_agencias[i].getAttribute("tab1");
			tab2_agencias =  markers_agencias[i].getAttribute("tab2");
			
			lat_agencias = markers_agencias[i].getAttribute("lat");
			lng_agencias = markers_agencias[i].getAttribute("lng");
			
			if (lat_agencias == '0.000000' && lng_agencias == '0.000000') {
        		findAddress_agencia(address_agencias,id_agencias,tab1_agencias,tab2_agencias,nome_agencias,morada_agencias,telefone_agencias,fax_agencias,email_agencias);
				//alert("geocoding");
     		} else {
				//alert("coords"+lat_agencias+" | "+lng_agencias);
			  marker = createMarker(new GLatLng(lat_agencias, lng_agencias), nome_agencias, id_agencias,tab1_agencias,tab2_agencias,morada_agencias,telefone_agencias,fax_agencias,email_agencias);
			  map_agencias.addOverlay(marker);
			}
			
			
			}
        });   
   }
   // AGÊNCIAS
	  
	  
	  function createMarker(point,nome,id,tab1,tab2,morada,telefone,fax,email) {

        var marker = new GMarker(point,icon3);
        // The new marker "click" listener  
		map_agencias.setCenter(point, 10);	
        GEvent.addListener(marker, "click", function() {	
				map_agencias.setCenter(point, 14);		 
				var tabs = [
					new GInfoWindowTab(tab1,'<div class="infowindow"><strong>'+nome+'</strong><br>'+morada+'</div>'),
					new GInfoWindowTab(tab2,'<div class="infowindow">'+telefone+'<br>'+fax+'<br>Email:<a href=mailto:'+email+'>'+email+'</a></div>')
							];
				marker.openInfoWindowTabsHtml(tabs,{maxWidth:200});
			  });         
        
        return marker;
      }
	  
	  
	  function findAddress_agencia(anAddress,id,tab1,tab2,nome,morada,telefone,fax,email)
      {
        if (geocoder_agencias) 
        {
          geocoder_agencias.getLatLng(anAddress, function(aPoint) 
          {
            if (!aPoint) 
            {
              //alert("can't locate [" + anAddress + "]");
            } 
            else 
            {
              
			  point = aPoint;
			  
			  marker = createMarker(point,nome,id,tab1,tab2,morada,telefone,fax,email);
			  map_agencias.addOverlay(marker);
			  
			  
			  
            }
          });
        }
      }
	  
	  
	  
	 
      
  