var slides = [];
var curSlide = 0;
var slideShow = null;

var tweets = [];
var curTweet = 0;
var tweeter = null;


function showAll() {
  $.each( slides, function() {
    $(this).show();
  } );
}

function resetSlideShow() {
  clearInterval( slideShow );
  slideShow = setInterval( 'nextSlide()', 6000 );
}

function nextSlide() {  
  $( '#slide-' + curSlide ).removeClass( 'active' );
  if( curSlide == slides.length-1 ) {    
    curSlide = 0;
    $( slides[curSlide] ).fadeIn( 'def', function() {
      showAll();
    } );
  } else {
    $( slides[curSlide] ).fadeOut();
    curSlide++;
  }
  $( '#slide-' + curSlide ).addClass( 'active' );
  resetSlideShow();
}

function prevSlide() {
  $( '#slide-' + curSlide ).removeClass( 'active' );  
  if( curSlide == 0 ) {
    for( var i = 1; i <  slides.length - 1; i++ ) {
      $( slides[i] ).hide();
    }
    $( slides[curSlide] ).fadeOut();    
    curSlide = slides.length-1;
  } else {
    curSlide--;
    $( slides[curSlide] ).fadeIn();
  }
  $( '#slide-' + curSlide ).addClass( 'active' );
  resetSlideShow();
}

function setSlide( idx ) {
  if( curSlide == idx || idx < 0 || idx > slides.length -1 ) {
    return;
  }
  $( '#slide-' + curSlide ).removeClass( 'active' );
  if( idx > curSlide ) {
    for( var i = 1; i < idx - curSlide; i++ ) {
      $( slides[idx-i] ).hide();
    }
    $( slides[curSlide] ).fadeOut();
  } else {
    $( slides[idx] ).fadeIn();
    for( var i = 1; i < curSlide - idx; i++ ) {
      $( slides[idx+i] ).show();
    }
  }
  curSlide = idx;
  $( '#slide-' + curSlide ).addClass( 'active' );
  resetSlideShow();
}

function nextTweet() {  
  if( curTweet < 4 ) {
     curTweet++;
  } else {
     curTweet = 0;
  }
  $( '#twitter-bar p' ).fadeOut( function() {
     $( '#twitter-bar p' ).html( '<a href="http://twitter.com/neutdevproject" target="_blank">' + tweets[curTweet] + '</a>' );
     $( '#twitter-bar p' ).fadeIn();
  } );
}

$(document).ready(function () {
  var i=1;
  $( '.slide-image' ).each( function() {
    slides.push( $(this) );
    $(this).css( 'z-index', 100-10*i );
    i++;
  } );
    
  
  resetSlideShow();
  
  $( '.slide-selector' ).click( function() {
    var idx = $(this).attr( 'id' );
    idx = parseInt( idx.substr( idx.length-1, idx.length ) );
    setSlide( idx );
  } );
  
  $( '#slide-prev' ).click( function() {
    prevSlide();
  } );
  
  $( '#slide-next' ).click( function() {
    nextSlide();
  } );
  
  $( '#slide-pause' ).toggle( 
    function() {
      clearInterval( slideShow );
      $( '#slide-pause' ).removeClass( 'ui-icon-pause' ); 
      $( '#slide-pause' ).addClass( 'ui-icon-play' );
    },
    function() {
      slideShow = setInterval( 'nextSlide()', 6000 );
      $( '#slide-pause' ).removeClass( 'ui-icon-play' ); 
      $( '#slide-pause' ).addClass( 'ui-icon-pause' );
    }
   );
   
   $.getJSON( 'http://twitter.com/statuses/user_timeline/neutdevproject.json?count=5&callback=?',
      function( json ) {
         for( datum in json ) {
            tweets.push( json[datum].text);
         }
         tweeter = setInterval( 'nextTweet()', 5000 );
      }, "jsonp"
   );
         
} );

