var target = 0;
var amt = 0.2;
var timer;
var speed = 50;
var scrollWin;
var maxScroll;

function initScrollWin(win){
    //get the element containing the scrollwindow
    if(document.getElementById(win)){
	scrollWin = document.getElementById(win);
	document.getElementById('img'+currentImg).style.borderBottom = "3px solid";
	scrollWin.style.marginLeft = -currentImg*imgSize + 4 + "px";
	scrollWin.style.display = "block";
	winWidth = scrollWin.parentNode.offsetWidth;
	maxScroll = -(numImages*imgSize-winWidth);
	if(maxScroll > 0) maxScroll = 0;
	maxScrol +=4;
    }
}

function getCurrent(){
    currentX = scrollWin.style.marginLeft.replace("pt","");
    currentX = Number(currentX.replace("px",""));
    return currentX;
}

//function debug(msg){
//    val = document.getElementById("val");
//    val.value = val.value + msg + "\n";
//}


function scroll(imgNum){
    if(scrollWin && scrollWin.style){
	document.getElementById('img'+currentImg).style.borderBottom = "0";
	document.getElementById('img'+imgNum).style.borderBottom = "3px solid";
	currentImg = imgNum;
	
	curPos = getCurrent();
	if(imgNum < 0){
	    //scroll left or right
	    if(imgNum == -1){
		//scroll left
		target = curPos - imgSize;
		if(target < -numImages*imgSize){
		    //make sure we don't scroll too far
		    target = -numImages*imgSize;
		}
	    }else{
		//scroll right
		target = curPos + imgSize;
		if(target > 0){
		//make sure we don't scroll too far
		    target = 0;
		}
	    }
	    target = Math.round(target/imgSize) * imgSize;
	}else{
	    //scroll to correct image
	    target = -imgNum*imgSize;
	}
	
	if(target < maxScroll){
	    target = maxScroll;
	}

	target += 4;
	if(curPos != target){
	    scrollStep();
	}
    }
}

function scrollStep(){
	clearTimeout(timer);

	curPos = getCurrent();
		
	if(Math.abs(target - curPos) > 1){
	    timer = setTimeout("scrollStep()", speed);
	}else{
	    /*scrollWin.style.left = target + "px";*/
	    scrollWin.style.marginLeft = target + "px";
	    return;
	}

	step = (target - curPos)*amt;
	if(Math.abs(step) < 1){
	    if(step > 0) step = 1;
	    else step = -1;
	}
	newPos = curPos + step;
	/*	scrollWin.style.left = newPos + "px";*/
	scrollWin.style.marginLeft = newPos + "px";
}
