﻿/// <summary>
///     Product:        Enewspaper
///     Classname:    	Image Preloader
///     Version:        1.2.0
///     Programmer:     Hamid Saberi
///     Purpose: 
///         The class implement image preloader object.
///
///     Copyright 2009 by DHypermedia.UIGroup. All Rights Reserved. 
/// </summary>
/// <IsMultiEdition>True</IsMultiEdition>
/// <classVersion>002</classVersion>
/// <EditingHistory>
///     Name:       Soren
///     Date:       07 May, 2009
///     Reason of change :
///         Creation of Class
/// </EditingHistory>
function imagePreloader() { 
    var _image = new Image();
    var _imgUrls = new Array();

    //Initialising...
    _image.onload = _loadNextImage;

    //Private Method: Loads next registered image.
    function _loadNextImage() {
        if (_imgUrls.length > 0)
            _image.src = _imgUrls.pop();
    }

    //Public Method: Registers an image url in preloading list.
    this.registerImage = function(url) {
        _imgUrls.push(url);
    }

    //Public Method: Starts preloading register images.
    this.start = function() {
        _loadNextImage();
    }
}
