var arrImgPreloads = new Array();
var arrSwapImgBuf  = new Array();

function addToSwapBuffer(strPreloadID, strMouseOverImageSrc, strMouseOutImageSrc)
{
    arrSwapImgBuf[arrSwapImgBuf.length++] = new Array(strPreloadID,  strMouseOverImageSrc, strMouseOutImageSrc);
}

function preloadSwapImages()
{
    for (i=0; i<arrSwapImgBuf.length; i++)
    {
        arrImgPreloads[i]    = new Array();
        arrImgPreloads[i][0] = arrSwapImgBuf[i][0];
        arrImgPreloads[i][1] = new Image(); arrImgPreloads[i][1].src = arrSwapImgBuf[i][1];
        arrImgPreloads[i][2] = new Image(); arrImgPreloads[i][2].src = arrSwapImgBuf[i][2];
    }
}

function swapImage(strSourceID, strImageRollOverID, blnIsMouseOver)
{
	var objImg = document.getElementById(strSourceID);
	var objImgRollOver;
	if (objImg != null)
	{
		objImgRollOver = getRollOverImageObject(strImageRollOverID, blnIsMouseOver);
		if (objImgRollOver != null)
			objImg.src = objImgRollOver.src;
	}
}

function getRollOverImageObject(strImageRollOverID, blnIsMouseOver)
{
    var objPreloadedImage = null;
    for (var i=0; i<arrImgPreloads.length; i++)
    {
        if (arrImgPreloads[i][0] == strImageRollOverID)
        {
            objPreloadedImage = (blnIsMouseOver) ? arrImgPreloads[i][2] : arrImgPreloads[i][1];
            break;
        }
    }
    return objPreloadedImage;
}
