﻿function setupDaCarousel(theSpeed) {
    var heightItem = 75,
		nItems = $('.karisel-items ul li').length,
		itemsDisplayed = 3,
		showDisplayed = itemsDisplayed * heightItem,
		pos = heightItem * nItems,
		elem = 0,
		number = (nItems >= 2) ? 1 : 0;

    var theDelay = 6000;
    if (typeof (theSpeed) == 'number') {
        theDelay = theSpeed * 1000;
    }

	if (nItems > 3){
   		 $('.karisel-items ul').clone().appendTo('.karisel-items').addClass('other').css({ 'top': '' + pos + 'px' });
	} else {
		$('#nextArrow, #prevArrow, .arrow').hide();
	}

    function bindClickTop() {
        var topValue = Math.abs(parseFloat($('.karisel-items ul').eq(elem).css('top')));
        if (topValue === (heightItem * nItems * 2) - showDisplayed) {
            var pos = heightItem * itemsDisplayed;
            $('.karisel-items ul').eq(elem).css({ 'top': '' + pos + 'px' });
            elem = elem ? 0 : 1;
        }
    }
    function bindClickBottom() {
        var topValue = Math.abs(parseFloat($('.karisel-items ul').eq(elem).css('top')));
        if (topValue === 0) {
            var pos = -heightItem * nItems;
            $('.karisel-items ul').eq(elem - 1).css({ 'top': '' + pos + 'px' });
            elem = elem ? 0 : 1;

        }
    }
    var i = false;
    $('.karisel-next').bind('click', AnimateNext);
    function AnimateNext() {
        $('.karisel-next').unbind();
        $('.karisel-items li.active').removeClass('active');
        number = number != (nItems * 2) - 1 ? number + 1 : 0;
        $('.karisel-items li').eq(number).addClass('active');

        $('.karisel-items li').removeClass('active')
        $('.karisel-items li').eq(number).addClass('active');
        //var rel = $('.karisel-items li').eq(number).find('a').attr('rel');
        $('.karisel-content li').hide().each(function(n) {
            //if (rel == $(this).attr('class')) {
            if (n == (number % nItems)) {
                $(this).fadeIn('fast');
            }
        });

        bindClickTop();
        $('.karisel-items ul').stop(true, true).animate({ 'top': '-=' + heightItem + 'px' }, { 'duration': 'fast', complete: function() {
            if (i == true) {
                $('.karisel-next').bind('click', AnimateNext);
                i = false;
            } else {
                i = true;
            }

        }
        });
        return false;
    }

    $('.karisel-prev').bind('click', AnimatePrev);
    function AnimatePrev() {
        $('.karisel-prev').unbind();
        $('.karisel-items li.active').removeClass('active');
        number = number == 0 ? (nItems * 2) - 1 : number - 1;

        $('.karisel-items li').eq(number).addClass('active');

        $('.karisel-items li').removeClass('active')
        $('.karisel-items li').eq(number).addClass('active');
        //var rel = $('.karisel-items li').eq(number).find('a').attr('rel');
        $('.karisel-content li').hide().each(function(n) {
            //if (rel == $(this).attr('class')) {
            if (n == (number % nItems)) {
                $(this).fadeIn('fast');
            }
        });

        bindClickBottom();
        $('.karisel-items ul').stop(true, true).animate({ 'top': '+=' + heightItem + 'px' }, { 'duration': 'fast', complete: function() {
            if (i == true) {
                $('.karisel-prev').bind('click', AnimatePrev);
                i = false;
            } else {
                i = true;
            }
        }
        });
        return false;
    }

    $('.karisel-items li').live('click', function() {
        var nClick = $(this).index();
		
        if (nItems <= 3 || nClick == (number % nItems)) {
            number = nClick;
            $('.karisel-items li.active').removeClass('active');
            $(this).addClass('active');
            //var rel = $('.karisel-items li').eq(number).find('a').attr('rel');
            $('.karisel-content li').hide().each(function(n) {
                //if (rel == $(this).attr('class')) {
                if (n == number) {
                    $(this).fadeIn('fast');
                }
            });
        }
        else if (nClick == ((number + nItems - 1) % nItems)) {
            AnimatePrev();
        }
        else if (nClick == ((number + 1) % nItems)) {
            AnimateNext();
        }
        return false;
    });

    $('.karisel-items li').eq(number).addClass('active').click();
	
    var animationInterval = function(){			
				$('.karisel-items li').eq(number + 1).addClass('active').click();
				number = number == (nItems * 2) - 1 ? - 1 : number;   
		}
	   
	var refreshInterval = setInterval(animationInterval, theDelay);
	
	$('.featured').mouseover(function(){
		clearInterval(refreshInterval);
	}).mouseout(function(){
		refreshInterval = setInterval(animationInterval, theDelay);
	})
		
	
}
