var map = null;
var directionDisplay;
var directionsService = null;
var directionsResult = null;
var markerFrom = null;
var markerTo = null;
var mapMenuPoint = null;
var mapMenuPointsArray = null;
var mapMenuDomElem = null;
var mapOverlay = null;
var ajaxGeocodeResult = null;
forPasPolys = null;
forDrvPolys = null;
forPasMarker = null;
forDrvMarker = null;
forPasInfoWindow = null;
forDrvInfoWindow = null;


function switchLinksAndExtendedSearch(btn1,div1,btn2,div2) {
	document.getElementById(div1).style.display = "none";
	document.getElementById(btn1).style.display = "block";
	document.getElementById(div2).style.display = "block";
	document.getElementById(btn2).style.display = "none";
	document.getElementById('datumarea').style.display = "none";
	document.getElementById('datumarea').innerHTML = '';
}


function setRegularity(){
	
	if(document.getElementById('regularOnce').checked == false){
	
		document.getElementById('mon').disabled = true;
		document.getElementById('die').disabled = true;
		document.getElementById('mit').disabled = true;
		document.getElementById('don').disabled = true;
		document.getElementById('fre').disabled = true;
		document.getElementById('sam').disabled = true;
		document.getElementById('son').disabled = true;	
		document.getElementById('DATETYPE').value = 'AM';	
	}else{
		document.getElementById('mon').disabled = false;
		document.getElementById('die').disabled = false;
		document.getElementById('mit').disabled = false;
		document.getElementById('don').disabled = false;
		document.getElementById('fre').disabled = false;
		document.getElementById('sam').disabled = false;
		document.getElementById('son').disabled = false;
		if(document.getElementById('mon').checked==false && document.getElementById('die').checked==false && document.getElementById('mit').checked==false && document.getElementById('don').checked==false && document.getElementById('fre').checked==false){
			document.getElementById('mon').checked = true;
			document.getElementById('die').checked = true;
			document.getElementById('mit').checked = true;
			document.getElementById('don').checked = true;
			document.getElementById('fre').checked = true;	
		}
		document.getElementById('DATETYPE').value = 'AB';
	}
}

function checkTime(aFormElement){
	
	var input = document.getElementById(aFormElement).value;
	
	if((input.length < 3)&&(isNaN(input))) document.getElementById(aFormElement).value = '';
	
	if((input.length == 4)&&(!isNaN(input))){
			
		document.getElementById(aFormElement).value = input.substr(0,2) + ':' + input.substr(2,2);
		
		input = input.substr(0,2) + ':' + input.substr(2,2);
				
	}
	
	if(input.length > 5){
		
		document.getElementById(aFormElement).value = input.substr(0,5);
	}
	
	if(input.substr(0,2) > 23) document.getElementById(aFormElement).value = '23:59';
	if(input.substr(3,2) > 59) document.getElementById(aFormElement).value = input.substring(0,3) + '59';

}

function openCalender(inDate, sessid){
	
	//document.getElementById('extended-search').style.display = 'none';
	document.getElementById('datumarea').style.display = 'inline';
	document.getElementById('datumarea').innerHTML = '<iframe src="functions/calendar.php5?PHPSESSID=' + sessid + '&date=' + inDate + '" type="text/html" width="210" height="140" frameborder="0" scrolling="no"></iframe>';
	
}

function closeCalender(date){
	document.getElementById('inputDate').value = date;
	document.getElementById('datumarea').style.display = 'none';
	document.getElementById('datumarea').innerHTML = '';
	//document.getElementById('extended-search').style.display = 'block';
}

function openMapCoderMenu(left,top){
	
	document.getElementById('mapmenu').style.visibility = 'visible';
	document.getElementById('mapmenu').style.top = top + 'px';
	if(left > 500) left = left - 240;
	document.getElementById('mapmenu').style.left = left + 'px';
    document.getElementById('mapmenu').style.display = '';
	
}
function openMapCoderMenuSingle(left,top){
	
	document.getElementById('mapmenuSingle').style.visibility = 'visible';
	document.getElementById('mapmenuSingle').style.top = top + 'px';
	if(left > 500) left = left - 175;
	document.getElementById('mapmenuSingle').style.left = left + 'px';
    document.getElementById('mapmenuSingle').style.display = '';
}

function openMapCoderMenuEvents(left,top,marker){
	
	//VOM Standort weg
	var tblBodyFrom = document.getElementById('tabMapMenuFrom').tBodies[0];
	//Alle bisherigen Reihen l�schen
	var rowCount = tblBodyFrom.rows.length;
	for(i=0;i<rowCount;i++){
		tblBodyFrom.deleteRow(0);
	}
			
	//Nadelstandort einf�gen
	var newRowFrom = tblBodyFrom.insertRow(tblBodyFrom.rows.length);
	var textNodeFrom = document.createTextNode(marker.getTitle());
	var cellNodeFrom = newRowFrom.insertCell(0);
	var linkNodeFrom = document.createElement('a');
	linkNodeFrom.setAttribute("href", 'javascript:insertFromMarker();updateSearchElements("von-input", 0);closeMapCoderMenuEvents();');
	linkNodeFrom.appendChild(textNodeFrom);
	cellNodeFrom.appendChild(linkNodeFrom);
	
	//ZUM Standort hin
	var tblBodyTo = document.getElementById('tabMapMenuTo').tBodies[0];
	
	//Alle bisherigen Reihen l�schen
	var rowCount = tblBodyTo.rows.length;
	for(i=0;i<rowCount;i++){
		tblBodyTo.deleteRow(0);
	}

	//Nadelstandort einf�gen
	var newRowTo = tblBodyTo.insertRow(tblBodyTo.rows.length);
	var textNodeTo = document.createTextNode(marker.getTitle());
	var cellNodeTo = newRowTo.insertCell(0);
	var linkNodeTo = document.createElement('a');
	linkNodeTo.setAttribute("href", 'javascript:insertToMarker();updateSearchElements("nach-input", 0);closeMapCoderMenuEvents();');
	linkNodeTo.appendChild(textNodeTo);
	cellNodeTo.appendChild(linkNodeTo);
	
	mapMenuPoint = marker.getPosition();
	mapMenuPointsArray = new Array();
	var pts = {"adr": marker.getTitle(), "ctr":"AUT", "lat": marker.getPosition().lat(), "lon":marker.getPosition().lng()};
	mapMenuPointsArray[0] = pts;
		
	document.getElementById('mapmenuEvents').style.visibility = 'visible';
	document.getElementById('mapmenuEvents').style.top = top + 'px';
	if(left > 500) left = left - 240;
	document.getElementById('mapmenuEvents').style.left = left + 'px';
    document.getElementById('mapmenuEvents').style.display = '';
}

