var banners = new Array('photo1', 'photo2', 'photo3', 'photo4', 'photo5');
var banners_paused = false;
var banners_Move;
var banners_offset;
var banners_rolledup = false;
var current_banner = 0;
var current_name = '';
var mouseX, mouseY;
var oldmove = 0;
var slide_timer;
var scroll_timer;
var enable_mouse_control = false;
var lasttime;

function scroll_banner()
{
	if (!banners_paused || banners_rolledup)
	{
		if (banners_Move && banners_Move.state == 'running' && 
			banners_Move.currentFrame / banners_Move.totalFrames < 0.5) banners_Move.cancel();
			
		var newtime = new Date().getTime();
		var move = (newtime - lasttime) / 20;
		lasttime = newtime;
		
		var ps_off = $('photoslide').viewportOffset();
		if (enable_mouse_control && !banners_rolledup && mouseY > ps_off.top && mouseY < ps_off.top + 380)
		{
			var coff = $('photoadjust').viewportOffset();
			if (mouseX < coff.left + 100) move = (coff.left + 100 - mouseX) / (coff.left + 100) * -10;
			else if (mouseX > coff.left + 860) move = (coff.left + 860 - mouseX) / (document.viewport.getWidth() - (coff.left + 860)) * -10;
			else 
			{
				var l = $(banners[current_banner]).positionedOffset().left;
				move = l / 960 * 30;
				if (l != 0 && move < 1 && move > -1) move = l < 0 ? -1 : 1;
			}
		}
		move = -Math.ceil(move);
		if (Math.abs(oldmove - move) > 1) move = oldmove + (move > oldmove ? 1 : -1);
		oldmove = move;
	
		for(var i=0; i<banners.length; i++)
		{
			var img = $(banners[i]);
			var left = img.positionedOffset().left;
			img.style.left = (left + move) + 'px';
			//if (img.viewportOffset().left < -1920) img.style.left = (left - move + 960 * banners.length) + 'px';
			
			//alert($('img'+i).className);
			//if ($('img'+i).hasClassName('hover'))
			//	$('menu-header').insert({ before: 'img'+i+' has class: '+$('img'+i).hasClassName('hover') });
				
			if (!$('img'+i).hasClassName('hover'))
			{
				if (left > -480 && left < 480) 
				{
					$('img'+i).src = $('imgsel').src;
					current_banner = i;
				}
				else $('img'+i).src = $('img').src;
			}
			
			if (left > -480 && left < 480) 
			{
				if (current_name != i + 1)
				{
					if (current_name != '') new Effect.Fade('imgname'+current_name);
					current_name = i + 1;
					new Effect.Appear('imgname'+current_name);
				}
			}
		}
		
		wrap_banners();
		
		var first_banner = $(banners[0]);
		var last_banner = $(banners[banners.length-1]);
		for(var i=0; i<banners.length; i++)
		{
			first_banner = $(banners[i]).positionedOffset().left < first_banner.positionedOffset().left ? $(banners[i]) : first_banner;
			last_banner = $(banners[i]).positionedOffset().left > last_banner.positionedOffset().left ? $(banners[i]) : last_banner;
		}
		
		if (true)
		{
			var pt = $('photo-temp');
			var pt_left = move > 0 ? last_banner.positionedOffset().left + 960 : first_banner.positionedOffset().left - 960;
			pt.style.left = pt_left + 'px';
			pt.src = move > 0 ? first_banner.src : last_banner.src;
			//pt.style.backgroundColor = 'red';
			//pt.style.height = '300px'; pt.style.width = '960px';
			if ($('photolink-temp')) $('photolink-temp').href = $(move > 0 ? first_banner : last_banner).up().href;
		}
	}
}
function goto_banner(banner_index)
{
	if (slide_timer) clearTimeout(slide_timer);
	if (scroll_timer) clearInterval(scroll_timer);
	
	//if (banners_rolledup) return;
	
	if (banners_Move && banners_Move.state == 'running') 
	{
		banners_Move.cancel();
		wrap_banners();
	}
	
	var b = $(banners[banner_index]);
	banners_offset = b.positionedOffset().left * -1;
	var b_effects = new Array();
	
	var first_banner = $(banners[0]);
	var last_banner = $(banners[banners.length-1]);
	for(var i=0; i<banners.length; i++)
	{
		b_effects[i] = new Effect.Move(banners[i], { 
			sync: true, x: $(banners[i]).positionedOffset().left + banners_offset, y: 0, mode: 'absolute' });
			
		first_banner = $(banners[i]).positionedOffset().left < first_banner.positionedOffset().left ? $(banners[i]) : first_banner;
		last_banner = $(banners[i]).positionedOffset().left > last_banner.positionedOffset().left ? $(banners[i]) : last_banner;
	}
	if (true)
	{
		var pt = $('photo-temp');
		var pt_left = banners_offset > 0 ? last_banner.positionedOffset().left + 960 : first_banner.positionedOffset().left - 960;
		//pt.style.left = pt_left + 'px';
		//pt.src = banners_offset < 0 ? first_banner.src : last_banner.src;
		//pt.show();
		b_effects[banners.length] = new Effect.Move(pt, {
			sync: true, x: pt_left + banners_offset, y: 0, mode: 'absolute' });
	}
	
	current_banner = banner_index;
	
	//banners_paused = true;
	banners_Move = new Effect.Parallel(b_effects, { 
		duration: 1.5, 
		afterFinish: function() { 
			wrap_banners();
			scroll_timer = setInterval('scroll_banner();', 20);
		}
	});
	
	//slide_timer = setTimeout('current_banner++; if (current_banner >= banners.length) current_banner = 0; goto_banner(current_banner);', 4000);
}
function wrap_banners()
{
	var halfcount = Math.floor(banners.length / 2);
	for(var i=0; i<banners.length; i++)
	{
		var img = $(banners[i]);
		var imgleft = img.positionedOffset().left;
		
		if (imgleft < halfcount * -960) img.style.left = (imgleft + 960 * banners.length) + 'px';
		else if (imgleft >= halfcount * 960 + 960) img.style.left = (imgleft - 960 * banners.length) + 'px';
		
		//var left = img.positionedOffset().left;
		//if (left > -480 && left < 480) $('img'+i).src = $('imgsel').src;
		//else $('img'+i).src = $('img').src;
	}
	
	//$('photo-temp').hide();
}
function init_banners()
{
	for(var i=0; i<banners.length; i++)
	{
		eval('$(\'' + banners[i] + '\').onmouseover = function () { goto_banner(' + i + '); };');
	}
}
lasttime = new Date().getTime();
Event.observe(window, 'load', function() { /*init_banners();*/ scroll_timer = setInterval('scroll_banner();', 20); });
//Event.observe(window, 'load', function() { current_banner = 1; slide_timer = setTimeout('current_banner++; if (current_banner >= banners.length) current_banner = 0; goto_banner(current_banner);', 4000); });
function rolldown_banner()
{
	if ($('photoslide').getHeight() == 210) 
	{
		$('photoslide').morph('height:380px;');
		$('photoadjust').morph('top:0px;');
		$('rolldown').hide();
		$('rollup').show();
		banners_rolledup = false;
	}
	return false;
}
function rollup_banner()
{
	if ($('photoslide').getHeight() == 380) 
	{
		$('photoslide').morph('height:210px;');
		$('photoadjust').morph('top:-85px;');
		$('rollup').hide();
		$('rolldown').show();
		banners_rolledup = true;
	}
	return false;
}
function getcoords(e)
{
	mouseX = Event.pointerX(e);
	mouseY = Event.pointerY(e);
}
//Event.observe(document, 'mousemove', getcoords);