var gmarkers=[];
var map;
var storedWindow;


function legendVisibility() {
    if (document.getElementById("legend").style["display"] == "none") {
        document.getElementById("legend").style["display"] = "block";
        document.getElementById("map_canvas").style["top"] = "90px";
        document.getElementById("lToggle").style["top"] = "120px";
    } else {
        document.getElementById("legend").style["display"] = "none";
        document.getElementById("map_canvas").style["top"] = "0";
        document.getElementById("lToggle").style["top"] = "40px";
    }
}

function isClickedHgl(marker) {
    if(storedWindow == marker)
        return true;
    else
        return false;
}

function setClickedHgl(marker) {
    storedWindow=marker;
}

function createMarker(point, heading, logo, description,
                      address, actuality, www, phone, email,
                      icq, jabber, skype, other, gps, mtype, markerOpts) {
    var marker = new GMarker(point, markerOpts);
    var clickHgl = false;
    marker.type= mtype;
    gmarkers.push(marker);
    GEvent.addListener(marker, "mousedown", function() {
        var myHtml = '<div class="bubbleBlock"><a href="'+www+'" target="_blank"><h3 class="bubleHeading">' + heading + '</h3></a>' +
                      '<p class="description"><a href="'+www+'" target="_blank"><img src="uploads/logos/'+logo+'" class="logo" alt="logo" /></a>'
                      + description + '</p>' +
                      '<p class="address">' + address + '</p>' +
                      '<p class="gps">' + gps + '</p>' +
                      '<p class="www"><a href="'+www+'" target="_blank">' + www + '</a></p>' +
                      '<p class="phone">' + phone + '</p>' +
                      '<p class="email"><a href="mailto:'+email+'">' + email + '</a></p>';
                      if (icq!="") myHtml += '<p class="icq">' + icq + '</p>';
                      if (jabber != "") myHtml += '<p class="jabber">' + jabber + '</p>';
                      if (skype != "") myHtml += '<p class="skype">' + skype + '</p>';
                      if (other != "") myHtml += '<p class="other">' + other + '</p>';
                      if (actuality != "") myHtml += '<p class="actuality">' + actuality + '</p>';
                      myHtml+="</div>";
        map.openInfoWindowHtml(point, myHtml);
    });

    return marker;
}

// TODO: doplnit lokaci
function displayLocator() {
    var iconLocator = new GIcon();
    iconLocator.image = 'http://www.zdarskevrchy.cz/cestovatko/img/locate.png';
    iconLocator.iconSize = new GSize(50, 50);
    iconLocator.iconAnchor = new GPoint(15, 20);
    iconLocator.infoWindowAnchor = new GPoint(15, 20);

    var markerLocator = { icon:iconLocator };

    var pointLocator = new GLatLng(1,1);
    map.addOverlay(createMarker(pointLocator, 'Vybraný subjekt', 'vybraný subjekt', 'markerLoc', markerLocator));
}

function insertLocation(lat, longt, name, description) {
    var point = new GLatLng(lat, longt);
    map.addOverlay(createMarker(point, name, description));
}

function createMarkerOpts(iconUrl) {
    var myIcon = new GIcon();
    myIcon.image = iconUrl;
    myIcon.iconSize = new GSize(30, 31);
    myIcon.iconAnchor = new GPoint(6, 6);
    myIcon.infoWindowAnchor = new GPoint(5, 1);

    var markerOpts = { icon: myIcon }

    return markerOpts;
}

function initialize() {
    if (GBrowserIsCompatible()) {

        map = new GMap2(document.getElementById("content"));
        map.setCenter(new GLatLng(49.806972815826086, 16.115570068359375), 9);
        var mapControl = new GMapTypeControl();
        map.addMapType(G_PHYSICAL_MAP);
        map.addControl(mapControl);
        map.addControl(new GLargeMapControl());
        map.enableScrollWheelZoom();
        
        /*new Drag.Move(document.getElementById("map_menu"), );*/
        /*document.getElementById("map_menu").makeDraggable();
        document.getElementById("map_menu").setOpacity(0.8);*/

        displayObjects();

        /// Create our "tiny" marker icon
        /*<?php
		displaySubCathIconsMarkerOpts();
	?>*/
    }
}


function switchMarkers(catId, control) {
    map.closeInfoWindow();
    cath = "mtype" + catId;
    var i = 0;
    if (cathEnabled[catId]) {
        for (i=0;i<gmarkers.length;i++) {
            if (gmarkers[i].type==cath)  {
                map.removeOverlay(gmarkers[i]);
            }
        }
        control.style["background"] = "#cded97";
        cathEnabled[catId] = false;
    } else {
         for (i=0;i<gmarkers.length;i++) {
            if (gmarkers[i].type==cath)  {
                map.addOverlay(gmarkers[i]);
            }
            cathEnabled[catId] = true;
        }
        control.style["background"] = "#88ffd4";
    }
    //alert("ahoj");
}