function updateMapCoderMenu(){
	
	//Von Bereich
	if(document.getElementById('tabMapMenuFrom')){
		
		var tblBodyFrom = document.getElementById('tabMapMenuFrom').tBodies[0];
		//Alle bisherigen Reihen l�schen
		var rowCount = tblBodyFrom.rows.length;
		for(i=0;i<rowCount;i++){
			tblBodyFrom.deleteRow(0);
		}
		
		//Nadelstandort einf�gen
		var newRowFrom = tblBodyFrom.insertRow(tblBodyFrom.rows.length);
		var textNodeFrom = document.createTextNode(lng_FromThisLoc);
		var cellNodeFrom = newRowFrom.insertCell(0);
		var linkNodeFrom = document.createElement('a');
		linkNodeFrom.setAttribute("href", 'javascript:insertFromMarker();updateSearchElements("von-input", -1);closeMapCoderMenu();');
		linkNodeFrom.appendChild(textNodeFrom);
		cellNodeFrom.appendChild(linkNodeFrom);
		
		//Einf�gen der Standorte
		for(i=0;i<mapMenuPointsArray.length;i++){
			var elem = mapMenuPointsArray[i];
			var newRowFrom = tblBodyFrom.insertRow(tblBodyFrom.rows.length);
			var textNodeFrom = document.createTextNode(elem['adr']);
			var cellNodeFrom = newRowFrom.insertCell(0);
			var linkNodeFrom = document.createElement('a');
			linkNodeFrom.setAttribute("href", 'javascript:mapMenuPoint = new google.maps.LatLng(' + elem['lat'] + ', ' + elem['lon'] + ');insertFromMarker();updateSearchElements("von-input", ' + i + ');closeMapCoderMenu();');
			linkNodeFrom.appendChild(textNodeFrom);
			cellNodeFrom.appendChild(linkNodeFrom);
		}
		
	}
	
	//Nach Bereich
	if(document.getElementById('tabMapMenuTo')){
		
		var tblBodyTo = document.getElementById('tabMapMenuTo').tBodies[0];

		//Alle bisherigen Reihen l�schen
		var rowCount = tblBodyTo.rows.length;
		for(i=0;i<rowCount;i++){
			tblBodyTo.deleteRow(0);
		}
		
		//Nadelstandort einf�gen
		var newRowTo = tblBodyTo.insertRow(tblBodyTo.rows.length);
		var textNodeTo = document.createTextNode(lng_FromThisLoc);
		var cellNodeTo = newRowTo.insertCell(0);
		var linkNodeTo = document.createElement('a');
		linkNodeTo.setAttribute("href", 'javascript:insertToMarker();updateSearchElements("nach-input", -1);closeMapCoderMenu();');
		linkNodeTo.appendChild(textNodeTo);
		cellNodeTo.appendChild(linkNodeTo);
			
		//Einf�gen der Standorte
		for(i=0;i<mapMenuPointsArray.length;i++){
			var elem = mapMenuPointsArray[i];
			var newRowTo = tblBodyTo.insertRow(tblBodyTo.rows.length);
			var textNodeTo = document.createTextNode(elem['adr']);
			var cellNodeTo = newRowTo.insertCell(0);
			var linkNodeTo = document.createElement('a');
			linkNodeTo.setAttribute("href", 'javascript:mapMenuPoint = new google.maps.LatLng(' + elem['lat'] + ', ' + elem['lon'] + ');insertToMarker();updateSearchElements("nach-input", ' + i + ');closeMapCoderMenu();');
			linkNodeTo.appendChild(textNodeTo);
			cellNodeTo.appendChild(linkNodeTo);
		}
	}
}

function updateMapCoderMenuSingle(div){
	
	//Von Bereich
	if(document.getElementById('tabMapMenuSingle')){
		
		var tblBody = document.getElementById('tabMapMenuSingle').tBodies[0];
		//Alle bisherigen Reihen l�schen
		var rowCount = tblBody.rows.length;
		for(i=0;i<rowCount;i++){
			tblBody.deleteRow(0);
		}

		//Nadelstandort einf�gen
		var newRow = tblBody.insertRow(tblBody.rows.length);
		var textNode = document.createTextNode(lng_ConfThisLoc);
		var cellNode = newRow.insertCell(0);
		var linkNode = document.createElement('a');
		var markerAction = '';
		if(div == 'place-input') markerAction = 'insertToMarker();';
		linkNode.setAttribute("href", 'javascript: updateSearchElements("' + div + '", -1);' + markerAction + 'closeMapCoderMenuSingle();');
		linkNode.appendChild(textNode);
		cellNode.appendChild(linkNode);
		
		//Einf�gen der Standorte
		for(i=0;i<mapMenuPointsArray.length;i++){
			var elem = mapMenuPointsArray[i];
			var newRow = tblBody.insertRow(tblBody.rows.length);
			var textNode = document.createTextNode(elem['adr']);
			var cellNode = newRow.insertCell(0);
			var linkNode = document.createElement('a');
			var markerAction = '';
			if(div == 'von-input') markerAction = 'insertFromMarker();';
			if(div == 'nach-input') markerAction = 'insertToMarker();';
			if(div == 'place-input') markerAction = 'insertToMarker();';
			linkNode.setAttribute("href", 'javascript:mapMenuPoint = new google.maps.LatLng(' + elem['lat'] + ', ' + elem['lon'] + ');' + markerAction + 'updateSearchElements("' + div + '", ' + i + ');closeMapCoderMenuSingle();');
			linkNode.appendChild(textNode);
			cellNode.appendChild(linkNode);
		}
		
	}
}


