function initMpBanners(collId){
	var wrapperId = '#mpBanners';
	var pagerId = '#mpBanners_pager';
	var prevId = '#mpbanners_prev';
	var nextId = '#mpbanners_next';
	
	if(collId){
		wrapperId = '#mpBanners_'+collId;
		pagerId = '#mpBanners_pager_'+collId;
		prevId = '#mpbanners_prev_'+collId;
		nextId = '#mpbanners_next_'+collId;
	}
	
	$(wrapperId).cycle({
		fx : (changeType ? changeType : 'fade'),
		speed : 1000,
		timeout: (changeTime > 0 ? (changeTime * 1000) : null),
		cleartype: 1,
		sync: 1,
		pager: (pager == 1 ? pagerId : null),
		prev: (prev == 1 ? prevId : null),
		next: (next == 1 ? nextId : null),
		pause: 1
	});
}

function initMpCarousel(collId){
	var wrapperId = '#mpBanners';
	var pagerId = '#mpBanners_pager';
	var prevId = '#mpbanners_prev';
	var nextId = '#mpbanners_next';
	var sliderId = '#mpbanners_slider';
	
	if(collId){
		wrapperId = '#mpBanners_'+collId;
		pagerId = '#mpBanners_pager_'+collId;
		prevId = '#mpbanners_prev_'+collId;
		nextId = '#mpbanners_next_'+collId;
		sliderId = '#mpbanners_slider_'+collId;
	}

	var totalWidth = 0;
	var itemWidth = 0;
	
	$(wrapperId+ " div.mpBanners_bannerItem").each(function(item, index){
		if($(this).outerWidth(true) > itemWidth){
			itemWidth = $(this).outerWidth(true);
		}
		
		totalWidth += $(this).outerWidth(true); // get items total width
	});
	
	// apply width to wrapper
	$(wrapperId).width(totalWidth);

	// calculate slider max value
	var sliderMaxValue = (totalWidth - $(wrapperId).parent().width());
	
	// carousel movement amount
	var itemMovement = (itemWidth * 3);

	// set click events to prev and next
	$(nextId).click(function(){
		// clear timer
		resetImageCarouselTimer();
		
		// get sliders current position
		var sliderCurPos = $(sliderId).slider('value');
		
		// if slider is in to end position
		if (sliderCurPos == sliderMaxValue) {
			// set slider to begin
			var calculatedSliderPosition = 0;
		}
		else {
			// calculate new value
			var calculatedSliderPosition = (sliderCurPos + itemMovement);
		}
		
		// check that new position is not bigger than max value
		if (calculatedSliderPosition > sliderMaxValue) {
			calculatedSliderPosition = sliderMaxValue;
		}
		
		// apply new position
		$(sliderId).slider('value', calculatedSliderPosition);
	});
	
	// set click events to prev and next
	$(prevId).click(function(){
		// clear timer
		resetImageCarouselTimer();
			
		// get sliders current position
		var sliderCurPos = $(sliderId).slider('value');
		
		// calculate new value
		var calculatedSliderPosition = (sliderCurPos - itemMovement);
		
		// check that new position is not smaller than 0
		if(calculatedSliderPosition < 0){
			calculatedSliderPosition = 0;
		}
		
		// apply new position
		$(sliderId).slider('value', calculatedSliderPosition);
	});
		
	// create slider
	$(sliderId).slider({
		min: 0, // min value
		max: sliderMaxValue, // max value,
		animate: 250,
		slide: function(event, ui){
			// move carousel
			moveCarousel(wrapperId, ui.value, false, itemWidth);
			// clear timer
			resetImageCarouselTimer();
		},
		change: function(event, ui){
			// move carousel
			moveCarousel(wrapperId, ui.value, true, itemWidth);
			// set timer
			setImageCarouselTimer(collId);
		}
	});
}

function moveCarousel(wrapperId, sliderPos, animate, itemWidth){
	if(wrapperId){
		if (sliderPos % itemWidth != 0) {
			sliderPos = sliderPos - (sliderPos % itemWidth);
		}
			
		if (animate == true) {
			$(wrapperId).animate({
				'left': -sliderPos + "px"
			}, 250);
		}
		else {
			$(wrapperId).css('left', -sliderPos + "px");
		}
	}
}

function resetImageCarouselTimer(){
	if (imageCarouselTimer) {
		clearTimeout(imageCarouselTimer);
	}
}

function setImageCarouselTimer(collId){
	if (imageCarouselTimerValue) {
		imageCarouselTimer = setTimeout('updateImageCarousel(' + collId + ')', imageCarouselTimerValue);
	}
}

function updateImageCarousel(collId){
	var nextId = '#mpbanners_next';
	
	if(collId){
		nextId = '#mpbanners_next_'+collId;
	}
	
	$(nextId).click();
}

