﻿/// <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();
    }
}

/// OLD Code
// // This function preloads the images
//function preloadImages(pics,width,height) {

//    var images = new Array;

//    for (var picNum=0; picNum<pics.length; picNum++) {
//        images[picNum] = new Image(width,height);
//        images[picNum].src = pics[picNum];		
//        
//    }
//    return(images);
//}
