var slidesinited = false;
var numberOfSlides = 0;
var currentPosition = 0;
var titleWidth = 160;
var titleTotalWidth = titleWidth + 32;

var slidesClass;
var slideWidth;
  
function initSlides(sWidth,sClass)
{
  if( slidesinited ) return;
  slidesinited = true;
  slideWidth = sWidth;
  slidesClass = sClass;
  var slides = jQuery('.slide'+slidesClass);
  var titles = jQuery('#titleinner'+slidesClass+' .slmainfeature_title');
  
  currentPosition = 0;
  numberOfSlides = slides.length;
  

  // Remove scrollbar in JS
  jQuery('#slidesContainer'+slidesClass).css('overflow', 'hidden');
  jQuery('#titlesContainer'+slidesClass).css('overflow', 'hidden');
  

  // Wrap all .slides with #slideInner div
  slides.css({
    'float' : 'left',
    'width' : slideWidth
  });
  
  titles.css({
    'float' : 'left',
	'margin-left' : 16,
	'margin-right' : 16,
    'width' : titleWidth,
	'margin-top' : 2
  });
  
  
  // Set #slideInner width equal to total width of all slides
  jQuery('#slideInner'+slidesClass).css('width', slideWidth * numberOfSlides);
  jQuery('#titleinner'+slidesClass).css('width', titleTotalWidth * numberOfSlides);

  // Insert left and right arrow controls in the DOM
  jQuery('#titlesContainer'+slidesClass)
    .prepend('<span class="control" id="leftControl">Move left</span>')
    .append('<span class="control" id="rightControl">Move right</span>');

  // Hide left arrow control on first load
  manageControls(currentPosition);

  // Create event listeners for .controls clicks
  jQuery('.control')
    .bind('click', function(){
    // Determine new position
      currentPosition = (jQuery(this).attr('id')=='rightControl')
    ? currentPosition+1 : currentPosition-1;
	  
	  jQuery("#slmainfeature").stop(true);	
	  updateSlides();
	
    });
	jQuery("#slmainfeature").animate({'display':'block'},5000,slideCycle);
}

	function updateSlides()
	{
		// Hide / show controls
		manageControls(currentPosition);
		// Move slideInner using margin-left
		jQuery('#slideInner'+slidesClass).animate({
			'marginLeft' : slideWidth*(-currentPosition)
		});
		jQuery('#titleinner'+slidesClass).css({
			'marginLeft' : titleTotalWidth*(-currentPosition)
		});
		jQuery("#slmainfeature").animate({'display':'block'},5000,slideCycle);
	}
	
  // manageControls: Hides and shows controls depending on currentPosition
	function manageControls(position){
		// Hide left arrow if position is first slide
		if(position==0){ jQuery('#leftControl').hide() }
		else{ jQuery('#leftControl').show() }
		// Hide right arrow if position is last slide
		if(position==numberOfSlides-1){ jQuery('#rightControl').hide() }
		else{ jQuery('#rightControl').show() }
	}
	
	function slideCycle()
	{
		if( jQuery("#rightControl").css('display') == "block" )
		{
			currentPosition++;
		}
		else
		{
			currentPosition = 0;
		}
		updateSlides();
	}
	
	
