$(function(){
  
  // truncate long presentation
  $(".presentation-description").truncate( 300,{
    chars: /\s/,
    trail: [ " ( <a href='#' class='truncate_show'>more</a> ... )", "( ... <a href='#' class='truncate_hide'>less</a> )" ]
  });
  
  // toggle switch for reply-to comment form
  $(".reply-toggle").live('click', function() {
    $(this).siblings('form').slideToggle('fast');
    return false;
  });
  
  // main comment form
  $("#leave-comment input:submit").click(function() {
    if ($('#leave-comment textarea').val()) {
      var form = $(this).parents('form');
      $("#leave-comment").css('height', $("#leave-comment").height());
      form.find('input:submit').attr('disabled', true).attr('value', 'ADDING…');
      $.post(form.attr("action"), $(form).serialize(), function(res) {
        form.hide().html('<p>Your comment has been posted!!</p>').slideDown();
      });
    } else {
      alert('Please enter your comment!');
    }
    return false;
  });
  
  // sub comment form
  $("li.comment-block input.submit").live('click', function() {
    if ($(this).parents('form').find('textarea').val()) {
      var form = $(this).parents('form');
      var defaultColor = form.find('input:submit').css('backgroundColor');
      form.find('input:submit').attr('disabled', true).attr('value', 'ADDING…').css('background', '#666');
      $.post(form.attr("action"), $(form).serialize(), function(res) {
        if (!form.parents(".comment-block").find("ul").get().length) {
          form.parents(".comment-reply").before("<ul></ul>");
        }
        form.parents(".comment-block").find("ul").append(res).find('li:last').hide().slideDown();
        form.find('input:submit').attr('disabled', false).attr('value', 'POST COMMENT');
        form.find('input:submit').css('backgroundColor', defaultColor)
        form.find('textarea').val('');
      });
    } else {
      alert('Please enter your comment!');
    }
    return false;
  });
  
  // comment pagination
  $('#comment-pagination li a').live('click', function() {
    var a = $(this);
    var loadingIcon = $("#presentation-comments h2 img.loading-icon");
    loadingIcon.show();
    $('html').animate({scrollTop: $('#comments').offset().top - 40}, 500, function() {
      $.get(a.attr('href'), function(res) {
        $('#comments #comment-page').html(res);
        loadingIcon.hide();
      });
    });
    return false;
  });
  
})