﻿function loadticker(ticnum, id) {
    var numheight = 26;
    
    $("#" + id + " .counter-number").each(function(i) {
        $(this).attr('id', id + '_num' + i);
    });
    
    var fticnum = add_commas(ticnum);

    addticker(fticnum, id);
    if (ticnum && ticnum != 0) {

        var s = String(fticnum);

        for (i = s.length - 1; i >= 0; i--) {
            var onum = s.charAt(i);
            $("#" + id + "_num" + i).attr('value', onum);
        }

        $("#" + id + " .counter-number").each(function() {
            var nval = $(this).attr("value");
            if (!isNaN(nval)) {
                var nheight = Number(nval) * numheight * -1;
                $(this).animate({ backgroundPosition: '0 ' + nheight + 'px' }, 1500);
            }
            if (nval == ',') {
                $(this).animate({ backgroundPosition: '0 -260px' }, 1500);
            }
        });
    }
}

function addticker(newnum, id) {
    var digitcnt = $("#" + id + " .counter-number").size();
    var nnum = String(newnum).length;
    var digitdiff = Number(nnum - Number(digitcnt));
    if (digitdiff < 0) {
        var ltdig = (Number(nnum) - 1);
        $("#" + id + " .counter-number:gt(" + ltdig + ")").remove();
    }

    for (i = 1; i <= digitdiff; i++) {
        $("#" + id).append('<div class="counter-number" id="' + id + '_num' + (Number(digitcnt + i - 1)) + '">&nbsp;</div>');
    }
}

function add_commas(nStr) {
    nStr += '';
    x = nStr.split('.');
    x1 = x[0];
    x2 = x.length > 1 ? '.' + x[1] : '';
    var rgx = /(\d+)(\d{3})/;
    while (rgx.test(x1)) {
        x1 = x1.replace(rgx, '$1' + ',' + '$2');
    }
    return x1 + x2;
}