$(function() {
    var animating = false;
    var last_time = new Date();
    last_time = last_time.getTime();
    setInterval(
        function() {
            $.get('./get_new_posts.php?last_time='+ last_time,
                function(response) {
                    last_time = new Date();
                    last_time = last_time.getTime();

                    if(response == '1' && !animating) {
                        animating = true;
                        var elm = $('#latest-posts');
                        elm.css('color', '#fabb00');
                        fadeOut(elm);
                    }
                }
            );
        },
        // Execute once a minute
        1000 * 10 * 1
    );

    $('#ticker ul').liScroll({travelocity: 0.02});

    function fadeIn(elm) {
        elm.fadeIn(1000,
            function() {
                fadeOut(elm);
            }
        );
    }
    function fadeOut(elm) {
        elm.fadeOut(1000,
            function() {
                fadeIn(elm);
            }
        );
    }
});

jQuery.fn.liScroll = function(settings) {
  settings = jQuery.extend({
  travelocity: 0.07
  }, settings);
  return this.each(function(){
    var interval = false;
    var $strip = jQuery(this);
    $strip.addClass("newsticker")
    var stripWidth = 0;
    var $mask = $strip.wrap("<div class='mask'></div>");
    var $tickercontainer = $strip.parent().wrap("<div class='tickercontainer'></div>");
    var containerWidth = $strip.parent().parent().width();    //a.k.a. 'mask' width
    $strip.find("li").each(function(){
      stripWidth += jQuery(this)[0].offsetWidth + 35;
    });
    $strip.width(stripWidth);
    var defTiming = stripWidth / settings.travelocity;
    var totalTravel = (stripWidth / 2) + containerWidth;
    function scrollnews(){
      interval = setInterval(
        function() {
          var left = parseInt($strip.css('left'), 10);
          if(left < (stripWidth * -1)) {
            $strip.css('left', '750px');
          } else {
            $strip.css('left', (left - 1) +'px');
          }
        },
        60
      );
    }
    scrollnews();
    $strip.hover(
      function(){
        clearInterval(interval);
      },
      function(){
        scrollnews();
      }
    );
  });
};
