var firstLoad                = 0;
var CarouselAutoScroll       = true;
var CarouselSlideShowTimer   = false;
var scrollTextCarouselTimer  = false;
var scrollVideoCarouselTimer = false;
var carouselTimerObjects     = new Array();
var globalJcarouselObj       = false;
var startPos                 = false;
var carouselSize             = false;
var counter                  = 0;

//----------------------------------------------------------------------------------

function scrollCarousel(obj){
	scrollVideoCarouselTimer = setTimeout(function(){ scrollCarousel(obj) }, 5000);
	if(obj) {
		obj.next();
	}
}

function CarouselSlideShow(obj){
	CarouselSlideShowTimer = setTimeout(function(){ CarouselSlideShow(obj) }, 5000);
	
	var firstImage = $(obj).find('img:first');
	var lastImage =  $(obj).find('img:last');
	
	$(lastImage).after(firstImage);
} 

function CarouselStopSlideShow(){
	clearTimeout(CarouselSlideShowTimer);
}

//----------------------------------------------------------------------------------

function Ccarousel() {
	this.init = function( obj_id, obj, type ){
		startPos = 1;
		
		$('#' + obj_id).find('.teaserList .teaser').each( function () {
			myHTML = $(this).html();
			if( $(myHTML).hasClass('active') ){
				startPos = $(myHTML).attr('class');
				startPos = startPos.split(" ");
				startPos = parseInt(startPos[0].substr(14));
			}
		});
		
		this.startCarousel(obj_id, startPos);
 	},
	
 	this.startCarousel = function(obj_id, startPos){
 		carouselSize = $('#' + obj_id).find('.teaserList').find('.teaser').length;
 		
		wrap_var = 'circular';
		vertical_var = false;
		foobar = '';

 		$('#' + obj_id).find('.mycarousel').jcarousel({
				start: startPos,
				scroll: 1,
				size: carouselSize,
				animation: 700,
				vertical: vertical_var,
				wrap: wrap_var,
				itemVisibleInCallback: {onBeforeAnimation: itemVisibleInCallback},
				itemVisibleOutCallback: {onAfterAnimation: itemVisibleOutCallback},
				itemLastInCallback: eval(foobar)
		}, obj_id);
 	}
}

lastItem = function(carousel, item, i, state) {
	activeItem = $(item).find('div.active').hasClass('active');
}
 
itemVisibleInCallback = function(carousel, item, i, state, evt){
	var idx = carousel.index(i, $('#' + carousel.obj_id).find('.teaserList').find('.teaser').length );
	carousel.add(i, getItemHTML(idx, carousel.obj_id, carousel) );
	
	carouselTimerObjects[counter++] = carousel;
 	return;
}
 
itemVisibleOutCallback = function(carousel, item, i, state, evt){
  carousel.remove(i);
}
 
getItemHTML = function(item, obj_id){
	var total = $('#' + obj_id).find('.teaserList').find('.teaser').length;		    
	var pageCounter = "<span>" + item + " / " + total + "</span>";
	$('#' + obj_id).find('.pageCounter').html(pageCounter);
	
	teaser = $('#' + obj_id).find('.teaserList').find('.teaser').get(item-1);

	return $(teaser).html();
}
 
checkItems = function(carousel) {
	var myItems = $('#' + carousel.obj_id).find('.teaserList').find('.teaser').length;

	if(myItems < 5){
		var i = 1;

		$('.mycarousel .jcarousel-item').each( function() {
			if(i > myItems) {
				$(this).remove();
			}
			i++;
		})

		$('.jcarousel-prev').hide();
		$('.jcarousel-next').hide();
	}
}

//----------------------------------------------------------------------------------------

