window.addEvent('domready', function() {
	$(document.body).addClass('js');
	
	// Showreel
	if ($('showreel')) new Showreel($('showreel'));
	
	// Showcase
	var pane = $('showcase');
	var links = $$('#showcaseLinks a');
	var targets = $$('#showcase > ul > li');
	if (pane && links[0]) {
		new LinkScroll(links, targets, pane);
	}
	
	// Showcase highlight
	var els = $$('.showcase .products li a');
	!els || new Highlight(els);
	
	// Form OverText
	var positionOptions = {offset:{x:1, y:0}};
	$$('.over').each(function(input) {
		new OverText(input, {positionOptions:positionOptions});
	});
	
	var z = {index: 300};
	
	// Fading Cart Panel
	var holder = $('cartSummaryHolder');
	var wrapper = $('cartSummaryWrapper');
	!(holder && wrapper) || new FadePanel(holder, wrapper, z);
	
	// Login panel
	holder = $('loginHolder');
	wrapper = $('loginWrapper');
	!(holder && wrapper) || new FadePanel(holder, wrapper, z);
	
	// Flash Messages
	var message = $('messageWrapper');
	!message || new FadeInOut(message);
	
	// Order history accordion
	var togglers = $$('ul.isAccordion>li');
	var contents = $$(togglers.getElement('ul'));
	new Fx.Accordion(togglers, contents, {display: -1});
	
	// Simple Signature Fade
	var sig = $$('.signature a')[0];
	if (sig) {
		var img = sig.getElement('img');
		img.addEvent('mouseenter', function() {
			img.fade(0.001); /* At 0, clicking doesn't fire off link */
		});

		img.addEvent('mouseleave', function() {
			img.fade('in');
		});
	}
	
	// Google Analytics
	new GoogleAnalytics();
});