// JavaScript Document

window.addEvent('domready', function() {
	initSfHover();
	initNavigation();
});

var initSfHover = function() {
	$$('#nav li').each(function(item) {
		item.addEvent('mouseenter', function() {
			this.addClass('hover');
			updateIndicator();
		});
		item.addEvent('mouseleave', function() {
			this.removeClass('hover');
		});
	});
	
	$$('.navigation').each(function(nav) {
		nav.addEvent('mouseleave', function() { resetIndicator(); });
	});
}

var initNavigation = function() {
	var ind = $('nav-indicator');
	var nav = $$('#nav .nav-center')[0];
	var selected;
	$$('#nav li.selected').each(function(sel) { selected = sel; });
	if (selected) {
		ind.setStyles({
			'margin-left': selected.getCoordinates(nav).left,
			'width': selected.offsetWidth
		});
	}
	else { 
		ind.setStyles({'margin-left': 0, 'width': 0});
	}
}


var updateIndicator = function() {
	var ind = $('nav-indicator');
	var nav = $$('#nav .nav-center')[0];
	var selected;
	$$('#nav li.hover').each(function(sel) { selected = sel; });
	if (selected) {
		if (!ind.anim)
			ind.anim = new Fx.Morph(ind, {duration:'short', transition: Fx.Transitions.Quad.easeOut, link:'cancel'});
		ind.anim.start({
			'margin-left': selected.getCoordinates(nav).left,
			'width': selected.offsetWidth
		});
	}
}


var resetIndicator = function() {
	var ind = $('nav-indicator');
	var nav = $$('#nav .nav-center')[0];
	var selected;
	$$('#nav li.selected').each(function(sel) { selected = sel; });
	if (!ind.anim)
		ind.anim = new Fx.Morph(ind, {duration:'short', transition: Fx.Transitions.Quad.easeOut, link:'cancel'});
	if (selected) {
		ind.anim.start({
			'margin-left': selected.getCoordinates(nav).left,
			'width': selected.offsetWidth
		});
	}
	else { 
		ind.anim.start({
			'margin-left': 0,
			'width': 0
		});
	}
}

var pngfix = function(elements) {
	elements.each(function(img) {
		var div = new Element('div');
		div.setStyles({
			width: img.getSize().x,
			height: img.getSize().y,
			float: img.getStyle('float'),
			filter: 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="' + img.src + '", sizingMethod="crop")'
		});
		div.wraps(img);
		img.setOpacity(0);
	});
}

