﻿$(document).ready(function() {
    initializeNewsHeadlines();

    $('#newsLink').click(function() {
        $(this).blur();
    });

    $('.newsHeadlineLink').click(function(e) {
        e.preventDefault();
        selectNewsHeadline($(this).attr('position'));
        $(this).blur();
    });
});

var newsResults;
var increment = 0;
var intervalID;

function toggleNewsHeadline(position) {

    $('#newsBackground').fadeOut(400, function() {
        $('#newsBackground').attr('src', 'images/news/' + newsResults[position].backgroundImage);
        $('#newsHeader').text(newsResults[position].title.replace(/{sq}/g, '\'').replace(/{dq}/g, '"'));
        $('#newsContent').html(newsResults[position].narrative.replace(/{sq}/g, '\'').replace(/{dq}/g, '"').replace(/{br}/g, '<br />'));
        if (newsResults[position].link.length > 1) {
            $('#newsLink').css('display', 'block');
            $('#newsLink').attr('href', newsResults[position].link);
        }
        else {
            $('#newsLink').css('display', 'none');
        }

        $('.newsLinkContainer').children().each(function() {
            $(this).removeClass('selected');
        });

        $('#newsLink' + position).addClass('selected');

        $('#newsBackground').fadeIn(400);
    });
}

function selectNewsHeadline(position) {
    if (newsResults.length > 1) {
        clearInterval(intervalID);

        increment = position;
        toggleNewsHeadline(increment);

        intervalID = setInterval("updateNewsContent()", 20000);
    }
}

function updateNewsContent() {
    if (increment == newsResults.length - 1)
        increment = 0;
    else
        increment++;

    toggleNewsHeadline(increment);
}

function initializeNewsHeadlines() {

    $.ajax({
        type: 'POST',
        url: url + '/Service.aspx/GetNewsHeadlines',
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: function(msg) {
            newsResults = eval('(' + msg.d + ')');

            if (newsResults.length > 1)
                intervalID = setInterval("updateNewsContent()", 20000);
        },
        error: function(xhr, err) {
            alert('readyState: ' + xhr.readyState + '\nstatus: ' + xhr.status);
            alert('responseText: ' + xhr.responseText);
        }
    });
}
