////////////////////////////////////////////
/// Project Cycler

  var slides =  null;
  var controls = null;
  var current = null;
  var currentPosition = -1;
  var timeout = null;
  var animating = false;
  var hasGallery = false;
  var navPosition = null;
  
  var prepare = function() {
    jQuery("body").addClass("javascript");
    // Set up the slides
    slides = jQuery("#gallery #slides li");
    if (slides.length > 0) {
      hasGallery = true;
      jQuery("#gallery #controls a").click(click);
        
      jQuery("#gallery").hover(function() {
        window.clearTimeout(timeout);
      }, function() {
        window.clearTimeout(timeout);
        timeout = window.setTimeout("changeSlide(1)", 3000);
      });
    }
    
    // modified from www.spookandpuff.com
    navPosition = jQuery('#headercrop').isOnScreen() ? 'absolute' : 'fixed';
		scrollingNav();
    
    $(window).bind('scroll resize', function(){
			scrollingNav();			
    });
  };
  
  function scrollingNav() {
    //Update the class on the navigation, depending on whether the masthead is on screen or not.
  	if (jQuery('#headercrop').isOnScreen()) {
  		if (navPosition == 'fixed') {
  			jQuery('#stateNav').removeClass('scrolled').css("right", "41px");
  			navPosition = 'absolute';
  		}
  	} else {
      var offset = (((jQuery('body').innerWidth() - 1008)/2) + 43);
			jQuery('#stateNav').addClass('scrolled').css("right", offset+"px");
			navPosition = 'fixed';
  	}
  }
  
  var changeSlide = function(moveTo) {
    animating = true;
    var currentSlide = (jQuery("#gallery #slides").children("li.current:first").length > 0) ? jQuery("#gallery #slides").children("li.current:first").attr("id").match(/\_(\S+)$/)[1] : 0;
    if (moveTo != undefined) {
      var reverse = (parseInt(moveTo) < 0) ? true : false;
      nextSlide = parseInt(currentSlide) + parseInt(moveTo);
    } else {
      nextSlide += 1;
    }
    if (nextSlide > (slides.length)) {
      nextSlide = 1;
    } else if (nextSlide <= 0) {
      nextSlide = (slides.length);
    }
    
    timeout = window.setTimeout("changeSlide()", 7000);
    if (slides.length == 1) {
      window.clearTimeout(timeout);
      jQuery("#gallery #slides li.current").addClass("next").removeClass("current");
      animationComplete();
    } else if (parseInt(currentSlide) == nextSlide) {
      jQuery("#gallery #slides li.current").addClass("next").removeClass("current");
      animationComplete();
    } else {
      jQuery("#gallery #slides li#slide_"+nextSlide).addClass("next").fadeIn("slow", animationComplete );
    }
    
    //jQuery("#featuredPanels").animate({left: (currentPosition * (-800))+"px"}, 1500, 'easeInOutExpo', animationComplete );
  };
  
  var animationComplete = function() {
    jQuery("#gallery #slides li.current").hide().removeClass("current");
    jQuery("#gallery #slides li.next").addClass("current").removeClass("next");
    jQuery("#gallery #controls li.caption p").text(jQuery("#gallery #slides li.current a").attr("title"));
    animating = false;
  };
  
  var click = function(e) {
    if (!animating) {
      var target = e.target;
      target = target.href.match(/\#(\S+)$/)[1];
      var moveTo = (target == "next") ? 1 : -1;
      window.clearTimeout(timeout);
      changeSlide(moveTo);
    }
    return false;
  };

jQuery(document).ready(prepare);

jQuery(window).load(function() {
  if (hasGallery) {
    changeSlide(0);
  }
    
});
