﻿var latestGameName = 'Avatar Grand Prix 2';
var latestGameReleaseDate = 'Released January 2012';
var latestGameCode = 'agp2';
var boxBorderHTML =
        '<div class="absoluteTemplate" style="background: url(\'images/tlcorner.png\') 0 0 no-repeat"></div>' +
        '<div class="absoluteTemplate" style="background: url(\'images/trcorner.png\') 100% 0 no-repeat"></div>' +
        '   <div class="absoluteTemplate">' +
        '   <div style="position: relative; height: 100%; background: url(\'images/blcorner.png\') 0 100% no-repeat"></div>' +
        '</div>' +
        '<div class="absoluteTemplate">' +
        '   <div style="position: relative; height: 100%; background: url(\'images/brcorner.png\') 100% 100% no-repeat"></div>' +
        '</div>' +
        '<div class="absoluteTemplate" style="top: -9px">' +
        '   <div class="absoluteTemplate" style="overflow: hidden">' +
        '       <div style="position: relative; top: 9px; height: 100%; margin-left: 20px; margin-right: 29px; background-color: #ffffff"></div>' +
        '   </div>' +
        '</div>' +
        '<div class="absoluteTemplate">' +
        '   <div style="position: relative; height: 100%; margin-left: 20px; margin-right: 29px; background: url(\'images/top.png\') 0 0 repeat-x;"></div>' +
        '</div>' +
        '<div class="absoluteTemplate">' +
        '   <div style="position: relative; height: 100%; margin-left: 21px; margin-right: 29px; background: url(\'images/bottom.png\') 0 100% repeat-x"></div>' +
        '</div>' +
        '<div class="absoluteTemplate" style="top: -27px">' +
        '   <div class="absoluteTemplate" style="overflow: hidden">' +
        '       <div style="position: relative; width: 100%; height: 100%; top: 47px; background: url(\'images/left.png\') 0 0 repeat-y"></div>' +
        '   </div>' +
        '</div>' +
        '<div class="absoluteTemplate" style="top: -27px">' +
        '   <div class="absoluteTemplate" style="overflow: hidden">' +
        '       <div style="position: relative; width: 100%; height: 100%; top: 49px; background: url(\'images/right.png\') 100% 0 repeat-y"></div>' +
        '   </div>' +
        '</div>'

var boxHeaderHTML =
        '<div class="absoluteTemplate" style="background: url(\'images/gradientleft.png\') 0 0 no-repeat; margin-top: 5px; height: 32px"></div>' +
        '<div class="absoluteTemplate" style="background: url(\'images/gradientright.png\') 100% 0 no-repeat; margin-top: 5px; height: 32px"></div>' +
        '<div class="absoluteTemplate">' +
        '   <div style="position: relative; height: 100%; margin-left: 100px; margin-right: 100px; margin-top: 5px; background: url(\'images/gradient.png\') 0 0 repeat-x; height: 32px"></div>' +
        '</div>' +
        '<div style="height: 40px"></div>';

var headerHTML =
        '<div style="position: absolute; left: 0; top: 25px; width: 100%; height: 128px; background: url(\'images/banner.png\') repeat-x; z-index: -1"></div>' +
        '<div style="position: absolute; left: 0; top: 0; width: 100%; height: 100%; text-align: center; background: #404040 url(\'images/background.png\') repeat-x; z-index: -2"></div>' +
        '<div style="position: absolute; left: 0; top: 0; width: 100%; height: 104px; text-align: center; background: url(\'images/topofpage.png\') repeat-x;">' +
        '<table cellspacing="0" cellpadding="0" width="100%" align="center"> ' +
        '<tr>' +
        '<td width="*" align="center"><img src="images/logo.png" /></td>' +
        '</tr>' +
        '</table> ' +
        '</div>';

