
var GMap = {
	load:function(adrr, $id)
	{
		if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("company_map"));
	
		//Reset all the companydiv
		var allcompanydivs = document.getElementsByTagName("div");
		var rightdivs;
		for(var i = 0; i < allcompanydivs.length; i++)
		{
			if(allcompanydivs[i].className == "company_adress_active") {
				allcompanydivs[i].className = "company_adress";
			}
		}
		
		//Change bakcground color - using css
		var companydiv = document.getElementById($id);
		companydiv.className = "company_adress_active";
		
		map.setCenter(new GLatLng(20,0),2);
		
		var geo = new GClientGeocoder();
        var search = adrr;
		
        // ====== Perform the Geocoding ======        
        geo.getLocations(search, function (result)
          { 
            // If that was successful
            if (result.Status.code == G_GEO_SUCCESS) {
              // Loop through the results, placing markers
              for (var i=0; i<result.Placemark.length; i++) {
                var p = result.Placemark[i].Point.coordinates;
                var marker = new GMarker(new GLatLng(p[1],p[0]));
                map.addOverlay(marker);
              }
              // centre the map on the first result
              var p = result.Placemark[0].Point.coordinates;
              map.setCenter(new GLatLng(p[1],p[0]),14);
            }else{
				document.getElementById("company_map").innerHTML = "Vi kunde tyvärr inte hitta kartan för denna ort";
				
			}
          }
        );
      }
	  	if (parseInt(document.getElementById("company_adresses").offsetHeight) > parseInt(document.getElementById("company_map").offsetHeight) + 50) {
		
			document.getElementById("company_map").style.position = "absolute";
			
			if (companydiv.offsetTop - 110 > document.getElementById("company_adresses").offsetTop) {
			
				document.getElementById("company_map").style.top = companydiv.offsetTop - 100 + "px";
				
			}
			else {
				document.getElementById("company_map").style.top = document.getElementById("company_adresses").offsetTop + 10 + "px";
			}
			
			if ((parseInt(document.getElementById("company_adresses").offsetTop) + parseInt(document.getElementById("company_adresses").offsetHeight)) < (parseInt(document.getElementById("company_map").offsetTop) + parseInt(document.getElementById("company_map").offsetHeight))) {
				document.getElementById("company_map").style.top = companydiv.offsetTop - 210 + "px";
			}
		}
		
		
	  	
		return false;
	},
	autoload:function()
	{
		if(document.getElementById("companydiv-0"))
		{
			var first = document.getElementById("companydiv-0");
			var info = document.getElementById("companyaddress-0").innerHTML;
			var info2 = document.getElementById("companyregion-0").innerHTML;
			
			info = info + " " + info2;
			GMap.load(info, "companydiv-"+0);
		}
	}
}
window.onload = GMap.autoload;