$(document).ready(function(){
	// Init testimonials
	init_testimonials();
	
	$('#burgers a').hover(
		// original height - 76
		function(){
			if($(this).hasClass('active')) return;
			
			var h = $(this).attr('rel') != 'more' ? 76 : 92;
			
			var img = $(this).find('img');
			img.animate({'height' : (h-16), 'top' : '16px'}, 'fast');
		},
		function(){
			if($(this).hasClass('active')) return;
			var h = $(this).attr('rel') != 'more' ? 76 : 92;
			
			var img = $(this).find('img');
			img.animate({'height' : (h+20), 'top' : '-30px' }, 'fast', function(){
				img.animate({'height' : h, 'top' : 0 }, 'fast');
			});
		}
	).click(function(){
		
		if( $(this).attr('rel') == 'more' ) {
			
			var li = $(this);
			var img = li.find('img');
			var h = 92;
			
			li.find('span').hide();
			li.hide();
			
				
			$('#burgers ul').animate({'left': '50px'}, 800);
			var i=0;
			$('#burgers li').each(function(){
				var li = $(this);
				if(i>2 && i<8) {
					window.setTimeout(function(){
						li.show();
						var img = li.find('img');
						var h = 76;
						img.animate({'height' : (h+20), 'top' : '-30px' }, 'fast', function(){
							img.animate({'height' : h, 'top' : 0 }, 'fast');
						});
		
					}, (i-3)*200);
				}
				i++;
			});
			
			return false;
		}
		
		var img = $(this).find('img');
		if( $(this).hasClass('active') ) return false;
		
		var rel = $(this).attr('rel');
		var h = $(this).attr('rel') != 'more' ? 76 : 92;
		
		img.stop(true, true).animate({'height' : (h+20), 'top' : '-80px'}, 200, function(){
			img.animate({'height' : (h-30), 'top' : '30px' }, 200, function(){
				img.animate({'height' : h, 'top' : '0' }, 200);
			});
		});
		
		if( !is_animating ) {
			show_burger( rel );
		}else {
			to_show = $(this).attr('rel');
		}
		
		$(this).animate({'top' : '14px'});
		
		$('#burgers a.active').removeClass('active').animate({ 'top' : 0 });
		$(this).addClass('active');
		Cufon.refresh( '#burgers a' );
		
		return false;
		
	}).mousedown(function(){
		
		if(!$(this).hasClass('active')) return;
		
		var img = $(this).find('img');
		
		jump = 0;
	
		img_interval = window.setInterval(function(){
			var h = img.height();
			var t = parseInt(img.css('top'));
			var new_h = h - 5;	
			var new_t = t + 5;
			if(new_h <= 40){
				window.clearInterval(img_interval);
			}
			
			img.animate({ 'height': new_h, 'top' : new_t }, 50, 'linear');
			
			jump += 20;
			
		}, 50);
		
	}).mouseup(function(){
		if(!$(this).hasClass('active')) return;
		
		window.clearInterval(img_interval);
		var img = $(this).find('img');
		
		img.stop(true, true).animate({'height' : '96px', 'top' : '-' + jump + 'px'}, 'fast', function(){
			img.animate({'height' : '46px', 'top' : '30px' }, 'fast', function(){
				img.animate({'height' : '76px', 'top' : '0' }, 'fast');
			});
		});
	});
	
	
	//preload burgers
	
	var preload_images = ['burger-html.png', 'burger-email.png', 'burger-wp.png', 'burger-mobile.png', 'fries-js-php.png', 'burger-big-html.png', 'burger-big-email.png', 'burger-big-wordpress.png', 'burger-big-mobile.png', 'fries-big-js.png'];
	
	//preload_images = [];
	
	var path = 'css/images/burgers/';
	for(var i=0; i<preload_images.length; i++){
		var img_load = $("<img></img>");
		
		$(img_load).unbind("load");
		$(img_load).bind("load", function() {
			img_loaded++;
			
			if(img_loaded == preload_images.length) {
				init_burgers();
				
				$('#burgers-loading').animate({'top' : '30px', 'opacity' : 0}, function(){
					show_first_burgers();
				});
			}
		});
		$(img_load).attr("src", path + preload_images[i]);
	}
	
	
	
});
var img_loaded = 0;
var jump = 0;
var img_interval;
var is_animating = false;
var to_show = false;
var last_rel = false;


function show_first_burgers(){
	
	var i=0;
	$('#burgers ul').show();
	$('#burgers li').each(function(){
		i++;
		var li = $(this);
		window.setTimeout(function(){
			li.show();
			var a = li.find('a');
			var img = li.find('img');
			var h = a.attr('rel') != 'more' ? 76 : 92;
			img.animate({'height' : (h+20), 'top' : '-30px' }, 'fast', function(){
				img.animate({'height' : h, 'top' : 0 }, 'fast');
			});
		}, i*100);
	});
				
}

function init_burgers() {
	//var burgers = ['html', 'email', 'wordpress', 'joomla', 'drupal', 'magento', 'mobile', 'js'];
	//var pieces_num = [13, 12, 13, 10, 10, 9, 13, 12];
	var burgers = ['html', 'email', 'wordpress', 'mobile', 'js'];
	var pieces_num = [13, 12, 13, 13, 12];
	
	// create the spans
	for( var i=0; i<burgers.length; i++ ) {
		var html = '';
		for(var j=1; j<=pieces_num[i]; j++) {
			html += '<span class="p'+j+'"></span>';
		}
		$('.burger-place').append('<div class="burger" id="burger-'+burgers[i]+'">'+html+'</div>');
	}
	
	$('.burger span').each(function(){
		$(this).attr('_t', $(this).css('top')).attr('_l', $(this).css('left'));
	});
	
	$('.burger-place').css('top', '25px');
	$('.burger').hide();
}
var interval;

