var scrollSpeed = 1;
var panel1;
var panel2;
var k = 0;
var scrollingRight = false;
var scrollingLeft = false;
var queue = -1;
var loaded = false;

function previousPanel()
{
	if (!scrollingRight && !scrollingLeft)
	{
		scrollingLeft = true;
		var previous = getPrevious();
		var current = getCurrent();

		panel1 = getPanel(current);
		panel2 = getPanel(previous);

		highlight(previous);
		
		panel2.style.visibility = 'visible';
		panel2.style.left = parseInt(panel1.style.left) - panel1.clientWidth + 'px';
		slideRight();
	}
}

function nextPanel()
{
	if (!scrollingRight && !scrollingLeft)
	{
		scrollingRight = true;
		var next = getNext();
		var current = getCurrent();

		panel1 = getPanel(current);
		panel2 = getPanel(next);
		
		highlight(next);

		panel2.style.visibility = 'visible';
		panel2.style.left = parseInt(panel1.style.left) + panel1.clientWidth + 'px';
		slideLeft();
	}
}

function highlight(num)
{
	for (var i = 1; i <= 7; i++)
	{
		//document.getElementById("bio" + i).style.removeProperty('border');

		if (i != num)
		{
			//document.getElementById("bio" + i).style.setProperty('border', '1px solid #acacac', null);
			document.getElementById("bio" + i).style.border = '1px solid #acacac';
		}
		else
		{
			//document.getElementById("bio" + i).style.setProperty('border', '1px solid #000', null);
			document.getElementById("bio" + i).style.border = '1px solid #000';
		}
	}
}

function slideToPanel(num)
{
	queue = num;

	highlight(num);

	if (!scrollingRight && !scrollingLeft && loaded)
	{
		var next = num;
		var current = getCurrent();

		if (next != current)
		{
			panel1 = getPanel(current);
			panel2 = getPanel(next);

			panel2.style.visibility = 'visible';

			if (current > next)
			{
				panel2.style.left = parseInt(panel1.style.left) - panel1.clientWidth + 'px';
				scrollingLeft = true;
				//slideLeft();
				slideRight();
			}
			else
			{
				panel2.style.left = parseInt(panel1.style.left) + panel1.clientWidth + 'px';
				scrollingRight = true;
				//slideRight();
				slideLeft();
			}
		}
	}
}

function slideRight()
{
	queue = -1;
	movePanels(Math.abs(scrollSpeed));
}

function slideLeft()
{
	queue = -1;
	movePanels(-Math.abs(scrollSpeed));
}

function movePanels(speed)
{
	speed = parseInt(speed);
	
	panel1.style.left = parseInt(panel1.style.left) + speed + 'px';
	panel2.style.left = parseInt(panel2.style.left) + speed + 'px';
	
	k += 0.2;
	speed += Math.abs(speed) / speed * k;
	
	if (parseInt(panel1.style.left) + speed > panel1.clientWidth || parseInt(panel1.style.left) + speed < -panel1.clientWidth)
	{
		panel1.style.visibility = 'hidden';
		panel2.style.visibility = 'visible';
		panel2.style.left = '0px';
		k = 0;
		scrollingRight = false;
		scrollingLeft = false;
	}
	else
	{
		setTimeout("movePanels('" + speed + "')", 10);
	}
}

function getPanel(num)
{
	var elems = document.getElementsByTagName('div');
	var p = 0;
	var r = 0;
	
	for (var i = 0; i < elems.length; i++)
	{
		if (elems[i].className == 'panel')
		{
			p++;
		
			if (p == num)
			{
				return elems[i];
			}
		}
	}
	
	return r;
}

function getCurrent()
{
	var elems = document.getElementsByTagName('div');
	var p = 0;
	var r = 0;
	
	for (var i = 0; i < elems.length; i++)
	{
		if (elems[i].className == 'panel')
		{
			p++;
		
			if (elems[i].style.visibility == 'visible')
			{
				r = p;
			}
		}
	}
	
	return r;
}

function getCount()
{
	var elems = document.getElementsByTagName('div');
	var p = 0;
	
	for (var i = 0; i < elems.length; i++)
	{
		if (elems[i].className == 'panel')
		{
			p++;
		}
	}
	
	return p;
}

function getNext()
{
	var p = getCurrent() + 1;
	
	if (p > getCount())
	{
		p = 1;	
	}
	
	return p;
}

function getPrevious()
{
	var p = getCurrent() - 1;
	
	if (p == 0)
	{
		p = getCount();
	}
	
	return p;
}

function initSlider()
{
	loaded = true;
	var height = 0;
	var top = 0;
	var elems = document.getElementsByTagName('div');
	
	for (var i = 0; i < elems.length; i++)
	{
		if (elems[i].className == 'panel')
		{
			height = elems[i].clientHeight;
			
			elems[i].style.left = '0px';
			elems[i].style.top = top + 'px';
	
			top -= height;
		}
	}
	
	highlight(getCurrent());
}

function processQueue()
{
	if (getCurrent() != queue && queue != -1)
	{
		slideToPanel(queue);
	}

	setTimeout("processQueue()", 100);
}

processQueue();