//preload swap images to avoid later download delays
function preloadSwapImages()
{
    var doc=document;
    if (doc.images)
    { 
        if (!doc.aImg) doc.aImg = new Array();
            var i, iMax = doc.aImg.length, 
            args = preloadSwapImages.arguments;
            for (i = 0; i < args.length; i++)
            {
                doc.aImg[iMax] = new Image;
                doc.aImg[iMax++].src = args[i];
            }
    }
}

//replace original image with swap image
function changeImage()
{ 
    var img, iarg, args = changeImage.arguments, iswap = 0;
    document.aSwap = new Array;
    for (iarg = 0; iarg < (args.length - 2); iarg += 3)
        if ((img = getObj(args[iarg])) != null)
        {
            document.aSwap[iswap++] = img;
            if (!img.oSrc) img.oSrc = img.src;
            img.src = args[iarg + 2];
        }
}

//restore original image
function restoreImage()
{ 
    var i, img, aSwap = document.aSwap;
    for (i = 0; aSwap && (i < aSwap.length) 
            && (img = aSwap[i]) && img.oSrc; i++)
    {
        img.src = img.oSrc;
    }
}

//return named object from document
function getObj(str, doc)
{ 
    var i, pos, obj;
    if (!doc) doc = document;
    if (((pos = str.indexOf("?")) > 0) && parent.frames.length)
    {
        doc = parent.frames[str.substring(pos + 1)].document;
        str = str.substring(0, pos);
    }
    if (!(obj = doc[str]) && doc.all)
    {
        obj = doc.all[str];
    }
    for (i = 0; !obj && (i < doc.forms.length); i++)
    {
        obj = doc.forms[i][str];
    }
    for (i = 0; !obj && doc.layers && (i < doc.layers.length); i++)
    {
        obj = getObj(str, doc.layers[i].document);
    }
        return obj;
}

//submit ASP.NET form
function __doSubmit()
{
    var theform = document.Form1;
    theform.submit();
}
