var liveSearchReq = false;
var t = null;
var t_sale = null;
var t_poi = null;
var t_writetable = null;
var liveSearchLast = "";
var bMove = false;
var sSubmit = false;
var plott_run = false;
var plott_sale_run = false;

function liveSearchStart(getData) {
	if (document.forms.searchform.strasse.value=='' && document.forms.searchform.ort.value=='' && document.forms.searchform.plz.value==''){
		tmp=true;
	}else{
		tmp=getData;
	}

	fireQueries();
		
	if (t) {
		window.clearTimeout(t);
	}
	t = window.setTimeout("liveSearchDoSearch("+tmp+")", 3000);
}

function liveSearchDoSearch(getData) {
	if (typeof liveSearchRoot == "undefined") {
		liveSearchRoot = "/mymaps24";
		liveSearchRoot = "";
	}
	if (typeof liveSearchRootSubDir == "undefined") {
		liveSearchRootSubDir = "";
	}
	if (typeof liveSearchParams == "undefined") {
		liveSearchParams2 = "";
	} else {
		liveSearchParams2 = "&" + liveSearchParams;
	}

	if (liveSearchReq && liveSearchReq.readyState < 4) {
		liveSearchReq.abort();
	}

	sSubmit = false;

	loadDataDiv(getData);

	var sSearch = "";
	if (getData){
		sSearch += "&sType=data";
		sSearch += "&mType="+document.forms.searchform.mType.value+"";
		sSearch += "&latitude="+map.getCenter().lat()+"";
		sSearch += "&longitude="+map.getCenter().lng()+"";
		if (document.forms.searchform.mType.value==0 || document.forms.searchform.mType.value==1){
			if (document.forms.searchform.mo.checked || document.forms.searchform.so.checked) {
				if (document.forms.searchform.mo.checked) {
					sSearch += "&mo=t";
				}
				if (document.forms.searchform.so.checked) {
					sSearch += "&so=t";
				}
				if (document.forms.searchform.ms0.checked) sSearch += "&ms0=t";
				if (document.forms.searchform.ms1.checked) sSearch += "&ms1=t";
				if (document.forms.searchform.ms2.checked) sSearch += "&ms2=t";
				if (document.forms.searchform.ms3.checked) sSearch += "&ms3=t";
				if (document.forms.searchform.ms4.checked) sSearch += "&ms4=t";
				if (document.forms.searchform.ms5.checked) sSearch += "&ms5=t";
				if (document.forms.searchform.ms6.checked) sSearch += "&ms6=t";
				if (document.forms.searchform.ms7.checked) sSearch += "&ms7=t";
				if (document.forms.searchform.ms8.checked) sSearch += "&ms8=t";
				sSearch += "&ms_rx="+document.forms.searchform.ms_rx.value+"";
				sSearch += "&ms_ry="+document.forms.searchform.ms_ry.value+"";
				sSearch += "&ms_mx="+document.forms.searchform.ms_mx.value+"";
				sSearch += "&ms_my="+document.forms.searchform.ms_my.value+"";
				sSearch += "&ms_cx="+document.forms.searchform.ms_cx.value+"";
				sSearch += "&ms_cy="+document.forms.searchform.ms_cy.value+"";
				sSearch += "&ms_sx="+document.forms.searchform.ms_sx.value+"";
				sSearch += "&ms_sy="+document.forms.searchform.ms_sy.value+""
			}
			if (document.forms.searchform.poi01.checked) sSearch += "&poi01=1";
			if (document.forms.searchform.poi02.checked) sSearch += "&poi02=1";
			if (document.forms.searchform.poi03.checked) sSearch += "&poi03=1";
			if (document.forms.searchform.poi04.checked) sSearch += "&poi04=1";
			if (document.forms.searchform.poi05.checked) sSearch += "&poi05=1";
			if (document.forms.searchform.poi06.checked) sSearch += "&poi06=1";
			if (document.forms.searchform.poi07.checked) sSearch += "&poi07=1";
			if (document.forms.searchform.poi08.checked) sSearch += "&poi08=1";
			if (document.forms.searchform.poi09.checked) sSearch += "&poi09=1";
			if (document.forms.searchform.poi10.checked) sSearch += "&poi10=1";
		}
	}else{
		sSearch += "&sType=center";
		sSearch += "&strasse="+document.forms.searchform.strasse.value+"";
		sSearch += "&ort="+document.forms.searchform.ort.value+"";
		sSearch += "&plz="+document.forms.searchform.plz.value+"";
	}
	var liveSearchReq = GXmlHttp.create();
	liveSearchReq.open("GET", liveSearchRoot + "/livesearch.php?" + sSearch + liveSearchParams2,true);
	liveSearchReq.onreadystatechange = function() {
							if (liveSearchReq.readyState == 4) {
								if (liveSearchReq.status == 200) {
									showMarker(liveSearchReq.responseXML);
								}
							}
							delete liveSearchReq;
							};
	liveSearchReq.send(null);
	sSearch = null;
	oldCenter = map.getCenter();

}

function loadDataDiv(getData){
	var  sh = document.getElementById("rPanel");
	if (getData) text = 'Daten werden geladen.';
	else text = 'Karte wird zentriert.';
	sh.innerHTML = '<img src="images/loading.gif" border=0>&nbsp;'+text;
}

