var geocoder = new GClientGeocoder();
// Create marker icon
var icon = new GIcon();
icon.image = "fileadmin/scripts/google_maps/home.png";
icon.iconSize = new GSize(25, 25);
icon.iconAnchor = new GPoint(3, -10);
icon.infoWindowAnchor = new GPoint(3, 3);

function inWinSize(img, text){
		var textlang=text*6;
		//var textlang=250;
		var imgfaktor=img.height/80;
		var imglang=img.width/imgfaktor;
		var inWin=Math.ceil(textlang+imglang);
		//alert("image: "+imglang+", text: "+text);
		return inWin;
}

function showAddress(inf) {
	//var adr=inf['str']+', '+inf['plz']+' '+inf['ort'];
	var adr=inf['str']+', '+inf['plz']+', Deutschland';
	var adr_plus_city=inf['str']+', '+inf['plz']+' '+inf['ort']+', Deutschland';
	var adr_show=inf['str']+', '+inf['plz']+' '+inf['ort'];
	if(inf['logo']!="leer"){
		var imglogo=new Image;
		/*imglogo.src="images/"+inf['logo'];*/
		imglogo.src=inf['logo'];
	}
	var info="";
	info+='<div id="inWin" class="infoWindow" style="width: '+inf['infowin_x']+'px; height: 100px">';
	info+="<div class='left' style='white-space:nowrap; width: 100px'><b>"+inf['company']+"</b><br />";
	if(inf['denotation']!="leer"){info+=inf['denotation']+"<br />";}
	info+=inf['str']+"<br />";
	info+=inf['plz']+" "+inf['ort']+"<br />";
	if(inf['tel']!="leer"){info+="Tel: "+inf['tel']+"<br />";}
	if(inf['fax']!="leer"){info+="Fax: "+inf['fax']+"<br />";}
	if(inf['email']!="leer"){
		m=inf['email'];
		mail="mailto:"+inf['email'];
		info+='<a href="'+mail+'">'+m+'</a><br />';
	}
	if(inf['website']!="leer"){
		u=inf['website'];
		url="http://"+u;
		info+='<a href="'+url+'" target="_blank">'+u+'</a>';
	}
	info+="</div>";
	if(inf['logo']!="leer"){
		i=inf['logo'];
		var img='<div class="right"><div style="height: 20px; width="'+inf['logo_x']+'px">&nbsp;</div><img name="logobild" src='+imglogo.src+' width="'+inf['logo_x']+'px" height="'+inf['logo_y']+'px" onerror="this.style.display=\'none\'" /></div>';
		info+=img;
	}
	info+='</div>';
	var anfahrt="<div>"+googleRoute(adr);+"</div>";
	var infoTabs = [	//tab width = 90 px			ä : &auml; : &#228; : E4 : 228 : Ã¤(utf-8)
		new GInfoWindowTab(" Händler ", info),
		new GInfoWindowTab(" Anfahrt ", anfahrt)				
	];
	geocoder.getLatLng(
		adr_plus_city,
		function(point) {
			if (!point) {
				
				geocoder.getLatLng(
				adr,
				function(point2) 
				{
					if (!point2) 
					{								
						var not=adr_show+" in GoogleMaps leider nicht gefunden";
						
						document.getElementById("mapD").style.background="#ffffff";
						document.getElementById("mapD").style.border="none";
						document.getElementById("mapD").innerHTML = adr2googleForm(adr, adr_show);
					} 
					else 
					{						
						map.setCenter(point2, 12, G_HYBRID_MAP); // G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP
						var marker = new GMarker(point2, icon);
							GEvent.addListener(marker, "click", function() {
								marker.openInfoWindowTabsHtml(infoTabs);
							});
						map.addOverlay(marker);
						map.addControl(new GLargeMapControl());
						map.addControl(new GMapTypeControl());
						marker.openInfoWindowTabsHtml(infoTabs);
						if(inf['logo']!="leer"){
							var lang=inWinSize(imglogo, inf['lang']);
							document.getElementById('inWin').style.width=lang+"px";
						}
					}
				});
					
			} else {	
				map.setCenter(point, 12, G_HYBRID_MAP); // G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP
				var marker = new GMarker(point, icon);
					GEvent.addListener(marker, "click", function() {
    					marker.openInfoWindowTabsHtml(infoTabs);
					});
				map.addOverlay(marker);
				map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
				marker.openInfoWindowTabsHtml(infoTabs);
				if(inf['logo']!="leer"){
					var lang=inWinSize(imglogo, inf['lang']);
					document.getElementById('inWin').style.width=lang+"px";
				}
			}
		}
	);
}

function googleRoute (adr){
	adresse=adr.replace(/ /g, "+");
	var street="";
	var zip="";
	var city="";
	var form="<form name='gooRoute' action='http://maps.google.de/maps' method='get' onsubmit='http://maps.google.de/maps' target='_blank'><div>Startadresse:<br /><br /><p align='left'><input class='plzsearch right_10' type='text' name='saddr' value='' size='30' /><input type ='hidden' name='daddr' value="+adresse+"/><br /><br /><input type='submit' class='button' value=' Route berechnen' alt='Route berechnen' /></p></div></form>";	
	return form;
}

function adr2googleForm(adr, adr_show){
	var adresse=adr.replace(/ /g, "+");
	var form="Die Adresse <b>"+adr_show+"</b> konnte nicht gefunden werden.<br /><br />Vermutlich enthalten die Angaben Schreibfehler.<br /><br /><form name='gooProof' action='http://maps.google.de/maps' method='get' onsubmit='http://maps.google.de/maps' target='_blank'><div>Möchten Sie die Adressen direkt bei maps.google.de prüfen?<br /><br /><p align='left'><input type ='hidden' name='q' value="+adresse+"/><br /><br /><input type='submit' class='button' value=' Prüfen' alt='Prüfen' /></p></div></form>";	
	return form;
}


