/* SOME JQUERY FOR BREAKING UP AND DISPLAYING TRU STORIES IN PANEL FORM ON TRUSTORIES.ASPX

#stories_container - container div
ul - panel nav, 1, 2, 3
div.headshot_large - headshot
div.title_block - name, title
div.tru_stars_description - text to be divided up and displayed */


var textGroups = null;
var currentTextGroup = -1;

function createPageNav(textGroups) {
   
   var nav = $('<ul id="panel_nav"></ul>');
   for (var i = 0; i < textGroups.length; i++)
      $('<li><a href="#" rel="' + i + '">' + (i + 1) + '</a></li>').appendTo(nav);
   nav.prependTo($('div#stories_bios_container'));
   
   // register handler
   $('ul#panel_nav li a').click(function() {
      
      showPage(textGroups, parseInt($(this).attr('rel')));
      return false;
   });
}

function generateTextGroups(container) {
   
   var pTags = container.find('p');
   
   // distribute p tags into text groups based on their character counts
   textGroups = [];
   
   var textGroup = [];
   var textLength = 0;
   var i = 0;
   
   while (i < pTags.length) {
      
      if (textLength >= 700) {
         
         textGroups.push(textGroup);
         textGroup = [];
         textLength = 0;
         
      }
      
      textGroup.push($(pTags[i]));
      textLength += $(pTags[i]).text().length;
      
      i++;
   }
   
   textGroups.push(textGroup);
   
   return textGroups;
}

function showPage(textGroups, index) {
   
   if (index < 0 || index >= textGroups.length || index == currentTextGroup)
      return;
   
   var i = 0;
   var j = 0;
   
   if (currentTextGroup >= 0) {
      
      for (j = 0; j < textGroups[currentTextGroup].length; j++)
         textGroups[currentTextGroup][j].hide();
      
      for (j = 0; j < textGroups[index].length; j++)
         textGroups[index][j].show();
      
   } else {
      
      // hide all but the requested group
      for (i = 0; i < textGroups.length; i++) {
         
         if (i != index) {
            
            for (j = 0; j < textGroups[i].length; j++)
               textGroups[i][j].hide();
         }
      }
   }
   
   // update the nav
   $("ul#panel_nav li a").removeClass("active");
   $($("ul#panel_nav li a")[index]).addClass("active");
   
   currentTextGroup = index;
}


function splitIntoPages() {
   
   textGroups = generateTextGroups($('div.tru_stars_description'));
   createPageNav(textGroups);
   showPage(textGroups, 0);
}
