var featuredSlider = {
  _target: '#featuredSlider ul.panels',
  _thumbTarget: '#featuredSlider ul.thumbnails li a',
  _amountOfPanels: -1,
  _metrics: {
    width: '996',
    height: '393'
  },
  _navigation: {
    target: '#featuredSlider ul.panels',
    next: '.navNext',
    previous: '.navPrev'
  },
  _displayTime: 4000,
  _fadeInTime: 1500,
  _isAnimating: [false, false],
  _isMouseOver: false,
  _stats: {
    previous: -1,
    current: -1,
    next: -1
  },
  _first: true,
  create: function(args)
  {
    jQuery.noConflict();  // NO CONFLICTS, (bleh scriptaculous)
    featuredSlider._settings = args
    jQuery(document).ready(featuredSlider.init)
  },

  init: function(e)
  {
    if (!featuredSlider._settings) {
        return;
    }
    
    /*DEFINE AMOUNT OF PANELS AVAILABLE*/
    featuredSlider._amountOfPanels = jQuery(featuredSlider._target + ' li').length;
    jQuery(featuredSlider._target).css('width', featuredSlider._metrics['width']*featuredSlider._amountOfPanels);
    
    /*DEFINE THE TARGET*/
    if (featuredSlider._settings.fsTarget != undefined) {
      featuredSlider._target = featuredSlider._settings.fsTarget;
    }
    if (featuredSlider._settings.fsThumbTarget != undefined) {
      featuredSlider._thumbTarget = featuredSlider._settings.fsThumbTarget;
    }
    
    /*MAKE THE WIDTH A VARIABLE*/
    if (featuredSlider._settings.width != undefined) {
      featuredSlider._metrics['width'] = featuredSlider._settings.width;
    }
    
    /*MAKE THE HEIGHT A VARIABLE*/
    if (featuredSlider._settings.height != undefined) {
      featuredSlider._metrics['height'] = featuredSlider._settings.height;
    }
    
    /*START TRACKING*/
    featuredSlider.trackThumbnails();
    featuredSlider.getNavigation();
    
    /*START TIMER*/   
    featuredSlider.calculateMove(0);
    featuredSlider.gotoPanel(0);
    jQuery(document).everyTime(featuredSlider._displayTime, "movement" ,function(i) {
      featuredSlider.calculateMove(featuredSlider._stats['next']);
      featuredSlider.gotoPanel(featuredSlider._stats['current']);
    });
    
  },
  
  /* GOING TO THE RIGHT PANEL */
  gotoPanel: function(i) {
    featuredSlider._isAnimating[0] = true;
    jQuery(featuredSlider._target+' li:eq('+i+')').fadeIn(featuredSlider._fadeInTime, function() {
      jQuery(featuredSlider._target+' li:eq('+featuredSlider._stats['previous']+')').css('display', 'none');
      jQuery(featuredSlider._target+' li:eq('+featuredSlider._stats['next']+')').css('display', 'none');
      featuredSlider._isAnimating[0] = false;
      featuredSlider._first = true;
    });
  },
  
  /* START TRACKING EXTRA NAVIGATION */
  getNavigation: function() {
  
    jQuery(featuredSlider._navigation['target']).bind('mouseover', function() {
      jQuery(featuredSlider._navigation['next']).fadeIn();
      jQuery(featuredSlider._navigation['previous']).fadeIn();
    });
    
/*
    jQuery(featuredSlider._navigation['target']).bind('mouseout', function() {
      jQuery(featuredSlider._navigation['next']).fadeOut();
      jQuery(featuredSlider._navigation['previous']).fadeOut();
    });
*/
/*
    jQuery(featuredSlider._navigation['next']).bind('mouseover', function() {
      jQuery(featuredSlider._navigation['next']).css('display', 'block');
    });
    jQuery(featuredSlider._navigation['next']).bind('mouseout', function() {
      jQuery(featuredSlider._navigation['next']).css('display', 'none');
    });
    
    jQuery(featuredSlider._navigation['previous']).bind('mouseover', function() {
      jQuery(featuredSlider._navigation['previous']).css('display', 'block');
    });
    jQuery(featuredSlider._navigation['previous']).bind('mouseout', function() {
      jQuery(featuredSlider._navigation['previous']).css('display', 'none');
    });
*/

    jQuery(featuredSlider._navigation['next']).bind('click', function() {
        var current = featuredSlider._stats['next'];
        jQuery(document).stopTime("movement");
        if(!featuredSlider._isAnimating[0] && current != featuredSlider._stats['current'] ) {
          featuredSlider.calculateMove(current);
          featuredSlider.gotoPanel(current);
        }
        return false;
    });
    
    jQuery(featuredSlider._navigation['previous']).bind('click', function() {
        var current = featuredSlider._stats['previous'];
        jQuery(document).stopTime("movement");
        if(!featuredSlider._isAnimating[0] && current != featuredSlider._stats['current'] ) {
          featuredSlider.calculateMove(current);
          featuredSlider.gotoPanel(current);
        }
        return false;
    });
  },
  
  /* START TRACKING ALL THUMBNAILS */
  trackThumbnails: function() {
    jQuery(featuredSlider._thumbTarget).each(function() {
      jQuery(this).bind('click', function() {
        var current = jQuery(this).parent().index();
        if(!featuredSlider._isAnimating[0] && current != featuredSlider._stats['current'] ) {
          featuredSlider.calculateMove(current);
          featuredSlider.gotoPanel(current);
          jQuery(document).stopTime("movement");
        }
        return false;
      });
    });
  },
  
  /* CALCULATE MOVEMENT */
  calculateMove: function(i) {  
    featuredSlider._stats['previous'] = i-1;
    featuredSlider._stats['current'] = i;
    featuredSlider._stats['next'] = i+1 ;
    
    if(featuredSlider._stats['previous'] < 0) {
      featuredSlider._stats['previous'] = featuredSlider._amountOfPanels-1;
    }
    if(featuredSlider._stats['current'] == featuredSlider._amountOfPanels) {
      featuredSlider._stats['current'] = 0;
    }
    if(featuredSlider._stats['next'] == featuredSlider._amountOfPanels) {
      featuredSlider._stats['next'] = 0;
    }
    
    /*
    jQuery(featuredSlider._target+' li:eq('+featuredSlider._stats['current']+')').css('z-index', '1');
    jQuery(featuredSlider._target+' li').css('z-index', '0');
*/
	

    jQuery(featuredSlider._target+' li:eq('+featuredSlider._stats['previous']+')').css('z-index', '10');
    jQuery(featuredSlider._target+' li:eq('+featuredSlider._stats['current']+')').css('z-index', '100');
    jQuery(featuredSlider._target+' li:eq('+featuredSlider._stats['next']+')').css('z-index', '10');

  }
}
