﻿
$(document).ready(function () { brandingControl_render(908, 375, true, 5, 5, 10); });

var brandingControl_current_index = 0;
var brandingControl_last_index;
var brandingControl_interval;
var brandingControl_interval_seconds;
var brandingControl_interval_exclude;

function brandingControl_render(unitWidth, unitHeight, cycle, seconds, firstCycleTimeout_seconds, exclude) {
    var index = 0;
    brandingControl_interval_seconds = seconds * 1000;
    firstCycleTimeout_seconds = firstCycleTimeout_seconds * 1000;
    brandingControl_interval_exclude = exclude;
    // ..
    var bradingButtons_html = "<table><tr>";
    $('.branding-control-data td').each(function () {
        bradingButtons_html += "<td><a class='branding-button' id='branding-button-" + index.toString() + "' href='#' onclick='brandingControl_setCurrentBranding(" + index.toString() + ", true);'></a></td>";
        var brandingUnit_html = "<div id='branding-unit-" + index.toString() + "' class='branding-unit' style='width: " + unitWidth + "px; height: " + unitHeight + "px'></div>";
        $('.branding-control-container').append(brandingUnit_html);
        $('#branding-unit-' + index.toString()).append($(this).html());
        $(this).html(String.prototype);
        brandingControl_last_index = index;
        index++;
    });
    bradingButtons_html += "</tr></table>";
    // ..
    $('.branding-control-buttons').append(bradingButtons_html);
    brandingControl_setCurrentBranding(0);

    if (cycle) {
        brandingControl_interval = setInterval(brandingControl_cycle, firstCycleTimeout_seconds);
    }
}

function brandingControl_cycle() {
    if (brandingControl_interval)
        clearInterval(brandingControl_interval);

    if (brandingControl_current_index >= brandingControl_last_index)
        brandingControl_current_index = 0;
    else
        brandingControl_current_index++;

    if (brandingControl_current_index == brandingControl_interval_exclude) {
        brandingControl_cycle();
        return;
    }

    brandingControl_setCurrentBranding(brandingControl_current_index, false);
    brandingControl_interval = setInterval(brandingControl_cycle, brandingControl_interval_seconds);
}

function brandingControl_setCurrentBranding(index, byUser) {

    if (byUser)
        if (brandingControl_interval)
            clearInterval(brandingControl_interval);

    brandingControl_current_index = index;
    // ..
    $('.branding-unit').css('display', 'none');
    $('#branding-unit-' + index.toString()).fadeIn();
    // ..
    $('.branding-button').attr('class', 'branding-button');
    $('#branding-button-' + index.toString()).attr('class', 'branding-button active');
}
