﻿// Copyright 2009 - Astral Softworks, LLC

// Preload an array of image URLs
function Preload(imgs)
{
    for (var i = 0; i < imgs.length; i++) 
    {
        var nextImage = new Image();
        nextImage.src = imgs[i];
    }
}

// Slideshow
function Slideshow(div)
{
    this.div = div;
    var slides = new Array();
    var slidesDiv = null;
    var mainDiv = null;
    
    var Initialize = function()
    {
        this.width = div.clientWidth;
        this.height = div.clientHeight;
        
        slidesDiv = document.createElement("div");
        slidesDiv.className = "slides";
        
        mainDiv = document.createElement("div");
        mainDiv.className = "slideView"
        
        div.appendChild(slidesDiv);
        div.appendChild(mainDiv);
    };
    Initialize();
    
    var OnImageClick = function(e)
    {
        if(e.target)
        {
            ViewSlide(e.target);
        }
        else
        {
            ViewSlide(e.srcElement);
        }
    };
    
    var ViewSlide = function(img)
    {
        while(mainDiv.childNodes.length > 0)
        {
            mainDiv.removeChild(mainDiv.childNodes[0]);
        }
        
        var viewElement = img.cloneNode(true);
        viewElement.className = "reflect rheight20";
        
        var title = document.createElement("div");
        title.className = "slideTitle";
        title.innerHTML = viewElement.title;

        mainDiv.appendChild(title);
        mainDiv.appendChild(viewElement);
        addReflections();
    };
    
    Slideshow.prototype.AddSlide = function(img)
    {
        slides.push(img);   
        slidesDiv.appendChild(img);
    
        if(img.addEventListener)
        {
            img.addEventListener("click", OnImageClick, false);
        }
        else if(img.attachEvent)
        {
            img.attachEvent("onclick", OnImageClick);
        }
        else
        {
            img.onclick = OnImageClick;
        }
        
        if(slides.length == 1)
        {
            ViewSlide(img);
        }
    }
}



