jQuery(document).ready(function() {

    var activeImage = -1;
    var preLink = 'index.php?eID=download&googlemapemail[downloadFile]=';
    var $downloadLink = undefined;

    function getCurrentMarker() {
        if(markers !== undefined) {
            var curMarker = markers[activeImage];
            if(curMarker !== undefined) {
                return curMarker
            }
        }
        return undefined;
    }
    function createDownloadLink() {
        if(markers !== undefined) {
            if($downloadLink !== undefined && activeImage != -1) {
                var curMarker = getCurrentMarker();
                var downloadUrl = curMarker.origFile;
                $downloadLink.attr('href', preLink + downloadUrl);
            }
        }
    }

    function isDownloadable() {
        if(Shadowbox.getCurrent().title == 1) {
            return true;
        }
        return false;
    }

    function chechDownloadLinkVisibility() {
        if($downloadLink !== undefined) {
            if(isDownloadable() == false) {
                $downloadLink.css('display', 'none');
            } else {
                $downloadLink.css('display', 'block');
            }
        }
    }

    Shadowbox.init({
        overlayOpacity: "0",
        overlayColor: "#666666",
        fadeDuration: 1.0,
        displayCounter: false,
        continuous: false,
        handleOversize: "drag",
        troubleElements: [],
        onOpen: function(c) {
            if(Shadowbox.hasNext()) {
                var $next = jQuery('#sb-nav-next');
                $downloadLink = jQuery('<a href="" id="sb-nav-download" title="Download"></a>');
                $next.after($downloadLink);
                chechDownloadLinkVisibility();
            }            
            activeImage = Shadowbox.current;
            createDownloadLink();
            return true;
        },
        onClose: function(c) {
            if(markers !== undefined) {
                if(activeImage != -1) {
                    setMarkerVisited(getCurrentMarker());
                }
            }
            if($downloadLink !== undefined) {
                $downloadLink.remove();
            }
            activeImage = -1;
        },
        onChange: function(c) {
            if(markers !== undefined) {
                if(activeImage != -1) {
                    setMarkerVisited(getCurrentMarker());
                }
            }

            chechDownloadLinkVisibility();

            activeImage = Shadowbox.current;
            createDownloadLink();
            if(markers !== undefined) {
                setMarkerActive(getCurrentMarker());
            }
        }
    });
});
