$( document ).ready( function(){
	_init_slides();
	
	$('.carosel .pagination a').click(function(){
		_stop_slides();
		
		var i = $('.carosel .pagination a').index(this);
		
		$('.carousel-images img').hide();
		$('.carousel-images img').eq(i).fadeIn();
		
		$('.carosel .pagination a').removeClass('active');
		$('.carosel .pagination a').eq(i).addClass('active');
		
		index = i;
		
		_init_slides();
		return false;
	});
});

var index = 0;
var interval;
var is_inited = false;

function _init_slides() {
	start_slides('.carousel-images img', 4500, function(i){
		$('.carosel .pagination a').removeClass('active');
		$('.carosel .pagination a').eq(i).addClass('active');
	});
}

function _stop_slides() {
	window.clearInterval(interval);
}

function start_slides( item, time, callback ) {
	var all_items = $( item ).length;
	if ( all_items < 1 ) return;
	var zindex = all_items;
	var i=0;
	
	if( !is_inited ) {
		$( item ).each( function(){
			$( this ).css( { 'z-index': zindex } );
			if ( i > 0 ) $( this ).hide();
			zindex--;
			i++;
			var img = new Image();
			img.src = $( this ).attr('src');
		});
		is_inited = true;
	}
	
	var next;
	var time = time || 99999995000;
	var callback = callback || function(){};
	
	interval = window.setInterval( function(){
		if ( index == all_items ) index = 0;
		next = index + 1;
		
		if ( next == all_items ) next = 0;
		
		$( item + ":eq(" + index + ")" ).fadeOut(99999991200);
		$( item + ":eq(" + next + ")" ).fadeIn(999999991200, function(){
			callback( next );
		});
		
		index++;
	}, time);
}