function resetMapCoderMenu(){
	
	//Von Bereich
	if(document.getElementById('tabMapMenuFrom')){

		var tblBodyFrom = document.getElementById('tabMapMenuFrom').tBodies[0];
		//Alle bisherigen Reihen l�schen
		var rowCount = tblBodyFrom.rows.length;
		for(i=0;i<rowCount;i++){
			tblBodyFrom.deleteRow(0);
		}
		

		//Einf�gen des Ladeimages
		var newRowFrom = tblBodyFrom.insertRow(tblBodyFrom.rows.length);
		var imgNodeFrom = document.createElement('img');
		imgNodeFrom.setAttribute("src", "img/standard/ajax-loader.gif");
		var cellNodeFrom = newRowFrom.insertCell(0);
		cellNodeFrom.appendChild(imgNodeFrom);
	}

	//Nach Bereich
	if(document.getElementById('tabMapMenuTo')){

		var tblBodyTo = document.getElementById('tabMapMenuTo').tBodies[0];

		//Alle bisherigen Reihen l�schen
		var rowCount = tblBodyTo.rows.length;
		for(i=0;i<rowCount;i++){
			tblBodyTo.deleteRow(0);
		}

		//Einf�gen des Ladeimages
		var newRowTo = tblBodyTo.insertRow(tblBodyTo.rows.length);
		var imgNodeTo = document.createElement('img');
		imgNodeTo.setAttribute("src", "img/standard/ajax-loader.gif");
		var cellNodeTo = newRowTo.insertCell(0);	
		cellNodeTo.appendChild(imgNodeTo);
	}
	
}

function resetMapCoderMenuSingle(){
	
	if(document.getElementById('tabMapMenuSingle')){

		var tblBody = document.getElementById('tabMapMenuSingle').tBodies[0];
		//Alle bisherigen Reihen l�schen
		var rowCount = tblBody.rows.length;
		for(i=0;i<rowCount;i++){
			tblBody.deleteRow(0);
		}

		//Einf�gen des Ladeimages
		var newRow = tblBody.insertRow(tblBody.rows.length);
		var imgNode = document.createElement('img');
		imgNode.setAttribute("src", "img/standard/ajax-loader.gif");
		var cellNode = newRow.insertCell(0);
		cellNode.appendChild(imgNode);
	}
}




function closeMapCoderMenu(){
	
	document.getElementById('mapmenu').style.top = '0px';
	document.getElementById('mapmenu').style.left = '0px';
	document.getElementById('mapmenu').style.visibility = 'hidden';
    document.getElementById('mapmenu').style.display = 'none';
	resetMapCoderMenu();
}

function closeMapCoderMenuSingle(){
	
	document.getElementById('mapmenuSingle').style.top = '0px';
	document.getElementById('mapmenuSingle').style.left = '0px';
	document.getElementById('mapmenuSingle').style.visibility = 'hidden';
    document.getElementById('mapmenuSingle').style.display = 'none';
	resetMapCoderMenuSingle();
}

function closeMapCoderMenuEvents(){
	
	document.getElementById('mapmenuEvents').style.top = '0px';
	document.getElementById('mapmenuEvents').style.left = '0px';
	document.getElementById('mapmenuEvents').style.visibility = 'hidden';
    document.getElementById('mapmenuEvents').style.display = 'none';
}


function updateSearchElements(div, id){
	
	var titelText = "";
	if(id != -1){
		var elem = mapMenuPointsArray[id];
		titelText =  elem['adr'];
	}else{
		var elem = mapMenuPointsArray[0];
		titelText =  lng_NextLoc + elem['adr'];	
	}
	
	if(document.getElementById(div)) document.getElementById(div).value = titelText;
	if(document.getElementById(div + '-lon')) document.getElementById(div + '-lon').value = mapMenuPoint.lng();
	if(document.getElementById(div + '-lat')) document.getElementById(div + '-lat').value = mapMenuPoint.lat();
	if(document.getElementById(div + '-ctr')) document.getElementById(div + '-ctr').value = elem['ctr'];
	
	titelText =  titelText + ', ' + elem['ctr'];	
	
	if(div == 'von-input'){
		markerFrom.setTitle(titelText);
		activateInput('von');
	}else{
		markerTo.setTitle(titelText);
		activateInput('nach');
	}
	
	if(markerTo && markerFrom && markerTo.getVisible() && markerFrom.getVisible()){
	
		if(doRouteCalculation == true){
			calcGoogleRoute(markerFrom.getPosition(),markerTo.getPosition());
		}else{
			var bounds = new google.maps.LatLngBounds();
			bounds.extend(markerFrom.getPosition());
			bounds.extend(markerTo.getPosition());
			map.fitBounds(bounds);
		}
	}
	
}

