jQuery(function($){

    var load_timer = null;
    function show_loader(delay) {
      if(!delay) delay = 1000;
      load_timer = setTimeout(really_show_loader, delay);
    }

    function really_show_loader() {
      load_timer = null;
      $('.loading').fadeIn('slow');
    }

    function hide_loader() {
      if(load_timer) {
        clearTimeout(load_timer)
        load_timer = null;
      }

      $('.loading').fadeOut('fast');
    }
  
    $('#courses a:not(.active)').live('click',function() {
      var type = $(this).attr('href').match(/#([^#]+)$/)[1];

      show_loader();
      $('.panel').load('/courses/'+course_id+'/breakdown .scorecard', {type: type}, function(data,status) {
        hide_loader()
        if(status=='success') {
          $('.course-card a').removeClass('active');
          $('.course-card a.'+type).addClass('active');
        }
      });

      return false;
    });

    $('.scorecard a').live('click',function() {
      var hole = $(this).attr('href').match(/\d+/)[0]

      show_loader(500);
      $.post('/courses/'+course_id+'/hole', {hole: hole}, function(data,status) {
        if(status == 'success') {


          var hole = $(data)
                      .appendTo('body');

          $('img',hole)
            .load(function() {
              hole.replaceAll('#hole').hide().fadeIn('fast');
              hide_loader();
            });
        }
      });

      return false;
    });
})
