window.addEvent('domready', function() {fisheye_moo();});

//the fisheye elements
var thumbStartSize = 110;
var thumbEndSize = 150;
var _totalThumbs;  //the total number of thumbs
var _currentOffset; //the number of thumbs being offset
var _swapOffset = 7;  //the number of thumbs to swap at a time
var _displayMax = 8;

function fisheye_moo()
{
	_currentOffset = 0;
	
	var holders = $$('#fisheye_menu li');
	_totalThumbs = holders.length;
	for (var i=0; i < _totalThumbs; i++) 
	{
		var holder = holders[i];
		var thumb = holder.getElement('img');
		
		//remove the alt tag since javascript is enabled
		thumb.setProperty('alt', '');
		
		//store the image's src for the small and large thumbnails
		var source = thumb.getProperty('src');
		var pos = source.indexOf('_sm.png', 0);
		var imageName = source.substr(0, pos);
		thumb.store('mediumSource', imageName + '_md.png');
		thumb.store('smallSource', source);
		thumb.store('reflection', false);
		
		holder.addEvent('mouseenter', function() {thumbOver(this);});
		holder.addEvent('mouseleave', function() {thumbOut(this);});
		holder.fireEvent('mouseleave');
		
		//add the png fix if the browser is ie6
		if (Browser.Engine.trident4)
		{
			thumb.setProperty('src', thumb.retrieve('mediumSource'));
			thumb.setStyle('behavior', 'url(/assets/iepngfix/iepngfix.htc)');
		}
		
		//preload the medium size thumbnail
		var mediumImage = new Asset.image(imageName + '_md.png');
	}
	
	//get the previous button
	//$('prevPage')
	
	//get the next button
	if (_totalThumbs > _displayMax)
	{
		$('nextPage').addEvent('click', function() {
			//range: _currentOffset to _currentOffset + _swapOffset
			_currentOffset += _swapOffset;
			moreThumbs();						 
		});
		$('nextPage').removeClass('closed');
		
		$('prevPage').addEvent('click', function() {
			_currentOffset -= _swapOffset;
			moreThumbs();				 
		});
	}
}

function moreThumbs()
{
	$$('#fisheye_menu li').each(function( element, index)
	{
		if ( (index < _currentOffset) || (index > _currentOffset + _displayMax - 1 ) )
		{
			if (! element.hasClass('closed'))
			{element.addClass('closed');}
		}
		else
		{
			if (element.hasClass('closed'))
			{element.removeClass('closed');}
		}
	});
	
	if (_totalThumbs <= _currentOffset + _displayMax)
	{
		if (! $('nextPage').hasClass('closed') )
		{$('nextPage').addClass('closed');}
	}
	else
	{
		if ( $('nextPage').hasClass('closed') )
		{$('nextPage').removeClass('closed');}
	}
	
	if (_currentOffset > 0)
	{
		if ( $('prevPage').hasClass('closed') )
		{$('prevPage').removeClass('closed');}
	}
	else
	{
		if (! $('prevPage').hasClass('closed') )
		{$('prevPage').addClass('closed');}
	}	
}

function thumbOver(holder)
{	
	var thumb = holder.getElement('img');
	thumb.setProperty('src', thumb.retrieve('mediumSource'));
	var title = holder.getElement('span');
	title.setStyle('display', 'block');
	
	if (! Browser.Engine.trident4)
	{
		thumb.set('morph', {duration:250, link:'cancel', transition:Fx.Transitions.Sine.easeOut});
	}
	else
	{
		thumb.set('morph', {duration:250, link:'cancel', transition:Fx.Transitions.linear});
	}
	thumb.morph({'width':thumbEndSize, 'height':thumbEndSize});
}

function thumbOut(holder)
{
	var thumb = holder.getElement('img');
	thumb.setProperty('src', thumb.retrieve('smallSource'));
	var title = holder.getElement('span');
	title.setStyle('display', 'none');

	if (! Browser.Engine.trident4)
	{
		thumb.set('morph', {duration:500, link:'cancel', transition:Fx.Transitions.Sine.easeOut});
	}
	else
	{
		thumb.set('morph', {duration:500, link:'cancel', transition:Fx.Transitions.linear});
	}
	thumb.morph({'width':thumbStartSize, 'height':thumbStartSize});
}

