﻿function NextSibling(obj)
{
    var retVal = obj.nextSibling;
    while (retVal && retVal.nodeType != 1) 
    {
        retVal = retVal.nextSibling;
    }
    return retVal;
}
function PreviousSibling(obj)
{
    var retVal = obj.previousSibling;
    while (retVal && retVal.nodeType != 1) 
    {
        retVal = retVal.previousSibling;
    }
    return retVal;
}
function LastChild(obj)
{
    var retVal = obj.lastChild;
    while (retVal && retVal.nodeType != 1) 
    {
        retVal = retVal.previousSibling;
    }
    return retVal;
}
function FirstChild(obj)
{
    var retVal = obj.firstChild;
    while (retVal && retVal.nodeType != 1) 
    {
        retVal = retVal.nextSibling;
    }
    return retVal;
}


function MenuImage()
{
    this.img = new Image();
    this.ctrl = "";
    this.originalSrc = "";
}

function preloadImages()
{
    var i, args;
    if(!document.preloadedImages)
    { 
        document.preloadedImages = new Array();
    }
    
    args = preloadImages.arguments;
    for(i=0; i < args.length; i++)
    {
        document.preloadedImages[i] = new MenuImage();
        document.preloadedImages[i].img.src = args[i];
    }
}
function restoreImages()
{
    for(var i = 0; i < document.preloadedImages.length; i++)
    {
        if(document.preloadedImages[i].ctrl.length > 0)
        {
            var obj = document.getElementById(document.preloadedImages[i].ctrl);
            obj = FirstChild(obj);
            obj.src = document.preloadedImages[i].originalSrc;
            document.preloadedImages[i].originalSrc = "";
            document.preloadedImages[i].ctrl = "";
        }
    }
}
function swapImages(obj, index)
{
    if(document.preloadedImages == null) return;
    document.preloadedImages[index].ctrl = obj.id;
    obj = FirstChild(obj);
    document.preloadedImages[index].originalSrc = obj.src;
    obj.src = document.preloadedImages[index].img.src;
}

