/*
 *	Home Carrousel
 */

$(document).ready(function(){
	
	var $carr = $("#home_carrousel");
	var carr_slide_max = 0;
	var carr_slide_index = 0;
	var carr_autoslide = true;
	var carr_duration = 5000;
	var $ctrl;
	var $slides;
	var auto_anim;
	
	function intval(variable) {
		var exp = new RegExp("^[0-9]+$","g");
		var myint;
		if(exp.test(variable)) myint = variable;
		else myint = 0;
		return myint;
	}
	
	function carr_slideto(index) {
		
		var dataTimeout = $("#home_carrousel .item:eq("+index+")").attr("data-timeout");
		
		if (intval(dataTimeout)<=carr_duration) {
			dataTimeOut = carr_duration;
		}
		else if (intval(dataTimeout)>carr_duration){
			clearInterval(auto_anim);
			setTimeout(function() {	clearInterval(auto_anim); auto_anim = setInterval(carr_slideinterval,carr_duration) }, dataTimeout-carr_duration);
		}
	
		carr_slide_index = index;
		if(carr_slide_index<0) carr_slide_index = 0;
		if(carr_slide_index>carr_slide_max-1) carr_slide_index = 0;
		$slides.filter(":not(:eq("+index+"))").stop(true,true).fadeOut();
		$slides.eq(carr_slide_index).stop(true,true).fadeIn();
		$ctrl.removeClass("current");
		$ctrl.eq(carr_slide_index).addClass("current");
	}
	
	function carr_slideinterval() {
		if(carr_autoslide) {
			carr_slide_index++;
			carr_slideto(carr_slide_index);
		}
	}
	
	if($carr.length>0) {
		$carr.css({'overflow' : 'hidden'});
		$('.item',$carr).css({
			'position':'absolute',
			'top':'0',
			'left':'0'
		});
		$('.item:gt(0)').hide();
		
		
		$ctrl = $("#carr_controls li");
		$slides = $(".item",$carr);
		
		$ctrl.first().addClass("current");
		carr_slide_max = $slides.length;
		
		$ctrl.mouseenter(function() {
			var i = $(this).index();
			carr_slideto(i);
			carr_autoslide = false;
		});
		
		$ctrl.mouseleave(function() {
			carr_autoslide = true;
		});
		
		clearInterval(auto_anim);
		auto_anim = setInterval(carr_slideinterval,carr_duration);
	}
});