function MI(level1, level2, level3, URL, text, doubleSize) {
    var menuItemNumber = level1;
    var colspan = '3';
    var initialTD = '';
    if (level2 != -1) {
        menuItemNumber += "_" + level2;
        colspan = '2';
        initialTD = '<td></td>';
    }
    if (level3 != -1) {
        menuItemNumber += "_" + level3;
        colspan = '1';
        initialTD = '<td colspan="2"></td>';
    }
    return '<tr id="menutr' + menuItemNumber + '">' + initialTD + '<td id="menuItemLeft' + menuItemNumber +
            '"></td><td id="menuItem' + menuItemNumber + '" colspan="' + colspan + '" onclick="location.href=\'' + URL +
            '\'">' + text + '</td><td id="menuItemRight' + menuItemNumber + '"></td></tr><tr><td class="spacer" colspan="5">' +
            (doubleSize ? '<input type="hidden" id="hidmenutr' + menuItemNumber + '" />' : "") + '</td></tr>';
}

var menuHTML =
        '<div style="position: absolute; left: 15px; width: 250px; top: 150px" class="divBox"> ' +
        '<div id="divMenu">' +
        boxBorderHTML +
        boxHeaderHTML +
        '<div class="divBoxHeader">Contents</div>' +
        '<table class="menuItemTable" cellspacing="0" style="font-size: 1em"> ' +
        '<tr>' +
        '<td style="width:12%"></td>' +
        '<td style="width:12%"></td>' +
        '<td style="width:12%"></td>' +
        '<td style="width:49%"></td>' +
        '<td style="width:15%"></td>' +
        '</tr>' +
        MI(1, -1, -1, 'index.html', 'Home', false) +
        MI(1, 1, -1, 'news.html', 'News Archive', false) +
        MI(1, 1, 1, 'news2012.html', '2012', false) +
        MI(1, 1, 2, 'news2011.html', '2011', false) +
        MI(1, 1, 3, 'news2010.html', '2010', false) +
        MI(1, 1, 4, 'news2009.html', '2009', false) +
        MI(2, -1, -1, 'games.html', 'Games', false) +
        MI(2, 1, -1, 'agp.html', 'Avatar Grand Prix', false) +
        MI(2, 1, 1, 'agptracks.html', 'Tracks', false) +
        MI(2, 1, 2, 'agppowerups.html', 'Power-Ups', false) +
        MI(2, 1, 3, 'agphints.html', 'Hints & Tips', false) +
        MI(2, 2, -1, 'agp2.html', 'Avatar Grand Prix 2', false) +
        MI(2, 2, 1, 'agp2reviews.html', 'Reviews', false) +
        MI(2, 3, -1, 'bsi.html', 'Blackstone Part I', false) +
        MI(2, 3, 1, 'bsiwalkthrough.html', 'Walkthrough', false) +
        MI(2, 4, -1, 'es.html', 'Earth Shaker', false) +
        MI(2, 4, 1, 'eslevels1to4.html', 'Level 1 - 4', false) +
        MI(2, 4, 2, 'eslevels5to8.html', 'Level 5 - 8', false) +
        MI(2, 4, 3, 'eslevels9to12.html', 'Level 9 - 12', false) +
        MI(2, 4, 4, 'eslevels13to16.html', 'Level 13 - 16', false) +
        MI(2, 4, 5, 'eslevels17to20.html', 'Level 17 - 20', false) +
        MI(2, 4, 6, 'eslevels21to24.html', 'Level 21 - 24', false) +
        MI(2, 4, 7, 'eslevels25to28.html', 'Level 25 - 28', false) +
        MI(2, 4, 8, 'eslevels29to32.html', 'Level 29 - 32', false) +
        MI(2, 5, -1, 'oar.html', 'On A Roll', false) +
        MI(2, 5, 1, 'oarlev1.html', 'Level 1', false) +
        MI(2, 5, 2, 'oarlev2.html', 'Level 2', false) +
        MI(2, 5, 3, 'oarlev3.html', 'Level 3', false) +
        MI(2, 5, 4, 'oarlev4.html', 'Level 4', false) +
        MI(2, 5, 5, 'oarhints.html', 'Hints & Tips', false) +
        MI(2, 6, -1, 'pp.html', 'Planet Pinball', false) +
        MI(2, 6, 1, 'ppatoz.html', 'A to Z', false) +
        MI(2, 7, -1, 'twwfiah.html', 'The Wizards Who Fell In A Hole', true) +
        MI(2, 7, 1, 'twwfiahitems.html', 'Item Guide', false) +
        MI(3, -1, -1, 'faq.html', 'FAQ', false) +
        MI(4, -1, -1, 'devmethods.html', 'Development Methods', false) +
        MI(5, -1, -1, 'contact.html', 'Contact', false) +
        '</table> ' +
        '<div id="divLatestGame" class="divBoxHeader" style="margin-top: 0; display:none">Our Latest Game<br /><a href="' + latestGameCode +
            '.html">' + latestGameName + '</a><br/><br /><a href="' + latestGameCode +
            '.html"><img src="images/' + latestGameCode + '/boxart.jpg" /></a><br /><br />' + latestGameReleaseDate + '</div>' +
        '</div>' +
        '<br /><br /><br /></div>';