function showMarker(response){
	
	var xmlSettings = response.documentElement.getElementsByTagName("settings");
	var mType = xmlSettings[0].getAttribute("mType");
	var sType = xmlSettings[0].getAttribute("sType");
	if (sType=='error'){
		document.getElementById("rPanel").innerHTML = "Zu Ihren Angaben konnte leider nichts gefunden werden";
		return 'Zu Ihren Angaben konnte leider nichts gefunden werden';
	}else if(sType=='center'){
		var xmlCenter = response.documentElement.getElementsByTagName("center");
		if (xmlCenter.length==1) {
			bMove=false;
			map.setCenter(new GLatLng(xmlCenter[0].getAttribute("lat"),xmlCenter[0].getAttribute("lng")),parseInt(xmlCenter[0].getAttribute("zoom")));
			if (bMove==false) liveSearchStart(true);

			return '';
		}else{
			return 'Fehler beim Ermitteln der Koordinaten!';
		}
	}else if(sType=='data'){
		var maptyp = parseInt(mType);
		map.clearOverlays();
		/*
		for (var row in gmarkers) {
			map.removeTLabel(gmarkers[row]);
		}*/
		gmarkers = new Array();
		gdata = new Array();
		gmarkers_sale = new Array();
		gdata_sale = new Array();
		gmarkers_poi = new Array();
		gdata_poi = new Array();
		getData(maptyp, response.documentElement.getElementsByTagName("marker"));
		getSaleData(maptyp, response.documentElement.getElementsByTagName("sale"));
		getPOIData(maptyp, response.documentElement.getElementsByTagName("poi"));
		
		t_writetable = window.setTimeout("writeTable("+maptyp+")", 500);
	}
}

function getData(maptyp,recordset) {
	switch (maptyp){
	case 0:
		for (var i=0;i<recordset.length;i++) {
			//var j = recordset[i].getAttribute("id");
			var j = i;
			gdata[j] = new Array();
			if (!recordset[i].getAttribute("outputmsg")) {
				gdata[j]['id'] = recordset[i].getAttribute("id");
				gdata[j]['maptyp'] = maptyp;
				gdata[j]['zimmer'] = recordset[i].getAttribute("zimmer");
				gdata[j]['flaeche'] = recordset[i].getAttribute("flaeche");
				gdata[j]['kaltmiete'] = recordset[i].getAttribute("kaltmiete");
				gdata[j]['strasse'] = recordset[i].getAttribute("strasse");
				gdata[j]['hausnr'] = recordset[i].getAttribute("hausnr");
				gdata[j]['plz'] = recordset[i].getAttribute("plz");
				gdata[j]['ort'] = recordset[i].getAttribute("ort");
				gdata[j]['lat'] = recordset[i].getAttribute("lat");
				gdata[j]['lng'] = recordset[i].getAttribute("lng");
				gdata[j]['dist'] = recordset[i].getAttribute("dist");
				gdata[j]['heading'] = recordset[i].getAttribute("heading");
				gdata[j]['immotyp'] = recordset[i].getAttribute("immotyp");
				gdata[j]['link'] = recordset[i].getAttribute("link");
				gdata[j]['image'] = recordset[i].getAttribute("image");
			} else {
				gdata[j]['outputmsg'] = recordset[i].getAttribute("outputmsg");
			}
		}
		break;
	case 1:
		for (var i=0;i<recordset.length;i++) {
			//var j = recordset[i].getAttribute("id");
			var j = i;
			gdata[j] = new Array();
			if (!recordset[i].getAttribute("outputmsg")) {
				gdata[j]['id'] = recordset[i].getAttribute("id");
				gdata[j]['maptyp'] = maptyp;
				gdata[j]['lat'] = recordset[i].getAttribute("lat");
				gdata[j]['lng'] = recordset[i].getAttribute("lng");
				gdata[j]['plz'] = recordset[i].getAttribute("plz");
				gdata[j]['sum'] = recordset[i].getAttribute("sum");
				gdata[j]['immotyp'] = recordset[i].getAttribute("immotyp");
			} else {
				gdata[j]['outputmsg'] = recordset[i].getAttribute("outputmsg");
			}
		}
		break;
	}

	var  sh = document.getElementById("rPanel");
	sh.innerHTML = '<img src="images/loading.gif" border=0>&nbsp; Hotspots werden gesetzt';

	t = window.setTimeout("plott("+maptyp+")", 100);
}

function plott(maptyp){
	if (t) clearTimeout(t);

	var bounds = new GLatLngBounds();
	for (var row in gdata) {
		
		switch (maptyp){
		case 1:
			/*
			var tt='';
			switch(parseInt(gdata[row]['immotyp'])){
			case 0:
				tt = 'Wohnung';
				break;
			case 1:
				tt = 'Haus';
				break;
			case 4:
				tt = 'Mï¿½belierte';
				break;
			case 7:
				tt = 'Bï¿½ro';
				break;
			case 8:
				tt = 'Geschï¿½ftsraum';
				break;
			case 10:
				tt = 'Lager/Halle';
				break;
			}
			var content = '<div class="box fontS" style="padding:3px;width:120px">';
			content += '<b>'+tt+'</b><br><br>';
			content += '<b>PLZ:</b> '+gdata[row]['plz']+'<br>';
			content += '<b>Preis/m:</b> '+gdata[row]['sum'].replace(/\./g,",") +' &euro;<br><br>';
			content += '</div>';

			var label = new TLabel();
			label.id = row;
			label.anchorLatLng = new GLatLng (gdata[row]['lat'],gdata[row]['lng']);
			label.anchorPoint = 'center';
			label.content = content;
			label.percentOpacity = 0;

			map.addTLabel(label);
			gmarkers[row] = label;
			break;*/
		case 0:
			if (gdata[row]['lat'] && gdata[row]['lat'] != null && gdata[row]['lng'] && gdata[row]['lng'] != null && gdata[row]['immotyp'] &&  gdata[row]['immotyp'] != null) {
				gmarkers[row] = createMarker(new 	GLatLng(gdata[row]['lat'],gdata[row]['lng']),row,gdata[row]['immotyp']);
				map.addOverlay(gmarkers[row]);
			}
			break;
		}
		bounds.extend(new GLatLng(gdata[row]['lat'],gdata[row]['lng']));
	}
	maxZoomOut = map.getBoundsZoomLevel(bounds);

	var  sh = document.getElementById("rPanel");
	sh.innerHTML = '<img src="images/loading.gif" border=0>&nbsp; Auflistung wird geschrieben';

	plott_run = true;
}

