﻿// JScript File

function toggleNavigator(evt, sectionBody, viewText, hideText, toggleCtl2)
{
    var el = getSrcElement(evt);
    if (el!=null) 
        el.innerHTML == viewText? el.innerHTML = hideText : el.innerHTML = viewText;
    
    if (toggleCtl2!=null)
    {
        el = document.getElementById(toggleCtl2);
        if (el!=null)
            el.innerHTML == viewText? el.innerHTML = hideText : el.innerHTML = viewText;
    }
    
    var sect = document.getElementById(sectionBody);
    if(sect.style.display == 'none')
    {
        sect.style.display = 'block';
    }
    else
    {
        sect.style.display = 'none';        
    }
}

function getSrcElement(evt) {
    if (window.event)
        return window.event.srcElement;
    else if (evt && evt.target) {
        if (typeof evt.target.nodeType == 'undefined')
            return evt.target;
        else if (evt.target.nodeType == 3)
            return evt.target.parentNode;
        else
            return evt.target;
    }
}

function createNavigatorLink(navigator) {
    var anchor = document.createElement('a');
    anchor.setAttribute('target', '_self');
    anchor.setAttribute('href', navigator[2]);
    anchor.setAttribute('title', navigator[0]);
    var anchorText = document.createTextNode(navigator[3]);
    anchor.appendChild(anchorText);
    var span = document.createElement('span');
    span.appendChild(anchor);
    var spanText = document.createTextNode(' (' + navigator[1] + ')');
    span.appendChild(spanText);

    return span;    
}

function drawNavigator(displayCount, mainBody, toggleBody, values) {
    var divTop = document.getElementById(mainBody);
    if (divTop != null) {
        var div1 = document.createElement('div');

        for (i = 0; i < values.length; i++) {
            if (i == displayCount)
                break;
                
            div1.appendChild(createNavigatorLink(values[i]));    
        }

        if (values.length > displayCount) {
            var divBottom = document.getElementById(toggleBody);
            if (divBottom != null) {
                var div2 = document.createElement('div2')
                for (i = displayCount; i < values.length; i++) {
                    div2.appendChild(createNavigatorLink(values[i]));
                }
            }
        }

        divTop.innerHTML = div1.innerHTML;
        if (divBottom != null && div2 != null)
            divBottom.innerHTML = div2.innerHTML;
    }    
}

function sortNavigator(evt, alphaText, numericText, displayCount, mainBody, toggleBody, values) {
    var el = getSrcElement(evt);
    if (el != null) {
        if (el.innerHTML == numericText) {
            el.innerHTML = alphaText;
            values.sort(sortByNumber)
        }
        else {
            el.innerHTML = numericText;
            values.sort(sortByName)
        }
    }

    drawNavigator(displayCount, mainBody, toggleBody, values);
}

function sortByName(a, b) {
    var x = a[0].toLowerCase();
    var y = b[0].toLowerCase();
    return ((x < y) ? -1 : ((x > y) ? 1 : 0));
}

function sortByNumber(a, b) {
    var x = a[1];
    var y = b[1];
    return ((x > y) ? -1 : ((x < y) ? 1 : 0));
}

