

//<![CDATA[

var basepath = null;
var map = null;
var currentMarkerID = 1;
var dataM = [];
var dataC = 0;

function getIcon(name) {
	var icon = new GIcon();
	icon.image = basepath + '/' + name + '.png';
	icon.shadow = basepath + '/' + name + '_s.png';
	icon.shadowSize = new GSize(59,32);
	icon.iconSize = new GSize(32,32);
	icon.iconAnchor = new GPoint(16,16);
	icon.infoWindowAnchor = new GPoint(32,0);

	return icon;
}

/*
function onLoad(bpath) {
	basepath = bpath;
	var mapObj = document.getElementById("map");
	if (mapObj != "undefined" && mapObj != null) {
		/*DISABLED 
		//map = new GMap2(document.getElementById("map"));
		//map.setCenter(new GLatLng(51.3, 12.3), 6, G_NORMAL_MAP);
		//map.addControl(new GLargeMapControl());
		//map.addControl(new GMapTypeControl());
		//map.addControl(new GScaleControl());
		//map.addControl(new GOverviewMapControl());
		//map.enableDoubleClickZoom();
		//map.enableContinuousZoom();
  	getMarkers();
	}
}
*/

function getMarkers() {
	if (arguments[0] && parseInt(arguments[0]) != currentMarkerID) currentMarkerID = parseInt(arguments[0]);
	//var dataURL = basepath + '/dataxml_' + currentMarkerID + '.htm';
	var dataURL = 'http://www.trenkwalder.com/_js/jobmobil.php';
	dataM = [];
	dataC = 0;
	//DISABLED map.clearOverlays();
	GDownloadUrl(dataURL, function(data, responseCode) { eval(data); window.setTimeout("addMarker()", 100); } );
}

function addMarker() {
	
	if (typeof(dataM[dataC]) == 'undefined') return;
	
	var lcStatus = (parseInt(dataM[dataC]['status']) == 0 || parseInt(dataM[dataC]['status']) == 2?'*':'');
	
	var point = new GLatLng(dataM[dataC]['lat'],dataM[dataC]['lon']);
	var icon = getIcon(dataM[dataC]['icon']);
	var marker = new GMarker(point, {'icon': icon } );
	var html = lcStatus + dataM[dataC]['description'];
	GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
	//DISABLED map.addOverlay(marker);

	// Standorttabelle
	var loTBody = document.getElementById('tblstandorte');
	var loTr = loTBody.insertRow(loTBody.rows.length);
	loTr.onclick = function() {window.scrollTo(0, 100); marker.openInfoWindowHtml(html); };
	//loTr.onmouseover = function() { this.style.backgroundColor = '#EEEEEE' };
	//loTr.onmouseout = function() { this.style.backgroundColor = '#FFFFFF' };
	loTr.className = (dataC % 2 == 0?'grey':'white');
	//loTr.style.cursor = 'pointer';
	
	var loTd = document.createElement('td');
	loTd.appendChild(document.createTextNode(lcStatus + dataM[dataC]['datum']));
	loTr.appendChild(loTd);
	
	var loTd = document.createElement('td');
	loTd.appendChild(document.createTextNode(dataM[dataC]['zeit']));
	loTr.appendChild(loTd);
	
	var loTd = document.createElement('td');
	loTd.appendChild(document.createTextNode(dataM[dataC]['plz']));
	loTr.appendChild(loTd);
	
	var loTd = document.createElement('td');
	/*
	var loA  = document.createElement('a');
	loA.setAttribute('href','javascript:void(0);');
	loA.appendChild(document.createTextNode(dataM[dataC]['ort']));
	loTd.appendChild(loA);
	*/
	loTd.appendChild(document.createTextNode(dataM[dataC]['ort']));
	loTr.appendChild(loTd);
	
	var loTd = document.createElement('td');
	loTd.appendChild(document.createTextNode(dataM[dataC]['standplatz']));
	loTr.appendChild(loTd);
	
	dataC++;
	if (dataC >= dataM.length) return;
	window.setTimeout("addMarker()", 50);
}

function getRouteLinks(idx) {
	return '<div>'+location_map_route+': <a href="javascript:void(0);" onClick="javascript:route(\'to\','+idx+');">'+location_map_to+'<\/a> - <a href="javascript:void(0);" onClick="javascript:route(\'from\','+idx+')">'+location_map_from+'<\/a><\/div>';
}
    
function route(direction,idx) {
	var form,saddr,daddr,desc;
	switch (direction) {
		case 'to':
			desc=location_map_start+':';
			saddr='<input type="text" name="saddr" value="" />';
			//'+points[idx].y+','+ points[idx].x+'
			daddr='<input type="hidden" name="daddr" value="'+addresses[idx]+'" />';
		break;
		case 'from':
			desc=location_map_target+':';
			saddr='<input type="hidden" name="saddr" value="'+addresses[idx]+'" />';
			daddr='<input type="text" name="daddr" value="" />';
		break;
	}
	form =infos[idx];
	form+='<b>'+desc+'<\/b><br />';
  form+='<form action="http://maps.google.com/maps" method="get" target="_blank" style="display:inline;">';
  form+=saddr;
  form+=daddr;
  form+='<input value="GO" type="submit" />';
  form+='<\/form>';
	markers[idx].openInfoWindowHtml(form);
}

var map = null;
//var geocoder = null;
var infos=[];
var addresses=[];
var markers=[];
var points=[];
var cur_address=null;

function showAddress(idx,title,desc) {
	scroll(0,0);
	if (cur_address!=idx) {
		cc('map_canvas','visible');
		cur_address=idx;
	}
	var address=pool[idx];
  var icon = new GIcon();
  icon.image = "/_img/gmap/marker.png";
  icon.shadow = "/_img/gmap/marker_s.png";
  icon.iconSize = new GSize(20, 34);
  icon.shadowSize = new GSize(37, 34);
  icon.iconAnchor = new GPoint(20, 28);
  icon.infoWindowAnchor = new GPoint(15, 1);
  var geocoder = new GClientGeocoder();
  geocoder.getLatLng(
    address,
    function(point) {
      if (!point) {
        alert(address + " not found");
      } else {
        map.setCenter(point,15);
        var marker = new GMarker(point,icon);
				addresses[idx]=address;
				markers[idx]=marker;
				points[idx]=point;
				
        map.addOverlay(marker);
				var info='<b>'+title+'<\/b><br />';
        info+=desc?desc:address;
        info+=getRouteLinks(idx);
				infos[idx]=info;
        marker.openInfoWindowHtml(info);
        GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(info);});
      }
    }
  );
}

function GMload() {
  if (GBrowserIsCompatible()) {
    map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
		/*
		IE needs to get the lat ang lng values first, 
		otherwise direct functions calls to 'showAddress' by a-links will not work.
		if (pool.length>0) {
			for (var i=0;i<pool.length;i++) {
				geocoder.getLatLng(pool[i],function(){});
			}
		}
		*/
  }
}


//]]>
