
function gotoHome() {
    document.location = '/';
}

// Sitemap

var sitemapOpacity = 0;
var sitemapOpacitySpeed = 10;

function moreOpacity() {
    sitemapOpacity += 0.1;
    sitemap = document.getElementById('divSitemap');
    sitemap.style.visibility = 'visible';
    sitemap.style.opacity = sitemapOpacity;
    sitemap.style.MozOpacity = sitemapOpacity;

    if (sitemapOpacity < 0.99) {
        setTimeout(moreOpacity, sitemapOpacitySpeed);
    } else {
        openAllMenu();
    }
}

function lessOpacity() {
    sitemapOpacity -= 0.1;
    sitemap = document.getElementById('divSitemap');
    sitemap.style.opacity = sitemapOpacity;
    sitemap.style.MozOpacity = sitemapOpacity;

    if (sitemapOpacity > 0) {
        setTimeout(lessOpacity, sitemapOpacitySpeed);
    } else {
        sitemap.style.visibility = 'hidden';
    }
}

function showSitemap() {
    suspendMenuEngine();
    moreOpacity();
}

function hideSitemap() {
    closeAllMenu();
    lessOpacity();
    resumeMenuEngine();
}

// Main Menu begin

var menuTimeout = 500;
var menuCloseTimer = null;
var menuActiveElement = null;

function menuOpen(elementId) {
    menuCancelCloseTimer();
    menuClose();

    menuActiveElement = document.getElementById(elementId);
    menuActiveElement.style.visibility = 'visible';
}

function menuClose() {
    if (menuActiveElement) {
        menuActiveElement.style.visibility = 'hidden';
        menuActiveElement = null;
    }
}

function menuStartCloseTimer() {
    menuCloseTimer = window.setTimeout(menuClose, menuTimeout);
}

function menuCancelCloseTimer() {
    if (menuCloseTimer) {
        window.clearTimeout(menuCloseTimer);
        menuCloseTimer = null;
    }
}

function menuOpenMainMenuPartyList() {
    menuOpen('mainMenuPartyList');
}

function menuOpenMainMenuActionsList() {
    menuOpen('mainMenuActionsList');
}

function menuOpenMainMenuDocumentsList() {
    menuOpen('mainMenuDocumentsList');
}

function menuOpenMainMenuArticlesList() {
    menuOpen('mainMenuArticlesList');
}

function menuOpenMainMenuMediaList() {
    menuOpen('mainMenuMediaList');
}

function initMenuEngine() {
    document.getElementById('mainMenuParty').onmouseout = menuStartCloseTimer;
    document.getElementById('mainMenuParty').onmouseover = menuOpenMainMenuPartyList;
    document.getElementById('mainMenuPartyList').onmouseover = menuCancelCloseTimer;
    document.getElementById('mainMenuPartyList').onmouseout = menuStartCloseTimer;

    document.getElementById('mainMenuActions').onmouseout = menuStartCloseTimer;
    document.getElementById('mainMenuActions').onmouseover = menuOpenMainMenuActionsList;
    document.getElementById('mainMenuActionsList').onmouseover = menuCancelCloseTimer;
    document.getElementById('mainMenuActionsList').onmouseout = menuStartCloseTimer;

    document.getElementById('mainMenuDocuments').onmouseout = menuStartCloseTimer;
    document.getElementById('mainMenuDocuments').onmouseover = menuOpenMainMenuDocumentsList;
    document.getElementById('mainMenuDocumentsList').onmouseover = menuCancelCloseTimer;
    document.getElementById('mainMenuDocumentsList').onmouseout = menuStartCloseTimer;

    document.getElementById('mainMenuArticles').onmouseout = menuStartCloseTimer;
    document.getElementById('mainMenuArticles').onmouseover = menuOpenMainMenuArticlesList;
    document.getElementById('mainMenuArticlesList').onmouseover = menuCancelCloseTimer;
    document.getElementById('mainMenuArticlesList').onmouseout = menuStartCloseTimer;

    document.getElementById('mainMenuMedia').onmouseout = menuStartCloseTimer;
    document.getElementById('mainMenuMedia').onmouseover = menuOpenMainMenuMediaList;
    document.getElementById('mainMenuMediaList').onmouseover = menuCancelCloseTimer;
    document.getElementById('mainMenuMediaList').onmouseout = menuStartCloseTimer;
}