function initSearchMap(exl,exr,exb,ext){
	
	var mapOptions = {
	      zoom: 7,
	      center: new google.maps.LatLng(47.7, 13.906939),
	      mapTypeId: google.maps.MapTypeId.ROADMAP,
	      draggableCursor:'pointer',
	      streetViewControl:false
	};

	// Map initialiseren
	map = new google.maps.Map(document.getElementById("mapdiv"), mapOptions);
	
	if(exl==exr && exb==ext){
		map.setZoom(11);
		map.setCenter(new google.maps.LatLng(exb, exl));
	
	}else{
		var exlFext = exl;
		var exrFext = exr;
		var extFext = ext;
		var exbFext = exb;
		if(exl > exr){
			exlFext = exr;
			exrFext = exl;
		}
		if(exb > ext){
			exbFext = ext;
			extFext = exb;
		}
		map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(exbFext, exlFext), new google.maps.LatLng(extFext, exrFext)));
	}
	
	mapOverlay = new google.maps.OverlayView();
	mapOverlay.draw = function(){};
	mapOverlay.setMap(map);
	
	//Directions
	var directionsOptions = {
		suppressMarkers: true
	};
	directionsService = new google.maps.DirectionsService();
	directionsDisplay = new google.maps.DirectionsRenderer(directionsOptions);
	

	var imageFrom = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/ab.png'),new google.maps.Size(75, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(75, 70));
	var imageTo = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/an.png'),new google.maps.Size(76, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(76, 70));
	var imageForPas = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/car_green.gif'),new google.maps.Size(25, 11), new google.maps.Point(0,0), new google.maps.Point(12, 5),new google.maps.Size(25, 11));
	var imageForDrv = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/car_blue.gif'),new google.maps.Size(25, 11), new google.maps.Point(0,0), new google.maps.Point(12, 5),new google.maps.Size(25, 11));
	
	markerFrom = new google.maps.Marker({
	      position: new google.maps.LatLng(exb, exl), 
	      map: map,
	      draggable: true,
	      icon: imageFrom,
	      visible: false
	});
	
	markerTo = new google.maps.Marker({
	      position: new google.maps.LatLng(ext, exr), 
	      map: map,
	      draggable: true,
	      icon: imageTo,
	      visible: false
	});
	
	//Einf�gen eines neuen Markers VON
	insertFromMarker = function(){
		directionsDisplay.setMap(null);
		markerFrom.setPosition(mapMenuPoint);
		markerFrom.setVisible(true);
		if(!markerTo.getVisible()){
			if(map.getZoom()<11) map.setZoom(11);
			map.setCenter(mapMenuPoint);
		}
	};
	
	//Einf�gen eines neuen Markers NACH
	insertToMarker = function(){
		directionsDisplay.setMap(null);
		markerTo.setPosition(mapMenuPoint);
		markerTo.setVisible(true);
		if(!markerFrom.getVisible()){
			if(map.getZoom()<11) map.setZoom(11);
			map.setCenter(mapMenuPoint);
		}
	};
	
	//Listener f�r Rechtsklick
	google.maps.event.addListener(map, 'rightclick', function(event) {
		mapMenuPoint = event.latLng;
		var pos = mapOverlay.getProjection().fromLatLngToContainerPixel(event.latLng);
		resetMapCoderMenu();
		openMapCoderMenu(pos.x,pos.y);
		closeMapCoderMenuSingle();
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
		reverseGeocode(mapMenuPoint.lng(),mapMenuPoint.lat(),'menuvonnach',5);
	});
	
	
	//Listener f�r Karte verschieben
	google.maps.event.addListener(map, 'bounds_changed', function(event) { 
		closeMapCoderMenu();
		closeMapCoderMenuSingle();
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
	});
	
	//Listener f�r Karte verschieben
	google.maps.event.addListener(map, 'click', function(event) { 
		closeMapCoderMenu();
		closeMapCoderMenuSingle();
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
	});
	
	//Listener f�r Drag und Drop
	google.maps.event.addListener(markerFrom, 'dragend', function(event) {
		directionsDisplay.setMap(null);
		var pos = mapOverlay.getProjection().fromLatLngToContainerPixel(event.latLng);
		mapMenuPoint = event.latLng;
		openMapCoderMenuSingle(pos.x,pos.y);
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
		closeMapCoderMenu();
		reverseGeocode(event.latLng.lng(),event.latLng.lat(), "von-input",5);
	});
	
	//Listener f�r Drag und Drop
	google.maps.event.addListener(markerTo, 'dragend', function(event) {
		directionsDisplay.setMap(null);
		var pos = mapOverlay.getProjection().fromLatLngToContainerPixel(event.latLng);
		mapMenuPoint = event.latLng;
		openMapCoderMenuSingle(pos.x,pos.y);
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
		closeMapCoderMenu();
		reverseGeocode(event.latLng.lng(),event.latLng.lat(),"nach-input",5);
	});
	
}

function initEventMap(exl,exr,exb,ext){
	
	var mapOptions = {
	      zoom: 7,
	      center: new google.maps.LatLng(47.7, 13.906939),
	      mapTypeId: google.maps.MapTypeId.ROADMAP,
	      draggableCursor:'pointer',
	      streetViewControl:false
	};

	// Map initialiseren
	map = new google.maps.Map(document.getElementById("mapdiv"), mapOptions);
	
	if(exl==exr && exb==ext){
		map.setZoom(11);
		map.setCenter(new google.maps.LatLng(exb, exl));
	
	}else{
		map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(exb, exl), new google.maps.LatLng(ext, exr)));
	}
	
	mapOverlay = new google.maps.OverlayView();
	mapOverlay.draw = function(){};
	mapOverlay.setMap(map);
	
	var imageFrom = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/ab.png'),new google.maps.Size(75, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(75, 70));
	var imageTo = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/an.png'),new google.maps.Size(76, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(76, 70));
	var imageEvent = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/slider.png'),new google.maps.Size(20, 9), new google.maps.Point(0,0), new google.maps.Point(10, 5),new google.maps.Size(20, 9));
	
	markerFrom = new google.maps.Marker({
	      position: new google.maps.LatLng(exb, exl),
	      map: map,
	      draggable: false,
	      icon: imageFrom,
	      visible: false
	});
	
	markerTo = new google.maps.Marker({
	      position: new google.maps.LatLng(ext, exr),
	      map: map,
	      draggable: false,
	      icon: imageTo,
	      visible: false
	});
	
	//Einf�gen eines neuen Markers VON
	insertFromMarker = function(){
		markerFrom.setPosition(mapMenuPoint);
		markerFrom.setVisible(true);
		if(map.getZoom()<11) map.setZoom(11);
		map.setCenter(mapMenuPoint);
	};
	
	//Einf�gen eines neuen Markers NACH
	insertToMarker = function(){
		markerTo.setPosition(mapMenuPoint);
		markerTo.setVisible(true);
		if(map.getZoom()<11) map.setZoom(11);
		map.setCenter(mapMenuPoint);
	};
	
	
	//Listener f�r Karte verschieben
	google.maps.event.addListener(map, 'bounds_changed', function(event) { 
		closeMapCoderMenuEvents()
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
	});
	
	//Listener f�r Karte verschieben
	google.maps.event.addListener(map, 'click', function(event) { 
		closeMapCoderMenuEvents()
		closeVorschlagsliste('nach-input');
		closeVorschlagsliste('von-input');
	});
	
	//Events anzeigen
	for(var i=0; i<eventsArray.length; i++){
		var ev = eventsArray[i];
		
		var eTitle = "";
		if(ev['name'].length > 1) eTitle = eTitle + ev['name'];
		else eTitle = eTitle + 'Event';
		if(ev['city'].length > 1){
			eTitle = eTitle + ' in ' + ev['city'];
			if(ev['zip'].length > 1) eTitle = eTitle + ' (' + ev['zip'] + ')'
		}
		
		var eventMarker = new google.maps.Marker({
		      position: ev['pt'], 
		      map: map,
		      draggable: false,
		      icon: imageEvent,
		      title: eTitle,
		      visible: true
		});
		
		//Listener f�r Klick auf Event
		google.maps.event.addListener(eventMarker, 'click', function(event) {
			var pos = mapOverlay.getProjection().fromLatLngToContainerPixel(this.getPosition());
			mapMenuPoint = this.getPosition();
			openMapCoderMenuEvents(pos.x,pos.y,this, i);
		});
	}
	
	
}

