var _wo_PI_Loaded = new Array();
var _wo_ActiveTab = 0;

function wo_Pws(wo_Url)
{
    try
    {
        var wo_Random = Math.floor(Math.random() * 9999999999);
        var wo_Image = new Image(1, 1);
        wo_Image.src = wo_Url + '&r=' + wo_Random;
        wo_Image.onload = function () { };
    }
    catch (wo_Err)
    {
    }

    return true;
}

function wo_TrackWidgetClick(wo_Anchor, wo_Source)
{
    try
    {
        if (wo_Anchor.href.indexOf("source=") == -1)
        {
            var wo_Query = wo_Anchor.href.indexOf("?") > -1 ? "&" : "?";
            wo_Anchor.href += wo_Query + "source=" + wo_Source;
        }
    }
    catch (wo_Err)
    {
    }

    return true;
}

function wo_TrackWidgetClickEmbedded(wo_Anchor, wo_Source)
{
    try
    {
        if (wo_Anchor.href.indexOf("source=") == -1)
        {
            var wo_Query = wo_Anchor.href.split("?").length > 2 ? "&" : "?";
            wo_Anchor.href += wo_Query + "source=" + wo_Source;
        }
    }
    catch (wo_Err)
    {
    }

    return true;
}

function wo_ShowTab(wo_TabIndex, wo_Auto)
{
    try
    {
        if (!wo_Auto)
        {
            _wo_AutoCarousel = 0;
        }

        for (var wo_Temp = 0; wo_Temp < _wo_Tabs; wo_Temp++)
        {
            var wo_Tab = document.getElementById("wo-widget-tab-" + wo_Temp);
            if (wo_Tab != null)
            {
                wo_Tab.className = wo_Temp == wo_TabIndex ? "wo-active" : "";
            }
            var wo_TabContent = document.getElementById("wo-widget-tab-content-" + wo_Temp);
            if (wo_TabContent != null)
            {
                wo_TabContent.className = wo_Temp == wo_TabIndex ? "" : "wo-widget-hide";
            }
        }
        _wo_ActiveTab = wo_TabIndex;

        if (_wo_Carousel[wo_TabIndex] > 0)
        {
            var wo_CarouselIndex = wo_GetRandomIndex(_wo_CarouselWeightings[wo_TabIndex]);
            wo_ShowCarouselItem(wo_TabIndex, wo_CarouselIndex);
        }

    }
    catch (wo_Err)
    {
    }
}

function wo_IsTabVisible(wo_TabIndex)
{
    var wo_Tab = document.getElementById("wo-widget-tab-" + wo_Temp);
    return wo_Tab.className == "wo-active";
}

function wo_ShowCarouselItem(wo_TabIndex, wo_Index)
{
    try
    {
        _wo_Carousel_Visible[wo_TabIndex] = wo_Index;

        for (var wo_Temp = 0; wo_Temp < _wo_Carousel[wo_TabIndex]; wo_Temp++)
        {
            var wo_Selector = document.getElementById("wo-widget-carousel-" + wo_TabIndex + "-" + wo_Temp);
            if (wo_Selector != null)
            {
                wo_Selector.className = wo_Temp == wo_Index ? "wo-widget-carousel-on" : "";
            }
            var wo_Item = document.getElementById("wo-widget-carousel-item-" + wo_TabIndex + "-" + wo_Temp);
            if (wo_Item != null)
            {
                if (wo_Temp == wo_Index)
                {
                    wo_Item.className = wo_Index % 2 == 0 ? "" : "wo-widget-item-alt";
                }
                else
                {
                    wo_Item.className = "wo-widget-hide";
                }
            }
        }
        wo_UpdateCarouselStatus(wo_TabIndex);

        if (_wo_PI && _wo_PI[wo_TabIndex][wo_Index] != "")
        {
            var wo_showPI = true;
            for (wo_Temp = 0; wo_Temp < _wo_PI_Loaded.length; wo_Temp++)
            {
                if (_wo_PI_Loaded[wo_Temp] == _wo_PI[wo_TabIndex][wo_Index])
                {
                    wo_showPI = false;
                    break;
                }
            }
            if (wo_showPI)
            {
                _wo_PI_Loaded.push(_wo_PI[wo_TabIndex][wo_Index]);
                var wo_PI_Items = _wo_PI[wo_TabIndex][wo_Index].split('|');
                for (wo_Temp = 0; wo_Temp < wo_PI_Items.length; wo_Temp++)
                {
                    var r = Math.floor(Math.random() * 9999999999);
                    var wo_Image = new Image(1, 1);
                    wo_Image.src = wo_PI_Items[wo_Temp] + "&r=" + r;
                    wo_Image.onload = function () { };
                }
            }
        }
    }
    catch (wo_Err)
    {
    }
}

