function ajaxForm(area) {
	var name      = $('#feedback_name', area).val();
	var email     = $('#feedback_email_address', area).val();
	var msg       = $('#feedback_message', area).val();
	var extra     = $('#feedback_extra', area).val();
	var cat       = $('#feedback_category', area).val();
		$.ajax({
			type: "POST",
			url: "support",
			data: "feedback_name=" + name + "&feedback_email_address=" + email + "&feedback_message=" + msg + "&feedback_extra=" + extra + "&feedback_category=" + cat,
			success: function(){
				$('div.support_item').removeClass('selected_support_item');
				$('div.support_content_item').hide();
				$('.thankyou').fadeIn();
				
				$('#feedback_name', area).val('');
				$('#feedback_email_address', area).val('');
				$('#feedback_message', area).val('');
				$('#feedback_extra', area).val('');
				$('#feedback_category', area).val('');
				
			}
		});	
}

function loadVideo(posterImage, videoName, parentElement) {
	if(	$('.big_picture #video').length	) {
		//that there is a video element on the page
		if( $('.flareVideo').length ) {
			// var videoArray = document.getElementsByTagName('video');			
			// var array = $('video');
			// $.each(array, function(index, value) {
			// 	console.log(array[index]);
			// 	array[index].die();
			// 	array[index].remove();
			// });
			
			$('#video').empty();
		}
	}

	var defaults = {
		poster:   posterImage,
	};
	
	var sources = [{ 
					src: 'http://cloudfront.mekentosj.com/videos/' + videoName + '.mp4',
					type: 'video/mp4'
				},{
					src: 'http://cloudfront.mekentosj.com/videos/' + videoName + '.ogv',
					type: 'video/ogg'
				},{
					src: 'http://cloudfront.mekentosj.com/videos/' + videoName + '.flv',
					type: 'video/flv'
				}];

	fv = $("#" + parentElement + " #video").flareVideo(defaults);	
	fv.load(sources);	
}

function systemRequirements() {
	//Show and Hide all system requirment divs for applications
	$('a.requirements').click(function() {
		$('div.requirements').slideToggle('800');
	});	
}

function swapWithNavigation() {
	// Move swappable elements with navbar, theses buttons must have class="swap NAMEOFSWAPPABLEID1 NAMEOFSWAPPABLEID2 NAMEOFSWAPPABLEID3 ..."
	// ex. <li><a href="#" class="swap overview" id='overview_link'>Overview</a></li>
	$('a.swap').click(function(e) {
		
		// hide all swappable divs
		$('.swappable:visible').hide();

		// show selected divs
		var shownClasses = $(this).attr('class').split(' ');
		var i;
		var n = shownClasses.length;
		for (i = 1; i < n; i++)
		{
			var aClass =  $(this).attr('class').split(' ').slice(i,i+1);
			$('#'+aClass).fadeIn('slow');
		}
		
		// show new selection
		var lastClass = $(this).attr('class').split(' ').slice(-1);
		$('#'+lastClass + '_pinpoint').fadeIn('fast');

		// select image for the field
		$('div.field_container').removeClass('selected_field');
		$(this).parent().addClass('selected_field');

		e.preventDefault(); 
	});	
}

function profilePreviews() {
	//profile page
	$('a.swap_profile').click(function(e) {
		var lastClass = $(this).attr('class').split(' ').slice(-1);
			$('profile_content_item').fadeOut();
			$('.profile_items .selected_profile_item').removeClass('selected_profile_item');
			$('#' + lastClass + '_container').addClass('selected_profile_item');
			$('.profile_content_item:visible').fadeOut('fast', function() {
				$('.' + lastClass + '_profile_content').fadeIn('fast');				
			});
		e.preventDefault();
	});
}

function navigateFeatures() {
	//Features
	$('li a.feature_link').click(function(e) {
		var lastClass = $(this).attr('class').split(' ').slice(-1);		
			if(lastClass == 'selected') {
				lastClass = $(this).attr('class').split(' ').slice(-2, -1);
			}
			$('li a.feature_link.selected').removeClass('selected');
			$(this).addClass('selected');
			$('div.feature_content:visible').fadeOut('fast', function(e) {
				$('div.big_feature #' + lastClass + '_content').fadeIn();
			});	
		e.preventDefault();	
	});
}

function navigateGallery() {
	//Gallery, to navigate the shown images
	$('li.selectable a.select_image').click(function(e) {
		var lastClass = $(this).attr('class').split(' ').slice(-1);
			$('#main_gallery').fadeOut('fast', function() {
				$(this).attr('src', '/images/gallery/' + lastClass + '.jpg');
			}).fadeIn('slow');
			$('.selectable').removeClass('selected');
			$('#thumbnail_' + lastClass).addClass('selected');
		e.preventDefault();
	});
}