function getSaleData(maptyp,recordset_sale) {
	switch (maptyp){
	case 0:
		for (var i=0;i<recordset_sale.length;i++) {
			//var j = recordset[i].getAttribute("id");
			var j = i;
			gdata_sale[j] = new Array();
			if (!recordset_sale[i].getAttribute("outputmsg")) {
				gdata_sale[j]['id'] = recordset_sale[i].getAttribute("id");
				gdata_sale[j]['maptyp'] = maptyp;
				gdata_sale[j]['zimmer'] = recordset_sale[i].getAttribute("zimmer");
				gdata_sale[j]['flaeche'] = recordset_sale[i].getAttribute("flaeche");
				gdata_sale[j]['kaufpreis'] = recordset_sale[i].getAttribute("kaufpreis");
				gdata_sale[j]['strasse'] = recordset_sale[i].getAttribute("strasse");
				gdata_sale[j]['hausnr'] = recordset_sale[i].getAttribute("hausnr");
				gdata_sale[j]['plz'] = recordset_sale[i].getAttribute("plz");
				gdata_sale[j]['ort'] = recordset_sale[i].getAttribute("ort");
				gdata_sale[j]['lat'] = recordset_sale[i].getAttribute("lat");
				gdata_sale[j]['lng'] = recordset_sale[i].getAttribute("lng");
				gdata_sale[j]['dist'] = recordset_sale[i].getAttribute("dist");
				gdata_sale[j]['heading'] = recordset_sale[i].getAttribute("heading");
				gdata_sale[j]['immotyp'] = recordset_sale[i].getAttribute("immotyp");
				gdata_sale[j]['link'] = recordset_sale[i].getAttribute("link");
				gdata_sale[j]['image'] = recordset_sale[i].getAttribute("image");
			} else {
				gdata_sale[j]['outputmsg'] = recordset_sale[i].getAttribute("outputmsg")
			}
		}
		break;
	case 1:
		for (var i=0;i<recordset_sale.length;i++) {
			//var j = recordset[i].getAttribute("id");
			var j = i;
			gdata_sale[j] = new Array();
			if (!recordset_sale[i].getAttribute("outputmsg")) {
				gdata_sale[j]['id'] = recordset_sale[i].getAttribute("id");
				gdata_sale[j]['maptyp'] = maptyp;
				gdata_sale[j]['lat'] = recordset_sale[i].getAttribute("lat");
				gdata_sale[j]['lng'] = recordset_sale[i].getAttribute("lng");
				gdata_sale[j]['plz'] = recordset_sale[i].getAttribute("plz");
				gdata_sale[j]['sum'] = recordset_sale[i].getAttribute("sum");
				gdata_sale[j]['immotyp'] = recordset_sale[i].getAttribute("immotyp");
			} else {
				gdata_sale[j]['outputmsg'] = recordset_sale[i].getAttribute("outputmsg")
			}
		}	
		break;
	}

	var  sh = document.getElementById("rPanel");
	sh.innerHTML = '<img src="images/loading.gif" border=0>&nbsp; Hotspots werden gesetzt';

	t_sale = window.setTimeout("plott_sale("+maptyp+")", 200);
}

function plott_sale(maptyp){
	if (t_sale) clearTimeout(t_sale);

	var bounds = new GLatLngBounds();
	for (var row in gdata_sale) {
		
		switch (maptyp){
		case 1:
			/*
			var tt='';
			switch(parseInt(gdata[row]['immotyp'])){
			case 0:
				tt = 'Wohnung';
				break;
			case 1:
				tt = 'Haus';
				break;
			case 4:
				tt = 'Mï¿½belierte';
				break;
			case 7:
				tt = 'Bï¿½ro';
				break;
			case 8:
				tt = 'Geschï¿½ftsraum';
				break;
			case 10:
				tt = 'Lager/Halle';
				break;
			}
			var content = '<div class="box fontS" style="padding:3px;width:120px">';
			content += '<b>'+tt+'</b><br><br>';
			content += '<b>PLZ:</b> '+gdata[row]['plz']+'<br>';
			content += '<b>Preis/m:</b> '+gdata[row]['sum'].replace(/\./g,",") +' &euro;<br><br>';
			content += '</div>';

			var label = new TLabel();
			label.id = row;
			label.anchorLatLng = new GLatLng (gdata[row]['lat'],gdata[row]['lng']);
			label.anchorPoint = 'center';
			label.content = content;
			label.percentOpacity = 0;

			map.addTLabel(label);
			gmarkers[row] = label;
			break;*/
		case 0:
			if (gdata_sale[row]['lat'] && gdata_sale[row]['lat'] != null && gdata_sale[row]['lng'] && gdata_sale[row]['lng'] != null && gdata_sale[row]['immotyp'] && gdata_sale[row]['immotyp'] != null) {
				gmarkers_sale[row] = createMarkerSale(new GLatLng(gdata_sale[row]['lat'],gdata_sale[row]['lng']),row,gdata_sale[row]['immotyp']);
				map.addOverlay(gmarkers_sale[row]);
			}
			break;
		}
		bounds.extend(new GLatLng(gdata_sale[row]['lat'],gdata_sale[row]['lng']));
	}
	maxZoomOut = map.getBoundsZoomLevel(bounds);

	var  sh = document.getElementById("rPanel");
	sh.innerHTML = '<img src="images/loading.gif" border=0>&nbsp; Auflistung wird geschrieben';

	plott_sale_run = true;
}

