﻿function RandomBannerPreload(ImageArray) {
    var RandomBannerPreload = new Array(ImageArray.length);
    for (i = 0; i < ImageArray.length; i++) {
        RandomBannerPreload[i] = new Image();
        RandomBannerPreload[i].src = ImageArray[i];
    }
}

function RandomBannerGetNextSrc(ImageObject, ImageArray) {
    var NewImageIndex = Math.floor(Math.random() * (ImageArray.length));
    var NewImageSrc = ImageArray[NewImageIndex];
    if (ImageObject.src.indexOf(NewImageSrc) >= 0) {
        if (NewImageIndex == ImageArray.length-1) {
            NewImageIndex -= 1;
        } else {
            NewImageIndex += 1;
        }
        NewImageSrc = ImageArray[NewImageIndex];
    }
    if (NewImageSrc==undefined && ImageArray.length>1) {
        // on the off chance that the image is undefined...
        NewImageSrc = RandomBannerGetNextSrc(ImageObject, ImageArray);
    }
	
    return NewImageSrc;
}

function RandomBannerNewImage(ImageObject, ImageArray) {
    var NewImageObject = new Element('img');
    var ImageObjectParent = ImageObject.up(0);

    var leftPadding = parseInt( ImageObjectParent.getStyle('padding-left') );
    var rightPadding = parseInt( ImageObjectParent.getStyle('padding-right') );
    var topPadding = parseInt( ImageObjectParent.getStyle('padding-top') );
	
    NewImageObject.src = RandomBannerGetNextSrc(ImageObject, ImageArray);
    
    NewImageObject.setStyle({ position: 'absolute' });

    if (ImageObject.getStyle('top') == null) {
        NewImageObject.setStyle({ top: topPadding + 'px' });
    } else {
        NewImageObject.setStyle({ top: (parseInt( ImageObject.getStyle('top') ) + topPadding) + 'px' });
    }

    if (ImageObjectParent.getStyle('text-align') == 'center') {
        var iNewLeft = parseInt((ImageObjectParent.getWidth() - ImageObject.getWidth() + leftPadding) / 2);
        NewImageObject.setStyle({ left: iNewLeft + 'px' });
    } else if (ImageObjectParent.getStyle('text-align') == 'right') {
        NewImageObject.setStyle({ right: rightPadding + 'px' });
    } else {
        if (ImageObject.getStyle('left') == null) {
            NewImageObject.setStyle({ left: leftPadding + 'px' });
        } else {
            NewImageObject.setStyle({ left: (ImageObject.getStyle('left') + leftPadding) + 'px' });
        }
    }
    
    NewImageObject.hide();
    ImageObjectParent.insert(NewImageObject);

    return NewImageObject;
}

function RandomBannerRemoveSibling(ImageObject) {
    ImageObject.src = ImageObject.next(0).src;
    setTimeout(function() {
        ImageObject.next(0).remove();
    }, 500);
}

