﻿/*****************************************
    Image Preloader Version 1.2.0
    Copyright:      Hypermedia.UIGroup
    Programer:      Hamid Saberi
    Proposed:       10/11/87 - 29/01/2009
    Last Change:    25/11/87 - 14/02/2009
******************************************/

/*************Developer Manual************
    
Flow this steps to preload any list of images:
1- Instanciate an inamePreloader object. like this:
    var imgP = new imagePreloader();
2- Register as many as iamges you would like. some thing like this:
    imgP.registerImage("../Images/1.jpg");
    imgP.registerImage("http://l.yimg.com/a/i/ww/news/2009/02/17/20-dallar-bill.jpg");
    imgP.registerImage("<%= ServerSideImagePath()%>12.jpg");
3- Start preloading by calling "start" method. like this:
    imgP.start();
4- Its charming... ;)
******************************************/

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();
    }
}