/**

*/

// Konfigurierbare Parameter 

var pixelSteps = 4;
//Geschwindigkeit in der gescrollt werden soll
var scrollSpeed = 40;
// Die hier unten stehende Werte nicht aendern!
var scrollbox = null;
var scrollbox_images = new Array();
var totalStripLength = 0;
var direction = false;
var initDone = false;
var timer_left = false;
var timer_right = false;
var enImages = true;	// wenn genug images, dann true, sonst false => nicht scrollen

function initScrollbar(){
	if(!(scrollbox = document.getElementById('scrollbox'))){
		//alert('Scrollbox wurde im Dokument nicht gefunden.');
		return false;
	}
	
	loadImages();
	setImages();
	totalStripLength = scrollbox_images[0].width*scrollbox_images.length;
	initDone = true;
	scroll_left(scrollSpeed);
}

function loadImages(){
	var element = null;
	var i=0;
	while((element = document.getElementById('slide_element_'+i))){
		scrollbox_images[i] = element;
		i++;
	}
	if (scrollbox_images.length <= 4) {
		enImages = false;
	}
	return (scrollbox_images.length > 0);
}

function setImages(){
	for(i=0;i<scrollbox_images.length;i++){
		scrollbox_images[i].style['left'] = scrollbox_images[i].width*i+'px';
		scrollbox_images[i].style['visibility'] = 'visible';
	}
}

function getImg(){
	var cPos=0,lastCPos=0,imgNr=-1;
	for(i=0;i<(scrollbox_images.length);i++){
		cPos = Number(scrollbox_images[i].style['left'].substr(0,scrollbox_images[i].style['left'].length-2));
		if(cPos < lastCPos && cPos < 0){
			imgNr = i;
			lastCPos = cPos;
		}
	}
	if(imgNr < 0){
		cPos=0;
		lastCPos=0;
		for(i=0;i<(scrollbox_images.length);i++){
			cPos = Number(scrollbox_images[i].style['left'].substr(0,scrollbox_images[i].style['left'].length-2));
			if(cPos > lastCPos){
				imgNr = i;
				lastCPos = cPos;
			}
		}
	}
	return scrollbox_images[imgNr];
}

function scroll_left(set_speed){
	if (enImages) {
		clearTimeout(timer_left);
		clearTimeout(timer_right);
		direction = 'left';
		if(set_speed)scrollSpeed = set_speed;
		firstImg = getImg();
			
		if(firstImg) {
			cPos = Number(firstImg.style['left'].substr(0,firstImg.style['left'].length-2));
			if(cPos <= -firstImg.width) {
				firstImg.style['left'] = (totalStripLength - (firstImg.width))+'px';
			}
	        debug = '';
			for(i=0;i<(scrollbox_images.length);i++){
				cPos = Number(scrollbox_images[i].style['left'].substr(0,scrollbox_images[i].style['left'].length-2));
				scrollbox_images[i].style['left'] = cPos-pixelSteps+'px';
	            debug = debug + " " + scrollbox_images[i].style['left']
			}
	        //alert(debug);
			timer_left = setTimeout('scroll_left()', scrollSpeed);
		 }
	}
}

function scroll_right(set_speed){
	if (enImages) {
		clearTimeout(timer_right);
		clearTimeout(timer_left);
		direction = 'right';
		if(set_speed)scrollSpeed = set_speed;
		
		lastImg = getImg();
		
		cPos = Number(lastImg.style['left'].substr(0,lastImg.style['left'].length-2));
		if(cPos > 0) {
			lastImg.style['left'] = (0 - lastImg.width)+'px';
		}
		
		for(i=0;i<(scrollbox_images.length);i++){
			cPos = Number(scrollbox_images[i].style['left'].substr(0,scrollbox_images[i].style['left'].length-2));
			scrollbox_images[i].style['left'] = cPos+pixelSteps+'px';
		}
		timer_right = setTimeout('scroll_right()', scrollSpeed);
	}
}

function stop(){
	clearTimeout(timer_left);
	clearTimeout(timer_right);
}
function go(){
	if(direction == 'left'){
		scroll_left();
	} else {
		scroll_right();
	}
}