﻿function addLoadEvent(func)
{
    var oldonload = window.onload;
    if (typeof window.onload != 'function')
    {
        window.onload = func;
    }
    else
    {
        window.onload = function()
        {
            if (oldonload)
            {
                oldonload();
            }
            func();
        }
    }
}

function selectRedirect(selectObject, openInNewWindow)
{
    var returnValue = false;
    if (selectObject.value.length > 0)
    {
        if (openInNewWindow)
        {
            selectObject.form.action = selectObject.value;
            selectObject.form.target = '_blank';
            selectObject.form.submit();
            returnValue = true;
        }
        else
        {
            selectObject.form.target = '_self';
            document.location = selectObject.value;
        }
    }
    
    return returnValue;
}

var mouseOverImages = new Object();

function setupMouseOvers()
{
    var images = document.getElementsByTagName('img');
    for (var i = 0;i < images.length;i++)
    {
        if (images[i].className.indexOf('mouseover|') == 0)
        {
            if (!images[i].id || images[i].id.length == 0)
            {
                images[i].id = 'mouseover_image' + i;
            }
            
            var newSrc = images[i].className.split('|')[1];
            
            mouseOverImages[images[i].id] = new MouseOverImage(images[i].id, images[i].src, newSrc);
            images[i].onmouseover = function()
            {
                mouseOverImages[this.id].Swap();
            }
            images[i].onmouseout = function()
            {
                mouseOverImages[this.id].Swap();
            }
        }
    }
    
    var imageButtons = document.getElementsByTagName('input');
    for (var i = 0;i < imageButtons.length;i++)
    {
        if (imageButtons[i].type == 'image' && imageButtons[i].className.indexOf('mouseover|') == 0)
        {
            if (!imageButtons[i].id || imageButtons[i].id.length == 0)
            {
                imageButtons[i].id = 'mouseover_image' + i;
            }
            
            var newSrc = imageButtons[i].className.split('|')[1];
            
            mouseOverImages[imageButtons[i].id] = new MouseOverImage(imageButtons[i].id, imageButtons[i].src, newSrc);
            imageButtons[i].onmouseover = function()
            {
                mouseOverImages[this.id].Swap();
            }
            imageButtons[i].onmouseout = function()
            {
                mouseOverImages[this.id].Swap();
            }
        }
    }
    
    var mapAreas = document.getElementsByTagName('area');
    for (var i = 0;i < mapAreas.length;i++)
    {
        if (mapAreas[i].className.indexOf('mouseover|') == 0)
        {
            mapAreas[i].id = 'maparea' + i;
            
            var strClassSplit = mapAreas[i].className.split('|');
            
            var newSrc = strClassSplit[1];
            var imageId = strClassSplit[2];
            var imageSrc = document.getElementById(imageId).src;
                       
            mouseOverImages[mapAreas[i].id] = new MouseOverImage(imageId, imageSrc, newSrc);
            mapAreas[i].onmouseover = function()
            {
                mouseOverImages[this.id].Swap();
            }
            mapAreas[i].onmouseout = function()
            {
                mouseOverImages[this.id].Swap();
            }
        }
    }
}

function MouseOverImage(id, src, newSrc)
{
    this.id = id;
    this.src = src;
    this.newSrc = src.substr(0, src.lastIndexOf('/') + 1) + newSrc;
    this.newImage = new Image();
    this.newImage.src = this.newSrc;
    
    this.Swap = function()
    {                
        $(id).src = ($(id).src == this.src) ? this.newImage.src: this.src;
   }
}

function commonStartup()
{
    $('quickLaunchContainer').style.visibility = 'visible';
}

addLoadEvent(commonStartup);
addLoadEvent(setupMouseOvers);

try
{
    document.execCommand("BackgroundImageCache", false, true);
}
catch(err)
{}