function show_burger( which ) {
	window.clearInterval(interval);
	interval = window.setTimeout(function(){
	
		var last_burger;
		var burger = $('#burger-' + which);
		
		is_animating = true;
	
		hide_last_info();
		
		if ( last_rel ) {
			last_burger = $('#burger-' + last_rel);
			
			hide_last_burger(last_burger, function(){ 
				show_burger_info(which);
				create_burger(burger, function(){ 
					window.setTimeout(function(){ 
						is_animating = false;
						last_rel = which;
						if(to_show) {
							show_burger(to_show);
							to_show = false;
						}
						
					}, 100);  
				}); 
			});
		}else {
			// first time click
			show_burger_info(which);
			create_burger(burger, function(){ 
				window.setTimeout(function(){ 
					is_animating = false;
					last_rel = which;
					
					if(to_show) {
						show_burger(to_show);
						to_show = false;
					}
					
				}, 100);
			}); 
		}
	}, 400);
}


function hide_last_burger(burger, callback){
	var callback = callback || function(){}
	var pieces = burger.find('span');
	var all = pieces.length;
	var is_fries = burger.attr('id') == 'burger-js';
	var time;
	
	var i = 0;
	var j = 0;
	
	// hidding
	pieces.each(function(){
		var piece = $(this);
		i++;
		time = i*40;
		
		if(is_fries && i == all) time = 40;
		
		window.setTimeout(function(){
			j++;
			piece.show();
			if(!$.browser.msie)
			piece.css('opacity', 0.5);
			piece.animate({'top' : '500px'}, 200, 'linear');
			
			//last piece
			if( j == all ) {
				callback();
			}
		}, time);
	});	
	
}

function create_burger(burger, callback) {
	var callback = callback || function(){}
	var pieces = burger.find('span');
	var all = pieces.length;
	var is_fries = burger.attr('id') == 'burger-js';
	
	var i = 0;
	var j = 0;
	
	burger.show();
	pieces.hide().stop(true, true).css('top', '-400px');
	
	var time;
	
	//showing
	pieces.each(function(){
		var piece = $(this);
		i++;
		time = i*100;
		
		if(is_fries && i == all) time = 100;
		
		window.setTimeout(function(){
			var top = parseInt(piece.attr('_t'));
			
			piece.show();
			if(!$.browser.msie)
			piece.css('opacity', 1);
			piece.animate({'top' : top }, 500);
			
			j++;
			
			// last piece
			if( j == all) {
				callback();
			}
		}, time);
	});
}


function hide_last_info(callback){
	var callback = callback || function(){}
	var last_info = $('.slide:visible');
	
	last_info.animate({'top' : '350px'}, function(){
		last_info.hide();
		window.setTimeout(function(){
			callback();
		}, 50);
	});
	
}
	
function show_burger_info( which, callback ) {
	var callback = callback || function(){}
	var burger_info = $('#info-' + which + '-burger');
	
	burger_info.css('top', '-350px').show().animate({ 'top' : '10px' }, function(){
		burger_info.animate({ 'top' : '0' }, 200, function(){
			callback();
		});
	});
}

// Testimonials slider
function init_testimonials() {
	var ul = $('#testimonials ul');
	var li = $('#testimonials li');
	var nav = $('.testimonials-nav');
	var num = li.length;
	var height = li.eq(0).outerHeight();
	
	if( num == 0 ) 
	return
	
	// append the nav
	var html = '';
	for( var i=0; i<num; i++ ) {
		html += '<a href="#">'+i+'</a>';
	}
	nav.html(html);
	var nav_links = $('.testimonials-nav a');
	
	nav_links.eq(0).addClass('active');
	
	var i = 0;
	li.each(function(){ $(this).attr('index', i); i++; });
	
	var next_index = 0;
	var inteval;
	var time = 8000;
	var from_top = parseInt($('#testimonials li:eq(0) strong').css('top').replace('px', ''));
	
	function next_testimonial()	{
		var next = ul.find('li[index=' + next_index + ']');
		ul.css('top', -1 * height);
		ul.prepend( next.remove() );
		
		next.find('strong').css('top', '-120px');
		ul.stop(true, true).animate({ 'top' : 0 }, 500);
		
		next.find('strong').stop(true, true).animate({ 'top' : from_top+10 }, 700, function(){
			next.find('strong').animate({ 'top' : from_top });
		});
		
		nav_links.removeClass('active');
		nav_links.eq(next_index).addClass('active');
	}
	
	function start_auto(){
		interval = window.setInterval(function(){
			next_index ++;
			if(next_index == num ) next_index = 0;
			
			next_testimonial();
			
		}, time);
	}
	function stop_auto(){
		window.clearInterval(interval);
	}
	
	nav_links.click(function(){
		stop_auto();
		var index = $(this).parent().find('a').index(this);
		next_index = index;
		next_testimonial();
		start_auto();
		return false;
	});
	
	start_auto();
}