function calcGoogleRoute(start,end) {
    	
    	var request = {
        	origin:start, 
        	destination:end,
        	travelMode: google.maps.DirectionsTravelMode.DRIVING
    	};
    
    	if(directionsService != null){
	    	directionsService.route(request, function(response, status) {
			if (status == google.maps.DirectionsStatus.OK) {
				directionsDisplay.setMap(map);
				directionsDisplay.setDirections(response);
				directionsResult = response;
			}
	    	});
	}
}

function initRouteMap(x1,y1,x2,y2){
	
	var mapOptions = {
	      zoom: 7,
	      center: new google.maps.LatLng(47.7, 13.906939),
	      mapTypeId: google.maps.MapTypeId.ROADMAP,
	      draggableCursor:'pointer',
	      streetViewControl:false
	};

	// Map initialiseren
	map = new google.maps.Map(document.getElementById("mapdiv"), mapOptions);
	
	mapOverlay = new google.maps.OverlayView();
	mapOverlay.draw = function(){};
	mapOverlay.setMap(map);
	
	//Directions
	var directionsOptions = {
		suppressMarkers: true
	};
	directionsService = new google.maps.DirectionsService();
	directionsDisplay = new google.maps.DirectionsRenderer(directionsOptions);
	directionsDisplay.setPanel(document.getElementById("routediv"));

	
	var imageFrom = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/ab.png'),new google.maps.Size(75, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(75, 70));
	var imageTo = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/an.png'),new google.maps.Size(76, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(76, 70));
		
	markerFrom = new google.maps.Marker({
	      position: new google.maps.LatLng(y1, x1), 
	      map: map,
	      draggable: false,
	      icon: imageFrom,
	      visible: true
	});
	
	markerTo = new google.maps.Marker({
	      position: new google.maps.LatLng(y2, x2), 
	      map: map,
	      draggable: false,
	      icon: imageTo,
	      visible: true
	});
	
	calcGoogleRoute(markerFrom.getPosition(),markerTo.getPosition());
}



function initMyPlaceMap(exl,exr,exb,ext){
	
	var mapOptions = {
	      zoom: 7,
	      center: new google.maps.LatLng(47.7, 13.906939),
	      mapTypeId: google.maps.MapTypeId.ROADMAP,
	      draggableCursor:'pointer',
	      streetViewControl:false
	};

	// Map initialiseren
	map = new google.maps.Map(document.getElementById("mapdiv"), mapOptions);
	if(exl!=exr || exb!=ext){
		map.fitBounds(new google.maps.LatLngBounds(new google.maps.LatLng(exb, exl), new google.maps.LatLng(ext, exr)));
	}else{
	
		map.setCenter(new google.maps.LatLng(exb, exl));map.setZoom(16);
	}
	
	mapOverlay = new google.maps.OverlayView();
	mapOverlay.draw = function(){};
	mapOverlay.setMap(map);
	
	//Listener f�r Rechtsklick
	google.maps.event.addListener(map, 'rightclick', function(event) {
		mapMenuPoint = event.latLng;
		var pos = mapOverlay.getProjection().fromLatLngToContainerPixel(event.latLng);
		openMapCoderMenuSingle(pos.x,pos.y);
		closeVorschlagsliste('place-input');
		reverseGeocode(event.latLng.lng(),event.latLng.lat(),"place-input",5);
		
	});
	
	
	
	var image = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/place.png'),new google.maps.Size(54, 70), new google.maps.Point(0,0), new google.maps.Point(6, 68),new google.maps.Size(54, 70));
	
	markerTo = new google.maps.Marker({
	      position: new google.maps.LatLng(exb, exl), 
	      map: map,
	      draggable: true,
	      icon: image,
	      visible: false
	});
	
	//Listener f�r Karte verschieben
	google.maps.event.addListener(map, 'bounds_changed', function(event) { closeMapCoderMenuSingle(); });
	
	//Listener f�r drag und Drop
	google.maps.event.addListener(markerTo, 'dragend', function(event) {
		var pos = mapOverlay.getProjection().fromLatLngToContainerPixel(event.latLng);
		mapMenuPoint = event.latLng;
		openMapCoderMenuSingle(pos.x,pos.y);
		closeVorschlagsliste('place-input');
		reverseGeocode(event.latLng.lng(),event.latLng.lat(), 'place-input',5);
	});
	
	//Einf�gen eines neuen Markers
	insertToMarker = function(){
		markerTo.setPosition(mapMenuPoint);
		markerTo.setVisible(true);	
		map.setCenter(mapMenuPoint);
		if(map.getZoom() < 15)	map.setZoom(15);
	};
	
	
	
}

function setGeococedLocationFromVorschlag(div,lat,lon,txt){
	
	//Divs bef�llen
	if(div != null){
		if(document.getElementById(div)) document.getElementById(div).value = txt;
		if(document.getElementById(div + '-lon')) document.getElementById(div + '-lon').value = lon;
		if(document.getElementById(div + '-lat')) document.getElementById(div + '-lat').value = lat;
	}
	
	
	//Marker setzen
	if(MAPACTIVATED == true){
		mapMenuPoint = new google.maps.LatLng(lat, lon);

		if(div == 'von-input'){
			insertFromMarker();
			markerFrom.setTitle(txt);
		}else{
			insertToMarker();
			markerTo.setTitle(txt);
		}
	}
	
	//Vorschlagsliste schlie�en
	closeVorschlagsliste(div);
	
	if(markerTo && markerFrom && markerTo.getVisible() && markerFrom.getVisible()){
		if(doRouteCalculation == true){
			calcGoogleRoute(markerFrom.getPosition(),markerTo.getPosition());
		}else{
			var bounds = new google.maps.LatLngBounds();
			bounds.extend(markerFrom.getPosition());
			bounds.extend(markerTo.getPosition());
			map.fitBounds(bounds);
		}
	}
}

