<!--

    //////////////////////////////////////////////////////////////////////////
    //
    //  Copyright (c) 2003-2007, Levyco Development, LLC.
    //  All rights are reserved.
    //
    //////////////////////////////////////////////////////////////////////////
    

    // globals
    
    var curFocus = "";
    var clientBrowser = "";
    var clientVersion = 0;
    var ua = navigator.appName;
    var ver = parseInt(navigator.appVersion);
    var refIn = "";
    var refOut = "";
    var trackerCount = 0;    
    var trackerFlag = false;
    var trackerKeys = new Array(100);
    var trackerData = new Array(100);
    
    
    // determine the browser information
    
    if ((ua == "Netscape") && (ver < 5)) {
        refIn = "document.layers['";
        refOut = "']";
        refOutStyle = "";
        clientBrowser = "NN";
        clientVersion = ver;
    }
    else if ((ua == "Netscape") && (ver >= 5)) {
        refIn = "document.getElementById('";
        refOut = "')";
        refOutStyle = ".style";
        clientBrowser = "NN";
        clientVersion = ver;
    }
    else if ((ua == "IE") && (ver >= 6)) {
        refIn = "document.getElementById('";
        refOut = "')";
        refOutStyle = ".style";
        clientBrowser = "IE";
        clientVersion = ver;
    }
    else {
        refIn = "document.all['";
        refOut = "']";
        refOutStyle = ".style";
        clientBrowser = "IE";
        clientVersion = ver;
    }
    

    // screen action code
    
    var infoPage = 0;
    var rollH;
    var rollW;
    var rollSpeed = 25;
    var rollDelta = 50;
    
    function showpop (ptr) {
    
        var slider = getElement('slider');

        infoPage = ptr;
        rollH = 15;
        rollW = 110;
        slider.height = rollH;
        slider.width = rollW;
        getElementStyle('sliderwin').visibility = "visible";
        process();
        
    }
    
    function hidepop () {
    
        getElementStyle('infotab').visibility = "hidden";
        getElement("infoframe").src = "blank.html";
        getElementStyle('info').visibility = "hidden";
        
    }
    
    function caption (obj, msg) {
    
        // change the caption for the rollovers
        
        getElementStyle('cell'+obj).background = "#" + (msg==''?"A3001C":"cccccc");
        getElementStyle('cell'+obj).background = "#" + (msg==''?"A3001C":"cccccc");
        getElement('popcaption').innerHTML = msg;
        
    }
    
    function process () {
    
        var slider = getElement('slider');

        rollH += rollDelta;
        rollW += rollDelta;
        slider.height = rollH;
        slider.width = rollW;

        if (rollH >= 615) {
            getElementStyle('info').visibility = "visible";
            getElementStyle('sliderwin').visibility = "hidden";
            getElement("infoframe").src = "info" + infoPage + ".html";
            getElementStyle('infotab').visibility = "visible";
        }
        else {
            rollTimer = window.setTimeout ('process()', rollSpeed);
        }
                    
    }

    function rollout (blip) {
    
        rollCount = 0;
        rollDir = 1;
        rollBlip = blip;
        rollTimer = window.setTimeout ('process()', rollSpeed);
        
    }
    
    function rollback () {
    
        rollCount = 0;
        rollDir = 2;
        rollTimer = window.setTimeout ('process()', rollSpeed);

    }
    
    // function to set the focus on a form
    
    function setupForm () {
    
        // see if we have at least one form on this page
        
        if (document.forms[0]) {
            var i;
            var count = document.forms[0].elements.length;
            if (count > 0) {
                for (i=0; i<count; i++) {
                    try {
                        document.forms[0].elements[0].focus();
                        return;
                    } catch (e) {}
                }
            }
        }
        
    }    

    
    // init the tracker
    
    trackerInit();

    
    // listbox key tracker functions
    
    function trackerInit () {
        var i;
        for (i=0; i<100; i++) {
            trackerKeys[i] = "";
            trackerData[i] = "";
        }
    }

    function trackerAdd (objName) {
        if (trackerCount < 100) {
            trackerKeys[trackerCount] = objName;
            trackerData[trackerCount] = "";
            ++trackerCount;
        }
    }
            
    function trackerFind (objName) {
        var i;
        for (i=0; i<trackerCount; i++) {
            if (trackerKeys[i] == objName) {
                return (i);
            }
        }
        return (-1);
    }

    function trackerReset (objName) {
        var p = trackerFind(objName);
        if (p < 0) {
            trackerAdd (objName);
        }
        else {
            trackerData[p] = "";
        }
    }

    function trackerTrack (objName, listbox) {
        var i;
        var n;
        var listStr;
        var trackStr;
        var count;
        var found = -1;
        var c;
        var p = trackerFind(objName);
        if (p >= 0) {
            if (clientBrowser == "IE") {
                c = (event.keyCode >= 32 ? String.fromCharCode(event.keyCode) : "");
                //event.keyCode = 0;
            }
            else {
                c = (event.which >= 32 ? String.fromCharCode(event.which) : "");
                //event.which = 0;
            }
            if (c == "") {
                trackerReset(objName);
                return (true);
            }
            trackerData[p] = trackerData[p] + c;
            trackStr = new String (trackerData[p]);
            n = trackStr.length;
            trackStr = trackStr.toLowerCase();
            count = listbox.length;
            for (i=0; (i<count) && (found<0); i++) {
                listStr = new String(listbox.options[i].text);
                listStr = listStr.toLowerCase();
                if (trackStr == listStr.substr(0,n)) {
                    found = i;
                }
            }
            if (found >= 0) {
                listbox.selectedIndex = found;
            }
        }
        return (false);
    }

    
    // dom helper functions

    function getElementStyle (name) {
        return (eval(refIn + name + refOut + refOutStyle));
    }

    function getElement (name) {
        return (eval(refIn + name + refOut));
    }
    
    
    // AJAX FUNCTIONS
    
    var AJAX_alive = false;
    var AJAX;
    
    AJAX_init();
    
    function AJAX_init () {
    
        // let's assume we will get ajax initialized
        
        AJAX_alive = true;
        
        // see if we are IE
        
        if (clientBrowser == "IE") {

            // try getting the latest and greatest object type from MS
            
            try {
                AJAX = new ActiveXObject("Msxml2.XMLHTTP");
            }
            
            // if we can't get that, try the old standby object (older versions of IE)
            
            catch (e) {
                
                try {
                    AJAX = new ActiveXObject("Microsoft.XMLHTTP");
                }
                
                // if we still have an error, the ajax won't work at all
                
                catch (E) {
                    AJAX_alive = false;
                }
                
            }

        }
        
        // the we must be Firefox, Netscape, Mozilla, etc
        
        else {
  
            // try to get ajax going in a non-activex way
            
            if (typeof XMLHttpRequest != 'undefined') {

                // assume we'll get it initialized
                
                AJAX_alive = true;
                
                // try to init the object
                
                try {
                    AJAX = new XMLHttpRequest();
                }
                
                // if an error occurs, we can't get ajax going here either
                
                catch (e) {
                    AJAX_alive = false;
                }
                
            }

        }
        
    }
    
    function AJAX_get (url, completionHook) {
    
        // execute the call to the server, if possible
        
        if (AJAX_alive) {
            eval ("AJAX.onReadyStateChange = " + completionHook);
            AJAX.open ("GET", url, true);
            AJAX.send (null);
        }
        else {
            window.alert ("AJAX Error!");
        }
            
    }
    
//-->
