﻿//  Author  :   Stuart Dodd BSc
//  Created :   18/08/2008
//  Updated :   15/09/2008

var xmlMenuDoc;

function buildMenu() {
    var menuPlace = document.getElementById("menuPlace");
    var xmlRoot = xmlMenuDoc.documentElement;
    var xmlNodes = xmlRoot.getElementsByTagName("a");
    var i = 0;
    var isIE = (gBrowser.indexOf("MSIE") > 0);
    
    //This is an IE7 Hack
    if (isIE) {
        menuPlace = menuPlace.lastChild;
    }
    
    //Loop through the link nodes do build the menu
    
    for (i = 0; i < xmlNodes.length; i++) {
        var objRow = document.createElement("tr");
        var cell1 = document.createElement("td");
        var cell2 = document.createElement("td");
        var imgA = document.createElement("img");
        imgA.src = "images/bd14578_.gif";
        imgA.width = "15";
        imgA.height = "15";
        imgA.border = "0";
        cell1.width = "17";
        cell2.width = "113";
        cell1.appendChild(imgA);
        objRow.appendChild(cell1);
        var aNode = document.createElement("a");
        if (isIE) {
            aNode.href = xmlRoot.childNodes[i].getAttribute("href");
            aNode.innerHTML = xmlRoot.childNodes[i].firstChild.data;
        } else {
            aNode.href = xmlNodes[i].getAttribute("href");
            aNode.innerHTML = xmlNodes[i].firstChild.nodeValue;
        }
//        aNode.className = "menu";
        cell2.appendChild(aNode);
        objRow.appendChild(cell2);
        menuPlace.appendChild(objRow);
    }
}

function cacheXMLMenuDoc() {
    var ready = gMenuRequest.readyState;
    var status = gMenuRequest.status;
    
    if (gMenuRequest.readyState == 4) {
        if (gMenuRequest.status == 200) {
            // Process Response Here
            xmlMenuDoc = gMenuRequest.responseXML;
            buildMenu();
            gMenuRequest = null;
            gMenuRequest = createXMLHttpRequest();
        } else {
            alert("An Error Occured whilst processing your request: \n" + grequest.statusText);
        }
    }
}

