/**
 * Extensions to the Image object
 * 
 * 
 * @author Michael Mifsud
 * @package javascript
 */


// Static Methods

/**
 * Preload an array of image urls
 *
 * @param array images - An array of image urls
 */
Image_preloadArray = function(images) 
{
    var length = images.length;
    
    var tmp = new Image;
    for(var i = 0; i < length; i++) {
        tmp.src = images[i];
    }
}

/**
 * Swap an image to the url supplied in src.
 * 
 * 
 * @param Image img - The image object
 * @param string src - The new image url
 * @param string disableSrc - (optional) A url to the disabled ver of this image.
 */
Image_swapImage = function(img, src) 
{
    var disableSrc = arguments[2] ? arguments[2] : null;
    
    if (disableSrc != null && img.disabled) {
        img.src = disableSrc;
        return false;
    } else {
        img.src = src;
        return true;
    }
}

/**
 * Disable/enable a form image button, should work for non-form images too.
 * 
 * @param string btnId - id of button element.
 * @param bool state - true = disabled.
 */
Image_changeState = function(btnId, state) 
{
    btn = getElementById(btnId);
    btn.disabled = state;
    btn.onmouseout();
}