﻿//corrige bug de js do dart
var Location = location;

Array.prototype.inArray = function(value) {
    var cont = this.length;
    for (var i = 0; i < cont; i++) {
        if (this[i] === value) {
            return true;
        }
    }
    return false;
};

//verifica se o navegador possui console
if (typeof console == 'undefined') {
    window.console = { log: $.noop };
}

var expo = {};

expo.ticker = {
    ad: false,
    ads_collection: [],
    collection: [],
    current: -1,
    paused: false,
    view_delay: 6, //tempo em segundos para trocar de notícia
    view_timer: null,
    walk_delay: 1 / 32, //tempo em segundos para escrever cada letra
    walk_timer: null,
    change: function (current_obj) {

        var text = "" + current_obj[1];
        var htmlDTFormat = "" + current_obj[2];

        while (text.match(/&quot\;/g)) {
            text = text.replace('&quot\;', '"');
        }
        $('#dummy').html(text);

        $('#el').html('<label class="dt_item_info">' + htmlDTFormat + '</label> - ');
        if (expo.ticker.ad) {
            $('#el').css({ color: "#0033cc" });
            $('#el').click(function () {
                window.open($('#el').attr('href'));
                return false;
            });
        }
        else {
            $('#adTickerImage').remove();
            $('#el').css({ color: "#2c77b0" });
            $('#el').unbind("click");
        }
        $('#el').attr({ href: current_obj[0], title: current_obj[1] });
        expo.ticker.walk_timer = window.setInterval(expo.ticker.walk, expo.ticker.walk_delay * 1000);
        expo.ticker.view_timer = window.clearInterval(expo.ticker.view_timer);

    },
    next: function () {
        expo.ticker.walk_timer = window.clearInterval(expo.ticker.walk_timer);
        // alert($('#el').html());
        $('#el').html($('#el').html() + $('#dummy').html());
        $('#dummy').html('');
        var next = expo.ticker.current + 1;
        if (next >= expo.ticker.collection.length) {
            next -= expo.ticker.collection.length;
        }
        if (typeof expo.ticker.ads_collection[expo.ticker.current] != 'undefined' && !expo.ticker.ad) {
            var current_obj = expo.ticker.ads_collection[expo.ticker.current];
            expo.ticker.ad = true;
        }
        else {
            expo.ticker.current = next;
            var current_obj = expo.ticker.collection[expo.ticker.current];
            expo.ticker.ad = false;
        }
        expo.ticker.change(current_obj);
    },
    prev: function () {
        expo.ticker.walk_timer = window.clearInterval(expo.ticker.walk_timer);
        $('#el').text($('#el').text() + $('#dummy').text());
        $('#dummy').text('');
        var previous = expo.ticker.current - 1;
        if (previous < 0) {
            previous += expo.ticker.collection.length;
        }
        if (typeof expo.ticker.ads_collection[previous] != 'undefined' && !expo.ticker.ad) {
            expo.ticker.current = previous
            var current_obj = expo.ticker.ads_collection[expo.ticker.current];
            expo.ticker.ad = true;
        }
        else {
            if (!expo.ticker.ad) {
                expo.ticker.current = previous;
            }
            var current_obj = expo.ticker.collection[expo.ticker.current];
            expo.ticker.ad = false;
        }
        expo.ticker.change(current_obj);
    },
    pause: function () {
        if (expo.ticker.paused) {
            expo.ticker.paused = false;
            expo.ticker.next();
        }
        else {
            expo.ticker.paused = true;
            expo.ticker.walk_timer = window.clearInterval(expo.ticker.walk_timer);
            $('#el').text($('#el').text() + $('#dummy').text());
            $('#dummy').text('');
        }
    },
    start: function () {
        expo.ticker.paused = false;
        expo.ticker.next();
    },
    walk: function () {
        var title = $('#dummy').html().split("");
       // alert($('#el').html());
        if (title.length > 0) {
            $('#el').html($('#el').html() + title.shift());
            $('#dummy').html(title.join(""));
        }
        else {
            expo.ticker.walk_timer = window.clearInterval(expo.ticker.walk_timer);
            expo.ticker.view_timer = window.setInterval(expo.ticker.next, expo.ticker.view_delay * 1000);
        }
    }
};
