var map;
var nav;
var gdir;
var geocoder = null;
var addressMarker;

function getRawUrl() {
    var url = String(window.location);
    if (url.indexOf("#") > 0) {
        url = url.substring(0, url.indexOf("#"));
    }
    if (url.indexOf("?") > 0) {
        url = url.substring(0, url.indexOf("?"));
    }
    
    return url;
}

function initialize(g, p) {    
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById(g.el.map));
        map.setCenter(new GLatLng(g.lat, g.lon), g.zoom);

        if (getRawUrl() == url.contact) {
            nav = new GMap2(document.getElementById(g.el.nav));
            nav.setCenter(new GLatLng(g.lat, g.lon), (g.zoom - 2));
            nav.setUIToDefault();
            nav.setMapType(G_HYBRID_MAP);
            
            gdir = new GDirections(nav, document.getElementById("directions"));
            GEvent.addListener(gdir, "error", handleErrors);
        }
        
        var myPointer = new GIcon(); 
        myPointer.image = g.point.src;
        myPointer.iconSize = new GSize(g.point.width, g.point.height);
        myPointer.iconAnchor = new GPoint(12, 12);
        myPointer.infoWindowAnchor = new GPoint(12, 12);
        
        var point = new GMarker(map.getCenter(), {icon:myPointer});
        map.addOverlay(point);
        
        var html = '<div id="map-window"><p style="margin-bottom:5px; font-size:15px;"><strong>'+ p.name +'</strong></p><p class="text" style="font-size:11px;">'+ p.address.street +',<br />'+ p.address.city +',<br />'+ p.address.psc +'</p></div>';
        if (getRawUrl() != url.contact) {
            html += '<p style="margin-top:5px; font-size:12px;"><a href="'+ url.navigation +'">Jak se k nám dostanete?</a></p>';
        }
        
        point.bindInfoWindowHtml(html);
        point.setImage(g.point.src);
        
        map.setUIToDefault();
    }
}

function setDirections(fromAddress, toAddress, locale) {
    gdir.load("from: " + fromAddress + " to: " + toAddress, { "locale": locale });
    //window.location = String(url.contact + "#directions");
}

function handleErrors() {
    //alert(gdir.getStatus().code);
    alert("Při generování trasy došlo k neočekávané chybě");
}
