function DealerMap ( ) {
	this.printMaps = function (y) {
		document.write('<div id="map" style="height: '+y+'px;"></div>');
		this.loadMaps("x");
	}
	
	this.loadMaps = function (country) {
		var point = new GLatLng(56.54717,8.83013);
		var zoomLevel = 6;
		
		if (GBrowserIsCompatible()) {
			var map = new GMap2(document.getElementById("map"));
			var geocoder = new GClientGeocoder();
			map.addControl(new GSmallMapControl());
			map.setCenter(point, zoomLevel, G_HYBRID_MAP);
			
			
			var randomnumber=Math.floor(Math.random()*11111);
			GDownloadUrl("/dealers.xml?random="+randomnumber, function(data, responseCode) {
				var xml = GXml.parse(data);
		
				var markers = xml.documentElement.getElementsByTagName("marker");
	
				var icon = new GIcon();
				icon.image = "/images/mapPointer.png";
				icon.iconSize = new GSize(10, 10);
				icon.iconAnchor = new GPoint(0, 5);
				icon.infoWindowAnchor = new GPoint(5, 1);
				
				for (var i = 0; i < markers.length; i++) {
					var name = markers[i].getAttribute("name");
					if ( markers[i].getAttribute("website") != "" )
						var description = "<a href=\"" + markers[i].getAttribute("website") + "\" onclick=\"window.open(this.href); return false;\">" + markers[i].getAttribute("website") + "</a>";
					else
						var description = "";
					var mpoint = new GLatLng(markers[i].getAttribute("x") , markers[i].getAttribute("y") );
					showAddress(map,geocoder,mpoint,name,description,icon);
				}
			});
		}
	}
	
	this.createMarker = function (point,html,icon){
		var marker = new GMarker(point, icon);
		GEvent.addListener(marker, "click", function() {
			marker.openInfoWindowHtml ( html );
		});
		return marker;
	}
	
	this.selectCountry = function (c){
		this.loadMaps ( c );
	}
}

function showAddress (map,geocoder,point,name,description,icon) {
	var marker = m.createMarker(point,'<p class="balloon"><strong>'+name+'</strong><br/>'+description+'</p>',icon);
	map.addOverlay(marker);
	map.addControl(new GMapTypeControl());
}