window.onload = function() {
    var i = 1;
    while (document.getElementById("divBoxBorder" + i)) {
        document.getElementById("divBoxBorder" + i).innerHTML = boxBorderHTML;
        i++;
    }
    i = 1;
    while (document.getElementById("divBoxHeader" + i)) {
        document.getElementById("divBoxHeader" + i).innerHTML = boxHeaderHTML;
        i++;
    }
    document.body.innerHTML += headerHTML + menuHTML;
    document.body.style.backgroundColor = '#404040';
    var pageTitle = location.href.toString();
    i = pageTitle.length - 1;
    while (pageTitle.substring(i, i + 1) != "\\" && pageTitle.substring(i, i + 1) != "/")
        i--;
    if (pageTitle == 'http://www.battenbergsoftware.com' || pageTitle == 'http://www.battenbergsoftware.com/')
        setHighlight('index.html');
    else
        setHighlight(pageTitle.substring(i + 1));
    setFrameSize();
    i = 1;
    while (document.getElementById("hidSort" + i) != null) {
        eval('addSort(' + document.getElementById("hidSort" + i).value + ");");
        i++;
    }
}

window.onresize = function() {
    setFrameSize();
}
function setFrameSize() {
    var width, height;
    if (self.innerWidth) {
        width = self.innerWidth;
        height = self.innerHeight;
    }
    else if (document.documentElement && document.documentElement.clientWidth) {
        width = document.documentElement.clientWidth;
        height = document.documentElement.clientHeight;
    }
    else if (document.body) {
        width = document.body.clientWidth;
        height = document.body.clientHeight;
    }
    try {
        document.getElementById("divContentWindow").style.width = (width - 335) + "px";
        if (document.getElementById("divMenu").offsetHeight < height - 180)
            document.getElementById("divMenu").style.height = (height - 180) + "px";
    }
    catch (e) {
        setTimeout("setFrameSize()", 250);
    }
}

function setHighlight(pageTitle) {
    if (pageTitle == "index.html")
        document.getElementById("divLatestGame").style.display = "block";
    var i, j, k, iH = -1, jH = -1, kH = -1;
    i = 1;
    pageTitle1 = "'" + pageTitle;
    pageTitle2 = '"' + pageTitle;
    while (document.getElementById("menuItem" + i)) {
        if (document.getElementById("menuItem" + i).onclick.toString().indexOf(pageTitle1) > -1 ||
                document.getElementById("menuItem" + i).onclick.toString().indexOf(pageTitle2) > -1) {
            iH = i;
            jH = -1;
            kH = -1;
            j = 1;
            while (document.getElementById("menuItem" + i + "_" + j)) {
                k = 1;
                while (document.getElementById("menuItem" + i + "_" + j + "_" + k)) {
                    setSubTabInvisible(i, j, k);
                    k++;
                }
                j++;
            }
        }
        else {
            j = 1;
            while (document.getElementById("menuItem" + i + "_" + j)) {
                if (document.getElementById("menuItem" + i + "_" + j).onclick.toString().indexOf(pageTitle1) > -1 ||
                        document.getElementById("menuItem" + i + "_" + j).onclick.toString().indexOf(pageTitle2) > -1) {
                    iH = i;
                    jH = j;
                    kH = -1;
                }
                else {
                    k = 1;
                    while (document.getElementById("menuItem" + i + "_" + j + "_" + k)) {
                        if (document.getElementById("menuItem" + i + "_" + j + "_" + k).onclick.toString().indexOf(pageTitle1) > -1 ||
                                document.getElementById("menuItem" + i + "_" + j + "_" + k).onclick.toString().indexOf(pageTitle2) > -1) {
                            iH = i;
                            jH = j;
                            kH = k;
                        }
                        setSubTabInvisible(i, j, k);
                        k++;
                    }
                    setSubTabInvisible(i, j, -1);
                }
                j++;
            }
        }
        i++;
    }
    i = 1;
    while (document.getElementById("menuItem" + i)) {
        if (i == iH)
            setSelected(i, -1, -1);
        else
            setUnselected(i, -1, -1);
        j = 1;
        while (document.getElementById("menuItem" + i + "_" + j)) {
            if (i == iH && j == jH)
                setSelected(i, j, -1);
            else
                setUnselected(i, j, -1);
            k = 1;
            while (document.getElementById("menuItem" + i + "_" + j + "_" + k)) {
                if (i == iH && j == jH && k == kH)
                    setSelected(i, j, k);
                else
                    setUnselected(i, j, k);
                k++;
            }
            j++;
        }
        i++;
    }
}

