var mousePos; 

function showMenu(e)
	{
	var element = Event.element(e);
	var base = element.id.replace(/^link/, '');
	var leftPos = 0;
	
	
	if ($('homepage'))
		{
		var topPos = $('link' + base).cumulativeOffset().top - $('menu' + base).getHeight();
		leftPos = $('link' + base).cumulativeOffset().left; 
		}
	else
		{
		var topPos = (-1 * $('menu' + base).getHeight()) + 20;
		
		if (base==1 || base == 14)
			{
			leftPos = 250;
			}
		else if (base==7 || base==16)
			{
			leftPos = 380;
			}
		else if (base==6 || base==15)
			{
			leftPos = 500;
			}
		else if (base==13)
			{
			leftPos = 650;
			}
		else if (base==10 || base==18)
			{
			leftPos = 790;
			}
		}
	
	leftPos = leftPos - 15;
	
	if (!$('menu' + base).visible())
		{
		$('menu' + base).setStyle(
			{
			//top:	$('link' + base).cumulativeOffset().top - $('menu' + base).getHeight() + 10 + 'px',
			left: 	leftPos + 'px',
			top: topPos + 'px'
			});
		
		Effect.Appear($('menu' + base), {duration: 0.5, to: 0.90}); 
		 
		new PeriodicalExecuter(function(pe) 	
			{
			if (isMouseOver($('link' + base), e) || isMouseOver($('menu' + base), e))
				{
				}
			else
				{
				Effect.Fade($('menu' + base), {duration: 0.5});
				pe.stop();
				} 
			}, 2); 
		}
	}

function moveThumbs(direction)
	{
	var visible = false; 
	
	//	The page to show, zero by default to show the first
	var show = 0;
	
	//	Used to hold which one to hide
	var hide = false;
	
	//	Make sure a valid option is selected
	if (direction!='previous')
		{
		direction = 'next'; 
		}
		
	var thumbSets = $('portfolioThumbs').getElementsByClassName('thumbPage');
	
	//	Get the currently visible thumb set
	for (var i=0; i<thumbSets.length; i++)
		{
		if (thumbSets[i].visible())
			{
			visible = i;
			}
		}
	if (visible===false)
		{
		//	Just show the first
		show=0;
		hide= false;
		}
	else if (direction=='next'  && visible<(thumbSets.length-1))
		{
		show = visible + 1;
		hide = visible;
		}
	else if (direction=='previous' && visible>0)
		{
		show = visible -1;
		hide = visible; 
		}
	else if (direction=='next' && visible==(thumbSets.length-1))
		{
		//	Loop back to the first
		show = 0;
		hide = thumbSets.length - 1;
		}
	else
		{
		//	Loop to the end
		show = thumbSets.length - 1;
		hide = 0;
		}
	Effect.Fade($('thumbPage' + hide),
		{
		duration: 0.5,
		queue: {
			position: 'end',
			scope: 'thumbs'
			}
		});
	Effect.Appear($('thumbPage' + show),
		{
		duration: 0.5,
		queue: {
			position: 'end',
			scope: 'thumbs'
			}
		});
	
	if (show==0)
		{
		Effect.Fade($('linkPrevious'), {duration: 0.5}); 
		}
	else
		{
		Effect.Appear($('linkPrevious'), {duration: 0.5}); 
		}
	if (show==thumbSets.length -1)
		{
		Effect.Fade($('linkNext'), {duration: 0.5}); 
		}
	else
		{
		Effect.Appear($('linkNext'), {duration: 0.5}); 
		}
		
	
	}

function swapImage(thumb)
	{
	//	Preload the image
	var x = new Image();
	x.src = thumb.src.replace(/thumb_/, ''); 
	
	if ($('image1').visible())
		{
		$('image2').innerHTML = '<img src="' + thumb.src.replace(/thumb_/, '') + '">';
		Effect.Fade($('image1'),
			{
			duration: 0.25,
			queue: 'end'
			});
		Effect.Appear($('image2'),
			{
			duration: 0.25,
			queue: 'end'
			});
		}
	else
		{
		$('image1').innerHTML = '<img src="' + thumb.src.replace(/thumb_/, '') + '">';
		Effect.Fade($('image2'),
			{
			duration: 0.25,
			queue: 'end'
			});
		Effect.Appear($('image1'),
			{
			duration: 0.25,
			queue: 'end'
			});
		}
		  
	}
function initPortfolio()
	{
	if (!$('portfolioThumbs'))
		{
		return; 
		}
	var thumbSets = $('portfolioThumbs').getElementsByClassName('thumbPage');
	
	Effect.Appear($('thumbPage0'), {duration:0.5}); 
	Effect.Appear($('image1'), {duration: 0.5}); 
	
	if (thumbSets.length>1)
		{
		Effect.Appear($('linkNext'), {duration:0.5}); 
		}
	
	}

function initPage()
	{
	Event.observe(window, 'resize', doResize); 
	Event.observe(document, 'mousemove', mousePosition);
	//var childLinks = $('navlinks').childElements();
	var childLinks = $('navlinks').select('a'); 
	 
	for (var i=0; i<childLinks.length; i++)
		{
		if (childLinks[i].id.match(/^link/))
			{
			var base = childLinks[i].id.replace(/^link/, 'menu');
			if ($(base))
				{
				//	There is a submenu, we need to attach the events 
				Event.observe($(childLinks[i].id), 'mouseover', showMenu, false); 
				}
			}
		}
	
	showSwirl(); 
	
	//Shadowbox.init; 
	
		
	}
function isMouseOver(control, e)
	{
	var boxPos = new Object();
	var cumOffset = control.cumulativeOffset(); 
	boxPos.x1 = cumOffset.left;
	boxPos.x2 = boxPos.x1 + control.getWidth();
	boxPos.y1 = cumOffset.top;
	boxPos.y2 = boxPos.y1 + control.getHeight(); 
 	if (mousePos.x>=boxPos.x1 && mousePos.x<=boxPos.x2 && mousePos.y>=boxPos.y1 && mousePos.y<=boxPos.y2)
		{
		return true;
		}
	else
		{
		return false;
		}
	 
	}
function mousePosition(e) 
	{
	var ret = new Object();
	ret.x = (window.Event) ? e.pageX : event.clientX;
  	ret.y = (window.Event) ? e.pageY : event.clientY;
	mousePos = ret; 
	}
function showSwirl()
	{
	viewportDimensions = document.viewport.getDimensions();
		
	$('swirl-top').setStyle("position:absolute;left:0px;top:0px;"); 
	$('swirl-top').show(); 
	$('swirl-bottom').setStyle('position:absolute;left:' + (viewportDimensions.width - 174) + 'px;top:' + (viewportDimensions.height - 270) + 'px;'); 
	$('swirl-bottom').show(); 
	}
	
function doResize(e)
	{
	viewportDimensions = document.viewport.getDimensions();
	$('swirl-top').setStyle("position:absolute;left:0px;top:0px;");	
	$('swirl-bottom').setStyle('position:absolute;left:' + (viewportDimensions.width - 174) + 'px;top:' + (viewportDimensions.height - 270) + 'px;');
	}
function debug(message)
	{
	if (typeof console != 'undefined' && typeof console.debug != 'undefined')
		{
		console.info(message);
		}
	}