function getPOIData(maptyp,recordset_poi) {
	switch (maptyp){
	case 0:
		for (var i=0;i<recordset_poi.length;i++) {
			//var j = recordset[i].getAttribute("id");
			var j = i;
			gdata_poi[j] = new Array();
			gdata_poi[j]['id'] = recordset_poi[i].getAttribute("id");
			gdata_poi[j]['maptyp'] = maptyp;
			gdata_poi[j]['title'] = recordset_poi[i].getAttribute("title");
			gdata_poi[j]['url'] = recordset_poi[i].getAttribute("url");
			gdata_poi[j]['lat'] = recordset_poi[i].getAttribute("lat");
			gdata_poi[j]['lng'] = recordset_poi[i].getAttribute("lng");
			gdata_poi[j]['streetaddress'] = recordset_poi[i].getAttribute("streetaddress");
			gdata_poi[j]['city'] = recordset_poi[i].getAttribute("city");
			gdata_poi[j]['region'] = recordset_poi[i].getAttribute("region");
			gdata_poi[j]['country'] = recordset_poi[i].getAttribute("country");
			gdata_poi[j]['phonemain'] = recordset_poi[i].getAttribute("phonemain");
			gdata_poi[j]['phonefax'] = recordset_poi[i].getAttribute("phonefax");
			gdata_poi[j]['phonemobile'] = recordset_poi[i].getAttribute("phonemobile");
			gdata_poi[j]['phonedata'] = recordset_poi[i].getAttribute("phonedata");
			gdata_poi[j]['ddurl'] = recordset_poi[i].getAttribute("ddurl");
			gdata_poi[j]['ddurltohere'] = recordset_poi[i].getAttribute("ddurltohere");
			gdata_poi[j]['ddurlfromhere'] = recordset_poi[i].getAttribute("ddurlfromhere");
			gdata_poi[j]['poi_id'] = recordset_poi[i].getAttribute("poi_id");
		}
		break;
	case 1:
		for (var i=0;i<recordset_poi.length;i++) {
			//var j = recordset[i].getAttribute("id");
			var j = i;
			gdata_poi[j] = new Array();
			gdata_poi[j]['id'] = recordset_poi[i].getAttribute("id");
			gdata_poi[j]['maptyp'] = maptyp;
			gdata_poi[j]['lat'] = recordset_poi[i].getAttribute("lat");
			gdata_poi[j]['lng'] = recordset_poi[i].getAttribute("lng");
			gdata_poi[j]['streetaddress'] = recordset_poi[i].getAttribute("streetaddress");
			gdata_poi[j]['city'] = recordset_poi[i].getAttribute("city");
			gdata_poi[j]['poi_id'] = recordset_poi[i].getAttribute("poi_id");
		}
		break;
	}

	var  sh = document.getElementById("rPanel");
	sh.innerHTML = '<img src="images/loading.gif" border=0>&nbsp; Hotspots werden gesetzt';

	t_poi = window.setTimeout("plott_poi("+maptyp+")", 300);
}

function plott_poi(maptyp){
	if (t_poi) clearTimeout(t_poi);

	var bounds = new GLatLngBounds();
	for (var row in gdata_poi) {
		
		switch (maptyp){
		case 1:
			/*
			var tt='';
			switch(parseInt(gdata[row]['immotyp'])){
			case 0:
				tt = 'Wohnung';
				break;
			case 1:
				tt = 'Haus';
				break;
			case 4:
				tt = 'Mï¿½belierte';
				break;
			case 7:
				tt = 'Bï¿½ro';
				break;
			case 8:
				tt = 'Geschï¿½ftsraum';
				break;
			case 10:
				tt = 'Lager/Halle';
				break;
			}
			var content = '<div class="box fontS" style="padding:3px;width:120px">';
			content += '<b>'+tt+'</b><br><br>';
			content += '<b>PLZ:</b> '+gdata[row]['plz']+'<br>';
			content += '<b>Preis/m:</b> '+gdata[row]['sum'].replace(/\./g,",") +' &euro;<br><br>';
			content += '</div>';

			var label = new TLabel();
			label.id = row;
			label.anchorLatLng = new GLatLng (gdata[row]['lat'],gdata[row]['lng']);
			label.anchorPoint = 'center';
			label.content = content;
			label.percentOpacity = 0;

			map.addTLabel(label);
			gmarkers[row] = label;
			break;*/
		case 0:
			if (gdata_poi[row]['lat'] && gdata_poi[row]['lat'] != null && gdata_poi[row]['lng'] && gdata_poi[row]['lng'] != null && gdata_poi[row]['poi_id'] && gdata_poi[row]['poi_id'] != null) {
				gmarkers_poi[row] = createMarkerPOI(new GLatLng(gdata_poi[row]['lat'],gdata_poi[row]['lng']),row,gdata_poi[row]['poi_id']);
				map.addOverlay(gmarkers_poi[row]);
			}
			break;
		}
		bounds.extend(new GLatLng(gdata_poi[row]['lat'],gdata_poi[row]['lng']));
	}
	maxZoomOut = map.getBoundsZoomLevel(bounds);
}

