var ANIMLENGTH = 500;
var panelHeight = 600; 	//EQUALS HEIGHT ON .sectionContainer
var panelWidth = 650;
var panelSpace = 200;
var leftPos = 50;		//EQUALS MARGIN ON .sectionContainer
var topPos = 0;			//SETTING TO TOP OF VIEW PORT	


$(document).ready(function(){
	
	
	$('#contentContainer').children().each(function(){
		var slides = $(this).find('.slide');
		if(slides.length > 1){		
			slides.hide();				
			$(slides[0]).show();
		};
	});
	
	
	//show first panel
	moveVertical(1,function(){
		moveHorizontal(1);
	});
	
	
	$(document).keydown(function(key){
		//up
		if(key.keyCode == 38) moveVertical(1,ANIMLENGTH);
		
		//down
		if(key.keyCode == 40) moveVertical(-1,ANIMLENGTH);
		
		//left
		if(key.keyCode == 37) moveHorizontal(-1,ANIMLENGTH);
		
		//right
		if(key.keyCode == 39) moveHorizontal(1,ANIMLENGTH);
	});
	
	
	$('#mainNav li').click(function(){
		var curIndex = $('#mainNav .current').index();
		var clickIndex = $(this).index();
		var move = curIndex - clickIndex;
		var spaces = Math.abs(move) -1;
		
		var animLength = ANIMLENGTH;
		if(spaces){
			animLength = ANIMLENGTH / spaces;
		};
		
		moveVertical(move,animLength,spaces);
	});
	
	
	$('.subNav img').live('click',function(){
		
		var panel = $(this).parent().parent();
		var curSlide = panel.children('.slide:visible');
		var curIndex = curSlide.index() - 1;
		var clickIndex = $(this).index();
		var move =  clickIndex - curIndex;
		var spaces = Math.abs(move) -1;
		
		var animLength = ANIMLENGTH;
		if(spaces){
			animLength = ANIMLENGTH / spaces;
		};
		
		moveHorizontal(move,animLength,spaces);
	});
	
	
	$('#sendContact').click(function(){
		contact();		
	});
});



function moveVertical(move,animLength,spaces){
	var container = $('#contentContainer');
	var sliding =  container.hasClass('sliding');
		
	//$('#fbLike').hide();
		
	if(!sliding){
		
		var currentPanel = $('#contentContainer').children(':visible');	

		if(currentPanel.length == 0){
			currentPanel = container.children(':first');
			
			currentPanel.css({
				top:topPos,
				left:leftPos,
				display:'block'
			});
			
			var panelId = currentPanel.attr('id');
			$('#mainNav li').removeClass('current');
			$('label[for="' + panelId + '"]').parent().addClass('current');
		}else{
			
			var curStyle = {
				display:'block',
				left:leftPos,
				zIndex:10
			}
			
			var nextStyle = {
				display:'block',
				left:leftPos,
				zIndex:20
			};
		
			if(move > 0){
				//GOING UP
				var curTop = topPos + panelHeight;
				var nextPanel = currentPanel.prev();
				nextStyle.top = topPos - panelHeight;
				nextStyle.height = panelHeight;
			}else if(move < 0){
				//GOING DOWN
				var curTop = topPos - panelHeight;
				var nextPanel = currentPanel.next();	
				nextStyle.top = topPos + panelHeight;
				nextStyle.height = 0;
			};
			
			
			if(nextPanel && nextPanel.length){
				container.addClass('sliding');
			
				currentPanel.css(curStyle);
				nextPanel.css(nextStyle);
				
				currentPanel.animate({
					top:curTop,
					height:0
				},animLength);
				
				nextPanel.animate({
					top:topPos,
					height:panelHeight
				},animLength,
				function(){
					currentPanel.hide();
					container.removeClass('sliding');
					moveHorizontal(0);
					
					
					if(spaces){
						spaces--;
						moveVertical(move,animLength,spaces);
					};
				});
				
				
				var panelId = nextPanel.attr('id');
				$('#mainNav li').removeClass('current');
				$('label[for="' + panelId + '"]').parent().addClass('current');
			};
			
		};
			
	};
};


