var Slider = function() {
	var $element = jQuery("#Featured");
	var $slider = jQuery( "ul", $element );
	var $slides = jQuery( "li", $slider );
	var $arrows = jQuery( "ol", $element ).find("li");
	
	var slideWidth = 0, current = 0, total = 0, speed = 800, paused = false, timer;
	
	var init = function() {
		if ( !$element )
			return;
		slideWidth = $element.width();
		current = 0;
		total = $slides.size();
		$slider.find("li").hide().each(function(i,el){
			$(this).css({top: -Math.max(0, Math.ceil( ($(el).find('img').height() - 310) / 2 ) )});
		}).eq(current).show();
		$arrows.click(arrowClick);
		/* Bind keys */
		$(window).bind("keydown",function(e){
			switch(e.keyCode){
				case 37:e.preventDefault();showSlide( ( current == 0 ? total-1 : current-1 ) );break;
				case 39:e.preventDefault();showSlide( ( current+1 < total ? current + 1 : 0 ), true );break;
			}
		});
	};
	
	var arrowClick = function(e) {
		e.preventDefault();
		showSlide( $(this).hasClass("Right") ? ( current+1 < total ? current + 1 : 0 ) : ( current == 0 ? total-1 : current-1 ), $(this).hasClass("Right") );
	};
	var initTimer = function() {
		clearTimeout(timer);
		timer = setTimeout(function(){ showSlide( ( current+1 < total ? current + 1 : 0 ), true ); }, 5000 );
	}

	var showSlide = function( next, ltr ) {
		initTimer();
		if ( paused ) return;
		paused = true;
		ltr = ltr || false;
		$slides.eq( current ).css("left", 0).animate({left: ( ltr ? -slideWidth : slideWidth )}, speed, function() { $(this).hide() });
		$slides.eq( (current = next) ).show().css("left", ( ltr ? slideWidth : -slideWidth )).animate({left: 0}, speed, function() { paused = false; });
	};
	init();
	initTimer();
};

var Tabs = function() {

	var $tabs = jQuery("li", "ul.Tabs");
	var $tab = jQuery(".Tab");
	
	var init = function() {
		if ( !$tabs )
			return;
			
		$tabs.eq(0).find("a").addClass("Active");
		$tab.hide().eq(0).show();
		$tabs.find("a").click(loadTab);
	};
	
	var loadTab = function(e) {
		e.preventDefault();
		$tabs.find("a").removeClass("Active");
		jQuery(this).addClass("Active");
		$tab.hide();
		var activeTab = $(this).attr("href");
		jQuery(activeTab).show();
	};

	init();
};

var Calculator = function() {
	
	var $sec = $("#Special");
	var $csc = $("#Construction");

	var init = function() {
		if ( !$sec || !$csc )
			return;
		$( ":input", $sec ).bind("change keydown keyup", calc_sec );
		$( ":input", $csc ).bind("keydown keyup", calc_csc );	
	};
	var calc_sec = function(e) {
		var num = 0;
		$(":input").each(function(){
			console.log(this.value);
			if ( !isNaN( parseInt( $(this).val() ) ) )
				num *= parseInt( $(this).val() );
		});
		
		$(".Ammount", $sec).html( num );
	};
	
	var calc_csc = function(e) {
		var num = Math.ceil( parseInt( $("input", $csc).eq(0).val() ) / 10 );
		if ( isNaN(num) ) num = "???"; 
		$(".Ammount", $csc).html( num );
	};
	
	init();

}

jQuery(document).ready(Slider);
jQuery(document).ready(Tabs);
jQuery(document).ready(Calculator);
jQuery(document).ready(function(){
	$("a[rel=lightbox]").fancybox();
});
