window.addEvent('domready', function()
{	
	//Detect IE
	if (Browser.Engine.trident) var isIE = true;
	else var isIE = false;

	function resize()
	{
		if (window.innerHeight) { // Firefox
			var docheight = window.innerHeight;
			var docwidth = window.innerWidth;
		} else if (document.all) { // IE
			var docheight = document.body.clientHeight;
			var docwidth = document.body.clientWidth;
		};
				
		if (docwidth < 980)
		{
			$(document.body).setStyle('width',980);
		}
		else
		{
			$(document.body).setStyle('width','100%');
		}
		
		if ($('artistshowcase'))
		{
			if (docheight > 740)
			{
				$('container').setStyle('height',docheight);
				$('artistshowcase').setStyle('top', 115 + (docheight-630-135)/2 + 14);
			}
			else
			{
				$('container').setStyle('height',740);
				$('artistshowcase').setStyle('top', 115);
			}
			
			$('aboutus').setStyle('top', 'auto');
			$('aboutus').setStyle('bottom', 86);
			
			$('adssponsors').setStyle('top', 'auto');
			$('adssponsors').setStyle('bottom', 56);
		}
		
		if ($('aboutus') && $('adssponsors') && !$('artistshowcase')) 
		{
			if (docheight > 420)
			{
				$('aboutus').setStyle('top', docheight - 80);
				$('adssponsors').setStyle('top', docheight - 50);
			}
			else
			{
				$('aboutus').setStyle('top', 340);
				$('adssponsors').setStyle('top', 370);
			}
		}
	}
	
	// Bind the function to window on resize & then run it on DOM load
	window.onresize = resize;
	resize();
	
	// Prevent content underrun
	if ($('copy') && $('copy').getSize().y < 400) $('copy').setStyle('height',400);
	
	// Handle artist showcase on homepage	
	if ($('artistshowcase'))
	{
		// Set up procedural fade in
		function fadeChain()
		{
			var ghosts = $('artistshowcase').getElements('div.ghost');
			var pieces = $('artistshowcase').getElements('div.piece');
			var circles = ghosts.concat(pieces);
		
			// Hide all circles
			circles.each(function(circle)
			{
				circle.setStyle('opacity',0);
				circle.set('tween', {duration: 600, transition: 'quad:in:out'});
			});
			
			//Initialize count variable
			var delayer = { counter: 0 };
			
			// Fade in each circle in order and clear the trigger if we've faded them all
			function fadeUp()
			{
				if (this.counter == circles.length) $clear(trigger);
				else {
					if (isIE) circles[this.counter].fade('show');
					else circles[this.counter].fade('in');
					this.counter++;
				}
			}
			
			// Initialize fade and bind to counter
			var trigger = fadeUp.periodical(200,delayer);
		}
		
		// Set up tooltips
		function toolTips()
		{	
			$('artistshowcase').getElements('div.piece').each(function(thispiece)
			{ 
				thispiece.store('tip:title', '');
				thispiece.store('tip:text', '<div class="left"></div><div class="label">'+thispiece.get('rel')+'</div><div class="right"></div>');
			});
			
			var tooltips = new Tips('.piece',{  
				className: 'pieceTip',  
				fixed: false,  
				hideDelay: 50,  
				showDelay: 0,
				offsets: {'x': 5, 'y': -29}
			});
			
			tooltips.addEvents({  
				'show': function(tip) {
					tip.get('tween').cancel();
					tip.fade('show');
				},  
				'hide': function(tip) { 
					tip.get('tween').cancel();
					tip.fade('hide'); 
				}  
			});
		}
	
		// Hide showcase at launch
		$('artistshowcase').fade('hide');
		
		// Define load complete function
		$('artistshowcase').set('load', { 'onComplete': function(){ 
			fadeChain(); // Start chain of circles fading
			toolTips(); // Set up tooltips
			$('artistshowcase').fade('show'); // Show the showcase
        }}); 
		$('artistshowcase').load('/art/artistshowcase');
		
		// Allow reloading
		$('reloadartwork').addEvent('click',function()
		{
			if (isIE)
			{
				$('artistshowcase').innerHTML = '';
				$('artistshowcase').load('artistshowcase.php');
			}
			else
			{
				$('artistshowcase').fade('out').get('tween').chain(function()
				{
					$('artistshowcase').innerHTML = '';
					$('artistshowcase').load('/art/artistshowcase');
				});
			}
			return false;
		});
	}
	
	// Pagination tooltips
	if ($('pagination'))
	{
		$('pagination').getElements('div.page').each(function(thispage)
		{ 
			thispage.store('tip:title', '');
			thispage.store('tip:text', '<div class="left"></div><div class="label">'+thispage.get('rel')+'</div><div class="right"></div>');
		});
	
		var pagetips = new Tips('.page',{  
			className: 'pageTip',  
			fixed: false,  
			hideDelay: 50,  
			showDelay: 0,
			offsets: {'x': 5, 'y': -29}
		});
		
		pagetips.addEvents({  
			'show': function(tip) {
				tip.get('tween').cancel();
				tip.fade('show');
			},  
			'hide': function(tip) { 
				tip.get('tween').cancel();
				tip.fade('hide'); 
			}  
		});
	}
	
	// Create function for initializing thumbnails
	function thumbnailTooltips()
	{
		$('artistselector').getElements('div.thumbnail').each(function(thisthumb)
		{ 
			thisthumb.store('tip:title', '');
			thisthumb.store('tip:text', '<div class="left"></div><div class="label">'+thisthumb.get('rel')+'</div><div class="right"></div>');
		});
	
		var thumbtips = new Tips('.thumbnail',{  
			className: 'thumbTip',  
			fixed: false,  
			hideDelay: 50,  
			showDelay: 0,
			offsets: {'x': 5, 'y': -29}
		});
		
		thumbtips.addEvents({  
			'show': function(tip) {
				tip.get('tween').cancel();
				tip.fade('show');
			},  
			'hide': function(tip) { 
				tip.get('tween').cancel();
				tip.fade('hide'); 
			}  
		});
	}

	// Determine if tooltips are needed for thumbnails on load
	if ($('artistselector') && $('artistselector').getElements('div.thumbnail')) { thumbnailTooltips(); }
	
	// AJAX loading for media
	if ($('artistselector') && $('artistselector').hasClass('media'))
	{
		var media = $('artistselector').getElements('div.medium');

		media.each(function(thismedium)
		{
			thismedium.a = thismedium.getElement('div.header a');
			thismedium.link = thismedium.getElement('div.header a').get('rel');
			thismedium.container = thismedium.getElement('div.thumbnails');
			thismedium.thumbs = thismedium.getElement('div.grid');
			thismedium.selected = false;
			thismedium.loaded = false;
			
			// Define load complete function
			thismedium.thumbs.set('load', { 'onComplete': function()
			{
				if (isIE)thismedium.container.tween('height',thismedium.container.getScrollSize().y - 25);
				else thismedium.container.tween('height',thismedium.container.getScrollSize().y);
				thismedium.thumbs.setStyles({opacity:0,visibility:'visible'});
				if (isIE) thismedium.thumbs.fade('show');
				else thismedium.thumbs.fade('in');
				thismedium.getElement('div.indicator').setStyle('display','none');
				thismedium.loaded = true;
				
				thumbnailTooltips();
	        }});
			
			// Define load click
			thismedium.a.addEvent('click',function()
			{
				if (!thismedium.loaded)
				{
					thismedium.thumbs.innerHTML = '';
					thismedium.thumbs.load(thismedium.link);
					thismedium.selected = true;
					thismedium.getElement('div.header').addClass('selected');
					thismedium.getElement('div.indicator').setStyle('display','block');
				}
				else if (thismedium.loaded && thismedium.selected)
				{
					thismedium.container.tween('height',0);
					if (!isIE) thismedium.thumbs.fade('out');
					thismedium.selected = false;
					thismedium.getElement('div.header').removeClass('selected');
				}
				else if (thismedium.loaded && !thismedium.selected)
				{
					if (isIE)thismedium.container.tween('height',thismedium.container.getScrollSize().y - 25);
					else thismedium.container.tween('height',thismedium.container.getScrollSize().y);
					if (!isIE) thismedium.thumbs.fade('in');
					thismedium.selected = true;
					thismedium.getElement('div.header').addClass('selected');
				}
				return false;
			});
			
		});
	}
	
});