function writeTable(maptyp){
	if (t_writetable) clearTimeout(t_writetable);
	var sTable = '<table class="sortable" id="listTbl" cellspacing=0>';

	switch (maptyp){
	case 0:
		if (plott_run) {
			if (gdata.length > 0) {
				sTable += '<tr><th></th><th>Entf.&nbsp;</th><th>Zimmer&nbsp;</th><th>Fl&auml;che&nbsp;</th><th>Kaltmiete&nbsp;</th><th>Addresse&nbsp;</th></tr>';
				var adc=1;
				for (var row in gdata) {
					var outputmsg = gdata[row]['outputmsg'];
					
					if (adc%2==0) bgcolor='bgcolor1';
					else bgcolor='bgcolor2';

					if (!outputmsg) {	
						var heading = gdata[row]['heading'];
		
						//if (heading.length>0) sTable += '<tr class="'+bgcolor+'"><td colspan="8">'+heading+'</td></tr>';
						sTable += '<tr class="'+bgcolor+'" style="white-space:nowrap;padding:3px;"><td><a href="javascript:showInfo('+row+');" title="'+heading+'"><img src="images/icon_s_'+0+'.gif" border="0"></a></td>';
						sTable += '<td>'+gdata[row]['dist'].replace(/\./g,",") + ' km&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+gdata[row]['zimmer'].replace(/\./g,",") + '</td>';
						sTable += '<td>'+gdata[row]['flaeche'].replace(/\./g,",") + ' qm</td>';
						sTable += '<td>'+gdata[row]['kaltmiete'].replace(/\./g,",") + ' &euro;</td>';
						sTable += '<td>'+gdata[row]['strasse']+' '+gdata[row]['hausnr']+'<br>'+gdata[row]['plz']+' '+gdata[row]['ort']+'</td><td width="100%">&nbsp;</td></tr>';
						/*
						if (adc==20){
							sTable += '<tr><td colspan=8 style="padding: 0px 0px 0px 25px;">';
							sTable += '<iframe src="adsense.html" width="234" height="60" name="adsense_box" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe>';
							sTable += '</td></tr>';
							adc=1;
						}else adc++;
						*/
					} else {
						sTable += '<tr class="'+bgcolor+'" style="white-space:nowrap;padding:3px;"><td colspan="7">'+outputmsg.replace(/\./g,",") + '</td></tr>';
					}
					adc++;
				}
			}
		}
		
		if (plott_sale_run) {
			if (gdata_sale.length) {
				sTable += '<tr><th></th><th>Entf.&nbsp;</th><th>Zimmer&nbsp;</th><th>Fl&auml;che&nbsp;</th><th>Kaufpreis&nbsp;</th><th>Addresse&nbsp;</th></tr>';
				var sfv=1;
				for (var row_sale in gdata_sale) {
					var outputmsg_sale = gdata_sale[row_sale]['outputmsg'];
				
					if (sfv%2==0) bgcolor='bgcolor1';
					else bgcolor='bgcolor2';
					
					if (!outputmsg_sale) {
						var heading = gdata_sale[row_sale]['heading'];
						
						//if (heading.length>0) sTable += '<tr class="'+bgcolor+'"><td colspan="8">'+heading+'</td></tr>';
						sTable += '<tr class="'+bgcolor+'" style="white-space:nowrap;padding:3px;"><td><a href="javascript:showInfoSale('+row_sale+');" title="'+heading+'"><img src="images/icon_s_'+0+'.gif" border="0"></a></td>';
						sTable += '<td>'+gdata_sale[row_sale]['dist'].replace(/\./g,",") + ' km&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+gdata_sale[row_sale]['zimmer'].replace(/\./g,",") + '</td>';
						sTable += '<td>'+gdata_sale[row_sale]['flaeche'].replace(/\./g,",") + ' qm</td>';
						sTable += '<td>'+gdata_sale[row_sale]['kaufpreis'].replace(/\./g,",") + ' &euro;</td>';
						sTable += '<td>'+gdata_sale[row_sale]['strasse']+' '+gdata_sale[row_sale]['hausnr']+'<br>'+gdata_sale[row_sale]['plz']+' '+gdata_sale[row_sale]['ort']+'</td><td width="100%">&nbsp;</td></tr>';
						/*
						if (sfv==20){
							sTable += '<tr><td colspan=8 style="padding: 0px 0px 0px 25px;">';
							sTable += '<iframe src="adsense.html" width="234" height="60" name="adsense_box" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe>';
							sTable += '</td></tr>';
							sfv=1;
						}else sfv++;
						*/
					} else {
						sTable += '<tr class="'+bgcolor+'" style="white-space:nowrap;padding:3px;"><td colspan="7">'+outputmsg_sale.replace(/\./g,",") + '</td></tr>';
					}
					sfv++;
				}
			}
		}
		break;
	case 1:
		if (plott_run) {
			if (gdata.length) {
				sTable += '<tr><th width="10%"></th><th width="30%"></th><th width="30%">PLZ</th><th width="30%">Preis/m</th></tr>';
				var adc=1;
				for (var row in gdata) {
					var outputmsg = gdata[row]['outputmsg'];
					
					if (adc%2==0) bgcolor='bgcolor1';
					else bgcolor='bgcolor2';

					if (!outputmsg) {	
						tt='';
						switch(parseInt(gdata[row]['immotyp'])){
						case 0:
							tt = 'Wohnung';
							break;
						case 1:
							tt = 'Haus';
							break;
						case 4:
							tt = 'Möbelierte';
							break;
						case 7:
							tt = 'Büro';
							break;
						case 8:
							tt = 'Geschäftsraum';
							break;
						case 10:
							tt = 'Lager/Halle';
							break;
						}
			
						sTable += '<tr class="'+bgcolor+'"><td><a href="javascript:showInfo('+row+');"><img src="images/icon_s_'+0+'.gif" border="0"></a>&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+tt+'&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+gdata[row]['plz']+'&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+gdata[row]['sum'].replace(/\./g,",") +' &euro;&nbsp;&nbsp;&nbsp;</td></tr>';
						/*
						if (adc==20){
							sTable += '<tr><td colspan=8 style="padding: 0px 0px 0px 25px;">';
							sTable += '<iframe src="adsense.html" width="234" height="60" name="adsense_box" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe>';
							sTable += '</td></tr>';
							adc=1;
						}else adc++;
						*/
					} else {
						sTable += '<tr class="'+bgcolor+'" style="white-space:nowrap;padding:3px;"><td colspan="4">'+outputmsg.replace(/\./g,",") + '</td></tr>';
					}
					adc++;
				}
			}
		}
		if (plott_sale_run) {
			if (gdata_sale.length) {
				sTable += '<tr><th width="10%"></th><th width="30%"></th><th width="30%">PLZ</th><th width="30%">Preis/m</th></tr>';
				var sfv=1;
				for (var row_sale in gdata_sale) {
					var outputmsg_sale = gdata_sale[row_sale]['outputmsg'];
					
					if (adc%2==0) bgcolor='bgcolor1';
					else bgcolor='bgcolor2';

					if (!outputmsg_sale) {	
						tt='';
						switch(parseInt(gdata_sale[row_sale]['immotyp'])){
						case 2:
							tt = 'Wohnung zum Kauf';
							break;
						case 3:
							tt = 'Haus zum Kauf';
							break;
						case 5:
							tt = 'Land- / Forstwirtschaftlich Fläche zum Kauf';
							break;
						case 7:
							tt = 'Büro zum Kauf';
							break;
						case 8:
							tt = 'Geschäftsraum zum Kauf';
							break;
						case 9:
							tt = 'Gast- / Hotelgewerbe zum Kauf';
							break;
						case 10:
							tt = 'Lager/Halle zum Kauf';
							break;
						case 12:
							tt = 'Sonstiges zum Kauf';
							break;
						}
			
						if (sfv%2==0) bgcolor='bgcolor1';
						else bgcolor='bgcolor2';
			
						sTable += '<tr class="'+bgcolor+'"><td><a href="javascript:showInfoSale('+row_sale+');"><img src="images/icon_s_'+0+'.gif" border="0"></a>&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+tt+'&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+gdata_sale[row_sale]['plz']+'&nbsp;&nbsp;&nbsp;</td>';
						sTable += '<td>'+gdata_sale[row_sale]['sum'].replace(/\./g,",") +' &euro;&nbsp;&nbsp;&nbsp;</td></tr>';
						/*
						if (adc==20){
							sTable += '<tr><td colspan=8 style="padding: 0px 0px 0px 25px;">';
							sTable += '<iframe src="adsense.html" width="234" height="60" name="adsense_box" scrolling="no" marginheight="0" marginwidth="0" frameborder="0"></iframe>';
							sTable += '</td></tr>';
							adc=1;
						}else adc++;
						*/
					} else {
						sTable += '<tr class="'+bgcolor+'" style="white-space:nowrap;padding:3px;"><td colspan="4">'+outputmsg_sale.replace(/\./g,",") + '</td></tr>';
					}
					sfv++;
				}
			}
		}
	}
	sTable += '</table>';

	var sh = document.getElementById("rPanel");
	sh.innerHTML = sTable;
	//sortables_init();
}

