var animateArray;
var animaticReady = true;
var imageReady = 0;
var imageTotal = 0;
var tTime = 500;
var previousURL;
var nextURL;

function hideAbout() {
	$('.text, #gallery img').css({opacity:0});
}
function hideBio() {
	$('.text, #gallery img').css({opacity:0});
}
function hideBlog() {
	$('#blogExplination, #gallery img, .box, #blogLinks').css({opacity:0});
}
function hideContact() {
	$('.text, #gallery img').css({opacity:0});
}
function hideCraft() {
	$('#craftList li, #gallery img, h1').css({opacity:0});
	$('#noteText').css({top:'650px'});
}
function hideLinks() {
	$('#linksList li, #gallery img, .text').css({opacity:0});
}
function hideIndex() {
	$('.box, #gallery img, h1').css({opacity:0});
}
function hideSkills() {
	$('.skill, #gallery img').css({opacity:0});
}
function playAbout() {
	hideAbout();
	$('#image1').animate({opacity:1},tTime,function() {
		$('.text').animate({opacity:1},tTime);
	});
}
function playBio() {
	hideBio();
	$('#image1').animate({opacity:1},tTime,function() {
		$('.text').animate({opacity:1},tTime);
	});
}
function playBlog() {
	hideBlog();
	$('.box').animate({opacity:.65},tTime);
	$('#image1').animate({opacity:1},tTime,function() {
		$('#blogExplination').animate({opacity:1},tTime, function() {
			$('#blogLinks').animate({opacity:1},tTime);
		});
	});
}
function playContact() {
	hideContact();
	$('#image1').animate({opacity:1},tTime,function() {
		fadeInList('.text', 100, 50);
	});
}
function playCraft() {
	hideCraft();
	$('#image1').animate({opacity:1},tTime,function() {
		$('h1').animate({opacity:1},tTime,function() {
			fadeInList('#craftList li', 100, 50, function() {
				$('#noteText').animate({top:'209px'},tTime);
			});
		});
	});
}
function playIndex() {
	hideIndex();
	$('#image1').animate({opacity:1},tTime,function() {
		$('.box').animate({opacity:.4},tTime);
		$('h1').animate({opacity:1},tTime);
		playIntroImage();
	});
}
function playIntroImage() {
	var hide = true;
	var i = 2;
	var previousImage = '#image1';
	var currentImage = '';
		
	var interval = setInterval(function() {
		
		currentImage = '#image'+i;

		$(previousImage).animate({opacity:0},400, function() {
			$(currentImage).animate({opacity:1},400);
		});
		
		previousImage = currentImage;
		
		if(hide && (i == 8)) {
			$('.box, h1').animate({opacity:0},tTime);
			hide = false;
		}
		if(i == 8) i = 0;
		i++;
	}, 2400);
}
function playLinks() {
	hideLinks();
	$('#image1').animate({opacity:1},tTime,function() {
		$('.text').animate({opacity:1},tTime,function() {
			fadeInList('#linksList li', 100, 50);
		});
	});
}
function playSkills() {
	hideSkills();
	$('#image1').animate({opacity:1},tTime,function() {
		$('#skillsLogo').animate({opacity:1},tTime,function() {
			fadeInList('.skill', 100, 50);
		});
	});
}
function flashNext() {
	var isOn = false;
	var interval = setInterval(function() {
		if(isOn) {
			isOn = false;
			$('#next').css({opacity:1});
		} else {
			isOn = true;
			$('#next').css({opacity:.25});
		}
	}, 500);
	
	$('#next').hover(function() {
		clearInterval(interval);
		$('#next').css({opacity:1});
	})
}
/*****************************************************************************
* PLAY LIST
*****************************************************************************/
function fadeInList(list, tTime, delay, callback) {
	listItems = $(list);
	listLength = listItems.length;
	i = 0; 
	var interval = setInterval( function() { 
        if((i == (listLength-1)) && callback) {
			$(listItems[i]).animate({opacity:1},tTime, function() {
				callback();
			});
		} else {
			$(listItems[i]).animate({opacity:1},tTime);
		}
		i++;
        if( i >= listLength) clearInterval(interval);
    } , delay);
}
/*****************************************************************************
* GALLERY JS
*****************************************************************************/
function setAnimationArray(anArray) {
	animateArray = anArray;
}
function checkReady() {
	imageReady++;
	if(imageTotal == imageReady) playSlide();
}
function setKeyNavigation(previous, next) {
	previousURL = previous;
	nextURL = next;
	$('html').keydown(function(event){
		if(event.keyCode == 37) {
			location.href = previousURL;
		}else if(event.keyCode == 39){
			location.href = nextURL;
		}
	});
}
function playSlide() {
	$('#loading').hide();
	$("#titleText").css({'opacity':0});
	i = 0;
	for(object in animateArray) {
		if(animateArray[object]['image']) {
			playImage(animateArray[object]['image'], i);
			
		}else if(animateArray[object]['box']){
			playBox(animateArray[object]['box'], i);
			
		}else if(animateArray[object]['text']){
			playText(animateArray[object]['text'], i);
			
		}else if(animateArray[object]['animatic']){
			playAnimatic(animateArray[object]['animatic'], i);
		}
		i++;
	}
}
function playImage(image, index) {
	
	setTimeout(function(){ 
		$('#imageShadow'+index).animate({opacity:.5, left:image['endX'], top:image['endY']}, image['time']);
		$('#image'+index).animate({opacity:image['endAlpha'], left:image['endX'], top:image['endY']}, image['time']);
	}, image['delay']);
}

function playBox(box, index) {
	setTimeout(function(){ 
		$('#box'+index).animate({opacity:box['endAlpha'], left:box['endX'], top:box['endY']}, box['time']);
	}, box['delay']);
}
function playText(text, index) {
	setTimeout(function(){ 
		$('#text'+index).animate({opacity:text['endAlpha'], left:text['endX'], top:text['endY']}, text['time']);
	}, text['delay']);
}
function playAnimatic(animatic, index) {
	i = 0;
	delay = 0;
	$('#replay').css({display:'block'});
	for(anImage in animatic) {
		image = animatic[anImage];
		delay += image['delay'];
		playAnimaticImage(image, delay, index, i);
		i++;
	}
	
}
function playAnimaticImage(image, delay, index, i) {
	setTimeout(function(){
		if(i != 0) {
			$('#animaticShadow'+index+(i-1)).css({opacity:0});
			$('#animatic'+index+(i-1)).css({opacity:0});
		}
		$('#animaticShadow'+index+i).animate({opacity:.5, left:image['endX'], top:image['endY']}, image['time']);
		$('#animatic'+index+i).animate({opacity:image['endAlpha'], left:image['endX'], top:image['endY']}, image['time']);
	}, delay);
}