function setSelected(i, j, k) {
    var extension = "";
    if (j != -1)
        extension = "_" + j;
    else {
        j = 1;
        while (document.getElementById("menuItem" + i + "_" + j)) {
            setSubTabVisible(i, j, -1);
            j++;
        }
    }
    if (k != -1)
        extension += "_" + k;
    else {
        k = 1;
        while (document.getElementById("menuItem" + i + "_" + j + "_" + k)) {
            setSubTabVisible(i, j, k);
            k++;
        }
    }
    var large = "";
    if (document.getElementById("hidmenutr" + i + extension))
        large = "Large";
    document.getElementById("menuItem" + i + extension).className = 'menuItemTextSelected';
    document.getElementById("menuItemLeft" + i + extension).className = 'menuItemLeftSelected' + large;
    document.getElementById("menuItemRight" + i + extension).className = 'menuItemRightSelected' + large;
    document.getElementById("menuItem" + i + extension).onmouseover = null;
    document.getElementById("menuItem" + i + extension).onmouseout = null;
}
function setUnselected(i, j, k) {
    var extension = "";
    if (j != -1)
        extension = "_" + j;
    if (k != -1)
        extension += "_" + k;
    var large = "";
    if (document.getElementById("hidmenutr" + i + extension))
        large = "Large";
    document.getElementById("menuItem" + i + extension).className = 'menuItemText';
    document.getElementById("menuItemLeft" + i + extension).className = 'menuItemLeft' + large;
    document.getElementById("menuItemRight" + i + extension).className = 'menuItemRight' + large;
    document.getElementById("menuItem" + i + extension).onmouseover = function() { this.className = "menuItemTextHighlighted" };
    document.getElementById("menuItem" + i + extension).onmouseout = function() { this.className = "menuItemText" };
}

function setSubTabVisible(i, j, k) {
    extension = "";
    if (k != -1)
        extension += "_" + k;
    try {
        try {
            document.getElementById("menuItem" + i + "_" + j + extension).parentElement.style.display = "table-row";
            document.getElementById("menuItem" + i + "_" + j + extension).parentElement.previousSibling.style.display = "table-row";
        }
        catch (e) {
            document.getElementById("menuItem" + i + "_" + j + extension).parentElement.style.display = "inline";
            document.getElementById("menuItem" + i + "_" + j + extension).parentElement.previousSibling.style.display = "inline";
        }
    }
    catch (e) {
        document.getElementById("menuItem" + i + "_" + j + extension).parentNode.style.display = "table-row";
        document.getElementById("menuItem" + i + "_" + j + extension).parentNode.previousSibling.style.display = "table-row";
    }
}
function setSubTabInvisible(i, j, k) {
    extension = "";
    if (k != -1)
        extension += "_" + k;
    try {
        document.getElementById("menuItem" + i + "_" + j + extension).parentElement.style.display = "none";
        document.getElementById("menuItem" + i + "_" + j + extension).parentElement.previousSibling.style.display = "none";
    }
    catch (e) {
        document.getElementById("menuItem" + i + "_" + j + extension).parentNode.style.display = "none";
        document.getElementById("menuItem" + i + "_" + j + extension).parentNode.previousSibling.style.display = "none";
    }
} 
