

function initializeMap() {
var MarkerIcon = {
		url: 'bilder/Gratzer_Hase_GoogleMap.png',
		scaledSize: new google.maps.Size(25, 25),
		size: new google.maps.Size(25, 25),
		origin: new google.maps.Point(0, 0),
		anchor: new google.maps.Point(12, 15)
}
  var map = new google.maps.Map(document.getElementById("map"), {
	center: new google.maps.LatLng(47.0, 15.5),
	zoom: 7,
	mapTypeId: 'roadmap'
  });
  var infoWindow = new google.maps.InfoWindow({disableAutoPan:1});

  downloadUrl("inc/dateien/karte/map_xml.php", function(data) {
	var xml = parseXml(data);
	var markers = xml.documentElement.getElementsByTagName("marker");
	var grenze = new google.maps.LatLngBounds();
	for (var i = 0; i < markers.length; i++) {
		var name = markers[i].getAttribute("name");
		var address = markers[i].getAttribute("address");
		var PLZ = markers[i].getAttribute("PLZ");
		var Stadt = markers[i].getAttribute("Stadt");
		var point = new google.maps.LatLng(
			parseFloat(markers[i].getAttribute("lat")),
			parseFloat(markers[i].getAttribute("lng")));
		var html1 = "<b>" + name + "</b>";
		var html2 = "<b>" + name + "</b> <br/>" + address + " <br/>" + PLZ + " " + Stadt;
		var marker = new google.maps.Marker({
			map: map,
			position: point,
			icon: MarkerIcon,
		});
		bindInfoWindow(marker, map, infoWindow, html1,"mouseover",1);
		bindInfoWindow(marker, map, infoWindow, "","mouseout",0);
		bindInfoWindow(marker, map, infoWindow, html2,"click",1);
		grenze.extend(point);
		map.fitBounds(grenze);
	}
  });
}

function bindInfoWindow(marker, map, infoWindow, html,action,status) {
  google.maps.event.addListener(marker, action, function() {
	if (status)  {
		infoWindow.setContent(html);
		infoWindow.open(map, marker);
		if (action=="click") {
			writeInfotoBox(html);
		}
	} else {
		infoWindow.close();
	}	
  });
}

function writeInfotoBox(InfoText) {
	$('#KundenBox').html(InfoText);
}

function downloadUrl(url, callback) {
  var request = window.ActiveXObject ?
	  new ActiveXObject('Microsoft.XMLHTTP') :
	  new XMLHttpRequest;

  request.onreadystatechange = function() {
	if (request.readyState == 4) {
	  request.onreadystatechange = doNothing;
	  callback(request.responseText, request.status);
	}
  };
  request.open('GET', url, true);
  request.send(null);
}

function parseXml(str) {
  if (window.ActiveXObject) {
	var doc = new ActiveXObject('Microsoft.XMLDOM');
	doc.loadXML(str);
	return doc;
  } else if (window.DOMParser) {
	return (new DOMParser).parseFromString(str, 'text/xml');
  }
}

function doNothing() {}

$(document).ready(function(){
if ($("#map").length) {
 initializeMap()
}

});
