showMap = function(lat, lng, id, address)
{
    var setMap = function(point){

        lat = point.lat();
        lng = point.lng();
        var elementId = "googleMap_" + id;

        //MAP OPTIONS
        var myOptions = {
            zoom: 13,
            center: point,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };

        //MAP
        var map = new google.maps.Map(document.getElementById(elementId),myOptions);       

        //MARKER
        var marker = new google.maps.Marker({
            position: point
        });
        marker.setMap(map);

        //INFO-WINDOW
        var html = address + '<b>Ihr Weg zu uns</b><br>Startadresse: PLZ oder Stadt<form target="_blank" action="http://maps.google.de/maps" method="get">' +
        '<input type="text" size="30" maxlength="30" class="search" name="saddr" id="saddr" value="" /><br>' +
        '<input value="Route berechnen" type="submit" >' +
        '<input type="hidden" name="daddr" value="' + lat + ',' + lng +
        '"/><div class="clear"></div></form>';
        var infowindow = new google.maps.InfoWindow({
            content: html
        });
        infowindow.open(map,marker);
        google.maps.event.addListener(marker, 'click', function() {
            infowindow.open(map,marker);
        });

       
        jQuery('#' + elementId + '_submit').live('submit', function(){
            var form = jQuery(this);
            var q = form.find('input.search').val();
            if(q != '' && q.length >= 1){
                infowindow.close();

                //dir = new GDirections(map, document.getElementById("panel"));
                var directionOptions = {
                    map: map
                }
                dir = new google.maps.DirectionsRenderer(directionOptions);
                //dir.load('from:' + lat + ',' + lng + ' to:' + q);
            }
            return false;
        });

    }

    if(lat != false && lng != false){
        setMap(new google.maps.LatLng(lat,lng));
    }else if(geoAdresse != false){
        var geocoder = new google.maps.Geocoder();
        var geoOptions = {
            address: geoAdresse
        };
        geocoder.geocode(geoOptions, function(result, status){
            var geometry = result[0].geometry;
            var latLng = geometry.location;
            setMap(new google.maps.LatLng(latLng.lat(),latLng.lng()));
        });
    }
}
