﻿(function($) {
    $.fn.setup_news_ticker = function() {

        return this.each(function() {
            current_index = 0;
            current_letter_index = 0;
            complete = false;
            pause = false;
            wait_interval = 1000;
            time_interval = 100;
            time_interval_check = 200;
            children = $("#news_ticker_content").children();
            current_text = $(children[current_index]).find(".Label_News_Ticker_Story").text();
            story_no = children.length - 2;
            CreateHyperlink();
            RegisterButtons();
            Start();
        });
    };
})(jQuery);

var current_index;
var current_letter_index;
var complete;
var story_no;
var pause;
var time_interval;
var time_interval_check;
var wait_interval;
var children;

var current_text;

function Start() {
    DisplayNewStory();

}

function DisplayNewStory() {
    if(!complete) {
        if (current_text.length != current_letter_index && !pause) {
            var character = current_text.substring(current_letter_index, current_letter_index + 1);
            ScrollStory(character);
            setTimeout(DisplayNewStory, time_interval);
        }
        else if (current_text.length != current_letter_index && pause) {
        }  
        else{
            complete = true;
            setTimeout(MoveToNextStory, wait_interval);
        }
    }
}

function ScrollStory(character) {
    var child = $("#news_ticker_link").find(":first-child");
    child.text(child.text() + character);
    current_letter_index += 1;
}

function MoveToNextStory() {
    current_index += 1;
    if (current_index > story_no)
        current_index = 0;
    current_letter_index = 0;
    var child = $("#news_ticker_link").find(":first-child");
    child.text("");
    $("#news_ticker_link").css({display:"block"});
    complete = false;
    CreateHyperlink();
    current_text = $(children[current_index]).find(".Label_News_Ticker_Story").text();
    DisplayNewStory();
}

function CreateHyperlink() {
    $("#news_ticker_link").empty();
    var children = $("#news_ticker_content").children();
    var hyperlink = $(children[current_index]).find(":first-child").clone();
    hyperlink.empty();
    $("#news_ticker_link").append(hyperlink);
    var i = 0;
}

function RegisterButtons() {
    RegisterPauseClick();
    RegisterNextClick();
    RegisterPreviousClick();
}

function RegisterPauseClick() {
    $(".latest_news_pause").click(function() {
        if (pause) {
            pause = false;
            $(this).addClass("latest_news_pause");
            $(this).removeClass("latest_news_play");
            DisplayNewStory();
        }
        else {
            pause = true;
            $(this).addClass("latest_news_play");
            $(this).removeClass("latest_news_pause");
        }
    });
}

function RegisterNextClick() {
    $("#latest_news_next").click(function() {
        var child = $("#news_ticker_link").find(":first-child");
        child.text("");
        complete = true;
        setTimeout(MoveToNextStory, time_interval_check);
    });
}

function RegisterPreviousClick() {
    $("#latest_news_previous").click(function() {
        current_index -= 2;
        if (current_index < 0)
            current_index = (story_no + 1) - Math.abs(current_index);
        complete = true;
        setTimeout(MoveToNextStory, time_interval_check);
    });
}
