var map = null;
var geocoder = null;
var lat = null;
var lng = null;

function initialize() {
  if (GBrowserIsCompatible()) {
	map = new GMap2($("map_canvas"));
	map.setCenter(new GLatLng(48.1377941, 11.5759414), 13);
	geocoder = new GClientGeocoder();
  }
}
function checkAddress(address) {
	if (geocoder) {
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  if($('address_search_error').style.display == "none")
			Effect.toggle('address_search_error', 'appear');
		  if($('address_extend').style.display == "")
			Effect.SlideUp('address_extend');
		} else {
		  if($('address_search_error').style.display == "")
			Effect.toggle('address_search_error', 'appear');
		  map.setCenter(point, 13);
		  var marker = new GMarker(point, {title: address});
		  map.clearOverlays();
		  map.addOverlay(marker);
		  if($('address_extend').style.display == "none")
			Effect.SlideDown("address_extend");
		}
	  }
	);
  }
}

function showAddress(address_description,address_title,address,zoom) {
  if (geocoder) {
	address = address.replace(/</g, "&lt;");
	address = address.replace(/>/g, "&gt;");
	geocoder.getLatLng(
	  address,
	  function(point) {
		if (!point) {
		  if($('address_search_error').style.display == "none")
			Effect.toggle('address_search_error', 'appear');
		} else {
		  if($('address_search_error').style.display == "")
			Effect.toggle('address_search_error', 'appear');
		  map.setCenter(point, zoom);
		  var marker = new GMarker(point, {title: address_title});
		  map.clearOverlays();
		  map.addOverlay(marker);
		  address_title = address_title.replace(/</g, "&lt;");
		  address_title = address_title.replace(/>/g, "&gt;");
		  address_description = address_description.replace(/</g, "&lt;");
		  address_description = address_description.replace(/>/g, "&gt;");
		  marker.openInfoWindowHtml("<h1 class=\"map_title\">"+address_title+"</h1><br/>"+address_description.replace(/\n/g,"<br>"));
		  setHTMLCode(zoom, point.lat(), point.lng(), address_title, address_description.replace(/\n/g,"<br>"));
		}
	  }
	);
  }
}
function setHTMLCode(zoom, lat, lng, address_title, address_description) {
	lat = lat;
	lng = lng;
	address_title = escape(address_title);
	address_description = escape(address_description);
	$('htmlcode').innerHTML = '';
	$('htmlcode').insert('&lt;iframe src="http://map.webmart.de/?zoom='+zoom+'&lat='+lat+'&lng='+lng+'&address_description='+address_description+'&address_title='+address_title+'" width="500" height="300" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;span style="font-family:Tahoma, Geneva, sans-serif;font-size:12px;color:#999;"&gt;&lt;a href="http://www.webmart.de/dynasite.cfm?dsmid=100598" target="_blank" style="color:#999;"&gt;Kostenlose Karte&lt;/a&gt; von WebMart &lt;a href="http://www.webmart.de/" target="_blank" style="color:#999;"&gt;Homepage Tools&lt;/a&gt;&lt;/span&gt;');
}
function submitForm(id) {
	if(id == 0) {
		checkAddress(document.addressform.address.value);
	} else if(id == 2) {
		if($('htmlcode_container').style.display == "none") {
			Effect.toggle('htmlcode_container', 'appear');
		}
		
		showAddress(document.extendform.address_description.value, document.extendform.address_title.value, document.addressform.address.value, parseInt(document.extendform.zoom.value));
	} else if(id == 3) {
		if($('htmlcode_container').style.display == "") {
			Effect.toggle('htmlcode_container', 'appear');
		}
		Effect.SlideUp('address_extend', {queue: 'end'});
	}
}
