﻿function marketFlash() {

    $('#flInterior').html('<h1><a href=\"/Neptune/Interiors.aspx\">Interior</h1>');
    $('#flGarden').html('<h1><a href=\"/Neptune/Gardens.aspx\">Garden</h1>');

}

var intTable, kitTable, gdnTable;

function jQMenu() {

    //Remove current menu shadows
    $('.MenuShadow').remove();

    //Set up New Market
    var newCat = new Array();
    var interior = new Array();
    var kitchen = new Array();
    var garden = new Array();

    newCat[0] = "#zM0Interior";
    newCat[1] = "#zM0Kitchen";
    newCat[2] = "#zM0Garden";

    var nC = 0;

    for (nC in newCat) {
        //Set up arrays
        $(newCat[nC]).children().each(
                    function() {
                        var nStr = this.id;
                        var nStr2 = nStr.trim();
                        var nStr3 = Right(nStr2, 3);
                        if (nStr3 == "zNa") {
                            if (newCat[nC] == "#zM0Interior") { interior.push("<a href=\"" + this + "\">" + this.innerHTML + "</a>"); }
                            if (newCat[nC] == "#zM0Kitchen") { kitchen.push("<a href=\"" + this + "\">" + this.innerHTML + "</a>"); }
                            if (newCat[nC] == "#zM0Garden") { garden.push("<a href=\"" + this + "\">" + this.innerHTML + "</a>"); }
                        }
                    });
    }

    //Calcutate the no. of rows required
    var nrReq = parseInt((interior.length + kitchen.length + garden.length) / 8) + 2;


    //Set table  column spans
    var nIntColSpan = Math.ceil(interior.length / nrReq);
    var nKitColSpan = Math.ceil(kitchen.length / nrReq);
    var nGdnColSpan = Math.ceil(garden.length / nrReq);

    var nTableString = new String();
    //Set table headers
    nTableString = "<table id=\"jMenu\" class=\"jMenuTable\"><thead><tr class=\"jMenuHeader\"><td colspan=" + "\"" + nIntColSpan + "\">Interior</td><td style=\"border-left:solid 1px #CCCCCC;padding-left:10px;\" colspan=" + "\"" + nKitColSpan + "\">Kitchen</td><td style=\"border-left:solid 1px #CCCCCC;padding-left:10px;\" colspan=" + "\"" + nGdnColSpan + "\">Garden</td></thead></tr>";


    //Loop through rows and set contents
    //For each row
    var nC = 1;
    var nR = 1;

    do {
        nTableString = nTableString + "<tr class =\"jMenuRow\">";
        do {
            //Get correct section array for given col & row coordinates
            var nTmp = new Array();
            var nColOfArray;
            var nIndex;
            var nStyleBorder = false;
            if (nC <= nIntColSpan) {
                nTmp = interior;
                nColOfArray = nC;
                nIndex = ((nrReq * nColOfArray) - (nrReq - nR) - 1);
            } else if (nC > nIntColSpan && nC <= (nIntColSpan + nKitColSpan)) {
                nTmp = kitchen;
                nColOfArray = nC - nIntColSpan;
                nIndex = ((nrReq * nColOfArray) - (nrReq - nR) - 1);
                if (nColOfArray == 1) { nStyleBorder = true; }
            } else {
                nTmp = garden;
                nColOfArray = nC - nKitColSpan - nIntColSpan;
                nIndex = ((nrReq * nColOfArray) - (nrReq - nR) - 1);
                if (nColOfArray == 1) { nStyleBorder = true; }
            }
            //Get correct item index for this array using colIndex, rReq & currentRow values
            var nActualValue;
            var nTd;
            nActualValue = nTmp[nIndex];
            if (nActualValue == undefined) { nActualValue = ""; }
            if (nStyleBorder == false) { nTd = "<td>"; } else { nTd = "<td style=\"border-left:solid 1px #CCCCCC;padding-left:10px;\">"; }
            nTableString = nTableString + nTd + nActualValue + "</td>";
            nC++;
        }
        while (nC <= 8);
        nTableString = nTableString + "</tr>";
        nC = 1;
        nR++;
    }
    while (nR <= nrReq);

    //Close table
    nTableString = nTableString + "</table>";
    //Add bottom shadow
    nTableString = nTableString + "<img src=\"/App_Themes/Default/Images/Master/MenuShadow.png\" alt=\"Shadow\" class=\"MenuShadow\"/>"

    //Replace current menu with table
    $("#zM0").replaceWith(nTableString);


    //Set up Markets Menu

    var markets = new Array();
    var x = 0
    var newMarket = "#zM0";

    markets[0] = "#zM9";
    markets[1] = "#zM10";
    markets[2] = "#zM8";

    for (x in markets) {


        var range = new Array();
        var rangeH;
        var category = new Array();
        var categoryH;
        var item = new Array();
        var itemH

        $(markets[x] + " .MenuSection").children().each(
                function() {
                    if (this.className == "zC") { categoryH = this.innerHTML;}
                    if (this.className == "zR") { rangeH = this.innerHTML; this.id = "" }
                    if (this.className == "zI") { itemH = this.innerHTML; this.id = "" }
                    var myStr = this.id;
                    var myStr2 = myStr.trim();
                    var myStr3 = Right(myStr2, 3);
                    if (myStr3 == "zCa") { category.push("<a href=\"" + this + "\">" + this.innerHTML + "</a>"); }
                    if (myStr3 == "zRa") { range.push("<a href=\"" + this + "\">" + this.innerHTML + "</a>"); }
                    if (myStr3 == "zIa") { item.push("<a href=\"" + this + "\">" + this.innerHTML + "</a>"); }
                }
            );

        //******At this point we have a market with section headers & contents of section. Need to analyse contents scale and produce table from results

        //OVERIDE NO OF ROWS DUE TO STATIC LINKS BEING INJECTED INTO MENU (THIS IS ALL DUE TO KITCHENS FLASH LINKS

        //Calculate no. of rows required
        var rReq = parseInt((range.length + item.length) / 8) + 2;
        //Work out table headers column span
        var rgColSpan = Math.ceil(range.length / rReq);
        var itColSpan = Math.ceil(item.length / rReq);
        var tableString = new String();

        //Set table headers
        tableString = "<table class=\"jMenuTable\"><thead><tr class=\"jMenuHeader\"><td colspan=" + "\"" + 1 + "\">" + categoryH + "</td><td style=\"border-left:solid 1px #CCCCCC;padding-left:10px;\" colspan=" + "\"" + rgColSpan + "\">" + rangeH + "</td><td style=\"border-left:solid 1px #CCCCCC;padding-left:10px;\" colspan=" + "\"" + itColSpan + "\">" + itemH + "</td></thead></tr>";

        //For each row
        var c = 1;
        var r = 1;

        do {
            tableString = tableString + "<tr class =\"jMenuRow\">";
            do {
                //Get correct section array for given col & row coordinates
                var tmp = new Array();
                var colOfArray;
                var index;
                var styleBorder = false;
                if (c == 1) {
                    tmp = category;
                    colOfArray = 1
                    index = ((rReq * colOfArray) - (rReq - r) - 1);
                } else if (c > 1 && c <= (1 + rgColSpan)) {
                    tmp = range;
                    colOfArray = c - 1;
                    index = ((rReq * colOfArray) - (rReq - r) - 1);
                    if (colOfArray == 1) { styleBorder = true; }
                } else {
                    tmp = item;
                    colOfArray = c - rgColSpan - 1;
                    index = ((rReq * colOfArray) - (rReq - r) - 1);
                    if (colOfArray == 1) { styleBorder = true; }
                }
                //Get correct item index for this array using colIndex, rReq & currentRow values
                var actualValue;
                var td;
                actualValue = tmp[index];
                if (actualValue == undefined) { actualValue = ""; }
                if (styleBorder == false) { td = "<td>"; } else { td = "<td style=\"border-left:solid 1px #CCCCCC;padding-left:10px;\">"; }
                tableString = tableString + td + actualValue + "</td>";
                c++;
            }
            while (c <= 8);
            tableString = tableString + "</tr>";
            c = 1;
            r++;
        }
        while (r <= rReq);
        //Close table
        tableString = tableString + "</table>";
        //Add bottom shadow
        tableString = tableString + "<img src=\"/App_Themes/Default/Images/Master/MenuShadow.png\" alt=\"Shadow\" class=\"MenuShadow\"/>"
        $(markets[x]).replaceWith(tableString);


        //        if (x==0) {
        //        intTable = tableString;
        //        } else if (x==1) {
        //        kitTable = tableString;
        //        } else {
        //        gdnTable = tableString;
        //        }
        //              
        //                                        
    }
    //        
    $('#MenuTick10').css('left', '158px');
    $('#MenuTick8').css('left', '232px');
    //                //Create table within dropdowns
    //                var m = " \
    //                <div class=\"jMenuBar\"> \
    //                <dl class=\"dropdown\"> \
    //                    <dt id=\"Zone-ddheader\" onmouseover=\"ddMenu('Zone',1)\" onmouseout=\"ddMenu('Zone',-1)\">New &nbsp &nbsp<span style=\"color:#797876\">|</span></dt> \
    //                    <dd id=\"Zone-ddcontent\" onmouseover=\"ddCancelHide('Zone')\" onmouseout=\"ddMenu('Zone',-1)\"> \
    //                    <ul> \
    //                    <li>" + nTableString + "</li> \
    //                    </ul> \
    //                </dl> \
    //                <dl class=\"dropdown\"> \
    //                    <dt id=\"Ztwo-ddheader\" onmouseover=\"ddMenu('Ztwo',1)\" onmouseout=\"ddMenu('Ztwo',-1)\">Interior &nbsp &nbsp<span style=\"color:#797876\">|</span></dt> \
    //                    <dd id=\"Ztwo-ddcontent\" onmouseover=\"ddCancelHide('Ztwo')\" onmouseout=\"ddMenu('Ztwo',-1)\"> \
    //                    <ul> \
    //                    <li>" + intTable + "</li> \
    //                    </ul> \
    //                </dl> \
    //                <dl class=\"dropdown\"> \
    //                    <dt id=\"Zthree-ddheader\" onmouseover=\"ddMenu('Zthree',1)\" onmouseout=\"ddMenu('Zthree',-1)\">Kitchen &nbsp &nbsp<span style=\"color:#797876\">|</span></dt> \
    //                    <dd id=\"Zthree-ddcontent\" onmouseover=\"ddCancelHide('Zthree')\" onmouseout=\"ddMenu('Zthree',-1)\"> \
    //                    <ul> \
    //                    <li>" + kitTable  + "</li> \
    //                    </ul> \
    //                </dl> \
    //                <dl class=\"dropdown\"> \
    //                    <dt id=\"Zfour-ddheader\" onmouseover=\"ddMenu('Zfour',1)\" onmouseout=\"ddMenu('Zfour',-1)\">Garden &nbsp &nbsp<span style=\"color:#797876\">|</span></dt> \
    //                    <dd id=\"Zfour-ddcontent\" onmouseover=\"ddCancelHide('Zfour')\" onmouseout=\"ddMenu('Zfour',-1)\"> \
    //                    <ul> \
    //                    <li>" + gdnTable  + "</li> \
    //                    </ul> \
    //                </dl> \
    //                </div>"
    //                
    //        //Replace standard Menu Area        
    //        $("#MenuBar").replaceWith(m);


    $('#flInterior').html('<h1><a href=\"/Neptune/Interiors.aspx\">Interior</h1>');
    $('#flGarden').html('<h1><a href=\"/Neptune/Gardens.aspx\">Garden</h1>');


}


function Right(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(iLen, iLen - n);
    }

}

function Left(str, n) {
    if (n <= 0)
        return "";
    else if (n > String(str).length)
        return str;
    else {
        var iLen = String(str).length;
        return String(str).substring(0, n);
    }
}

function vertCenter() {

    var contentHeight = $('#WidthFix').height();
    var viewportheight

    // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight

    if (typeof window.innerWidth != 'undefined') {
        viewportwidth = window.innerWidth,
      viewportheight = window.innerHeight
    }

    // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document)

    else if (typeof document.documentElement != 'undefined'
     && typeof document.documentElement.clientWidth !=
     'undefined' && document.documentElement.clientWidth != 0) {
        viewportwidth = document.documentElement.clientWidth,
       viewportheight = document.documentElement.clientHeight
    }

    // older versions of IE

    else {
        viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
       viewportheight = document.getElementsByTagName('body')[0].clientHeight
    }

    var topMargin = ((viewportheight - contentHeight) / 2) - ($('#HeadBanner').height() + 20);

    if (topMargin > 0) {
        $('#WidthFix').css('margin-top', topMargin);
    }
}