function wo_NextCarouselItem(wo_TabIndex)
{
    try
    {
        _wo_AutoCarousel = 0;
        var wo_Index = _wo_Carousel_Visible[wo_TabIndex] + 1;
        if (wo_Index == _wo_Carousel[wo_TabIndex])
        {
            wo_Index = 0;
        }
        wo_ShowCarouselItem(wo_TabIndex, wo_Index);
    }
    catch (wo_Err)
    {
    }
}

function wo_PreviousCarouselItem(wo_TabIndex)
{
    try
    {
        _wo_AutoCarousel = 0;
        var wo_Index = _wo_Carousel_Visible[wo_TabIndex] - 1;
        if (wo_Index < 0)
        {
            wo_Index = _wo_Carousel[wo_TabIndex] - 1;
        }
        wo_ShowCarouselItem(wo_TabIndex, wo_Index);
    }
    catch (wo_Err)
    {
    }
}

function wo_UpdateCarouselStatus(wo_TabIndex)
{
    try
    {
        var wo_Status = document.getElementById("wo-carousel-status-" + wo_TabIndex);
        if (wo_Status != null)
        {
            var wo_Index = _wo_Carousel_Visible[wo_TabIndex] + 1;
            wo_Status.innerHTML = "<strong>" + wo_Index + " <span>of</span> " + _wo_Carousel[wo_TabIndex] + "</strong>";
        }
    }
    catch (wo_Err)
    {
    }
}

function wo_Randomise()
{
    try
    {
        var wo_TabIndex = wo_GetRandomIndex(_wo_TabWeightings);
        wo_ShowTab(wo_TabIndex, true);
        wo_AutoCarousel(true);
    }
    catch (wo_Err)
    {
    }
}

function wo_AutoCarousel(wo_First)
{
    try
    {
        if (_wo_AutoCarousel > 0)
        {
            if (!wo_First)
            {
                var wo_Index = _wo_Carousel_Visible[_wo_ActiveTab] + 1;
                if (wo_Index == _wo_Carousel[_wo_ActiveTab])
                {
                    wo_Index = 0;
                }
                wo_ShowCarouselItem(_wo_ActiveTab, wo_Index);
            }
            window.setTimeout(function () { wo_AutoCarousel(false) }, _wo_AutoCarousel * 1000);
        }
    }
    catch (wo_Err)
    {
    }
}

function wo_GetRandomIndex(wo_Weightings)
{
    var wo_Pegs = new Array();
    var wo_Max = 0;
    for (var wo_Temp = 0; wo_Temp < wo_Weightings.length; wo_Temp++)
    {
        if (wo_Weightings[wo_Temp] == 0)
        {
            wo_Pegs[wo_Temp] = 0;
        }
        else
        {
            wo_Max += wo_Weightings[wo_Temp];
            wo_Pegs[wo_Temp] = wo_Max;
        }
    }

    var wo_Random = Math.ceil(Math.random() * wo_Max);
    for (var wo_Temp = 0; wo_Temp < wo_Pegs.length; wo_Temp++)
    {
        if (wo_Random <= wo_Pegs[wo_Temp])
        {
            return wo_Temp;
        }
    }

    return 0;
}

function wo_GetCarouselWeightings()
{
    var wo_Weightings = new Array();

    for (var wo_Temp = 0; wo_Temp < _wo_Carousel.length; wo_Temp++)
    {
        if (_wo_Carousel[wo_Temp] > 0)
        {
            wo_Weightings[wo_Temp] = new Array();
            for (var wo_Temp2 = 0; wo_Temp2 < _wo_Carousel[wo_Temp]; wo_Temp2++)
            {
                wo_Weightings[wo_Temp][wo_Temp2] = 1;
            }
        }
    }

    return wo_Weightings;
}

function wo_GetPI()
{
    var wo_PI = new Array();

    for (var wo_Temp = 0; wo_Temp < _wo_Carousel.length; wo_Temp++)
    {
        if (_wo_Carousel[wo_Temp] > 0)
        {
            wo_PI[wo_Temp] = new Array();
            for (var wo_Temp2 = 0; wo_Temp2 < _wo_Carousel[wo_Temp]; wo_Temp2++)
            {
                wo_PI[wo_Temp][wo_Temp2] = '';
            }
        }
    }

    return wo_PI;
}


