$(function(){

// Anchor Navigation -----------------------------------------------------------------------------
$('#nav, footer p').onePageNav({
  currentClass: 'active',
  changeHash: 0,
  scrollSpeed: 750
});



// RAINBOW TEXT !!ONE! ----------------------------------------------------------------------------
var $rainbowz = $('.rainbow')
if($rainbowz.length){
   $rainbowz.lettering()
      .find('span')
        .each(function(){
          var $this = $(this);
          $this.data('oColor', $this.css('color'));
          $this.data('origClass', $this.attr('class'));
          $this.hover(function(){
            $('#docwrap').css('background-color', 'rgba('+$this.data('oColor').slice(4,-1)+',.4)');
            $this.parent().find('span').removeClass().addClass($this.data('origClass'));
          }, function(){
             $('#docwrap').css('background-color', '')
             $this.parent().find('span').removeClass().each(function(){ $(this).addClass($(this).data('origClass')); }) //be careful about the context for 'this'
          });
        });
}
		
	
// photography portfolio gallery ------------------------------------------------------------------------
	
	//populate bigimages
	$("#photoport-thumbs > div > div.thumbnail").each(function(){
		var image = $(this).find('a').attr('href');
		var $img = $(this).find('img')
		var src = $img.attr('src');
		var title = $img.attr('title');
		var alt = $img.attr('alt');
		var width = $img.width();
		var height = $img.height();
		
		$(this)
		.attr('alt', '')
		.attr('title', '')
		.data('alt', alt)
		.data('title', title)
		.data('image', image)
		$(this).html($(this).find('img'));//unwrap <a> from thumbnail image
		
		var theThumb = this;
			
		$('<img />').attr('src', src).load(function(){
			$(theThumb).find(' > div').css({backgroundImage: 'url('+src+')'}).empty();
		});
		
		
		
		// $('<img />').attr('src',image);
		
		$(this).click(function(){
			doClick($(this));
		});// click thumb
	});//iterate each thumb
	
	//keyboard navigation
	$(document).keydown(function(e) {
	    switch(e.keyCode){
			case 37://left
				photoGalPrev();
			break;
			case 39: //right
				photoGalNext();
			break;
		}
	});// end keyboard nav
	
	//init gallery
	$("#photoport-thumbs > div > div.thumbnail:first").addClass('active');
	galAutoAdvance();
	
	$loaderBox = $("<div class='loader	'>[loading]<div class='loaderbar' style='width: 0px'></div></div>");
	$loaderBar = $loaderBox.find('div.loaderbar');
	
	$('#photoport-image-box').click(function(){galStop();});
	
});//document ready
//**************









var galPlay = false;
var galFirstPlay = false;
var galTimeout; 
var speed = 5000;

function galAutoAdvance(){
	if(galPlay){
		if(galFirstPlay){//skip slide advance if this is the first tme around
			photoGalNext(true);
		}else{
			galFirstPlay = true;
			galTimeout = setTimeout('galAutoAdvance()', speed);
		}
	}
}
function galStart(){
	galFirstPlay = true;
	galPlay = true;
	galAutoAdvance();
}
function galStop(){
	galFirstPlay = false;
	galPlay = false;
	clearTimeout(galTimeout);
	galTimeout = null;
}

function doClick($thumb, auto){
	var image = $thumb.data('image');
	var alt = $thumb.data('alt');
	var title = $thumb.data('title');
	
	if(galTimeout){
		clearTimeout(galTimeout);
		galTimeout = null;
	}	
		
	$thumb
	.siblings()
		.removeClass('active')
		.end()
	.addClass('active');
	
	addLoaderBox($('#photoport-viewer'), $loaderBox, $loaderBar);
	
	var loadImage = $('<img />')
	.attr('src', image)
	.attr('alt', alt)
	.attr('title', title)
	.attr('width', 940)
	.attr('height', 627)
	.load(function(){					
		$loaderBox.stop().fadeOut(200, function(){ $(this).remove()});
		$('#photoport-image-box')
		.prepend(loadImage)
		.fadeTo('medium', 1)
		.find('img:not(:first)')
		.fadeOut('slow', function(){ $(this).remove()});
		
		if(galPlay === true){
			galTimeout = setTimeout('galAutoAdvance()', speed);
		}
		
	});// load thumb
	
}

function photoGalPrev(auto){
	if(auto === undefined) auto = false;
	var $active = $("#photoport-thumbs > div > div.thumbnail.active")
	if($active.is(":first-child")){
		doClick($("#photoport-thumbs > div > div.thumbnail:last"), auto);
	}else{
		doClick($active.prev(), auto);
	}
}
function photoGalNext(auto){
	if(auto === undefined) auto = false;
	var $active = $("#photoport-thumbs > div > div.thumbnail.active")
	if($active.is(":last-child")){
		doClick($("#photoport-thumbs > div > div.thumbnail:first"), auto);
	}else{
		doClick($active.next(), auto);
	}
}

function addLoaderBox($elem, $loaderBox, $loaderBar){
	$elem.append($loaderBox);
	$loaderBox.css({opacity: 0}).fadeTo(1500, .75);
	$loaderBar.stop(1,0).width(0);
	setTimeout(function(){animateLoaderBar($loaderBar)}, 500);
}
function animateLoaderBar($loaderBar){
	if($loaderBar.is(':visible')){
		$loaderBar.animate({width: '850px'}, 2500, 'easeInOutCubic', function(){
			$(this).animate({width: '0px'}, 2500, 'easeInOutCubic', function(){
					animateLoaderBar($loaderBar);//call it again
			});//fadeout
		});//fadein
	}
}




