
$(function() {
	contentScroll('.content-slider1', '.content-scroll1', 5);
	contentScroll('.content-slider2', '.content-scroll2', 5);
});

function contentScroll(slider_, target, step_) {
	var slider = $(slider_);
	var sliderWrapper = slider.find('.slider-wrapper');
	var sliderHolder = sliderWrapper.find('.slider-holder');
	var sliderPrev = slider.find('.slider-prev');
	var sliderNext = slider.find('.slider-next');
	var sliderTarget = $(target);
	var maxScroll = 0;

	sliderTarget.css('overflow', 'hidden');

	sliderHolder.slider({
		orientation: 'vertical',
		value: 100,
		change: handleSlider,
		slide: handleSlider,
		step: step_
	});

	var sliderHandler = sliderHolder.find('a');
	sliderWrapper.css({
		'height': slider.height() - sliderPrev.height() - sliderNext.height() - sliderHandler.height(),
		'margin-top': sliderPrev.height(),
		'padding-top': sliderHandler.height()
	});

	sliderHolder.css({
		'height': sliderWrapper.outerHeight() - sliderHandler.height()
	});

	function handleSlider(e, ui) {
		maxScroll = sliderTarget.attr('scrollHeight') - sliderTarget.outerHeight();
		sliderTarget.attr({ 'scrollTop': (100 - ui.value) * (maxScroll / 100) });
	}

	function scrollPrev() {
		var value = sliderHolder.slider('option', 'value');
		maxScroll = sliderTarget.attr('scrollHeight') - sliderTarget.outerHeight();

		if (value <= 99) {
			sliderHolder.slider('option', 'value', value + sliderHolder.slider('option', 'step'));
			value = sliderHolder.slider('option', 'value');

			sliderTarget.attr({ 'scrollTop': (100 - value) * (maxScroll / 100) });
		}
	}

	function scrollNext() {
		var value = sliderHolder.slider('option', 'value');
		maxScroll = sliderTarget.attr('scrollHeight') - sliderTarget.outerHeight();

		if (value >= 1) {
			sliderHolder.slider('option', 'value', value - sliderHolder.slider('option', 'step'));
			value = sliderHolder.slider('option', 'value');

			sliderTarget.attr({ 'scrollTop': (100 - value) * (maxScroll / 100) });
		}
	}

	sliderPrev.click(function() {
		scrollPrev();
		return false;
	});

	sliderNext.click(function() {
		scrollNext();
		return false;
	});

	sliderHolder.find('.ui-slider-handle').css('margin-top', -sliderHolder.find('.ui-slider-handle').height() / 2);

	setInterval(function () {
		if (sliderTarget.attr('scrollHeight') > sliderTarget.outerHeight()) {
			slider.css('visibility', 'visible');
			sliderHolder.slider('enable');
			if (sliderTarget.unmousewheel()) {
				sliderTarget.mousewheel(function (event, delta) {
					(delta > 0) ? scrollPrev() : scrollNext();
					return false;
				})
			}
		} else {
			slider.css('visibility', 'hidden');
			sliderHolder.slider('disable');
			sliderTarget.unmousewheel();
		}
	}, 200)
}



