function splash(container){
	if (container){
		var splashAnimations = [];
		$$('[class^=splash-]', container).each(function(el){
			var params = el.getProperty('class').match(/splash-([0-9]+)-([0-9]+).*/, '$1');
			if (params){
				el.delay = params[1].toInt();
				el.duration = params[2].toInt();
				el.setOpacity(0);
				el.browserOpacity = (Browser.Engine.trident) ? 1 : 0.99;
				splashAnimations.push(el);
			}
		}.bind(this));
		container.setOpacity(1);
		if (splashAnimations.length > 0) {
			for (var i = 0; i < splashAnimations.length; i++){
				var fx = new Fx.Morph(splashAnimations[i], {
					'transition': Fx.Transitions.Quint.easeOut,
					'duration': (Browser.Engine.trident4) ? splashAnimations[i]['duration'] / 1.4 : splashAnimations[i]['duration'],
					'wait': true
				});
				fx.start.delay(splashAnimations[i]['delay'], fx, {'opacity': 1});
			}
		}
	}
}

function fancyCapitalize(container){
	if (container){
		var initial = new Element('div', {'styles': {
			'float': 'left',
			'width': '60px',
			'height': '60px',
			'background-image': 'url(/img/' + container.get('text').substr(0,1).toUpperCase() + '.gif)',
			'background-repeat': 'no-repeat',
			'border': '1px solid #fff'
		}});
		var remainderContainer = new Element('div', {'styles': {
			'float': 'left',
			'margin-left': '4px'
		}});
		var remainder = new Element('div', {'styles': {
			'display': 'table-cell',
			'height': '60px',
			'vertical-align': 'middle',
			'font-size': container.getStyle('font-size'),
			'font-weight': container.getStyle('font-weight')
		}}).set('html', container.innerHTML.substr(1)).injectInside(remainderContainer);
		var clear = new Element('div', {'styles': {
			'clear': 'both'
		}});
		container.empty();
		initial.injectInside(container);
		remainderContainer.injectInside(container);
		clear.injectInside(container);
	}
}

function horizontalPanes(container, children, options){
	if (container && children){
		var defaultOptions = {
			'opacity': 0.6,
			'startColor': '#666',
			'endColor': '#4d4d4d'
		};
		var maxWidth = container.getStyle('width').toInt();
		var normalWidth = (maxWidth / children.length).toInt();
		var fullWidth = (normalWidth * 1.2).toInt();
		var smallWidth = ((maxWidth - fullWidth) / (children.length - 1)).toInt();

		children.each(function(child, i){
			var percentage = ((100 / (children.length - 1)) * i);
			var newColor = new Color(defaultOptions.startColor).mix(defaultOptions.endColor, percentage);
			child.setStyles({
				'width': normalWidth,
				'opacity': 1 - ((1 - defaultOptions.opacity) / 2),
				'background-color': newColor
			});
			/*
			child.setStyles({
				'width': normalWidth,
				'opacity': 1 - ((1 - defaultOptions.opacity) / 2),
				'background-color': newColor,
				'position': 'relative',
				'overflow': 'hidden'
			});
			var replacement = new Element('DIV', {'styles': {
				'position': 'absolute',
				'width': fullWidth,
				'overflow': 'hidden'
			}}).setHTML(child.innerHTML);
			child.empty();
			replacement.injectInside(child);
			*/
		});

		var fx = new Fx.Elements(children, {wait: false, duration: 300, transition: Fx.Transitions.Quad.easeOut});
		children.each(function(child, i) {
			child.addEvent("mouseenter", function(event) {
				var o = {};
				o[i] = {
					'width': fullWidth,
					'opacity': 1
				}
				children.each(function(other, j) {
					if(i != j) {
						o[j] = {
							'width': smallWidth,
							'opacity': defaultOptions.opacity
						};
					}
				});
				fx.start(o);
			});
		});

		container.addEvent("mouseleave", function(event) {
			var o = {};
			children.each(function(child, i) {
				o[i] = {
					'width': normalWidth,
					'opacity': 1 - ((1 - defaultOptions.opacity) / 2)
				}
			});
			fx.start(o);
		})
	}
}

window.addEvent('domready', function(){
	fancyCapitalize($$('h1')[0]);
	splash($('container'));
	//horizontalPanes($('horizontalPanes'), $$('#horizontalPanes .pane'));
	new Fx.Accordion($$('dl dt'), $$('dl dd'));
	$$('#container #content dl').setStyles({'opacity': 0.6});
});