function navigateTutorials() {
	//auto load video on /papers/iphone
//	loadVideo();
	
	//Tutorials
	$('li.selectable a.select_tutorial').click(function(e) {
		var lastClass = $(this).attr('class').split(' ').slice(-1)[0];
		$('li.selectable').removeClass('selected');
		//$(this).addClass('selectable');
		$(this).parent().addClass('selected');

		$('div.tutoriable').hide();
		$('#' + lastClass + '.tutoriable').fadeIn('slow');

		var poster = $('img', $(this)).attr('src').replace('.gif','.jpg');

		switch(lastClass)
		{
			case 'iphone_introduction':
				loadVideo(poster, 'papersforiphone', lastClass);
				break;
			case "iphone_guidedtour":
				loadVideo(poster, 'guidedtour', lastClass);
				break;
		}

		e.preventDefault();
	});


}

function supportAndContactSwap() {
	//Support and Contact pages
	$('a.swap_support').click(function(e) {
		var lastClass = $(this).attr('class').split(' ').slice(-1);
		$('div.support_item').removeClass('selected_support_item');
		$(this).parent().addClass('selected_support_item');
		$('div.support_content_item').hide();
		$('#' + lastClass + '_content').fadeIn();
		e.preventDefault();
	});
}

// function parrallax() {
// 	var target = jQuery("#target");
// 	target
// 	.children('div')
// 	.parallax(
// 				{ decay: 0.9 },
// 				{ mouseport: target },
// 				{ xparallax: 0.15, yparallax: 0.1, xorigin: '45%', yorigin: '0%' },
// 				{ xparallax: 0.2, yparallax: 0.15, xorigin: '65%', yorigin: '20%' },
// 				{ xparallax: 0.25, yparallax: 0.2, xorigin: '75%', yorigin: '40%' },
// 				{ xparallax: 0.2, yparallax: 0.25, xorigin: '95%', yorigin: '60%' },
// 				{ xparallax: 0.15, yparallax: 0.2, xorigin: '75%', yorigin: '80%' },
// 				{ xparallax: 0.1, yparallax: 0.15, xorigin: '55%', yorigin: '95%' },
// 				{ xparallax: 0.15, yparallax: 0.1, xorigin: '35%', yorigin: '80%' },
// 				{ xparallax: 0.2, yparallax: 0.15, xorigin: '15%', yorigin: '60%' },
// 				{ xparallax: 0.25, yparallax: 0.2, xorigin: '0%', yorigin: '40%' },
// 				{ xparallax: 0.2, yparallax: 0.25, xorigin: '15%', yorigin: '20%' },
// 				{ xparallax: 0.15, yparallax: 0.2, xorigin: '35%', yorigin: '15%' }
// 	);
// }

function fillPosts() { 
	var feeds = $('#feedPosts');
	if(feeds.length) {
		$.ajax({
			type: "GET",
			url: "api/v1/posts",
			success: function(data){
				if(data == "error") {
					//maybe try again? but right now don't do anything because data was bad from wordpress
				} else {
					//got a good result bad, so now fill the page with it
					feeds.empty();
					feeds.html(data);				
				}
			}
		});		
	}
}

function showHotSpots() {
	var img = $('img.screenshot');	
}

function slideSwitch() {
	$("#construction_rotate img.shown").fadeOut(1000, function() {
		$(this).removeClass("shown");
	});
	var nextImage = $("#construction_rotate img.shown").next().attr('src');
	if(nextImage !== undefined) {
		$("#construction_rotate img.shown").next().fadeIn(1000, function() {
			$(this).addClass("shown");
		});
	} else {
		$("#construction_rotate img").first().fadeIn(1000, function() {
			$(this).addClass("shown");
		});
	}
}

function nightSwitch() {
	var currentTime = new Date()
	if (currentTime.getHours() < 9 || currentTime.getHours() > 17)
	{	
		$("#papers_natal img.day").hide();
		$("#papers_natal img.night").fadeIn();
	}
}


$(function() {
	systemRequirements();
	swapWithNavigation();
	profilePreviews();
	navigateFeatures();
	navigateGallery();
	navigateTutorials();
	supportAndContactSwap();
	// parrallax();
	fillPosts();
	
	$("form#feedback_form").submit(function(e) {
		ajaxForm($(this));
		e.preventDefault();
	});
	$("form#feedback_bug").submit(function(e) {
		ajaxForm($(this));
		e.preventDefault();
	});
	$("form#feedback_request").submit(function(e) {
		ajaxForm($(this));
		e.preventDefault();
	});
	
	$("form#subscribe").submit(function(e) {
		var email     = $('#email', area).val();
			$.ajax({
				type: "POST",
				url: "support",
				data: "email=" + email,
				success: function(){
					$('form#subscribe').fadeOut();
				}
			});

		e.preventDefault();
	});
	
	if ( $("#construction_rotate").length ) {
		setInterval( slideSwitch, 4000 );
	}
	
	if ( $("#papers_natal").length ) {
		nightSwitch();
	}
	
	$("a#fancy_info").fancybox({
		'width'				: '30%',
		'height'			: '30%',
		'autoScale'			: false,
		'transitionIn'		: 'elastic',
		'transitionOut'		: 'elastic',
		'overlayOpacity'	: 0.7
	});
});
