$(function() {
  Nav.init()
  Hero.init()
  Promos.init()
})

var Nav = function() {
  return {
    init: function() {
      section = $('body').attr('id')
      $('#nav .' + section).addClass('active')
    }
  }
}()

var Hero = function() {

  var cycle

  return {
    init: function() {
      this.build_nav()
      $('#hero .nav ul li a').click(this.show_slide)
      cycle = setTimeout(this.cycle_slides, 6000)
    },
    build_nav: function() {
      $('#hero .images').prepend('<div class="nav"><ul></ul></div>')
      images = $('#hero .images img')
      if(images.length > 1) {
        $.each(images, function(index, value) { 
          link = '<li><a href="#">'+$(value).attr('id')+'</a></li>'
          $('#hero .nav ul').append(link)
          if(index==0) {
            $(value).addClass('active')
            $('#hero .nav ul li').addClass('active')
          }
        })        
      } else {
        $(images).addClass('active')
      }
    },
    cycle_slides: function() {
      if($('#hero .nav ul li').last().hasClass('active')) {
        next_slide = $('#hero .nav ul li').first().children('a')
      } else {
        next_slide = $('#hero .nav ul li.active').next('li').children('a')
      }
      $(next_slide).click()
      cycle = setTimeout(Hero.cycle_slides, 6000)
    },
    show_slide: function() {
      id = $(this).html()
      $('#hero .images img.active').hide().removeClass('active')
      $('#hero .nav > ul > li').removeClass('active')
      $(this).parent('li').addClass('active')
      $('#'+id).fadeIn('3000').addClass('active')
      clearTimeout(cycle)
      cycle = setTimeout(Hero.cycle_slides, 6000)
      return false
    }
  }  
}()

var Promos = function() {
  return {
    init: function() {
  	  $(".scrollable").scrollable()
    }
  }
}()