var SlideDeckAssistant = {
  innerSlideCount: 0,
  /** prevSlide, nextSlide and goToSlide are all custom functions to control progress of the SlideDeck */
  prevSlide: function(theIndex){
    SlideDeckAssistant.goToSlide(theIndex - 1);
  },
  nextSlide: function(theIndex){
    SlideDeckAssistant.goToSlide(theIndex + 1);
  },
  goToSlide: function(theIndex){        
    $('ul.galleryNav li').removeClass('active');
    $('ul.galleryNav li:eq('+ theIndex +')').addClass('active');
    myDeck.goTo(theIndex+1);
    if((theIndex + 1) == SlideDeckAssistant.innerSlideCount){
      // disable the next button
      $('ul.galleryArrows .next').addClass('disabled');
      $('ul.galleryArrows .prev').removeClass('disabled');
    }else if((theIndex + 1) == 1){
      // disable the previous button
      $('ul.galleryArrows .next').removeClass('disabled');
      $('ul.galleryArrows .prev').addClass('disabled');
    }else{
      // enable both next/previous buttons
      $('ul.galleryArrows .next, ul.galleryArrows .prev').removeClass('disabled');
    }
  },
  init: function(){
    SlideDeckAssistant.innerSlideCount = $('#slidedeck_frame dl.slidedeck dd').length;
    /** Store number of slides in SlideDeck */
    $('#slidedeck_frame').append('<ul class="galleryArrows"><li class="prev"><a href="#prev">&larr;<\/a><\/li><li class="next"><a href="#next">&rarr;<\/a><\/li><\/ul>');
    // create navigation element with next and previous buttons
    $('#slidedeck_frame').append('<ul class="galleryNav"><\/ul>');
    // create bullet navigation element
    for (i=0 ; i < SlideDeckAssistant.innerSlideCount ; i++ ) {
      $('ul.galleryNav').append('<li><a href="goto#' + (i+1) + '">' + (i+1) + '<\/a><\/li>');
    }
    // create navigation bullets based on number of slides
    var goToDots = $('ul.galleryNav li a');
    $('ul.galleryNav').css({marginLeft: '-' + (goToDots.outerWidth(true)*goToDots.length / 2) + 'px'});
    // position navigation bullets
    $('ul.galleryNav li:first').addClass('active');
    $('ul.galleryArrows li.prev').addClass('disabled');
    $('ul.galleryNav li a').click(function(e){
      e.preventDefault();
      var theIndex = $('ul.galleryNav li a').index($(this));
      SlideDeckAssistant.goToSlide(theIndex);
      return false;
    });
    // assign click function to navigation bullets
    $('ul.galleryArrows li.prev a').click(function(e){
      e.preventDefault();
      if($(this).parent('li').hasClass('disabled')){
        return false;
      }else{
        var theIndex = $('ul.galleryNav li').index($('ul.galleryNav li.active'));
        SlideDeckAssistant.prevSlide(theIndex);
      }
      return false;
    });
    // assign click function for previous button
    $('ul.galleryArrows li.next a').click(function(e){
      e.preventDefault();
      if($(this).parent('li').hasClass('disabled')){
        return false;
      }
      else{
        var theIndex = $('ul.galleryNav li').index($('ul.galleryNav li.active'));
        SlideDeckAssistant.nextSlide(theIndex);
      }
      return false;
    });
    //assign click function for next button
}
};



/* Open links from unknown domains in a new browser window */
var d = document;
function convertExternalLinks() {
    for (var i = 0; i < d.links.length; i++) {
        var href = d.links[i].getAttribute('href');
        var host = location.hostname.split("www.").pop();
        if (href.indexOf('http') >= 0 && href.indexOf(host) < 0) {
            d.links[i].setAttribute('target', '_blank');
        }
    }
}
window.onload = convertExternalLinks;



