(function($) {
  $(document).ready(function() {
    var slider_duration_out   = 500;
    var slider_duration_in    = 2000;
    var slider_image_length   = 0;
    var slider_title_length   = 0;
    var count_slider_items    = 0;
    var current_item_index    = 0;
    var slider_animating      = false;
    var slider_interval       = null;
    var slider_interval_duration = 8000;
    
    count_slider_items  = $('#slider-image li').length;
    if( $('#slider-image').length ){
      
      /*
      slider_image_length = $('#slider-image li:first-child').outerWidth(false);
      $('#slider-image ul').css('width', (count_slider_items * slider_image_length) + 'px' );
      */
      
      
      // get image title from the alt attributes and push it to the black box slider
      // simultaneous, create and feed the pager
      $('#slider-title').append('<ul>');
      $('#slider').append('<ul class="pager">');
      $('#slider-image img').each(function(i){
        //has link
        var link = null;
        var parent_link = $(this).parent('a').attr('href');
  
        
        // Manage the title
        var image_title = $(this).attr('alt');
        // isolate the first word
        var index = image_title.indexOf(' ');
        if(index == -1) {
          index = image_title.length;
        }    
        
        var image_legend = '<li>';
        if( parent_link != undefined ){
          image_legend += '<a href="'+parent_link+'">';  
        }
        image_legend += '<span>'+image_title.substring(0, index)+'</span>' + image_title.substring(index, image_title.length );
        if( parent_link != undefined ){
          image_legend += '</a>';  
        }
        image_legend += '</li>';
        $('#slider-title ul').append(image_legend);
        
        
        

        // Manage the pager
        $('#slider .pager').append('<li><span>'+i+'</span></li>');
      });     

      $('#slider .pager li').eq(current_item_index).addClass('current');
      $('#slider-image li').eq(current_item_index).addClass('current');
      $('#slider-title li').eq(current_item_index).addClass('current');
      
      $('#slider .pager li').click(function(){
        if( !$('this').hasClass('current') && slider_animating == false ){
          slider_animating = true;
          clearInterval(slider_interval);
          var $selected_item = $(this);
          var $current_item =  $('#slider .pager li').eq(current_item_index);
          $current_item.removeClass('current');     
          

          var selected_index     = $selected_item.index('#slider .pager li');  
          
                    
          
          $('#slider-image ul li').eq(current_item_index).fadeOut(slider_duration_out, function(){
            $(this).removeClass('current');
            
            $('#slider-image ul li').eq(selected_index).fadeIn(slider_duration_in, function(){
              $(this).addClass('current');
              $selected_item.addClass('current');
              current_item_index = selected_index;
              slider_animating = false; 
            });
            
          });

          $('#slider-title ul li').eq(current_item_index).fadeOut(slider_duration_out, function(){
            $(this).removeClass('current');
            $('#slider-title ul li').eq(selected_index).fadeIn(slider_duration_in, function(){
              $(this).addClass('current');
            });
          });
          
          
          slider_interval = setInterval(launchAutoSlide, slider_interval_duration);
        }
        return false;
      });
      
      
      slider_interval = setInterval(launchAutoSlide, slider_interval_duration);
      
    }
    
    function launchAutoSlide(){   
      var next_index = current_item_index + 1 
      if( next_index >= count_slider_items ){
        next_index = 0;
      }
      
      
      
      $('#slider .pager li').eq(next_index).trigger('click');
      
    }
    
  });
})(jQuery);
