
$().ready(function()
{
	$("a.img_fotowettbewerb_0").addClass("aktiv"); // Standardmäßig das erste Thumbnail hervorheben
	
	/* Über die Klassen der Thumbnail Links, wird die jeweilige Sprung ID ausgelesen */
	function mycarousel_initCallback(carousel)
	{
		$('a.thickbox').unbind();
		//tb_init('a.thickbox');
		
		$('.jcarousel-control li a').bind('click', function()
		{
			var klasse = $(this).attr("class");
			//console.log(klasse);
			pattern = new RegExp('img_fotowettbewerb_([0-9]+)', 'g');
			
			var id = pattern.exec(klasse);
			
			if ( ! id )
			{
				return false;
			}

			id = id[1];
			//console.log(id);
			
			carousel.scroll(jQuery.jcarousel.intval(id)+1);
			$('.jcarousel-control li > a').removeClass("aktiv");
			$(this).addClass("aktiv");
			
			return false;
		});
		
		// Keine Funktionen, wenn weniger als vier Bilder vorhanden sind 
		if ( pic_num < 4 )
		{
			$('.jcarousel-prev, .jcarousel-next').remove();
		}
		else
		{
			/*
			 * Letztes Element/Bild an die erste Stelle setzen:
			 * Slider ist zirkuär, somit muss das eigentliche erste Bild
			 * in der Mitte stehen
			 */
			var foo = mycarousel_itemList[mycarousel_itemList.length-1];
			//console.log(mycarousel_itemList);
			mycarousel_itemList.pop();
			//console.log(mycarousel_itemList.length);
			mycarousel_itemList.unshift(foo);
			//console.log(mycarousel_itemList);
		}
	}
	
	/* Initialisieren des Carousels */
	$('#hlinhalt').jcarousel(
	{
		start:start_num,
		wrap: 'circular',
		scroll:1,
		visible:1,
		itemVisibleInCallback: {onBeforeAnimation:mycarousel_itemVisibleInCallback},
		itemVisibleOutCallback: {onAfterAnimation:mycarousel_itemVisibleOutCallback},
		initCallback: mycarousel_initCallback,
		itemLoadCallback: {onAfterAnimation:mycarousel_itemLoadCallback}
	});
	
	//tb_init('a.thickbox');
});

function mycarousel_itemVisibleInCallback(carousel, item, i, state, evt)
{
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, mycarousel_itemList.length);	
	/*
	console.log(idx);
	console.log(carousel);
	*/
	
	if ( pic_num < 3)
	{
		if ( typeof(mycarousel_itemList[i-1]) !== 'undefined' )
		{
			carousel.add(i, mycarousel_itemList[i-1].src);
		}
	}
	else
	{
		//console.log(idx-1);
		//console.log(typeof(mycarousel_itemList[idx-1]));
		if ( typeof(mycarousel_itemList[idx-1]) !== 'undefined' )
		{
			carousel.add(i, mycarousel_itemList[idx-1].src);
		}
	}
}

function mycarousel_itemLoadCallback(carousel, state)
{
	// Thickbox initialisieren
	
	$('a.thickbox').each(function()
	{
		$(this).unbind();
		//console.log($(this));
		tb_init(this);
	});
	
	//$('a.thickbox').unbind();
	
	if ( state !== 'init' )
	{
		$('.jcarousel-control li > a').removeClass("aktiv");
		
		num_child = 3;
		if ( state === 'prev')
		{
			num_child = 2;
		}
		//console.log(num_child);
		
		active_child = $('#hlinhalt li:nth-child('+num_child+')').find('img');
		//console.log(active_child);
		
		child_class = active_child.attr('class');
		//console.log(child_class);
		
		active_thumb = $('.jcarousel-control li > a.'+child_class);
		//console.log(active_thumb);
		
		if ( active_thumb.length )
		{
			active_thumb.addClass("aktiv");
		}
	}
}

function mycarousel_itemVisibleOutCallback(carousel, item, i, state, evt)
{
	//console.log(item);	
    carousel.remove(i);
	// alert("Raus mit ID: "+i);
}
