/**
 * Append dots to the end of movie title which not be displayed in full width.
 */
function appendDotsToTitles() {
  $('.title a').ellipsis();
}

function checkPopupMouseOn(el) {
  var popup = el.parents('li').find('.zoom');
  if(!popup.hasClass('mouseon')) {
    popup.closest('li').removeClass('active');
  }
}

function runPopup() {
  $('li.videoItem .zoom').bind('mouseleave', function() {
    $(this).closest('li').removeClass('active');
    $(this).removeClass('mouseon');
  });

  $('li.videoItem .zoom').bind('mouseenter', function() {
    $(this).addClass('mouseon');
  });

  $('li.videoItem img.thumbnail').bind('mouseleave', function() {
    var that = $(this);
    setTimeout(function() {
      var popup = that.parents('li').find('.zoom');
      if(!popup.hasClass('mouseon')) {
        popup.closest('li').removeClass('active');
      }
    }, 100);
  });

  $('li.videoItem img.thumbnail').live('mouseenter', function() {
    $(this).closest('li.videoItem').removeClass('active');
    var popup = $(this).parents('li').find('.zoom');
    popup.closest('li.videoItem').addClass('active');
    var thisset = $(this).offset();
    var popset = { top : thisset.top - (popup.outerHeight() - $(this).outerHeight())/2, left : thisset.left - (popup.outerWidth() - $(this).outerWidth())/2 };

    var poptop = $(window).scrollTop() + $(window).height() - popup.outerHeight() - popset.top;
    if (poptop < 0) {
      popset.top = popset.top + poptop;
    }
    if (popset.top < $(window).scrollTop()) {
      popset.top = $(window).scrollTop();
    }

    var popleft = $(window).scrollLeft() + $(window).width() - popup.outerWidth() - popset.left;
    if (popleft < 0) {
      popset.left = popset.left + popleft;
    }
    if (popset.left < $(window).scrollLeft()) {
      popset.left = $(window).scrollLeft();
    }

    popup.offset(popset);

  });
}

DOMReady.add(function() {
    runPopup();
//    $('li.videoItem').daPopup({
//        timeOut: 1000,
//        exclusive: true,
//        onpopup: function() {
//        },
//        onhide: function() {
//        }
//    });
    appendDotsToTitles();
});

