// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
$(document).ready(function(){
	
	$(".nav ul").append('<li class="current"></li>');
	
	$('.nav li:first a').addClass('selected');
	$('.nav li:not(:first) a').css('opacity',0.5);
  	$(".nav li a ").bind("click", function(e){ switchTo($(this)); e.preventDefault();}); 
	$('.appReview li a').click(function(e){ fadePic($(this)); e.preventDefault();});
	$('.nav li a:not(".selected")').live("mouseover", function(){
		$(this).animate({ opacity: 1}, { duration: 300 });
	}).live("mouseout", function(){ 
		$(this).animate({ opacity: 0.6}, { duration: 300});
	});
	$('.nav').before('<a href="#" class="up"></a> <a href="#" class="down"></a>');
	$('a.up').click(function(){
		goToPrevious();
		return false;
	});
	$('a.down').click(function(){
		goToNext();
		return false;
	});
});

function goToPrevious() {
	if ($('.nav .selected').parent().prev().length > 0) {
		var prev = $('.nav .selected').parent().prev();
		$('a[class^="app"]', prev).trigger('click');
	}
}

function goToNext(){
	if ($('.nav .selected').parent().next().attr('class') != 'current') {
		var next = $('.nav .selected').parent().next();
		$('a[class^="app"]', next).trigger('click');
	}
}

function watchNav() {
	
	var curr = 0;
	var len = $('.nav li').length - 1;
	$('.nav li').each(function(i){
		if($('.selected', this).length > 0)
			curr = i;
	});	
	if (curr > 2) {
		var moveTo = (curr - 1) * 37;
		if (moveTo > 259) moveTo = 259;
		$('.nav. ul').animate({top: -moveTo + 'px'}, { "duration" : "150"});
	} else if (curr <= 2) {
		$('.nav. ul').animate({top: '0'}, { "duration" : "150"});
	}
}

function switchTo(which){
	jQuery.easing.def = "easeInOutSine";
	var ulTop = $('.nav ul').offset().top;
	var app_store = $(which).next('a').attr('href');
	var par = $(which).parent();
	var parTop = $(which).offset().top;
	var curSel = $('.nav .current').offset().top;
	if(parTop == curSel){ return false;}
	slideMe(which);
	$(".nav .current").animate({top: parTop - ulTop+"px" }, { "duration": 300 });
	$('.nav li a.selected').removeClass('selected').css('opacity', 0.6);
	$(which).addClass('selected').animate({ opacity: 1}, { "duration": 300});
	changAppStoreLink(app_store);
	watchNav();
}

function slideMe(where){
	var wh = $(where).attr('href').replace(/#/,'');
	var totalHeight = $('.appReview:first').height();
	var myIndex = $(where).attr('href').replace(/#app/,'');
	jQuery.easing.def = "easeInOutSine";
	var sliderTop = 0;
	var moveTo = sliderTop + ((myIndex - 1)  * totalHeight);
	$('.sliderContent').animate({top: -moveTo+"px"  }, { "duration": 300 });
}

function fadePic(which){
	var context = $(which).parent().parent().parent();
	var currentPic = $('.phoneContainer img', context).attr('src');
	var newPic = $(which).attr('href').replace(/thumbs/, 'phone');
	if(newPic == currentPic){ return false; }
	$('.phoneContainer img', context).addClass('toRemove');
	$('.phoneContainer', context).append('<img class="toSwap" width="226" src="'+ newPic+'"/>');
	$('.phoneContainer .toRemove', context).fadeOut("slow", function(){
		$('.phoneContainer .toRemove', context).remove();
		$('.phoneContainer img', context).removeClass('toSwap');
	});
}

function changAppStoreLink(link){
	if(link.length == 0){
		$('p.appstore').addClass('nolink');
		$('p.appstore span').html("Bient&ocirc;t sur l'App Store !");
	} else {
		$('p.appstore').removeClass('nolink');
		$('p.appstore a').attr('href', link);
	}
}