function reverseGeocode(lon,lat,div,anz){
	
	mapMenuPointsArray = null;
	
	observer = new WGGObserver();
	
	//Ergebnis der Reverse Geokodierung
	observer.update = function() {
	
		if( arguments.length > 0 ) {

			var arg = arguments[0];
			if( arg == null ) return;

			try {
				var itemsNode = arg.getElementsByTagName("items")[0];
				var itemNodes = itemsNode.getElementsByTagName("item");
				
				if(itemNodes) {
				
					mapMenuPointsArray = new Array();
					
					for(var i=0; i<itemNodes.length; i++) {
				
						var itemNode = itemNodes[i];
						var ortplz = itemNode.getElementsByTagName("ortplz")[0].firstChild.nodeValue;
						var lat1 = parseFloat(itemNode.getElementsByTagName("lat")[0].firstChild.nodeValue);
						var lon1 = parseFloat(itemNode.getElementsByTagName("lon")[0].firstChild.nodeValue);
						var ctr = itemNode.getElementsByTagName("ctr")[0].firstChild.nodeValue;
						
						var pts = {"adr": ortplz, "ctr":ctr, "lat": lat1, "lon":lon1};
						
						mapMenuPointsArray[i] = pts;
					}
					
					
					//Falls Update direkt in die Suchform geschehen soll
					if(div == 'von-input' || div == 'nach-input' || div == 'place-input'){
						
						updateMapCoderMenuSingle(div);
						
					//Sonst Update des Menus
					}else{
						updateMapCoderMenu();
					}
				}
				
			} catch(e) {}
		}
	}
		
	ajaxLoader = new WGGAjaxLoader();
	ajaxLoader.initialize();
	ajaxLoader.addObserver( observer );
	ajaxLoader.sendRequest( WGGHtmlUtils.buildURLFromCurrentPath('functions/reverseGeocode.php5?PHPSESSID=' + sessid + '&lat=' + lat + '&lon=' + lon + '&anz=' + anz) );
}



function ajaxGeocode(input,ctr, div, cls){
	
	observer = new WGGObserver();
	
	//Ergebnis der Reverse Geokodierung
	observer.update = function() {
	
		if( arguments.length > 0 ) {
			
			var xmlDoc = arguments[0];
			if(xmlDoc==null) return;
			if( typeof xmlDoc.getElementsByTagName == 'undefined' ) return;
			
			try {
				//-- root element (items)
				var itemsNode = xmlDoc.getElementsByTagName("items")[0];
				
				if( !itemsNode ) {
					throw "itemsNode must not be null or undefined";
				}
				
				var itemNodes = itemsNode.getElementsByTagName("item");

				//-- nichts gefunden
				if( itemNodes == null ) {
					return;
				}
				
				if(itemNodes) {
					
					var ortplzarray = new Array();
					var latarray = new Array();
					var lonarray = new Array();
					var classarray = new Array();
					
					for(var i=0; i<itemNodes.length; i++) {
				
						var itemNode = itemNodes[i];
						var ortplz = itemNode.getElementsByTagName("ortplz")[0].firstChild.nodeValue;
						var lat = parseFloat(itemNode.getElementsByTagName("lat")[0].firstChild.nodeValue);
						var lon = parseFloat(itemNode.getElementsByTagName("lon")[0].firstChild.nodeValue);
						var classe = itemNode.getElementsByTagName("class")[0].firstChild.nodeValue;
						var ctr = itemNode.getElementsByTagName("ctr")[0].firstChild.nodeValue;
						
						ortplzarray[i] = ortplz;
						latarray[i] = lat;
						lonarray[i] = lon;
						classarray[i] = classe;

					}
					ortplzarray[itemNodes.length] = lng_close;
					latarray[itemNodes.length] = 0;
					lonarray[itemNodes.length] = 0;
					classarray[itemNodes.length] = '';
					ajaxGeocodeResult = {'ort': ortplzarray[0], 'lat': latarray[0], 'lon': lonarray[0]};
				
					if(itemNodes.length > 0){
						openVorschlagsliste(div);
						addToVorschlagsliste(div,ortplzarray,latarray,lonarray, classarray);
					}else{
						closeVorschlagsliste(div);
					}			
				}	
				
			} catch(e) {}
		}
	}
		
	ajaxLoader = new WGGAjaxLoader();
	ajaxLoader.initialize();
	ajaxLoader.addObserver( observer );
	ajaxLoader.sendRequest( WGGHtmlUtils.buildURLFromCurrentPath('functions/ajaxGeocode.php5?PHPSESSID=' + sessid + '&input=' + encodeURI(input) + '&ctr=' + ctr + '&cls=' + cls) );
}

function addToVorschlagsliste (div, namearray,latarray,lonarray, classarray){
	
	var tab = document.getElementById(div  + '-vorschlag-table');
	var tblBody = tab.tBodies[0];
		
	//Einf�gen der Ergebnisse
	for( var i=0; i < namearray.length; i++ ){
		var newRow = tblBody.insertRow(tblBody.rows.length);
		var textNode = document.createTextNode(namearray[i]);
		var linkNode = document.createElement('a');
		if(latarray[i] != 0 && lonarray[i] != 0){
			linkNode.setAttribute("href", 'javascript:setGeococedLocationFromVorschlag(\'' + div + '\',' + latarray[i] + ',' + lonarray[i] + ',\'' + namearray[i] + '\');');
		}else{
			linkNode.setAttribute("href", 'javascript:closeVorschlagslisteEmptyInput(\'' + div + '\');');
		}
		linkNode.appendChild(textNode);
		var cellNode = newRow.insertCell(0);
		if(latarray[i] == 0 || lonarray[i] == 0){
			cellNode.setAttribute("class", "vorschlagslisteClose");
			cellNode.setAttribute("className", "vorschlagslisteClose");
			
		}
		cellNode.appendChild(linkNode);	
		
		if(classarray && classarray[i] != ''){
			var imgNode = document.createElement("img");
			imgNode.setAttribute("src", "img/locations/" + classarray[i] + ".gif");
			var cellNode = newRow.insertCell(1);
			cellNode.appendChild(imgNode);	
		}
	}

}

function addEmptyVorschlagsliste (div){
	
	var tab = document.getElementById(div  + '-vorschlag-table');
	var tblBody = tab.tBodies[0];
		
	//Einf�gen der Ergebnisse
	var newRow = tblBody.insertRow(tblBody.rows.length);
	var textNode = document.createTextNode("keine...");
	var cellNode = newRow.insertCell(0);
	cellNode.appendChild(textNode);	
	

}

function emptyVorschlagsliste (tab){
	tableNode = document.getElementById(tab);
	bodyNode = tableNode.tBodies[0];
	anzRows = bodyNode.rows.length;
	for( var i=0; i<anzRows; i++ ){
		
		bodyNode.deleteRow(0);
	}
}

function closeVorschlagsliste(div){
	
	document.getElementById(div + '-vorschlag').style.visibility = 'hidden';
	emptyVorschlagsliste (div + '-vorschlag-table');
}

