// file:        navigation.js
// name:        navigation
// purpose:     load and xml document to textarea
// params:      none
// returns:     void, places xml in text area
// dev:         mcd
// date:        2008-06-14
// date:        2008-07-02: mcd: modified to pull xslt files in IE6 compatible way
function navigationDhtmlLoad() {
    executeWhenLoaded(navigationXhtml, "navigationXmlTextArea", "navigationXslTextArea", "mapXmlTextArea", "mapXslTextArea", "breadCrumbXslTextArea");
    //this requires the /myjs/xmlextras.js function
    var bAsync = true;
    var sUri = "/xml/menu.xml";
    loadXmlFile(sUri, bAsync, "plainText", "navigationXmlTextArea");
    sUri = "/xml/menu.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "navigationXslTextArea");
    sUri = "/xml/map.xml";
    loadXmlFile(sUri, bAsync, "plainText", "mapXmlTextArea");
    sUri = "/xml/map.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "mapXslTextArea");
    sUri = "/xml/breadcrumb.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "breadCrumbXslTextArea");
    sUri = "/xml/moduleRight.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "moduleRightXslTextArea");
    sUri = "/xml/moduleRight.xml";
    loadXmlFile(sUri, bAsync, "plainText", "moduleRightXmlTextArea");
    sUri = "/xml/moduleTop.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "moduleTopXslTextArea");
    sUri = "/xml/moduleTop.xml";
    loadXmlFile(sUri, bAsync, "plainText", "moduleTopXmlTextArea");
    sUri = "/xml/moduleContentFooter.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "moduleContentFooterXslTextArea");
    sUri = "/xml/moduleContentFooter.xml";
    loadXmlFile(sUri, bAsync, "plainText", "moduleContentFooterXmlTextArea");
    sUri = "/xml/moduleFooter.xslt";
    loadXmlFile(sUri, bAsync, "plainText", "moduleFooterXslTextArea");
    sUri = "/xml/moduleFooter.xml";
    loadXmlFile(sUri, bAsync, "plainText", "moduleFooterXmlTextArea");
}


// name:        navigationXhtml
// purpose:     render XHtml after all documents are pulled as polled by executeWhenLoaded
//              function and FFD[] global variable
// params:      none, this is a callback function of 'executeWhenLoaded'
// returns:     null, renders to output
// dev:         mcd
// date:        2008-07-02
function navigationXhtml() {
    //top tabs
    var mapDiv = document.getElementById("mapDhtml");
    var menuItem = document.getElementById("menuSelection").value;
    var navigationXmlDoc = XmlDocument.create();
    navigationXmlDoc.loadXML(document.getElementById("navigationXmlTextArea").value);
    var navigationXslDoc = XmlDocument.create();
    navigationXslDoc.loadXML(document.getElementById("navigationXslTextArea").value);
    var theParams = new MultiDimensionalArray(1, 2);
    theParams[0][0] = "itemSelected";
    theParams[0][1] = "'" + menuItem + "'";
    var navigationXHtml = transformXbrowserWithParam(navigationXmlDoc, navigationXslDoc, theParams)
    document.getElementById("navigationDhtml").innerHTML = navigationXHtml;
    //right hand navigation
    var rightNavDiv = document.getElementById("moduleRightNavigation");
    var rightNavItem = document.getElementById("moduleRightNavigationGroupCode").value;
    var rightNavXmlDoc = XmlDocument.create();
    rightNavXmlDoc.loadXML(document.getElementById("moduleRightXmlTextArea").value);
    theParams[0][0] = "groupCode";
    theParams[0][1] = "'" + rightNavItem + "'";
    var rightNavXslDoc = XmlDocument.create();
    rightNavXslDoc.loadXML(document.getElementById("moduleRightXslTextArea").value);
    rightNavHtml = transformXbrowserWithParam(rightNavXmlDoc, rightNavXslDoc, theParams);
    rightNavDiv.innerHTML = rightNavHtml;
    //top links
    var topNavDiv = document.getElementById("moduleTopNavigation");
    var topNavItem = document.getElementById("moduleTopNavigationGroupCode").value;
    var topNavXmlDoc = XmlDocument.create();
    topNavXmlDoc.loadXML(document.getElementById("moduleTopXmlTextArea").value);
    theParams[0][0] = "groupCode";
    theParams[0][1] = "'" + topNavItem + "'";
    var topNavXslDoc = XmlDocument.create();
    topNavXslDoc.loadXML(document.getElementById("moduleTopXslTextArea").value);
    topNavHtml = transformXbrowserWithParam(topNavXmlDoc, topNavXslDoc, theParams);
    topNavDiv.innerHTML = topNavHtml;
    //content footer
    var contentFooterDiv = document.getElementById("moduleContentFooterDiv");
    var contentFooterItem = document.getElementById("moduleContentFooterGroupCode").value;
    var contentFooterXmlDoc = XmlDocument.create();
    contentFooterXmlDoc.loadXML(document.getElementById("moduleContentFooterXmlTextArea").value);
    theParams[0][0] = "groupCode";
    theParams[0][1] = "'" + contentFooterItem + "'";
    var contentFooterXslDoc = XmlDocument.create();
    contentFooterXslDoc.loadXML(document.getElementById("moduleContentFooterXslTextArea").value);
    contentFooterHtml = transformXbrowserWithParam(contentFooterXmlDoc, contentFooterXslDoc, theParams);
    contentFooterDiv.innerHTML = contentFooterHtml;
    //alert(contentFooterHtml);
    //footer
    var footerDiv = document.getElementById("moduleFooterDiv");
    var footerItem = document.getElementById("moduleFooterGroupCode").value;
    var footerXmlDoc = XmlDocument.create();
    footerXmlDoc.loadXML(document.getElementById("moduleFooterXmlTextArea").value);
    theParams[0][0] = "groupCode";
    theParams[0][1] = "'" + footerItem + "'";
    var footerXslDoc = XmlDocument.create();
    footerXslDoc.loadXML(document.getElementById("moduleFooterXslTextArea").value);
    footerHtml = transformXbrowserWithParam(footerXmlDoc, footerXslDoc, theParams);
    footerDiv.innerHTML = footerHtml;
    //map (optional for some pages like the home page)
    if (menuItem.length == 0) {
        mapDiv.style.display = "none";
        return;
    }
    var mapXmlDoc = XmlDocument.create();
    mapXmlDoc.loadXML(document.getElementById("mapXmlTextArea").value);
    var mapXslDoc = XmlDocument.create();
    mapXslDoc.loadXML(document.getElementById("mapXslTextArea").value);
    theParams[0][0] = "itemSelected";
    theParams[0][1] = "'" + menuItem + "'";
    mapXHtml = transformXbrowserWithParam(mapXmlDoc, mapXslDoc, theParams)
    mapDiv.innerHTML = mapXHtml;
    //alert(mapXHtml);
    //breadcrumb
    var crumbDiv = document.getElementById("breadcrumbDiv");
    var crumbItem = document.getElementById("crumbSelection").value;
     theParams[0][0] = "id";
    theParams[0][1] = "'" + crumbItem + "'";
    var crumbXslDoc = XmlDocument.create();
    crumbXslDoc.loadXML(document.getElementById("breadCrumbXslTextArea").value);
    crumbXHtml = transformXbrowserWithParam(mapXmlDoc, crumbXslDoc, theParams);
    crumbDiv.innerHTML = crumbXHtml;
}

