﻿
// scripts.js

// Rotate home page html sections.
//  This now allows repeated sections.
//  Globals defined in page:
//    rotateSections  - comma-delimited string of section names (formerly required names to be 'home<n>' but now can be anything.)
//    rotateDelays    - comma-delimited string of delay times in seconds.
//  ASSUME: Defined consistently.

// Define trim() prototype.
//  developer.loftdigital.com/blog/trim-a-string-in-javascript
String.prototype.trim = function() { return this.replace(/^\s+|\s+$/g, ''); }

var iHomeRotate = 0;
var oHomeTimer;

var aRotateSections;
var aRotateDelays;

// Start it up.
function InitRotateHomePage()
{
    aRotateSections = rotateSections.split(",");
    aRotateDelays = rotateDelays.split(",");
    
    // Trim them.
    for (var i = 0; i < aRotateSections.length; i++)
    {
        aRotateSections[i] = aRotateSections[i].trim();
        aRotateDelays[i] = aRotateDelays[i].trim();
    }
    
    // Set timer for first one.
    var lTime_ms = aRotateDelays[0] * 1000;
    oHomeTimer = setTimeout("RotateHomePage()", lTime_ms);
}

// Rotate one home page section.
function RotateHomePage()
{
    // Rotate.
    var iCurrentRotate = iHomeRotate++;
    if (iHomeRotate >= aRotateSections.length)
    {
        iHomeRotate = 0;
    }

    // Get divs.
    var oCurrentDiv = document.getElementById(aRotateSections[iCurrentRotate]);
    var oNextDiv = document.getElementById(aRotateSections[iHomeRotate]);

    if (iHomeRotate != iCurrentRotate)    // In case there's only one.
    {
        if (oCurrentDiv && oNextDiv)      // Just in case.
        {
            oCurrentDiv.style.display = "none";
            oNextDiv.style.display = "block";

            // Set timer for next one.
            var lTime_ms = aRotateDelays[iHomeRotate] * 1000;
            oHomeTimer = setTimeout("RotateHomePage()", lTime_ms);
        }
    }
}