function closeVorschlagslisteEmptyInput(div){

	document.getElementById(div + '-vorschlag').style.visibility = 'hidden';
	emptyVorschlagsliste (div + '-vorschlag-table');
    document.getElementById(div).value = "";
    if(document.getElementById(div + '-lon')) document.getElementById(div + '-lon').value = '';
	if(document.getElementById(div + '-lat')) document.getElementById(div + '-lat').value = '';
    if(MAPACTIVATED == true){

		if(div == 'von-input'){
			markerFrom.setVisible(false);

		}else{
			markerTo.setVisible(false);
		}
	}
}


function openVorschlagsliste(div){
	
	document.getElementById(div + '-vorschlag').style.visibility = 'visible';
	emptyVorschlagsliste (div + '-vorschlag-table');
}

function loadMyPlaces(div){

	observer = new WGGObserver();
		
	//Ergebnis der Reverse Geokodierung
	observer.update = function() {

		if( arguments.length > 0 ) {

			var xmlDoc = arguments[0];
			if(xmlDoc==null) return;
			if( typeof xmlDoc.getElementsByTagName == 'undefined' ) return;

			try {
				//-- root element (items)
				var itemsNode = xmlDoc.getElementsByTagName("items")[0];

				if( !itemsNode ) {
					throw "itemsNode must not be null or undefined";
				}

				var itemNodes = itemsNode.getElementsByTagName("item");

				//-- nichts gefunden
				if( itemNodes == null ) {
					return;
				}
				
				if(itemNodes) {
					
					var idarray = new Array();
					var ortplzarray = new Array();
					var latarray = new Array();
					var lonarray = new Array();
					
					for(var i=0; i<itemNodes.length; i++) {
						
						var itemNode = itemNodes[i];
						var ortplz = itemNode.getElementsByTagName("name")[0].firstChild.nodeValue;
						var id = itemNode.getElementsByTagName("id")[0].firstChild.nodeValue;
						var lat = parseFloat(itemNode.getElementsByTagName("lat")[0].firstChild.nodeValue);
						var lon = parseFloat(itemNode.getElementsByTagName("lon")[0].firstChild.nodeValue);
						
						ortplzarray[i] = ortplz;
						latarray[i] = lat;
						lonarray[i] = lon;
						
					}
					
					ortplzarray[itemNodes.length] = lng_close;
					latarray[itemNodes.length] = 0;
					lonarray[itemNodes.length] = 0;
					
					openVorschlagsliste(div);
					
					if(itemNodes.length > 0){
						addToVorschlagsliste(div, ortplzarray,latarray,lonarray, null);
					}else{
						closeVorschlagsliste(div);
					}

				}
				
			} catch(e) {}
		}
	}

	ajaxLoader = new WGGAjaxLoader();
	ajaxLoader.initialize();
	ajaxLoader.addObserver( observer );
	ajaxLoader.sendRequest( WGGHtmlUtils.buildURLFromCurrentPath('functions/getMyPlaces.php5?PHPSESSID=' + sessid) );
}


