jQuery(document).ready(function() {
	
	jQuery('#navigation ul li a').click(function() {
		return fbs.navigate(this);
	});
	
	jQuery('.book').each(function() {
		fbs.book.init(this);
	});

	jQuery('#orderForm').submit(function() {
		return fbs.order(this);
	});
	
	jQuery('#orderForm .form-element input[type=text]').each(function() {
		var $this = jQuery(this);
		$this.css({width: (305-$this.position().left) + 'px', right: 0});
	});
	
	jQuery('#order-link a').click(function() {
		jQuery('#order').css({visibility: 'visible'});
		if (!jQuery('.book .book-page').eq(0).hasClass('active')) {
			fbs.book.next(jQuery('.book'),jQuery('.book .book-page').eq(0));
		}
	});
	
	
	jQuery('label[for=agb]>strong>em').css({cursor:'pointer'}).click(function() {
		jQuery("#navigation a[href^='/agb']").click();
		return false;
	});
});



window.fbs = {};

fbs.navigate = function(a) {
	
	
	
	var $a		= jQuery(a);
	var href	= $a.attr('href');

	$container	= jQuery('#wrapper .ajax-navigation-container');


	if ($container.length == 0) {
		$container = jQuery(document.createElement('div'));
		jQuery('#wrapper').append($container.addClass('ajax-navigation-container'));
	}
	
	var visible = ($container.width() > 500);

	
	if (!visible) {
		$container.css({display:'block',height: $container.parent().parent().height()+'px'});
		setTimeout(function() {
			$container.css({height:'auto',minHeight:'100%'});
		},500)
		$container.animate({width: '680px'},{duration: 750, easing: 'easeOutExpo'}); // 307 + 40 + 313 + ... 
	}
		
	jQuery.get(href, function(html) {
		var $doc = jQuery(html);
		
		
		if (visible) {
			$container.find('.content').html($doc.find('#content').html());
		}
		else {
			setTimeout(function() {
				$container.html('<div class="ajax-content"><\/div>');
				var $content = $container.find('.ajax-content');
				$content.hide().html('<h1>&lt;<\/h1><div class="content">' + $doc.find('#content').html() + '<\/div>').fadeIn();
				$container.find('.ajax-content>h1').click(function() {
					jQuery('#content').fadeTo(500,1);
					$content.empty();
					$container.animate({width:'310px'},function() { jQuery(this).hide(); });
				});
			},100);
		}
		
	});
	
	
	
	jQuery('#content').fadeTo(500,0.25);
	
	
	return false;
	
};



fbs.navigate = function(a) {
	
	var $a		= jQuery(a);
	var $li		= $a.parents('li').eq(0);
		
	var href	= $a.attr('href');

	$container	= jQuery('#sidebar .sidebar-content-container');


	if ($container.length == 0) {
		$container = jQuery(document.createElement('div'));
		jQuery('#sidebar').append($container.addClass('sidebar-content-container'));
	}
	
	$container.empty();
	

	
	jQuery.get(href, function(html) {
		
	//	$li.append($container);
		var $doc = jQuery(html);

		$container.html('<div class="sidebar-content">'+$doc.find("#content").html()+'<\/div>');
		
	});
	
	return false;
	
	
};


fbs.book = {

	init: function(book) {
		
		var $book	= jQuery(book);
						
		var $pages = $book.children('.book-page');


		
		$pages.each(function() {

			var $page 	= jQuery(this);
			
			$span = $page.find('span');
			if (!$span.length) return;
			
			
			$page.css({position: 'absolute', left: '653px'});
			
			var src		= $span.text();
			var img		= new Image();
			jQuery(img).load(function() {
				$page.append(img);
				jQuery(this).css({
					height: img.height+'px'
				});
			});
			img.src		= src;
			
		});
		
		
		$book.click(function(e) {
			if (e.target.tagName.toLowerCase()!='img') return true;
			fbs.book.next(book);
		});
		
	},
	
	next: function(book,$next) {
		
		var $book = jQuery(book);
	
		var $current	= $book.children('.active');
	
		
		
		if ($current.length) {
			$current.removeClass('active');
			if (!$next) {
				$next 	= $current.next('.book-page');
			}
		}
		
		if (!$next || $next.length == 0) {
			$next = $book.children('.book-page').eq(0);
		}
		
		$next.addClass('active');

		$current.css({zIndex: 1});

		$next.css({top:0, left: 0, zIndex:0, display:'block'});
		
		$current.animate({left:'-700px'},{duration:750, easing: 'easeInOutCubic'});
		$book.animate({height: $next.height()+'px'});

	}
	
}


fbs.order = function(form) {
	var $form = jQuery(form);
	
	var valid = true;
	
	$form.find('.error').removeClass('error');
	
	var $agb = $form.find('.agb');
	if (!$agb.find('input').get(0).checked) {
		valid = false;
		$agb.addClass('error');
	}
	
	$form.find('.mandatory').each(function() {
		var $div = jQuery(this);
		var $input = $div.find('input');
		if (jQuery.trim($input.val()) == '') {
			$div.addClass('error');
			valid = false;
		}
	});
	
	$form.find('.email').each(function() {
		var $div = jQuery(this);
		var $input = $div.find('input');
		if (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test($input.val()) == false) {
			$div.addClass('error');
			valid = false;
		}
	});
	
	$form.find('.dup').each(function() {
		var $div1 = jQuery(this);
		var $div2 = $div1.prev('.form-element');
		if ($div1.find('input').val() != $div2.find('input').val()) {
			$div1.addClass('error');
			$div2.addClass('error');
			valid = false;
		}
	});
	
	if (valid) {
		jQuery.post($form.attr('action'),$form.serialize(),function(html) {
			var $doc = jQuery(html);
			jQuery('#order').html($doc.find('#order-confirmation').html());
		});
	}
	return false;
}