function getInfo(index){
	switch (gdata[index]['maptyp']){
	case 0:
		var tt='';
		switch(parseInt(gdata[index]['immotyp'])){
		case 0:
			tt = 'Wohnung zur Miete';
			break;
		case 1:
			tt = 'Haus zur Miete';
			break;
		case 4:
			tt = 'Möbelierte Wohnung zur Miete';
			break;
		case 7:
			tt = 'Büro zur Miete';
			break;
		case 8:
			tt = 'Geschäftsraum zur Miete';
			break;
		case 10:
			tt = 'Lager/Halle zur Miete';
			break;
		}
		var heading = gdata[index]['heading'];
		var link = gdata[index]['link'];

		if (gdata[index]['image'].length>0){
			preloadImg=new Image()
			preloadImg.src=gdata[index]['image'];
			breite='350px';
		}else{
			breite='250px';
		}

		var detail = '<table class="boxD fontS" width="'+breite+'"><tr><td>';
		detail += '<table><tr><td>';
		if (gdata[index]['image'].length>0){
			detail += '<img src="'+gdata[index]['image'].replace(/%3D/g,"=")+'" border="0" width=100>';
		}
		detail += '</td><td>';
		detail += tt+'<br>';
		detail += '<b>'+heading+'</b><br><br>';
		detail += ''+gdata[index]['zimmer'].replace(/\./g,",") + ' Zimmer, '+gdata[index]['flaeche'].replace(/\./g,",") + ' qm<br>'+gdata[index]['kaltmiete'].replace(/\./g,",") + ' &euro; Kaltmiete<br><br>'+gdata[index]['strasse']+' '+gdata[index]['hausnr']+'<br>'+gdata[index]['plz']+' '+gdata[index]['ort']+'<br>';
		detail += '<br>';
		detail += '<a href="javascript:zoom('+gdata[index]['lat']+','+gdata[index]['lng']+',15);">Zoom</a>';
		if (link.length>0) detail += '&nbsp;&nbsp;&nbsp;<a href="http://'+link+'" target="_blank">Link</a>';
		detail += '&nbsp;&nbsp;&nbsp;<a href="dPop.php?id='+gdata[index]['maptyp']+'_'+gdata[index]['id']+'" onclick="dPop(this.href);return false;" target="_blank">Details</a>';
		detail += '</td></tr></table>';
		detail += '</td></tr></table>';
		break;
	case 1:
		var tt='';
		switch(parseInt(gdata[index]['immotyp'])){
		case 0:
			tt = 'Wohnung';
			break;
		case 1:
			tt = 'Haus';
			break;
		case 4:
			tt = 'Möbelierte Wohnung';
			break;
		case 7:
			tt = 'Büro';
			break;
		case 8:
			tt = 'Geschäftsraum';
			break;
		case 10:
			tt = 'Lager/Halle';
			break;
		}
		var detail = '<div class="box fontS" style="padding:3px;width:250px;">';
		detail += '<b>'+tt+'</b><br><br>';
		detail += '<b>PLZ:</b> '+gdata[index]['plz']+'<br>';
		detail += '<b>Preis/m:</b> '+gdata[index]['sum'].replace(/\./g,",") +' &euro;<br><br>';
		detail += '</div>';
		break;
	}
	preloadImg='';
	return detail;
}

