window.onload = function ()
{
	if (get('photos') && get('photosjs'))
	{
		get('photos').parentNode.removeChild(get('photos'));
		get('photosjs').style.display = 'block';
		var photo = get('photo');
		var list = get('list');
		
		if (photo && list)
		{
			var links = list.getElementsByTagName('A');
			for (var i in links)
			{
				links[i].id = 'item' + i;
				if (links[i].parentNode)
				{
					if (links[i].parentNode.parentNode)
					{
						if (links[i].parentNode.parentNode.className == 'sel') window.current = links[i].id
					}
				}
				links[i].onclick = show;
			}
			get('next').onclick = nextphoto;
			get('prev').onclick = nextphoto;
			get('prev').onmouseover = left;
			get('next').onmouseover = right;
			get('prev').onmouseout = stop;
			get('next').onmouseout = stop;
			hidebuttons();
		}
	}
}

hidebuttons = function ()
{
	if (window.current)
	{
		var prev = parseInt(window.current.replace('item', ''));
		var cur1 = prev + 1
		var cur2 = prev - 1;
		var id1 = 'item' + cur1;
		var id2 = 'item' + cur2;
		var target1 = get(id1);
		var target2 = get(id2);
		get('next').className = target1 ? 'active' : '';
		get('prev').className = target2 ? 'active' : '';
	}
}

change = function (target)
{
	get('photo').className = 'big loading';
	get('big').style.visibility = 'hidden';
	var img = new Image();
	img.src = target.rel;
	get('descr').innerHTML = target.title;
	if (!img.height) 
	{
		img.onload = function () {
			get('big').src = this.src;
			get('photo').className = 'big';
			get('big').style.visibility = 'visible';
		};
	}
	else 
	{
		get('big').src = img.src;
		get('photo').className = 'big';
		get('big').style.visibility = 'visible';
	}
	//get('big').scrollIntoView();
	var list = get('list');
	var links = list.getElementsByTagName('A');
	for (var i in links)
	{
		if (links[i].parentNode)
		{
			if (links[i].parentNode.parentNode)
			{
				links[i].parentNode.parentNode.className = '';
			}
		}
	}
	target.offsetParent.parentNode.className = 'sel';
	window.current = target.id;
	hidebuttons();
}

show = function (e)
{
	var target = e ? e.target : window.event.srcElement;
	target = target.tagName == 'a' ? target : target.parentNode;
	if (target.tagName == 'A')
	{
		blockEvent(e);
		change(target);
	}
}

get = function (id)
{
	return document.getElementById(id) || false;
}

blockEvent = function (event)
{
	event = event ? event : window.event;
	if(event.stopPropagation) event.stopPropagation();
	else event.cancelBubble = true;
	if(event.preventDefault) event.preventDefault();
	else event.returnValue = false;
}

step = function (direction)
{
	if (window.current)
	{
		var prev = parseInt(window.current.replace('item', ''));
		var cur = direction ? prev + 1 : prev - 1;
		var id = 'item' + cur;
		var target = get(id);
		if (target)
		{
			target.scrollIntoView();
			change(target);
		}
	}
}

left = function ()
{
	window.traceLeft = true;
	window.traceRight = false;
	window.interval = setInterval("move()", 50);
}

right = function ()
{
	window.traceRight = true;
	window.traceLeft = false;
	window.interval = setInterval("move()", 50);
}

stop = function ()
{
	window.traceRight = false;
	window.traceLeft = false;
	clearInterval(window.interval);
}

move = function ()
{
	var direction = false;
	if (window.traceRight)
	{
		var direction = 2;
	}
	if (window.traceLeft)
	{
		var direction = 1;
	}
	if (direction)
	{
		var pos = parseInt(get('list').style.marginLeft);
		//alert(pos);
		var newPos = pos + (direction == 2 ? -20 : 20);
		if (newPos > 0) newPos = pos;
		if (get('list').scrollWidth + newPos + 90 < get('listparent').offsetWidth) newPos = pos;
		get('list').style.marginLeft = newPos + 'px';
	}
}

nextphoto = function (e)
{
	var target = e ? e.target : window.event.srcElement;
	blockEvent(e);
	if (!target.id) target = target.parentNode;
	if (target.id == 'next') step(true);
	else step(false);
}
