// Custom truncator code by David Lindsey, based on:
//    HTML Truncator for jQuery
//    by Henrik Nyh <http://henrik.nyh.se> 2008-02-28.
//    Free to modify and redistribute with credit.
var trailing_whitespace = true;

$(function() {
  $('#content_two .feedburnerFeedBlock > ul > li').each( function() {
    var max_length = 500;
    var more= '[more]';
    var more_href = "http://blog.attable.com/around_the_table/";

    $(this).children('div').each( function() {
      var content_length = $.trim(squeeze($(this).text())).length;
      if (content_length <= max_length) return;
  
      var actual_max_length = max_length - more.length;
      var truncated_node = recursivelyTruncate(this, actual_max_length);
  
      $(this).empty();
      truncated_node.children('p:last').append(' ...  <a href="' + more_href + '">' + more + '</a>');
      $(this).append(truncated_node.html());
      //$(this).append(truncated_node.html() + ' <a href="' + more_href + '">' + more + '</a>');
    });
  });
});

function recursivelyTruncate(node, max_length) {
  return (node.nodeType == 3) ? truncateText(node, max_length) : truncateNode(node, max_length);
}

function truncateNode(node, max_length) {
  var node = $(node);
  var new_node = node.clone().html("");
  node.contents().each(function() {
    var remaining_length = max_length - new_node.text().length;
    if (remaining_length <= 0) return;
    new_node.append(recursivelyTruncate(this, remaining_length));
  });
  return new_node;
}

function truncateText(node, max_length) {
  var text = squeeze(node.data);
  if (trailing_whitespace)  // remove initial whitespace if last text
    text = text.replace(/^ /, '');  // node had trailing whitespace.
  trailing_whitespace = !!text.match(/ $/);
  if(max_length > 0) return text.replace(new RegExp('^(.{' + max_length + ',}?)\\b.*'), '$1');
  return '';
}

// Collapses a sequence of whitespace into a single space.
function squeeze(string) {
  return string.replace(/\s+/g, ' ');
}

// Image preload
var tmpImages = new Array();
var imgPath = 'images/';

function imgUrl(str, prefix, suffix) { return imgPath + prefix + str + suffix + '.gif'; }

function preloadImages(arr, local)
{
  for(var i = 0; i < arr.length; i++)
  {
    tmpImages[i] = new Image();
    if(local) tmpImages[i].src = imgUrl(arr[i], '', '');
    else tmpImages[i].src = arr[i];
  }
}

preloadImages( [ 'link_classes_hover', 'link_letushear_hover', 'link_content_two_hover', 'link_content_three_hover' ], true );

function verifyRequired() {
  if (document.icpsignup["fields_email"].value == "") {
    document.icpsignup["fields_email"].focus();
    alert("The Email field is required.");
    return false;
  }
  return true;
}


