﻿var ss_interval = 5;
var ss_interval_id = null;
var ss_photos = new Array();
var ss_titles = new Array();
var ss_captions = new Array();
var ss_index = -1;
var ss_state = "stopped";

function ss_Init(index)
{    
    if (index)
    {
        ss_index = parseInt(index) - 1;
    }
    
    ss_Next();
}

function ss_Start()
{
    if (ss_photos.length > 1)
    {
        ss_state = "started";
        ss_interval_id = setInterval("ss_Next();", ss_interval * 1000);
    }
}

function ss_Stop()
{    
    clearInterval(ss_interval_id);
    ss_state = "stopped";
}

function ss_Next()
{
    if (ss_state != "stopped")
    {
        ss_Stop();
        ss_Start();
    }
    
    ss_index++;
    if (ss_index >= ss_photos.length)
        ss_index = 0;
       
    updateView();
}

function ss_Prev()
{
    if (ss_state != "stopped")
    {
        ss_Stop();
        ss_Start();
    }

    ss_index--;
    if (ss_index < 0)
        ss_index = ss_photos.length - 1;
        
    updateView();   
}

function ss_Toggle()
{
    ss_state == "stopped" ? ss_Start() : ss_Stop();
    return ss_state != "stopped";
}

function updateView()
{
    setPhotoImage(ss_photos[ss_index], ss_titles[ss_index]);       
    setPhotoTitle(ss_titles[ss_index]);
    setPhotoCaption(ss_captions[ss_index]);
    setProgressCount();
}

function setPhotoImage(image, title)
{
    var e = document.getElementById("photoImage");
    if (e)
    {
        e.src = image;
        e.alt = title;
    }
}

function setPhotoTitle(title)
{
    var e = document.getElementById("photoTitle");
    if (e)
    {
        removeElementContents(e);
        setElementText(e, title);
    }
}

function setPhotoCaption(caption)
{
    var e = document.getElementById("photoCaption");
    if (e)
    {
        removeElementContents(e);
        setElementHtml(e, caption);
    }
}

function setProgressCount()
{
    var e = document.getElementById("photoCount");
    if (e)
    {
        var i = Math.min(ss_index + 1, ss_photos.length);
        removeElementContents(e);
        setElementText(e, i + " of " + ss_photos.length);
    }
}

function removeElementContents(element)
{
    var t_element = document.getElementById(element);
    if (!(t_element == null || t_element == 'undefined'))
    {
        element = t_element;
    }

    while (element.firstChild)
        element.removeChild(element.firstChild);
}

function setElementText(element, message)
{
    var t_element = document.getElementById(element);
    if (!(t_element == null || t_element == 'undefined'))
    {
        element = t_element;
    }

    var oldText = element.firstChild;
    var newText = document.createTextNode(unescape(message));
    if (oldText == null || oldText == 'undefined')
        element.appendChild(newText);
    else
        element.replaceChild(newText, oldText);
}

function setElementHtml(element, message)
{
    var t_element = document.getElementById(element);
    if (!(t_element == null || t_element == 'undefined'))
    {
        element = t_element;
    }
    
    element.innerHTML = message;
}