// Global Variables
var dblIntSeconds;
var SECONDS = 1000;

function preloadImages(strImgObjName, intNumberOfImages, intFstImg, delay)
{
    // Local Variables
    var intFirstImage, cntr, imgCntr;
    var MIN_INTERVAL = 1;
    var MAX_INTERVAL = 10;
    var DEFAULT_INTERVAL = 2.5;
        
    // Optional Agument - Fist Image
    if(!intFstImg || intFstImg > intNumberOfImages)
       intFirstImage = 1;
    else
       intFistImage = intFstImg;

    // Optional Agument - Rotation Interval    
    if(!delay)
    {       
       dblIntSeconds = DEFAULT_INTERVAL;
    }
    else
    {
       if(!isNaN(parseFloat(delay)))
       {         
          if(delay >= MIN_INTERVAL && delay >= MIN_INTERVAL)
             dblIntSeconds = delay;
          else
             dblIntSeconds = DEFAULT_INTERVAL;
       }
       else
          dblIntSeconds = DEFAULT_INTERVAL;
    }
    
    var oImage = document.getElementById(strImgObjName);    
    
    // Preload Images
    imgCntr = intFirstImage;
    
    for(var cntr = 1; cntr <= intNumberOfImages; cntr++)
    {
       // Get Next Picture URL
       var strNewImageURL, strCurPixNum, strNextPixNum;
       
       if(imgCntr < intNumberOfImages)
       {
          if(imgCntr < 9)
          {
             strCurPixNum = '0' + imgCntr;
             strNextPixNum = '0' + (imgCntr + 1);
          }
          else if(imgCntr == 9)
          {
             strCurPixNum = '0' + imgCntr;
             strNextPixNum = '10';
          }
          else
          {
             strCurPixNum = '' + imgCntr;
             strNextPixNum = '' + (imgCntr + 1);
          }             
       }
       else
       {
          if(imgCntr < 10)
             strCurPixNum = '0' + imgCntr;
          else
             strCurPixNum = '' + imgCntr;
          
          strNextPixNum = '01';
       }       
       
       // Create the New URL
       strNewImageURL = oImage.src.replace(strCurPixNum,strNextPixNum);      
       
       var newPix = new Image();
       newPix.src = strNewImageURL;   
       
       // Update the Counter
       imgCntr += 1;          
    }    
    
    // Begin Rotation
    var strFunction = "startImageRotator('" + strImgObjName + "', " +
       intFirstImage + "," + intNumberOfImages + "," + dblIntSeconds + ")";

    setTimeout(strFunction, dblIntSeconds*SECONDS);      
}  // End Function preloadImages() 

function startImageRotator(strImgObjName, intImgNumber, intImageCnt, delay)
{   
    var oImage = document.getElementById(strImgObjName);
    var intNextPixNumber, imageURL;
    
    // Update Image Counter
    if(intImgNumber < intImageCnt)
       intNextPixNumber = intImgNumber + 1;
    else
       intNextPixNumber = 1;
    
    // Update the URL
    if(intImgNumber < 10)
    {
       if(intNextPixNumber < 10)
          imageURL = oImage.src.replace("0" + intImgNumber,"0" + intNextPixNumber);
       else
          imageURL = oImage.src.replace("0" + intImgNumber,"" + intNextPixNumber);
    }
    else
    {
       if(intNextPixNumber < 10)
          imageURL = oImage.src.replace("" + intImgNumber,"0" + intNextPixNumber);
       else
          imageURL = oImage.src.replace("" + intImgNumber,"" + intNextPixNumber);
    }
    
    // Update the Display
    oImage.src = imageURL;  
    
    // Recursive Function Call
    var strFunction = "startImageRotator('" + strImgObjName + "', " +
       intNextPixNumber + "," + intImageCnt + "," + delay + ")";
    
    setTimeout(strFunction, dblIntSeconds*SECONDS);                
}  // End Function startImageRotator()  
