//-------------------------//
// Show/Hide Code Follows: //
//-------------------------//

var views = new Array();
var viewDisplayNames = new Array();
var switchViewsLinkId = 'SwitchViewsLink';
var activeView = 0;

function StartUp()
{   
    try
    {
        views.push('podcastGridView');
        viewDisplayNames.push('Grid');
        views.push('podcastListView');
        viewDisplayNames.push('List');

        // subtracting 0 from a string converts it to a number type, but it can throw an exception
        try
        {
            var av = GetCookie('activeView');
            if (av != '' && av != null)
            { activeView = av - 0; }
        }
        catch(ex) { }

        SetView(activeView);
    }
    catch(ex)
    { }
}

function WriteViewLink(id)
{
    try
    {
        var idx = activeView;

        idx++;
        if (idx >= views.length) { idx = 0; }

        var ret = '<a href="javascript: SetView(';
        ret += idx + ");";
        ret += '" style="color: white;">';

        ret += viewDisplayNames[idx];
        ret += ' View</a>';

        document.getElementById(id).innerHTML = ret;
    }
    catch(ex)
    { }
}

function SetView(idx)
{
    activeView = idx;
    document.cookie = 'activeView=' + activeView;

    for(var i=0; i<views.length; i++)
    {
        if (activeView == i)
        {
            //show
            document.getElementById(views[i]).style.display = 'block';
        }
        else
        {
            //hide
            document.getElementById(views[i]).style.display = 'none';
        }
    }

    WriteViewLink(switchViewsLinkId);
}

//----------------------//
// Cookie Code Follows: //
//----------------------//

// This function returns an array of all the cookie names set.
function GetCookies()
{
    var c = document.cookie;
    var pairs = c.split(/(\s+)?;(\s+)?/g);
    var a = new Array();

    if (pairs != null)
    {
        for (var i=0; i<pairs.length; i++)
        {
            var parts = pairs[i].split(/(\s+)?=(\s+)?/g);
            if (parts != null && parts.length == 2)
            {
                a.push(parts[0]);
            }
        }
    }

    return a;
}

// This function deletes a cookie by its name.
function DeleteCookie(name)
{
    if (name == null || name == ''){ return; }
    expDate = new Date(0);  //Jan 1, 1970 + 0 milliseconds

    var val = name + "=; expires=" + expDate.toUTCString(); // + "; path=/; domain=" + GetDomain();
    document.cookie = val;
}

// This function returns the value of a cookie by its name.
function GetCookie(name)
{
    if (name == null || name == ''){return '';}
    var c = document.cookie;
    var pairs = c.split(/(\s+)?;(\s+)?/g);
    if (pairs != null)
    {
        for (var i=0; i<pairs.length; i++)
        {
            var parts = pairs[i].split(/(\s+)?=(\s+)?/g);
            if (parts != null && parts.length == 2)
            {
                if (parts[0] == name)
                { return unescape(parts[1]); }
            }
        }
    }

    return '';
}

function GetDomain()
{
    var domain = document.URL;
    var rex = /^[^:]+:\/\/[^\/]+/;
    var o = rex.exec(domain);
    if (o == null){return document.URL;}
    return o[0];
}

function ShowCookies()
{
    var a = GetCookies();
    var o = '';
    for(var i = 0; i < a.length; i++)
    {
        o += a[i] + ' = "' + GetCookie(a[i]) + '"\n';
    }
    alert(o);
}



StartUp();



