//
// g1 Standard JavaScript file
//
// All g1 tours should use this
//

// position marker variable
var count = 0;

// advances to the next episode
function nextEpisode(joinUrl) {
    count++;
    if (count > episodes.length -1) {
        // count = 0;
        location.href = joinUrl;
    }
    writeEpisode (count, false, joinUrl);
}
// goes back an episode
function prevEpisode(joinUrl) {
    count = Math.max(0, count-1);
/*
    // it no longer does this:
    count--;
    if (count < 0)
        count = episodes.length - 1;
*/
    writeEpisode (count, false, joinUrl);
}

// measures scroll location
function findTop(obj) {
    var curtop = 0;

    if (obj.offsetParent) {
        curtop = obj.offsetTop;
        while (obj = obj.offsetParent) {
            curtop += obj.offsetTop;
        }
    }

    return curtop;
}

// starts an episode in the player
function writeEpisode(num, top, joinUrl) {
    // set count
    count = num;

    if (!episodes[num] || !episodes[num].img) {
        location.href = joinUrl;
        return;
    }
        
    // swap image
    var divID = 'flashTrailer';
    var div = document.getElementById(divID);
    var image = episodes[num].img;
    div.style.background = 'url(' + image + ')';

    // swap link
    var linkID = 'trailerLink';
    var link = document.getElementById(linkID);
    link.href = episodes[num].vid750.replace(/amp;/g, '');

    // write the name
    if (tname = document.getElementById('trailerName')) {
        tname.innerHTML = episodes[num].name;
    }
    // write minutes
    if (tmin = document.getElementById('trailerMinutes')) {
        tmin.innerHTML = episodes[num].minutes;
    }
    // write clips
    if (tclips = document.getElementById('trailerClips')) {
        tclips.innerHTML = episodes[num].clips;
    }
    // write pics
    if (tpics = document.getElementById('trailerPics')) {
        tpics.innerHTML = episodes[num].pics;
    }
    // write the episode description
    if (tdesc = document.getElementById('trailerDesc')) {
        tdesc.innerHTML = episodes[num].desc;
    }
    // write the dsl wmv url
    if (tdsl = document.getElementById('trailerDSL')) {
        tdsl.href = episodes[num].vid450.replace(/amp;/g, '');
    }
    // write the bb wmv url
    if (tbb = document.getElementById('trailerBB')) {
        tbb.href = episodes[num].vid750.replace(/amp;/g, '');
    }

    if (top) {
        scroll(0,findTop(document.getElementById('scrollto')));
    }
}

// for swap functions
var storedImages = new Array();

function swapImage(obj, url, onlyIfCountGreaterThanZero) {
    // do this first, in case
    restoreImage(obj);

    if (count == 0 && onlyIfCountGreaterThanZero) {
        return;
    }

    var i;

    // find a location to store the original src
    for (i = 0; i < storedImages.length; ++i) {
        if (storedImages[i] == null) {
            break;
        }
    }

    // store data
    storedImages[i] = new Object();
    storedImages[i].obj = obj;
    storedImages[i].src = obj.src;

    // change url
    obj.src = url;
}

function restoreImage(obj) {
    for (var i = 0; i < storedImages.length; ++i) {
        if (storedImages[i] && storedImages[i].obj == obj) {
            obj.src = storedImages[i].src;
            storedImages[i] = null;
            break;
        }
    }
}

function preloadImages(/* dynamic argument list: comma-separated image urls */) {
    // store to the document
    if (!document.preloaded) {
        document.preloaded = new Array();
    }

    var pos = document.preloaded.length;

    for (i = 0; i < preloadImages.arguments.length; ++i) {
        document.preloaded[pos] = new Image;
        document.preloaded[pos].src = preloadImages.arguments[i];
        ++pos;
    }
}