function getInfoSale(index){
	switch (gdata_sale[index]['maptyp']){
	case 0:
		var tt='';
		switch(parseInt(gdata_sale[index]['immotyp'])){
		case 2:
			tt = 'Wohnung zum Kauf';
			break;
		case 3:
			tt = 'Haus zum Kauf';
			break;
		case 5:
			tt = 'Land- / Forstwirtschaftlich Fläche zum Kauf';
			break;
		case 7:
			tt = 'Büro zum Kauf';
			break;
		case 8:
			tt = 'Geschäftsraum zum Kauf';
			break;
		case 9:
			tt = 'Gast- / Hotelgewerbe zum Kauf';
			break;
		case 10:
			tt = 'Lager/Halle zum Kauf';
			break;
		case 12:
			tt = 'Sonstiges zum Kauf';
			break;
		}
		var heading = gdata_sale[index]['heading'];
		var link = gdata_sale[index]['link'];

		if (gdata_sale[index]['image'].length>0){
			preloadImg=new Image()
			preloadImg.src=gdata_sale[index]['image'];
			breite='350px';
		}else{
			breite='250px';
		}

		var detail = '<table class="boxD fontS" width="'+breite+'"><tr><td>';
		detail += '<table><tr><td>';
		if (gdata_sale[index]['image'].length>0){
			detail += '<img src="'+gdata_sale[index]['image'].replace(/%3D/g,"=")+'" border="0" width=100>';
		}
		detail += '</td><td>';
		detail += tt+'<br>';
		detail += '<b>'+heading+'</b><br><br>';
		detail += ''+gdata_sale[index]['zimmer'].replace(/\./g,",") + ' Zimmer, '+gdata_sale[index]['flaeche'].replace(/\./g,",") + ' qm<br>'+gdata_sale[index]['kaufpreis'].replace(/\./g,",") + ' &euro; Kaufpreis<br><br>'+gdata_sale[index]['strasse']+' '+gdata_sale[index]['hausnr']+'<br>'+gdata_sale[index]['plz']+' '+gdata_sale[index]['ort']+'<br>';
		detail += '<br>';
		detail += '<a href="javascript:zoom('+gdata_sale[index]['lat']+','+gdata_sale[index]['lng']+',15);">Zoom</a>';
		if (link.length>0) detail += '&nbsp;&nbsp;&nbsp;<a href="http://'+link+'" target="_blank">Link</a>';
		detail += '&nbsp;&nbsp;&nbsp;<a href="dPop.php?id='+gdata_sale[index]['maptyp']+'_'+gdata_sale[index]['id']+'_K" onclick="dPop(this.href);return false;" target="_blank">Details</a>';
		detail += '</td></tr></table>';
		detail += '</td></tr></table>';
		break;
	case 1:
		var tt='';
		switch(parseInt(gdata_sale[index]['immotyp'])){
		case 2:
			tt = 'Wohnung zum Kauf';
			break;
		case 3:
			tt = 'Haus zum Kauf';
			break;
		case 5:
			tt = 'Land- / Forstwirtschaftlich Fläche zum Kauf';
			break;
		case 7:
			tt = 'Büro zum Kauf';
			break;
		case 8:
			tt = 'Geschäftsraum zum Kauf';
			break;
		case 9:
			tt = 'Gast- / Hotelgewerbe zum Kauf';
			break;
		case 10:
			tt = 'Lager/Halle zum Kauf';
			break;
		case 12:
			tt = 'Sonstiges zum Kauf';
			break;
		}
		var detail = '<div class="box fontS" style="padding:3px;width:250px;">';
		detail += '<b>'+tt+'</b><br><br>';
		detail += '<b>PLZ:</b> '+gdata_sale[index]['plz']+'<br>';
		detail += '<b>Preis/m:</b> '+gdata_sale[index]['sum'].replace(/\./g,",") +' &euro;<br><br>';
		detail += '</div>';
		break;
	}
	preloadImg='';
	return detail;
}

