<!--

/* Script provided by DesignKuda

 * http://www.designkuda.com

 * for use on Tulsa Stained Glass family of sites

 */

fixedMenuId = 'fixeddiv';



var fixedMenu = 

{

    hasInner: typeof(window.innerWidth) == 'number',

    hasElement: document.documentElement != null

       && document.documentElement.clientWidth,



    menu: document.getElementById

        ? document.getElementById(fixedMenuId)

        : document.all

          ? document.all[fixedMenuId]

          : document.layers[fixedMenuId]

};



fixedMenu.computeShifts = function()

{

    fixedMenu.shiftX = fixedMenu.hasInner

        ? pageXOffset

        : fixedMenu.hasElement

          ? document.documentElement.scrollLeft

          : document.body.scrollLeft;

    if (fixedMenu.targetLeft > 0)

        fixedMenu.shiftX += fixedMenu.targetLeft;

    else

    {

        fixedMenu.shiftX += 

            (fixedMenu.hasElement

              ? document.documentElement.clientWidth

              : fixedMenu.hasInner

                ? window.innerWidth - 20

                : document.body.clientWidth)

            - fixedMenu.targetRight

            - fixedMenu.menu.offsetWidth;

    }



    fixedMenu.shiftY = fixedMenu.hasInner

        ? pageYOffset

        : fixedMenu.hasElement

          ? document.documentElement.scrollTop

          : document.body.scrollTop;

    if (fixedMenu.targetTop > 0)

        fixedMenu.shiftY += fixedMenu.targetTop;

    else

    {

        fixedMenu.shiftY += 

            (fixedMenu.hasElement

            ? document.documentElement.clientHeight

            : fixedMenu.hasInner

              ? window.innerHeight - 20

              : document.body.clientHeight)

            - fixedMenu.targetBottom

            - fixedMenu.menu.offsetHeight;

    }

};



fixedMenu.moveMenu = function()

{

    fixedMenu.computeShifts();



    if (fixedMenu.currentX != fixedMenu.shiftX

        || fixedMenu.currentY != fixedMenu.shiftY)

    {

        fixedMenu.currentX = fixedMenu.shiftX;

        fixedMenu.currentY = fixedMenu.shiftY;



        if (document.layers)

        {

            fixedMenu.menu.left = fixedMenu.currentX;

            fixedMenu.menu.top = fixedMenu.currentY;

        }

        else

        {

            fixedMenu.menu.style.left = fixedMenu.currentX + 'px';

            fixedMenu.menu.style.top = fixedMenu.currentY + 'px';

        }

    }



    fixedMenu.menu.style.right = '';

    fixedMenu.menu.style.bottom = '';

};



fixedMenu.floatMenu = function()

{

    fixedMenu.moveMenu();

    setTimeout('fixedMenu.floatMenu()', 20);

};



// addEvent designed by Aaron Moore

fixedMenu.addEvent = function(element, listener, handler)

{

    if(typeof element[listener] != 'function' || 

       typeof element[listener + '_num'] == 'undefined')

    {

        element[listener + '_num'] = 0;

        if (typeof element[listener] == 'function')

        {

            element[listener + 0] = element[listener];

            element[listener + '_num']++;

        }

        element[listener] = function(e)

        {

            var r = true;

            e = (e) ? e : window.event;

            for(var i = 0; i < element[listener + '_num']; i++)

                if(element[listener + i](e) === false)

                    r = false;

            return r;

        }

    }



    //if handler is not already stored, assign it

    for(var i = 0; i < element[listener + '_num']; i++)

        if(element[listener + i] == handler)

            return;

    element[listener + element[listener + '_num']] = handler;

    element[listener + '_num']++;

};



fixedMenu.supportsFixed = function()

{

    var testDiv = document.createElement("div");

    testDiv.id = "testingPositionFixed";

    testDiv.style.position = "fixed";

    testDiv.style.top = "0px";

    testDiv.style.right = "0px";

    document.body.appendChild(testDiv);

    var offset = 1;

    if (typeof testDiv.offsetTop == "number"

        && testDiv.offsetTop != null 

        && testDiv.offsetTop != "undefined")

    {

        offset = parseInt(testDiv.offsetTop);

    }

    if (offset == 0)

    {

        return true;

    }



    return false;

};



fixedMenu.init = function()

{

    if (fixedMenu.supportsFixed())

        fixedMenu.menu.style.position = "fixed";

    else

    {

        var ob = 

            document.layers 

            ? fixedMenu.menu 

            : fixedMenu.menu.style;



        fixedMenu.targetLeft = parseInt(ob.left);

        fixedMenu.targetTop = parseInt(ob.top);

        fixedMenu.targetRight = parseInt(ob.right);

        fixedMenu.targetBottom = parseInt(ob.bottom);



        if (document.layers)

        {

            menu.left = 0;

            menu.top = 0;

        }

        fixedMenu.addEvent(window, 'onscroll', fixedMenu.moveMenu);

        fixedMenu.floatMenu();

    }

};



fixedMenu.addEvent(window, 'onload', fixedMenu.init);
