$(document).ready(function(){
    renderAds();
    renderLinks();
    
    
    generate_toc();
});


(function($){
  $.fn.shuffle = function() {
    return this.each(function(){
      var items = $(this).children();
      return (items.length)
        ? $(this).html($.shuffle(items))
        : this;
    });
  }
 
  $.shuffle = function(arr) {
    for(
      var j, x, i = arr.length; i;
      j = parseInt(Math.random() * i),
      x = arr[--i], arr[i] = arr[j], arr[j] = x
    );
    return arr;
  }
})(jQuery);

function renderLinks() {
    if($('#links').length == 0)     
        return false;

    var links = $('#links').html().toString().split(';');
    $('#links').html('<h4>Elsewhere Online...</h4><ul></ul>');
        
    $.each(links, function(index,element){
        var description = $.trim(element).split('|')[0];
        var url = $.trim(element).split('|')[1];
                
        if(description.length > 0) {
            link = '<li>'+description+'</li>';
            if(url)
                link = '<li><a href="http://'+url+'">'+description+'</a></li>';

            $('#links ul').append(link);
            
        }
    });
}

function renderAds() {    
    if($('#advertisements').length == 0)
        return false;        
        
    ads = $('#advertisements').html().split(';');
    $('#advertisements').html('<h3>APA Washington Newsletter proudly sponsored by:</h3><ul></ul>');

    // Random shuffle order
    $.shuffle(ads);

    // Number of ads to show 
    var num_ads = 3;
    
    $.each(ads, function(index,element){
        var gif = $.trim(element).split('|')[0];
        var url = $.trim(element).split('|')[1];
        
        img = '<img src="http://washington-apa.org/images/ads/'+gif+'" />';
        ad = '<li>'+img+'</li>';
        if(url)
            ad = '<li><a href="http://'+url+'">'+img+'</a></li>';
        
        $('#advertisements ul').append(ad);
    });
    
    $('#advertisements li').hide();
    $('#advertisements li').slice(1,4).show();


    setTimeout('shuffleAds()',8000);
}

function shuffleAds() {
    $('#advertisements li').hide();
    $('#advertisements ul').shuffle();
    $('#advertisements li').slice(1,4).fadeIn();
    setTimeout('shuffleAds()',8000);
}


function generate_toc() {
  headings =  $('#toc h3');
  if (headings.length < 2)
    return false;

  var toc = '';
  var toc_select = '';

  $('toc').insert({ top: toc = new Element('form', { id: 'jump_to'})});
  toc.insert("<label for='speakers'>Jump to speaker...</label>");
  toc.insert(toc_select = new Element('select', { id: 'speakers', name: 'speakers' }));

  headings.each(function(heading) {
    var heading_id = heading.id || heading.innerHTML.stripTags().toLowerCase().replace(/\W/g,'');
    heading.id = heading_id;
    toc_select.insert(new Element('option', { value: heading_id }).update(heading.innerHTML.stripTags()));
  });
  
  $('#speakers').change(function(){ window.location.hash = '#'+this.value; })
}