function getInfoPOI(index){
	switch (gdata_poi[index]['maptyp']){
	case 0:
		var tt='';
		switch(parseInt(gdata_poi[index]['poi_id'])){
		case 'poi01':
			tt = 'Restaurant';
			break;
		case 'poi02':
			tt = 'Schule';
			break;
		case 'poi03':
			tt = 'Parkhaus';
			break;
		case 'poi04':
			tt = 'Tankstelle';
			break;
		case 'poi05':
			tt = 'Mc Donalds';
			break;
		case 'poi06':
			tt = 'Kino';
			break;
		case 'poi07':
			tt = 'Krankenhaus';
			break;
		case 'poi08':
			tt = 'Kindergarten';
			break;
		case 'poi09':
			tt = 'Apotheke';
			break;	
		case 'poi10':
			tt = 'Burger King';
			break;
		}
		var title = gdata_poi[index]['title'];
		var url = convertEntities(gdata_poi[index]['url']);
		var ddurl = convertEntities(gdata_poi[index]['ddurl']);
		var ddurltohere = convertEntities(gdata_poi[index]['ddurltohere']);
		var ddurlfromhere = convertEntities(gdata_poi[index]['ddurlfromhere']);
		var breite='300px';
		var detail = '<table class="boxD fontS" width="'+breite+'"><tr><td>';
		detail += '<table><tr><td>';
		detail += tt+'<br>';
		detail += '<b>'+title+'</b><br><br>';
		detail += '<b>Straße: </b>'+gdata_poi[index]['streetaddress'] + '<br>' + '<b>Ort: </b>' + gdata_poi[index]['city'] + '<br>';
		detail += '<b>Telefon: </b>'+gdata_poi[index]['phonemain']+ '<br>';
		detail += '<a href="javascript:zoom('+gdata_poi[index]['lat']+','+gdata_poi[index]['lng']+',15);">Zoom</a>';
		if (url.length>0) detail += '&nbsp;&nbsp;&nbsp;<a href="'+url+'" target="_blank">Link</a>';
		if (ddurl.length>0) detail += '&nbsp;&nbsp;&nbsp;<a href="'+ddurl+'" target="_blank">Wegweiser</a>';
		if (ddurltohere.length>0) detail += '&nbsp;&nbsp;&nbsp;<a href="'+ddurltohere+'" target="_blank">Hierher</a>';
		if (ddurlfromhere.length>0) detail += '&nbsp;&nbsp;&nbsp;<a href="'+ddurlfromhere+'" target="_blank">Von hier</a>';
		detail += '</td></tr></table>';
		detail += '</td></tr></table>';
		break;
	case 1:
		var tt='';
		switch(parseInt(gdata_poi[index]['poi_id'])){
		case 'poi01':
			tt = 'Restaurant';
			break;
		case 'poi02':
			tt = 'Schule';
			break;
		case 'poi03':
			tt = 'Parkhaus';
			break;
		case 'poi04':
			tt = 'Tankstelle';
			break;
		case 'poi05':
			tt = 'Mc Donalds';
			break;
		case 'poi06':
			tt = 'Kino';
			break;
		case 'poi07':
			tt = 'Krankenhaus';
			break;
		case 'poi08':
			tt = 'Kindergarten';
			break;
		case 'poi09':
			tt = 'Apotheke';
			break;	
		case 'poi10':
			tt = 'Burger King';
			break;
		}
		var detail = '<div class="box fontS" style="padding:3px;width:250px;">';
		detail += '<b>'+tt+'</b><br><br>';
		detail += '<b>Straße:</b>' + gdata[index]['streetaddress'] + '<br><br>';
		detail += '<b>Ort:</b>' + gdata[index]['city'] + '<br>';
		detail += '</div>';
		break;
	}
	preloadImg='';
	return detail;
}

function convertEntities(url) {
	var tmp = url.replace(/&amp;/g, '&');
	tmp = tmp.replace(/&lt;/g, '<');
	tmp = tmp.replace(/&gt;/g, '>');
	tmp = tmp.replace(/&apos;/g, '\'');
	tmp = tmp.replace(/&quot;/g, '"');
	tmp = tmp.replace(/%3D/g, '=');
	return tmp;
}

function showOrte(){
	var stadt = new Array();

	stadt[1] = new Array();
	stadt[1]['icon'] = 'images/orte/hamburg.gif'; //Hamburg
	stadt[1]['lat'] = 53.5533;
	stadt[1]['lng'] = 9.9925;
	stadt[2] = new Array();
	stadt[2]['icon'] = 'images/orte/bremen.gif'; //Bremen
	stadt[2]['lat'] = 53.0752;
	stadt[2]['lng'] = 8.8046;
	stadt[3] = new Array();
	stadt[3]['icon'] = 'images/orte/berlin.gif'; //Berlin
	stadt[3]['lat'] = 52.5158;
	stadt[3]['lng'] = 13.3774;
	stadt[4] = new Array();
	stadt[4]['icon'] = 'images/orte/hannover.gif'; //Hannover
	stadt[4]['lat'] = 52.3688917060255;
	stadt[4]['lng'] = 9.722900390625;
	stadt[5] = new Array();
	stadt[5]['icon'] = 'images/orte/dortmund.gif'; //Dortmund
	stadt[5]['lat'] = 51.5166;
	stadt[5]['lng'] = 7.4582;
	stadt[6] = new Array();
	stadt[6]['icon'] = 'images/orte/koeln.gif'; //Köln
	stadt[6]['lat'] = 50.9416;
	stadt[6]['lng'] = 6.955;
	stadt[7] = new Array();
	stadt[7]['icon'] = 'images/orte/frankfurt.gif'; //Frankfurt
	stadt[7]['lat'] = 50.113423349955426;
	stadt[7]['lng'] = 8.68194580078125;
	stadt[8] = new Array();
	stadt[8]['icon'] = 'images/orte/stuttgart.gif'; //Stuttgart
	stadt[8]['lat'] = 48.7676;
	stadt[8]['lng'] = 9.1719;
	stadt[9] = new Array();
	stadt[9]['icon'] = 'images/orte/muenchen.gif'; //München
	stadt[9]['lat'] = 48.15;
	stadt[9]['lng'] = 11.5833;
	stadt[10] = new Array();
	stadt[10]['icon'] = 'images/orte/leipzig.gif'; //Leipzig
	stadt[10]['lat'] = 51.339191508712105;
	stadt[10]['lng'] = 12.368202209472656;
	stadt[11] = new Array();
	stadt[11]['icon'] = 'images/orte/dresden.gif'; //Dresden
	stadt[11]['lat'] = 51.05105294790002;
	stadt[11]['lng'] = 13.732738494873047;

	for (var index in stadt) {
		var icon = new GIcon();
		icon.image = stadt[index]['icon'];
		icon.iconSize = new GSize(55, 34);
		icon.iconAnchor = new GPoint(27, 17);
		gmarkers[index] = createMarkerS(new GLatLng(stadt[index]['lat'],stadt[index]['lng']),index,icon);
	  	map.addOverlay(gmarkers[index]);
	}
}