﻿$(document).ready(function()
{
    var currentPage = 1;
    var pagingLinksContainer = $('.jqPagingLinks');
    var valebPagingLinksContainwer = $('.jqValebPagingLinks');

    if (valebPagingLinksContainwer.length > 0)
    {
        valebPagingLinksContainwer.find('ul.pagingLinks').remove();
        valebPagingLinksContainwer.append('<a href="#" class="ajaxResultsPager">Previous Updates</a>');

        valebPagingLinksContainwer.find('a').click(function()
        {
            var excludeFilter = getExcludeFilter();

            $.get('/Ajax/ListValebrityStatusUpdates?valebrity=' + $('h1').text() + '&Page=' + (++currentPage) + '&excludeFilter=' + excludeFilter, function(returnedJson)
            {
                var updates = eval(returnedJson);

                for (var i = 0; i < updates.length; i++)
                {
                    var update = updates[i];

                    var valebrityName = update.ValebrityName;
                    var url = update.ValebrityUrl;
                    var profileImageUrl = update.ProfileImageUrl;
                    var statusProviderId = update.StatusProviderId;
                    var moreUrl = update.MoreUrl;

                    var photoUrl = update.PhotoUrl;
                    var photoThumbUrl = update.PhotoThumbUrl;
                    var photoCaption = update.PhotoCaption;

                    var html = '<li class="' + statusProviderId + 'Update fc">';

                    html += '<span class="hook"></span>';
                    html += '<p>';

                    if (photoUrl.length > 0)
                    {
                        html += '<a href="' + photoUrl + '"><img alt="' + photoCaption + '" src="' + photoThumbUrl + '" /></a>';
                    }

                    html += update.Text + ' <a href="' + moreUrl + '">(more)</a></p>';
                    html += '<span class="datePosted">' + update.PostedDate + '</span>';
                    html += '</li>';

                    $('#ValebrityUpdatesList ul').append(html);
                }
            });

            return false;
        });
    }

    if (pagingLinksContainer.length > 0)
    {
        pagingLinksContainer.find('ul.pagingLinks').remove();
        pagingLinksContainer.append('<a href="#" class="ajaxResultsPager">Previous Updates</a>');

        pagingLinksContainer.find('a').click(function()
        {
            var excludeFilter = getExcludeFilter();

            $.get('/Ajax/ListStatusUpdates?Page=' + (++currentPage) + '&excludeFilter=' + excludeFilter, function(returnedJson)
            {
                var updates = eval(returnedJson);

                for (var i = 0; i < updates.length; i++)
                {
                    var update = updates[i];

                    var valebrityName = update.ValebrityName;
                    var url = update.ValebrityUrl;
                    var profileImageUrl = update.ProfileImageUrl;
                    var statusProviderId = update.StatusProviderId;
                    var moreUrl = update.MoreUrl;

                    var photoUrl = update.PhotoUrl;
                    var photoThumbUrl = update.PhotoThumbUrl;
                    var photoCaption = update.PhotoCaption;

                    var html = '<li class="' + statusProviderId + 'Update fc">';

                    html += '<h3><a href"' + url + '">' + valebrityName + '</a></h3>';
                    html += '<img alt="Profile image for ' + valebrityName + '." src="' + profileImageUrl + '" />';
                    html += '<span class="hook"></span>';
                    html += '<p>';

                    if (photoUrl.length > 0)
                    {
                        html += '<a href="' + photoUrl + '"><img alt="' + photoCaption + '" src="' + photoThumbUrl + '" /></a>';
                    }

                    html += update.Text + ' <a href="' + moreUrl + '">(more)</a></p>';
                    html += '<span class="datePosted">' + update.PostedDate + '</span>';
                    html += '</li>';

                    $('#ValebrityUpdatesList ul').append(html);
                }
            });

            return false;
        });
    }
});

function getExcludeFilter()
{
    var querystring = document.location.search;

    if (querystring.length > 0)
    {
        querystring = querystring.replace('?', '');

        var qsElements = querystring.split('&');

        for (var i = 0; i < qsElements.length; i++)
        {
            var nameValue = qsElements[i].split('=');

            if (nameValue.length == 2)
            {
                var name = $.trim(nameValue[0]);

                if (name == 'excludeFilter')
                {
                    return $.trim(nameValue[1]);
                }
            }
        }
    }

    return '';
}