

$j(document).ready(function(){
	var currentPosition = 0;
	var slideWidth = 442;
	var slides = $j('.slide');
	var numberOfSlides = slides.length;
	var divswitchclassoff = 'switchoff';
	var divswitchclasson = 'switchon';
	var breakclass = 'break';
	var playclass = 'play';
	var pause = false;
  // Remove scrollbar in JS
  $j('#slidesContainer').css('overflow', 'hidden');
 
  // Wrap all .slides with #slideInner div
  slides
    .wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
	.css({
      'float' : 'left',
      'width' : slideWidth
    });
 
  // Set #slideInner width equal to total width of all slides
  $j('#slideInner').css('width', slideWidth * numberOfSlides);
 
  // Insert controls in the DOM
  if(numberOfSlides > 0){
	  $j('#slideshow')
	  .prepend('<span class="slidecontrol" id="leftControl">Clicking moves left</span>')
	  .append('<span class="slidecontrol" id="rightControl">Clicking moves right</span>');
  }
  // Hide left arrow control on first load
  manageControls(currentPosition);
  
  //add pages
  for(i=0; i<numberOfSlides;i++){
		divswitchclass = (i == currentPosition) ? divswitchclassoff : divswitchclasson;
		page = i+1;
		$j('#slideshowpages').append('<a href="#" class="'+divswitchclasson+'" id="'+i+'">'+page+'</a>');
  }
  
  
  if(numberOfSlides > 1){
	  $j('#slideshowpages').append('<a href="#" class="'+breakclass+'" id="playcontrol"></a>');
  }
  
  $j('#playcontrol').bind('click', function(){
	  if($j(this).hasClass(breakclass)){
		  pause = true;
		  $j('#playcontrol').removeClass(breakclass);
		  $j('#playcontrol').addClass(playclass);
	  }
	  else{
		  pause = false;
		  $j('#playcontrol').removeClass(playclass);
		  $j('#playcontrol').addClass(breakclass);
	  }
  });
    
  // Create event listeners for .controls clicks
  $j('.slidecontrol')
    .bind('click', function(){
	//only move if currentPosition is in the specific area
	nextPosition = ($j(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
	slide(nextPosition);
  });
  
  // Create event listeners for .switchon clicks
  $j('.switchon')
    .bind('click', function(){
		nextPosition = $j(this).attr('id');
		slide(nextPosition);
  });
  
  children = $j('#slideshowpages').children();
  for(i=0; i<children.length; i++){
		cur = $j(children[i]);
		if($j(cur).attr('id') == currentPosition){
			$j(cur).removeClass(divswitchclasson);
			$j(cur).addClass(divswitchclassoff);
		}
	}
  
  //manageControls: Hides and Shows controls depending on currentPosition
  function manageControls(position){
    // Hide left arrow if position is first slide
  	//if(position==0){ $j('#leftControl').hide() } else{ $j('#leftControl').show() }
  	// Hide	 right arrow if position is last slide
    //if(position==numberOfSlides-1){ $j('#rightControl').hide() } else{ $j('#rightControl').show() }
  }	

  function manageSlidepages(current, jump){
  	children = $j('#slideshowpages').children();
  	for(i=0; i<children.length; i++){
  		cur = $j(children[i]);
  		if($j(cur).attr('id') == current){
  			$j(cur).removeClass(divswitchclassoff);
  			$j(cur).addClass(divswitchclasson);
  		}
  		if($j(cur).attr('id') == jump){
  			$j(cur).removeClass(divswitchclasson);
  			$j(cur).addClass(divswitchclassoff);
  		}
  	}
  }
  
  function slide(){
	  nextpos = currentPosition + 1;
	  if(nextpos == numberOfSlides)
		  slide(0);
	  else
		  slide(nextpos);
  }

  function slide(nextPosition){
	  if(nextPosition < 0){
		  	nextPosition = numberOfSlides-1;
	  }
	  if(nextPosition > numberOfSlides-1){
		  nextPosition = 0;
	  }
	  if(nextPosition >= 0 && nextPosition <= numberOfSlides-1 && nextPosition != currentPosition) {
		  $j('#slideInner').animate({
			  'marginLeft' : slideWidth*(-nextPosition)
		  });
		  manageSlidepages(currentPosition, nextPosition);
		  currentPosition = nextPosition;
		  manageControls(currentPosition);
	  }
  }
  
  if(numberOfSlides > 1){
	  setInterval(
	   function(){
		  if(!pause){
			  nextpos = currentPosition + 1;
			  if(nextpos == numberOfSlides)
				  slide(0);
			  else
				  slide(nextpos);
		  }
	  }, 7500 );
  }
});






