var carrousel_index = 0;

function carrousel(id, time, visibleThumb, direction, widthBig, heightBig, widthThumb, heightThumb)	
{
	if(direction == undefined) { direction = 'down'; }
	if(visibleThumb == undefined) { visibleThumb = 2; }
	if(widthBig == undefined) { widthBig = jQuery('#' + id).children('.big').children('li').first().children('a').children('img').attr('width'); }
	if(heightBig == undefined) { heightBig = jQuery('#' + id).children('.big').children('li').first().children('a').children('img').attr('height'); }
	if(widthThumb == undefined) { widthThumb = jQuery('#' + id).children('.mask').children('.thumb').children('li').first().children('a').children('img').attr('width'); }
	if(heightThumb == undefined) { heightThumb = jQuery('#' + id).children('.mask').children('.thumb').children('li').first().children('a').children('img').attr('height'); }
	
	jQuery('#' + id).css({'width' : widthBig+widthThumb, 'height' : heightBig});
	jQuery('#' + id).children('.big').css({'width' : widthBig, 'height' : heightBig});
	jQuery('#' + id).children('.big').children('li').first().addClass('current');
	jQuery('#' + id).children('.big').children('li').first().css('z-index','1');
	jQuery('#' + id).children('.mask').css({'width' : widthThumb, 'height' : heightThumb*visibleThumb});
	jQuery('#' + id).children('.mask').children('.thumb').css('top',-heightThumb);
	jQuery('#' + id).children('.mask').children('.thumb').children('li').css('height',heightThumb);
	
	var n = jQuery('#' + id).children('.big').children('li').length;
	for(i=1; i<n; i++)
	{
		jQuery('#' + id).children('.big').children('li').eq(i).hide();
		jQuery('#' + id).children('.big').children('li').eq(i).css('z-index','0');
	}
	
	/*jQuery('#' + id).children('.mask').children('.thumb').children('li').mouseover(function(){
		show_big(id, jQuery(this));
	});*/
	
	jQuery('#' + id).children('.mask').children('.thumb').children('li').mouseover(stop_auto);
	
	jQuery('#' + id).children('.mask').children('.thumb').children('li').mouseout(function(){
		start_auto(time, direction, heightThumb, id, n, visibleThumb);
	});
	
	jQuery('#' + id).children('.big').mouseover(stop_auto);
	
	jQuery('#' + id).children('.big').mouseout(function(){
		start_auto(time, direction, heightThumb, id, n, visibleThumb);
	});
	
	start_auto(time, direction, heightThumb, id, n, visibleThumb);
}

function start_auto(time, direction, heightThumb, id, n, visibleThumb)
{
	jQuery(document).everyTime(time, 'carrousel', function(i) {
		change(time, direction, heightThumb, id, n, visibleThumb);
	});
}

function stop_auto()
{
	jQuery(document).stopTime('carrousel');
}

function show_big(id, obj)
{
	jQuery(document).stopTime('carrousel');
	var pos = jQuery('#' + id).children('.mask').children('.thumb').children('li').index(obj) - carrousel_index;
	
	if(jQuery('#' + id).children('.big').children('li').eq(pos).css('z-index') != 1)
	{
		jQuery('#' + id).children('.big').children('li').eq(pos).css('z-index','2');
		jQuery('#' + id).children('.big').children('li').eq(pos).fadeIn('slow', function(){
			jQuery('#' + id).children('.big').children('.current').css('z-index','0');
			jQuery('#' + id).children('.big').children('.current').hide();
			jQuery('#' + id).children('.big').children('.current').removeClass('current');
			jQuery(this).css('z-index','1');
			jQuery(this).addClass('current');
		});
	}
}

function change(time, direction, heightThumb, id, n, visibleThumb, obj) 
{
	if(direction == 'down') { var top = parseInt(jQuery('#' + id).children('.mask').children('.thumb').css('top'))+heightThumb; }
	if(direction == 'up') { var top = parseInt(jQuery('#' + id).children('.mask').children('.thumb').css('top'))-heightThumb; }
	
	if(direction == 'down') 
	{
		var start = 1;
		
		if(parseInt(jQuery('#' + id).children('.mask').children('.thumb').css('top')) == 0)
		{
			jQuery('#' + id).children('.mask').children('.thumb').prepend('<li style="height: ' + heightThumb + 'px; ">' + jQuery('#' + id).children('.mask').children('.thumb').children('li').last().html() + '</li>');
			jQuery('#' + id).children('.mask').children('.thumb').css('top',-heightThumb);
			top -= heightThumb;
			
			if(n > visibleThumb)
			{
				jQuery('#' + id).children('.mask').children('.thumb').children('li').last().remove();
			}
			
			/*jQuery('#' + id).children('.mask').children('.thumb').children('li').first().mouseover(function(){
				show_big(id, jQuery(this));
			});*/
			
			jQuery('#' + id).children('.mask').children('.thumb').children('li').mouseover(stop_auto);
			
			jQuery('#' + id).children('.mask').children('.thumb').children('li').first().mouseout(function(){
				start_auto(time, direction, heightThumb, id, n, visibleThumb);
			});
		
			carrousel_index += 1;
			if(carrousel_index == n)
			{
				carrousel_index = 0;
			}
			start = 1;
		}
		
		var pos = start + visibleThumb - 1 - carrousel_index;
		
		if(jQuery('#' + id).children('.big').children('li').eq(pos).css('z-index') != 1)
		{
			jQuery('#' + id).children('.big').children('li').eq(pos).css('z-index','2');
			jQuery('#' + id).children('.big').children('li').eq(pos).fadeIn('slow', function(){
				jQuery('#' + id).children('.big').children('.current').css('z-index','0');
				jQuery('#' + id).children('.big').children('.current').hide();
				jQuery('#' + id).children('.big').children('.current').removeClass('current');
				jQuery(this).css('z-index','1');
				jQuery(this).addClass('current');
			});
		}
	}
	
	jQuery('#' + id).children('.mask').children('.thumb').animate({'top' : top},1000);
}