var sl_scrollDivWidth = 0;
var sl_scrollContainerWidth = 0;
var sl_scrollPos = 0;
var sl_scrollIncrement = 1;
var sl_scrollDir = -1;
var sl_action;
var sl_autoScroll = 1;
var sl_acceleration = 0;
var sl_scrollInterval = 10;
var sl_autoScrollInterval = 100;

var sl_classContent = new Array('contentThumb', 'spacer');
var sl_classContentActive = 'active';

var sliders = new Array();

function sl_initScroll(id, autoScroll) {
	sliders[id] = new Array();
	sliders[id]['divWidth'] = 0;
	sliders[id]['containerWidth'] = 0;
	sliders[id]['scrollIncrement'] = 1;
	sliders[id]['scrollDir'] = -1;
	sliders[id]['action'] = 0;
	sliders[id]['acceleration'] = 0;
	sliders[id]['scrollInterval'] = 10;
	sliders[id]['autoScrollInterval'] = 100;
	sliders[id]['enableAutoScroll'] = autoScroll;
	if (autoScroll) sl_startAutoScroll(id);

 	var elemScroller = $('#'+"scroller_"+id);
 	var elemScrollContainer = $('#'+"scrollContainer_"+id);
 	var elemContentContainer = $('#'+"contentContainer_"+id);
	var contentThumbWidth = $('#'+"contentContainer_"+id+' .'+sl_classContent[0]).outerWidth();
	sliders[id]['contentThumbWidth'] = contentThumbWidth;
   var scrollerPos = 0;
   if (elemContentContainer) {
		var i = $('.'+sl_classContentActive, elemContentContainer).index();
		if (i!=-1) scrollerPos = -i*contentThumbWidth;
   }
   widthS = elemScroller.outerWidth();
   widthSC = elemScrollContainer.outerWidth();
   if (widthS > widthSC) {
      scrollerPos += Math.round(widthSC / 2);
      if (scrollerPos > 0) scrollerPos = 0;
      else if (scrollerPos <  -widthS + widthSC) scrollerPos = -widthS + widthSC;
   }
	else {
		scrollerPos = 0;
	}

	elemScroller.css('left', scrollerPos + 'px');
	sliders[id]['scrollPos'] = scrollerPos;
}

function sl_startAutoScroll(id) {
	sl_stopScroll(id);
	if (!sliders[id]['enableAutoScroll']) return;
	sliders[id]['autoScroll'] = 1;
	sliders[id]['scrollIncrement'] = 1;
	sliders[id]['acceleration'] = 0;
	sliders[id]['action'] = setInterval("sl_scroll('" + id + "')", sliders[id]['autoScrollInterval']);
}

function sl_startScrollLeft(id) {
	sl_stopScroll(id);
	sliders[id]['autoScroll'] = 0;
	sliders[id]['scrollIncrement'] = 2;
	sliders[id]['acceleration'] = 1;
	sliders[id]['scrollDir'] = 1;
	sliders[id]['action'] = setInterval("sl_scroll('" + id + "')", sliders[id]['scrollInterval']);
}

function sl_startScrollRight(id) {
	sl_stopScroll(id);
	sliders[id]['autoScroll'] = 0;
	sliders[id]['scrollIncrement'] = 2;
	sliders[id]['acceleration'] = 1;
	sliders[id]['scrollDir'] = -1;
	sliders[id]['action'] = setInterval("sl_scroll('" + id + "')", sliders[id]['scrollInterval']);
}

function sl_scroll(id) {
	elemScroller = $('#'+"scroller_"+id);
	if (!elemScroller) return;
	scrollerPos = parseInt(elemScroller.css('left'));
//	if (sl_scrollIncrement < 20) {
//		sl_scrollIncrement += sl_acceleration;
//	}
	scrollerPos += sliders[id]['scrollIncrement'] * sliders[id]['scrollDir'];

 	elemScrollContainer = $('#'+"scrollContainer_"+id);
   if (!sliders[id]['divWidth']) {sliders[id]['divWidth'] = elemScroller.outerWidth();}
   if (!sliders[id]['containerWidth']) {sliders[id]['containerWidth'] = elemScrollContainer.outerWidth();}

	if (scrollerPos < sliders[id]['containerWidth'] - sliders[id]['divWidth']) {
		scrollerPos = sliders[id]['containerWidth'] - sliders[id]['divWidth'];
		if (sliders[id]['autoScroll']) {sliders[id]['scrollDir'] *= -1;}
	}
	if (scrollerPos > 0) {
		scrollerPos = 0;
		if (sliders[id]['autoScroll']) {sliders[id]['scrollDir'] *= -1;}
	}
	elemScroller.css('left', scrollerPos + 'px');
}

function sl_stopScroll(id) {
	clearInterval(sliders[id]['action']);
	sliders[id]['action'] = 0;
}

function sl_pageRight(id) {
	sl_stopScroll(id);
 	var elemScroller = $('#'+"scroller_"+id);
 	var elemScrollContainer = $('#'+"scrollContainer_"+id);
	var widthS = elemScroller.outerWidth();
	var widthSC = elemScrollContainer.outerWidth();
	if (widthS <= widthSC) {return;}
	var posS = parseInt(elemScroller.css('left'));
	var newPosS = posS - widthSC + sliders[id]['contentThumbWidth'];
	if (newPosS < -widthS + widthSC) {newPosS = -widthS + widthSC;}
	$("#scroller_" + id).animate({'left': newPosS+"px"}, 200 );
}

function sl_pageLeft(id) {
	sl_stopScroll(id);
 	var elemScroller = $('#'+"scroller_"+id);
 	var elemScrollContainer = $('#'+"scrollContainer_"+id);
	var widthS = elemScroller.outerWidth();
	var widthSC = elemScrollContainer.outerWidth();
	if (widthS <= widthSC) {return;}
	var posS = parseInt(elemScroller.css('left'));
	var newPosS = posS + widthSC - sliders[id]['contentThumbWidth'];
	if (newPosS > 0) {newPosS = 0;}
	$("#scroller_" + id).animate({'left': newPosS+"px"}, 200 );
}