function suspendMenuEngine() {
    document.getElementById('mainMenuParty').onmouseover = null;
    document.getElementById('mainMenuActions').onmouseover = null;
    document.getElementById('mainMenuDocuments').onmouseover = null;
    document.getElementById('mainMenuArticles').onmouseover = null;
    document.getElementById('mainMenuMedia').onmouseover = null;
}

function resumeMenuEngine() {
    document.getElementById('mainMenuParty').onmouseover = menuOpenMainMenuPartyList;
    document.getElementById('mainMenuActions').onmouseover = menuOpenMainMenuActionsList;
    document.getElementById('mainMenuDocuments').onmouseover = menuOpenMainMenuDocumentsList;
    document.getElementById('mainMenuArticles').onmouseover = menuOpenMainMenuArticlesList;
    document.getElementById('mainMenuMedia').onmouseover = menuOpenMainMenuMediaList;
}

function openAllMenu() {
    document.getElementById('mainMenuPartyList').style.visibility = 'visible';
    document.getElementById('mainMenuActionsList').style.visibility = 'visible';
    document.getElementById('mainMenuDocumentsList').style.visibility = 'visible';
    document.getElementById('mainMenuArticlesList').style.visibility = 'visible';
    document.getElementById('mainMenuMediaList').style.visibility = 'visible';
}

function closeAllMenu() {
    document.getElementById('mainMenuPartyList').style.visibility = 'hidden';
    document.getElementById('mainMenuActionsList').style.visibility = 'hidden';
    document.getElementById('mainMenuDocumentsList').style.visibility = 'hidden';
    document.getElementById('mainMenuArticlesList').style.visibility = 'hidden';
    document.getElementById('mainMenuMediaList').style.visibility = 'hidden';
}

document.onclick = menuClose;

// Global

window.onload = function() {
    document.getElementsByTagName('h1')[0].onclick = gotoHome;
    document.getElementsByTagName('div')[2].onclick = gotoHome;

    initMenuEngine();
}

// Images

window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);

var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;

function so_init() {
    if(!d.getElementById || !d.createElement) return;

    // DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
    // http://slayeroffice.com/code/imageCrossFade/xfade2.css
    // css = d.createElement("link");
    // css.setAttribute("href","xfade2.css");
    // css.setAttribute("rel","stylesheet");
    // css.setAttribute("type","text/css");
    // d.getElementsByTagName("head")[0].appendChild(css);

    imgc = d.getElementById("imageContainer");

    if (!imgc) return;

    imgs = imgc.getElementsByTagName("img");

    for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
    imgs[0].style.display = "block";
    imgs[0].xOpacity = .99;

    setTimeout(so_xfade,2000);
}

function so_xfade() {
    cOpacity = imgs[current].xOpacity;
    nIndex = imgs[current+1]?current+1:0;

    nOpacity = imgs[nIndex].xOpacity;

    cOpacity-=.05;
    nOpacity+=.05;

    imgs[nIndex].style.display = "block";
    imgs[current].xOpacity = cOpacity;
    imgs[nIndex].xOpacity = nOpacity;

    setOpacity(imgs[current]);
    setOpacity(imgs[nIndex]);

    if(cOpacity<=0) {
        imgs[current].style.display = "none";
        current = nIndex;
        setTimeout(so_xfade,2000);
    } else {
        setTimeout(so_xfade,50);
    }

    function setOpacity(obj) {
        if(obj.xOpacity>.99) {
            obj.xOpacity = .99;
            return;
        }
        obj.style.opacity = obj.xOpacity;
        obj.style.MozOpacity = obj.xOpacity;
        obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
    }

}

