/******************************************************************************
* ixVproCarousel.js
******************************************************************************/

var carousel = null;
var index = 0;


function ixVproCarouselElementSliderButtons() {

     $(".ixVproCarousel .control .slide a").each(function() {

			var me, $me, $myParent;

			me = this;
			$me = $(me);
			$myParent = $me.parent();

			me.triggerSliderChange = function() {
				clearInterval(carousel);

				var nextSlideIndex = parseInt( $me.html() ) - 1;
				var currentSlideIndex = parseInt( $(".ixVproCarousel .control .slide_active").html() ) - 1;

				var $currentSlide = $(".ixVproCarousel .control .slide:eq(" + currentSlideIndex + ")");
				var $nextSlide = $(".ixVproCarousel .control .slide:eq(" + nextSlideIndex + ")");

				$currentSlide.removeClass('slide_active');
				$currentSlide.html('<a href="#">' + (currentSlideIndex + 1) + '</a>');

				$nextSlide.addClass('slide_active');
				$nextSlide.html(nextSlideIndex + 1);

				ixVproCarouselElementSliderButtons();

				$(".ixVproCarousel .ixVproCarouselElement:eq(" + currentSlideIndex + ")").fadeOut(function() {$(".ixVproCarousel .ixVproCarouselElement:eq(" + nextSlideIndex + ")").fadeIn();});

			}
			
			$me.unbind('click');
			$me.click( function( event ) {
				event.preventDefault();
			});
			
			$myParent.unbind('click');
			$myParent.click( function( event ) {
				me.triggerSliderChange();
			} );
			$myParent.css('cursor', 'pointer');

        });
}

function ixVproCarouselElementSlider() {

	var nbixVproCarouselElement = $(".ixVproCarousel .ixVproCarouselElement").length;

	if (nbixVproCarouselElement == 0 )
		return;

	if (nbixVproCarouselElement > 1) {
		ixVproCarouselSliderButtonsBuilder(nbixVproCarouselElement);
		carousel = setInterval('playCarousel()', 8000);
	}	

	$(".ixVproCarousel .ixVproCarouselElement").fadeOut(0);
	$(".ixVproCarousel .ixVproCarouselElement:first").fadeIn();

	ixVproCarouselElementSliderButtons();

}

function playCarousel() {

	var nbixVproCarouselElement = $(".ixVproCarousel .ixVproCarouselElement").length;
	
	var self = $(".ixVproCarousel .ixVproCarouselElement:eq(" + index + ")");
        $(".ixVproCarousel .control .slide:eq(" + index + ")").removeClass('slide_active');
        $(".ixVproCarousel .control .slide:eq(" + index + ")").html('<a href="#">' + (index + 1) + '</a>');

	index = (index + 1) % nbixVproCarouselElement;
	var next = $(".ixVproCarousel .ixVproCarouselElement:eq(" + index + ")");
        $(".ixVproCarousel .control .slide:eq(" + index + ")").addClass('slide_active');
        $(".ixVproCarousel .control .slide:eq(" + index + ")").html(index + 1);

        ixVproCarouselElementSliderButtons();

        $(self).fadeOut(function() {$(next).fadeIn();});
}

function  ixVproCarouselSliderButtonsBuilder(nbixVproCarouselElement) {
	var x = $('<div></div>').attr('class','control');

	for (var i=1; i <= nbixVproCarouselElement; i++) {
		if (i==1) 
			x.append('<div class="slide slide_active">'+i+'</div>');	
		else
			x.append('<div class="slide"><a href="#">'+i+'</a></div>');	
	}
	
	$('.ixVproCarousel').append(x);
}