function initResultMap(x1,y1,x2,y2,print){
	
	if(print == true ){
		var mapOptions = {
		      zoom: 7,
		      disableDefaultUI: true,
		      disableDoubleClickZoom: true,
		      draggable: false,
		      keyboardShortcuts:false,
		      mapTypeControl:false,
		      scaleControl:false,
		      scrollwheel:false,
		      center: new google.maps.LatLng(47.7, 13.906939),
		      mapTypeId: google.maps.MapTypeId.ROADMAP,
		      draggableCursor:'pointer',
		      streetViewControl:false
		};
	}else{
		var mapOptions = {
		      zoom: 7,
		      center: new google.maps.LatLng(47.7, 13.906939),
		      mapTypeId: google.maps.MapTypeId.ROADMAP,
		      draggableCursor:'pointer',
		      streetViewControl:false
		};
	}

	// Map initialiseren
	map = new google.maps.Map(document.getElementById("mapdiv"), mapOptions);
	
	mapOverlay = new google.maps.OverlayView();
	mapOverlay.draw = function(){};
	mapOverlay.setMap(map);
	
	//Directions
	var polyOptions = {
		strokeColor: "#8080FF",
		strokeOpacity: 0.7,
		strokeWeight:3
	}
	var directionsOptions = {
		suppressMarkers: true,
		polylineOptions: polyOptions
	};
	directionsService = new google.maps.DirectionsService();
	directionsDisplay = new google.maps.DirectionsRenderer(directionsOptions);


	var imageFrom = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/ab.png'),new google.maps.Size(75, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(75, 70));
	var imageTo = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/an.png'),new google.maps.Size(76, 70), new google.maps.Point(0,0), new google.maps.Point(13, 68),new google.maps.Size(76, 70));
	var imageForPas = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/car_green.gif'),new google.maps.Size(25, 11), new google.maps.Point(0,0), new google.maps.Point(12, 5),new google.maps.Size(25, 11));
	var imageForDrv = new google.maps.MarkerImage(WGGHtmlUtils.buildURLFromCurrentPath('img/map/car_blue.gif'),new google.maps.Size(25, 11), new google.maps.Point(0,0), new google.maps.Point(12, 5),new google.maps.Size(25, 11));

	forPasPolys = new Array();
	forDrvPolys = new Array();
	forPasMarker = new Array();
	forDrvMarker = new Array();
	forPasInfoWindow = new Array();
	forDrvInfoWindow = new Array();
	
	for(var i=0; i<tripArrayForPas.length; i++){
		(function () {
		var pts = tripArrayForPas[i];
		
		var tripLine = new google.maps.Polyline({
		      path: pts,
		      strokeColor: "#B5E106",
		      strokeOpacity: 0.8,
		      strokeWeight: 5,
		      map: map,
		      clickable:false
		    });
		forPasPolys[i] = tripLine;

		var mFrom = new google.maps.Marker({
			      position: pts[0], 
			      map: map,
			      draggable: false,
			      icon: imageForPas,
			      visible: true
			});
			
		var mTo = new google.maps.Marker({
			      position: pts[pts.length-1], 
			      map: map,
			      draggable: false,
			      icon: imageForPas,
			      visible: true
		});
		forPasMarker[i] = new Array(mFrom,mTo);

        var infoNow = tripInfoForPas[i];
		var infoWinFrom = new google.maps.InfoWindow({
			content: infoNow[0]
		});

        var infoWinTo = new google.maps.InfoWindow({
			content:infoNow[1]
		});
		
		forPasInfoWindow.push(infoWinFrom);
        forPasInfoWindow.push(infoWinTo);
		
		google.maps.event.addListener(mFrom, 'click', function() {
			close_infowindows();
			infoWinFrom.open(map, mFrom);
		});
        google.maps.event.addListener(mFrom, 'mouseover', function() {
			close_infowindows();
			infoWinFrom.open(map, mFrom);
		});
		
		google.maps.event.addListener(mTo, 'click', function() {
			close_infowindows();
			infoWinTo.open(map, mTo);
		});
            google.maps.event.addListener(mTo, 'mouseover', function() {
			close_infowindows();
			infoWinTo.open(map, mTo);
		});

		})();
		
	}
	
	for(var i=0; i<tripArrayForDrv.length; i++){
		
		(function () {
		var pts = tripArrayForDrv[i];

		var tripLine = new google.maps.Polyline({
		      path: pts,
		      strokeColor: "#777FFC",
		      strokeOpacity: 0.8,
		      strokeWeight: 5,
		      map: map,
		      clickable:false
		    });
		forDrvPolys[i] = tripLine;
		
		var mFrom = new google.maps.Marker({
		      position: pts[0], 
		      map: map,
		      draggable: false,
		      icon: imageForDrv,
		      visible: true
		});

		var mTo = new google.maps.Marker({
			      position: pts[pts.length-1], 
			      map: map,
			      draggable: false,
			      icon: imageForDrv,
			      visible: true
		});
		forDrvMarker[i] = new Array(mFrom,mTo);

        var infoNow = tripInfoForDrv[i];
		var infoWinFrom = new google.maps.InfoWindow({
			content: infoNow[0]
		});

        var infoWinTo = new google.maps.InfoWindow({
			content:infoNow[1]
		});
        

		forDrvInfoWindow.push(infoWinFrom);
        forDrvInfoWindow.push(infoWinTo);

		google.maps.event.addListener(mFrom, 'click', function() {
			close_infowindows();
			infoWinFrom.open(map, mFrom);
		});
        google.maps.event.addListener(mFrom, 'mouseover', function() {
			close_infowindows();
			infoWinFrom.open(map, mFrom);
		});

		google.maps.event.addListener(mTo, 'click', function() {
			close_infowindows();
			infoWinTo.open(map, mTo);
		});
        google.maps.event.addListener(mTo, 'mouseover', function() {
			close_infowindows();
			infoWinTo.open(map, mTo);
		});
		
		})();

	}
	
	
	markerFrom = new google.maps.Marker({
	      position: new google.maps.LatLng(y1, x1),
	      map: map,
	      draggable: false,
	      icon: imageFrom,
	      visible: false
	});

	markerTo = new google.maps.Marker({
	      position: new google.maps.LatLng(y2, x2),
	      map: map,
	      draggable: false,
	      icon: imageTo,
	      visible: false
	});
	
	removeForPas = function(){
	
		for(var i=0; i<forPasPolys.length; i++){
			var trip = forPasPolys[i];
			trip.setMap();
			var mark = forPasMarker[i];
			var m1 = mark[0];
			var m2 = mark[1];
			m1.setVisible(false);
			m2.setVisible(false);
		}
	}
	
	removeForDrv = function(){

		for(var i=0; i<forDrvPolys.length; i++){
			var trip = forDrvPolys[i];
			trip.setMap();
			var mark = forDrvMarker[i];
			var m1 = mark[0];
			var m2 = mark[1];
			m1.setVisible(false);
			m2.setVisible(false);
		}
	}
	
	showForDrv = function(){
	
		for(var i=0; i<forDrvPolys.length; i++){
			var trip = forDrvPolys[i];
			trip.setMap(map);
			var mark = forDrvMarker[i];
			var m1 = mark[0];
			var m2 = mark[1];
			m1.setVisible(true);
			m2.setVisible(true);
		}
	}
	
	showForPas = function(){
		
		for(var i=0; i<forPasPolys.length; i++){
			var trip = forPasPolys[i];
			trip.setMap(map);
			var mark = forPasMarker[i];
			var m1 = mark[0];
			var m2 = mark[1];
			m1.setVisible(true);
			m2.setVisible(true);
		}
	}

	if(x1==x2 && y1==y2){
		map.setZoom(11);
		map.setCenter(new google.maps.LatLng(y1, x1));
	}else{
		markerFrom.setVisible(true);
		markerTo.setVisible(true);
        markerFrom.setZIndex(0);
        markerTo.setZIndex(0);
		calcGoogleRoute(markerFrom.getPosition(),markerTo.getPosition());
	}
	if(print == true ){
		window.setTimeout("window.print()", 6000);
	}
	markerFrom.setZIndex(0);
    markerTo.setZIndex(0);
}

function close_infowindows(){

	for(var i=0;i<forPasInfoWindow.length;i++){
		var iwin = forPasInfoWindow[i];
		iwin.close();
	}
	for(var i=0;i<forDrvInfoWindow.length;i++){
		var iwin = forDrvInfoWindow[i];
		iwin.close();
	}
}

function changeAutoCheck(){

	var checkbox = document.getElementById('AUTOCHECK');
	checkbox.disabled = 'disabled';
	
	var setAuto = "0";
	if(checkbox.checked) setAuto = 1;
	
	observer = new WGGObserver();
		
	//Ergebnis der Reverse Geokodierung
	observer.update = function() {

		if( arguments.length > 0 ) {

			var xmlDoc = arguments[0];
			if(xmlDoc==null) return;
			if( typeof xmlDoc.getElementsByTagName == 'undefined' ) return;

			try {
				//-- root element (items)
				var checkNode = xmlDoc.getElementsByTagName("CHECK")[0];
				var result = checkNode.firstChild.nodeValue;
				
				if(result == "OK"){
				
					window.location='meinbereich.php5?PHPSESSID=' + sessid + '&MSG=1';
				}else{
					window.location='meinbereich.php5?PHPSESSID=' + sessid + '&MSG=2';
				}

			} catch(e) {
				
			}
		}
	}

	ajaxLoader = new WGGAjaxLoader();
	ajaxLoader.initialize();
	ajaxLoader.addObserver( observer );
	ajaxLoader.sendRequest( WGGHtmlUtils.buildURLFromCurrentPath('functions/changeAutoCheck.php5?PHPSESSID=' + sessid + '&autocheck=' + setAuto) );
}
