// inspired by http://www.panic.com/coda/

var currentSection0 = "elem11";
var currentSection1 = "elem21";

function testscroll(vis, wid, fir, direction) {
	
	var contentElem = document.getElementById(wid);
	var divsNames = new Array(); 
	
	if (contentElem.hasChildNodes())
	{
		var children = contentElem.childNodes;
		for (var i = 0; i < children.length; i++) 
		{
			if (contentElem.childNodes[i].tagName == "LI") {
				divsNames.push(contentElem.childNodes[i].id);
			}
		}
	}
	
	if (fir == "elem11") {
		currentSection = currentSection0;
		linkl = document.getElementById("scroll_left_1");
		linkr = document.getElementById("scroll_right_1");
	} else {
		currentSection = currentSection1;
		linkl = document.getElementById("scroll_left_2");
		linkr = document.getElementById("scroll_right_2");
	}
	
	for (var i = 0; i < divsNames.length; i++) {
		if (divsNames[i] == currentSection) {
			if (direction == "left") {
				if (i - 1 < 0) {
					gotoTab = currentSection;
				} else {
					gotoTab = divsNames[i - 1];
					if(i==1){
						linkl.className=linkl.className.split(" ")[0]+" "+linkl.className.split(" ")[1]+" "+"inactive";
					}else{
						linkr.className=linkr.className.split(" ")[0]+" "+linkr.className.split(" ")[1]+" "+"active";
					}
				}
			} else {
				if ((i + 1) > (divsNames.length - 2)) {
					gotoTab = currentSection;
				} else {
					gotoTab = divsNames[i + 1];
					if(i==(divsNames.length-3)){
						linkr.className=linkr.className.split(" ")[0]+" "+linkr.className.split(" ")[1]+" "+"inactive";
					}else{
						linkl.className=linkl.className.split(" ")[0]+" "+linkl.className.split(" ")[1]+" "+"active";
					}
				}
			}
		}
	}
	
	linkl.className.split(" ")[3]="active";
	
	if (fir == "elem11") {
		currentSection0 = gotoTab;
	} else {
		currentSection1 = gotoTab;
	}
	
	position = findElementPos(document.getElementById(gotoTab));

	offsetPos = findElementPos(document.getElementById(fir));
	position[0] = position[0] - offsetPos[0];
	
	scroller = document.getElementById(vis);
	
	scrollStart(scroller, scroller.scrollLeft, position[0]);
}

//scroll animation

var scrollanim = {time:0, begin:0, change:0.0, duration:0.0, element:null, timer:null};

function scrollStart(elem, start, end)
{
	if (scrollanim.timer != null) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	scrollanim.time = 0;
	scrollanim.begin = start;
	scrollanim.change = end - start;
	scrollanim.duration = 25;
	scrollanim.element = elem;
	
	scrollanim.timer = setInterval("scrollHorizAnim();", 15);
}

function scrollHorizAnim()
{
	if (scrollanim.time > scrollanim.duration) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	else {
		move = easeInOut(scrollanim.time, scrollanim.begin, scrollanim.change, scrollanim.duration);
		scrollanim.element.scrollLeft = move;
		scrollanim.time++;
	}
}

// pos finder

function findElementPos(elemFind)
{
	var elemX = 0;
	var elemY = 0;
	do {
		elemX += elemFind.offsetLeft;
		elemY += elemFind.offsetTop;
	} while (elemFind = elemFind.offsetParent);

	return Array(elemX, elemY);
}

// EASING EQUATIONS (c) Robert Penner

function easeInOut(t, b, c, d, a, p)
{
	return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}

