var scrollanim = {time:0, begin:0, change:0.0, duration:0.0, element:null, timer:null};
var scrollsize= 510;
var Browser = {
  Version: function() {
    var version = 999; // we assume a sane browser
    if (navigator.appVersion.indexOf("MSIE") != -1)
      // bah, IE again, lets downgrade version number
      version = parseFloat(navigator.appVersion.split("MSIE")[1]);
    return version;
  }
}

function goToPanel(new_panel, selectedPanelList, offset)
{

	for (i=0;i<=2;i++)
	{
		if (document.getElementById(selectedPanelList).childNodes[0].childNodes[i].className == "panel_active"){
			last_panel_id = i;
			curr_panel = document.getElementById(selectedPanelList).childNodes[0].childNodes[i].id;
			document.getElementById(selectedPanelList).childNodes[0].childNodes[i].className = "panel";
		}
	}

	document.getElementById(new_panel).className = "panel_active";
	if (curr_panel == new_panel) {
		return;
	}
	for (i=0;i<=2;i++)
	{
		if (document.getElementById(selectedPanelList).childNodes[0].childNodes[i].className == "panel_active"){
			new_panel_id = i;
		}
	}

	last_panel = curr_panel;
	curr_panel = new_panel;

if (Browser.Version() < 8) {
	for (i=0;i<=2;i++)
	{
		if (document.getElementById(selectedPanelList).childNodes[0].childNodes[i].className == "panel"){
			document.getElementById(selectedPanelList).childNodes[0].childNodes[i].style.width = "0";
			document.getElementById(selectedPanelList).childNodes[0].childNodes[i].style.display = "none";
		}
		if (document.getElementById(selectedPanelList).childNodes[0].childNodes[i].className == "panel_active"){
			document.getElementById(selectedPanelList).childNodes[0].childNodes[i].style.width = "510px";
			document.getElementById(selectedPanelList).childNodes[0].childNodes[i].style.display = "block";
		}
	}

}else{


		if (scrollanim.timer != null) {
			clearInterval(scrollanim.timer);
			scrollanim.timer = null;
		}

		scroll_panel = document.getElementById(selectedPanelList);
		position = findPos(document.getElementById(new_panel));

		// Get the position of the offset div -- the div at the far left.
		// This is the amount we compensate for when scrolling
		
		if (offset != "") {
			offsetPos = findPos(document.getElementById(offset));
			position[0] = position[0] - offsetPos[0];
		}


		scrollanim.time = 0;
		scrollanim.begin = scroll_panel.scrollLeft;
		scrollanim.change = position[0] - scroll_panel.scrollLeft;
		scrollanim.duration = 25;
		scrollanim.element = scroll_panel;

		scrollanim.timer = setInterval("scrollpanelAnim();", 15);
}
		document.getElementById("mini_"+last_panel).className = "inactive";
		document.getElementById("mini_"+curr_panel).className = "active";
		if (new_panel_id==0)	{
			document.getElementById(selectedPanelList+"_button_left").className = "button_left_inactive";
			document.getElementById(selectedPanelList+"_button_right").className = "button_right";
		}
		if (new_panel_id==1)	{
			document.getElementById(selectedPanelList+"_button_left").className = "button_left";
			document.getElementById(selectedPanelList+"_button_right").className = "button_right";
		}
		if (new_panel_id==2)	{
			document.getElementById(selectedPanelList+"_button_left").className = "button_left";
			document.getElementById(selectedPanelList+"_button_right").className = "button_right_inactive";
		}
}

// Scroll the page using the arrows

function nextPanel(direction, selectedPanelList, offset) {

	for (i=0;i<=2;i++)
	{
		if (document.getElementById(selectedPanelList).childNodes[0].childNodes[i].className == "panel_active"){
			if (direction == "left") {
				gotoTab = i - 1;
				if (gotoTab<0){
					gotoTab=0;
				}
			} else {
				gotoTab = i+1;
				if (gotoTab>2){
					gotoTab=2;
				}
			}
		}
	}
	goToPanel(document.getElementById(selectedPanelList).childNodes[0].childNodes[gotoTab].id, selectedPanelList, offset);

}

function scrollpanelAnim()
{
	if (scrollanim.time > scrollanim.duration) {
		clearInterval(scrollanim.timer);
		scrollanim.timer = null;
	}
	else {
		move = sineInOut(scrollanim.time, scrollanim.begin, scrollanim.change, scrollanim.duration);
		scrollanim.element.scrollLeft = move;
		scrollanim.time++;
	}
}

function sineInOut(t, b, c, d)
{
	return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}

function findPos(elemFind)
{
	var elemX = 0;
	var elemY = 0;
	do {
		elemX += elemFind.offsetLeft;
		elemY += elemFind.offsetTop;
	} while ( elemFind = elemFind.offsetParent )

	return Array(elemX, elemY);
}