function moveHorizontal(move,animLength,spaces){
	var container = $('#contentContainer');
	var panel = $('#contentContainer').children(':visible');
	var slides = panel.children('.slide');
	
	var sliding =  container.hasClass('sliding');
	
	if(slides.length && !sliding){
		var visibleSlides = panel.children('.slide:visible');
		
		if(visibleSlides.length > 1){		
			visibleSlides.hide();				
			$(visibleSlides[0]).show();
		};
		
		var curSlide = panel.children('.slide:visible');
		var nextSlide = null;
		
		var curStyle = {
			display:'block',
			left:leftPos
		};
			
		var nextStyle = {
			display:'block',
		};
		
		
		if(move > 0){
			//MOVE RIGHT
			nextSlide = curSlide.next('.slide');			
			var curLeft = leftPos - panelWidth - panelSpace;
			nextStyle.left = leftPos + panelWidth + panelSpace;
			nextStyle.width = panelWidth;
		}else if(move < 0){
			//MOVE LEFT
			nextSlide = curSlide.prev('.slide');			
			var curLeft = leftPos + panelWidth + panelSpace;
			nextStyle.left = leftPos - panelWidth - panelSpace;
			nextStyle.width = panelWidth;
		};
		
		
		if(nextSlide && nextSlide.length){
			container.addClass('sliding');
			
			curSlide.css(curStyle);
			nextSlide.css(nextStyle);
			
			curSlide.animate({
				left:curLeft
			},animLength);
			
			nextSlide.animate({
				left:leftPos,
				width:panelWidth
			},animLength,
			function(){
				curSlide.hide();
				container.removeClass('sliding');
				moveHorizontal(0);
				
				if(spaces){
					spaces--;
					moveHorizontal(move,animLength,spaces);
				};
			});
			
		}else{
			setNavDots();
		};
	};
};


function setNavDots(){
	var panel = $('#contentContainer').children(':visible');
	var slides = panel.find('.slide');
	var i = 0;
	var html = '';
	
	if(slides.length){
		panel.find('.subNav').remove();
		
		html += '<div class="subNav">';
		
		for(i = 0; i < slides.length; i++){
			var curSlide = $(slides[i]);
			var visible = curSlide.is(':visible');
			
			if(visible){
				html += '<img src="img/nav-dot-active.png" /> ';
			}else{
				html += '<img src="img/nav-dot-inactive.png" /> ';
			};
						
		};
		
		html += '</div>';
		
		panel.prepend(html);
	};	
}


function contact(){
	var errors = [];
	var contactStatus = $('#contactStatus');
	
	contactStatus.html('');
	
	var params = {
		firstName: $('#firstName').val(),
		lastName: $('#lastName').val(),
		email: $('#email').val(),
		emailCheck: $('#emailCheck').val(),
		subject: $('#subject').val(),
		message: $('#message').val()
	};
	
	params.email = params.email.toLowerCase();
	params.emailCheck = params.emailCheck.toLowerCase();
	
	for(var key in params){
		params[key] = $.trim(params[key]);
		
		if(params[key].length == 0){
			var label = $('label[for="' + key + '"]');
			var labelText = label.html().replace(/:/gi,'');
			errors[errors.length] = labelText + ' is a required field.';
		};
	};
	
	if(params.email != params.emailCheck){
		errors[errors.length] = 'The email addresses entered don\'t match.';		
	};
	
	
	if(errors.length){
		var errorText = '';
		
		errorText += '<ul>';
		for(var i = 0; i < errors.length; i++){
			errorText += '<li>' + errors[i] + '</li>';
		};
		errorText += '<ul>';
		
		contactStatus.html(errorText);
		if(contactStatus.is(':visible') == false){
			contactStatus.show('blind');
		};
	}else{
		
			
		var ajaxUrl = 'contact.php';
	
		$.ajax({type:'POST',url:ajaxUrl,data:params,async:false,cache:false,dataType:'json',
			success:function(results){				
			},
			error:function(xhr, ajaxOptions, thrownError){
			},
			complete:function(results){
				
				$('#firstName').val('');
				$('#lastName').val('');
				$('#email').val('');
				$('#emailCheck').val('');
				$('#message').val('');
				
				contactStatus.html('Your message was sent successfully.');
				
				if(contactStatus.is(':visible') == false){
					contactStatus.show('blind');
				};
			}
		});
		
	};
	
	
};










