// JavaScript Document
/*
* copyright 2011 Delticom AG <http://www.delti.com>
* last edit 2011-03-21
*/  
var map;var panel;var geocoder = null;var gdir;var errorrechner = 0;var korsorPoint = null;var korsor = null;var menueOK =1;var clickTest =1;var markerZu;var Icongrafikname = new Array();var pointUserOnly;var kleine = document.createElement('div');var mapcenter;var mapzoom;var pkt = new Array();var zeichenab = new Array();var toAddress;var fromAddress;var land;var googleland;var zipRadiusToGlobal;var strassen_entfernungGlobal;var mapType; function initialize() {var mapType = mapTypeGlobal; if (GBrowserIsCompatible()) {map = new GMap2(document.getElementById("map"), {"locale" : googleland});map.setUIToDefault();if (mapType == 'NORMAL'){map.setMapType(G_NORMAL_MAP); }else if (mapType == 'SATELLITE'){map.setMapType(G_SATELLITE_MAP); }else if (mapType == 'HYBRID'){map.setMapType(G_HYBRID_MAP); }else if (mapType == 'PHYSICAL'){map.setMapType(G_PHYSICAL_MAP); }else{map.setMapType(G_NORMAL_MAP); }var panel = document.getElementById("directions");gdir = new GDirections(map, panel); GEvent.addListener(gdir, "addoverlay", function() { var route = gdir.getRoute(0); var bounds = new GLatLngBounds();  var start = route.getStartGeocode().address; var ende = route.getEndGeocode().address; var disp = ""; disp = "<table width='100%' border='0'>"; disp = disp + "<tr style='FONT-SIZE: 10px;COLOR: #4477aa; font-weight: bold; background: #F7F7CE;cursor:pointer;' onmouseover='center();'><td width='1' align='left' valign='middle'><img src='" + Icongrafikname[2] + "' width='20' height='20' border='0'></td><td colspan='2' align='left' valign='middle'>" + start + "</td></tr>"; disp = disp + "<tr>"; disp = disp + "<td colspan='3' align='center' valign='middle'><hr class='linie' ></td>"; disp = disp + "</tr>"; for(i=0;i< route.getNumSteps();i++) {var ii = i + 1; var stp = route.getStep(i); bounds.extend(stp.getLatLng()); pkt[i] = stp.getLatLng(); var clr = (i%2)?"#ccc":"#eee"; disp = disp + "<tr>"; disp = disp + "<td width='1' align='right' valign='top'><span id='entf'><i><b>" + ii + ".</b></i></span></td>"; disp = disp + "<td align='left' valign='bottom'><div id='result_list' onClick='markerover(" + i + ");' onmouseout='markerout(" + i + ");'>" + stp.getDescriptionHtml() + "</div></td>"; disp = disp + "<td width='1' align='right' valign='top'><span id='entf'>" + stp.getDistance().html + "</span></td>"; disp = disp + "</tr>"; disp = disp + "<tr>"; disp = disp + "<td colspan='3' align='center' valign='middle'><hr class='linie' ></td>"; disp = disp + "</tr>"; } disp = disp + "<tr style='FONT-SIZE: 10px;COLOR: #4477aa; font-weight: bold; background: #F7F7CE;cursor:pointer;' onmouseover='center();'><td width='1' align='left' valign='middle'><img src='" + Icongrafikname[0] + "' width='20' height='20' border='0'></td><td colspan='2' align='left' valign='middle'>" + ende + "</td></tr>"; disp = disp + "</table>";  var numGeocodes = gdir.getNumGeocodes();var s1;var s2;  for (var i = 0; i < numGeocodes; i++) {if(i==0){s1 = gdir.getMarker(i).getLatLng(); }else{s2 = gdir.getMarker(i).getLatLng(); } }map.clearOverlays();showIcon(s1, Icongrafikname[2], Icongrafikname[3], 24, 24, 44, 24, 1);showIcon(s2, Icongrafikname[0], Icongrafikname[1], 26, 24, 46, 24, 0); onGDirectionsLoad(disp);map.setZoom(map.getBoundsZoomLevel(bounds));map.setCenter(bounds.getCenter());mapzoom = map.getBoundsZoomLevel(bounds);mapcenter = bounds.getCenter();});GEvent.addListener(gdir, "error", handleErrors);setDirections(fromAddress, toAddress, 1);geocoder = new GClientGeocoder();} }function markerover(i){var icon = new GIcon(); icon.image = Icongrafikname[4];icon.iconSize = new GSize(24, 24);icon.iconAnchor = new GPoint(15, 15);icon.infoWindowAnchor = new GPoint(0, 0); if (pkt[i]) {zeichenab[i] = new GMarker(pkt[i], icon);map.addOverlay(zeichenab[i]);var t = map.getCenter(); map.panTo(pkt[i]);} }function markerout(i){if (zeichenab[i]) {map.removeOverlay(zeichenab[i]);}}function center(){var zoom = map.getZoom() ;if(mapzoom){zoom = mapzoom;};if(mapcenter){map.setCenter(mapcenter, zoom);}}function showIcon(point, punkt, shadow, g1, g2, g3, g4, g5) {var icon = new GIcon(); icon.image = punkt;icon.shadow = shadow;icon.shadowSize = new GSize(g3, g4);icon.infoShadowAnchor = new GPoint(0, 0);icon.iconSize = new GSize(g1, g2);icon.iconAnchor = new GPoint(10, 10);icon.infoWindowAnchor = new GPoint(5, 1); if (point) {var marker = new GMarker(point, icon);map.setCenter(point, 16);map.addOverlay(marker);if(g5 ==1){var geocoder = new GClientGeocoder();geocoder.getLocations(point, function(response){if((response.Placemark) && (typeof(response) == 'object') && (typeof(response.Placemark[0]) == 'object')){ if(typeof(response.Placemark[0].address) == 'string'){ var adresse= response.Placemark[0].address; var placemarke = new Array(); if((typeof(response.Placemark[0]) == 'object') && (response.Placemark[0].AddressDetails) && (response.Placemark[0].AddressDetails.Country) && (response.Placemark[0].AddressDetails.Country.AdministrativeArea) && (response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea) && (response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality)){ if(response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.DependentLocality){ placemarke[0] = response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality; placemarke[1] = response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.DependentLocality; }else if(response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality){ placemarke[0] = response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality; placemarke[1] = response.Placemark[0].AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality; } } if((pointUserOnly) && (placemarke.length > 0)){ GetPointonly(placemarke); } }}});}GEvent.addListener(marker,'click',function(){var marker2 = new GMarker(point, icon);var div = document.createElement('div');div.className = 'rauch';div.appendChild(kleine);var map2 = new GMap2(kleine,{size:new GSize(200,200)});map2.setUIToDefault();map2.setCenter(marker2.getPoint(),16,G_NORMAL_MAP);map2.addOverlay(marker2);marker.openInfoWindow(div);}); }}function koordinaten(point, marker, markerOut){if(markerOut){map.removeOverlay(markerOut);}var geocoder = new GClientGeocoder();geocoder.getLocations(point, function(response){if(!response || response.Status.code != 200){}else{var place = response.Placemark[0]; pointN = new GLatLng(place.Point.coordinates[1],place.Point.coordinates[0]);var zip;var position;var street;var zoom = map.getZoom();var mapName = map.getCurrentMapType().getName();var mapTypeName = 'G_NORMAL_MAP';var mapType = map.getCurrentMapType(); if (mapType == G_NORMAL_MAP){mapTypeName = 'NORMAL';}else if (mapType == G_SATELLITE_MAP){mapTypeName = 'SATELLITE';}else if (mapType == G_HYBRID_MAP){mapTypeName = 'HYBRID';}else if (mapType == G_PHYSICAL_MAP){mapTypeName = 'PHYSICAL';} var Ziel = setZiel() + "&pointUser=" + pointN + "&zoom=" + zoom + "&mapType=" + mapTypeName; if((response.Placemark) && (typeof(response) == 'object') && (typeof(response.Placemark[0]) == 'object')) { var adresse= response.Placemark[0].address; marker.text = "<div class='rauch2'>" + setText() + adresse + "</div>";  GEvent.addListener(marker,"click",function() {  marker.openInfoWindowHtml(marker.text); });   }}window.location.href = Ziel;});}function setDirections(fromAddress, toAddress){var locale = googleland;geocoder = new GClientGeocoder(); if (geocoder) { geocoder.getLatLng(fromAddress, function(point) { if (!point) {gdir.load("from: " + fromAddress + " to: "+ toAddress, {"locale" : locale}); } else {var neupointFrom = ersetzenPoint(point);if(neupointFrom){fromAddress = neupointFrom;} geocoder.getLatLng(toAddress, function(point2) {  if (!point2) { } else {var neupointTo = ersetzenPoint(point2);if(neupointTo){toAddress = neupointTo;}}gdir.load("from: " + fromAddress + " to: "+ toAddress, {"locale" : locale}); } );} } );  }} function onGDirectionsLoad(disp) {  var r = gdir.getDistance().meters;  var radius = zipRadiusToGlobal;  if(radius > 1){ radius = radius * 1000 * 5; }else{ radius = 100 * 1000 * 5; }var d = gdir.getSummaryHtml();document.getElementById('distance').innerHTML = strassen_entfernungGlobal + " <b>" + d + "</b>";if(disp){document.getElementById('directions').innerHTML = disp;} } function ersetzenPoint(string) { string = escape (string); string = unescape (string); if(string.length>0){ var suchen = new Array("(", ")", ","); var ersetzen = ""; for (var i=0; i< suchen.length; i++){string = string.replace(suchen[i],ersetzen); }return string;}else{return 0;}} function handleErrors() { }function ausblenden (){ MM_showHideLayers('map','','hidden', '0', '0');  MM_showHideLayers('directions','','hidden', '0', '0');  MM_showHideLayers('tabelle','','hidden', '0', '0');  document.getElementById('google_link').innerHTML = ''; }
