﻿
var mapwin;
var mapwinbackground;
var mapwincontent;

function initMap() {
    mapwin = document.getElementById('mapwindow');
    mapwinbackground = document.getElementById('mapwindowbackground');
    mapwincontent = document.getElementById('mapwindowcontent');
}

cur_map_opacity = 0;
end_map_opacity = 25; //end opacity, 25 = 25%, 50 = 50%, 100 = 100%, etc.
increase_map_opacity_by = 10; //how much to increase by each time the timeout ends
maptimeout = 0; //timeout in miliseconds, 0 = instant fade-out

var maptimer = null;
var mapscroller = null;

function ShowMap() {
    if (mapwin == null) {
        initMap();
    }
    showMapWindow();
}

function showMapWindow() {
    if (maptimeout > 0) {
        cur_map_opacity = 0;

        mapwinbackground.style.opacity = cur_map_opacity / 100;
        mapwinbackground.style.filter = "alpha(opacity=" + cur_map_opacity + ")";
        mapwin.style.display = 'block';
        mapwincontent.style.display = 'none';

        maptimer = setMapTimeout("increase_map_opacity()", maptimeout);
    }
    else {
        mapwinbackground.style.opacity = end_map_opacity / 100;
        mapwinbackground.style.filter = "alpha(opacity=" + end_map_opacity + ")";
        mapwin.style.display = 'block';
        mapwincontent.style.display = 'block';
    }
    //mapscroller = setMapTimeout("CheckMapScroll()", 1);
}

function increase_map_opacity() {
    cur_map_opacity += increase_map_opacity_by;

    mapwinbackground.style.opacity = cur_map_opacity / 100;
    mapwinbackground.style.filter = "alpha(opacity=" + cur_map_opacity + ")";

    if (cur_map_opacity < end_map_opacity) {
        maptimer = setMapTimeout("increase_map_opacity()", maptimeout);
    }
    else {
        mapwincontent.style.display = 'block';
    }
}

function hideMapWindow() {
    mapwin.style.display = 'none';
    mapscroller = null;
}

function CheckMapScroll() {
    var ScrollTop = document.body.scrollTop;
    if (ScrollTop == 0) {
        if (mapwindow.pageYOffset)
            ScrollTop = mapwindow.pageYOffset;
        else
            ScrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0;
    }
    var TopDiff = mapwinbackground.style.top - ScrollTop;

    var ScrollLeft = document.body.scrollLeft;
    if (ScrollLeft == 0) {
        if (mapwindow.pageXOffset)
            ScrollLeft = mapwindow.pageXOffset;
        else
            ScrollLeft = (document.body.parentElement) ? document.body.parentElement.scrollLeft : 0;
    }
    var LeftDiff = mapwinbackground.style.left - ScrollLeft;

    mapwinbackground.style.top = ScrollTop;
    mapwinbackground.style.left = ScrollLeft;

    mapscroller = setMapTimeout("CheckMapScroll()", 1);

}