/* global.js */


var features = [];
var current_feature = 0;
var feature_interval;
var feature_time = 7000;
var feature_tween;


/* initial actions */
window.addEvent('domready', function() {
	
	// email links
	$$('a.email').addEvent('click', function(e) {
		e.stop();
		noSpam(this);
	});
	
	// sub-nav backgrounds
	$$('#nav ul ul').each(function(el) {
		el.setStyle('background-position', '-'+el.getCoordinates('nav').left+'px 0');
	});
	
	// sub-nav iphone compatibility
	if (Browser.Platform.ipod) {
		$$('#nav ul span').addEvent('click', function() {
			openSubNav(this);
		});
		
	}
	
	// fail ie6
	if (Browser.Engine.trident && Browser.Engine.version == 4) {
		$('ie6').setStyle('display', 'block');
	}
	
	// features
	if (features.length && $('features')) {
		var feature_images = [];
		features.each(function(feature) {
			feature_images.push(feature.file);
		});
		if (features.length > 1) {
			new Asset.images(feature_images, {
				onComplete: function() {
					playFeatures.delay(feature_time, false, 1);
				}
			});
		}
	}
	
});


/* no spam */
function noSpam(el) {
	addy = el.get('href').indexOf('#') == -1 ? el.get('href').split('mailto:').join('') : el.get('html');
	window.location = 'mailto:'+addy.split('[at]').join('@').split(' ').join('');
}


/* stay open */
function openSubNav(span) {
	var sub = span.getNext('ul');
	if (sub.getStyle('visibility') == 'hidden') {
		sub.setStyle('visibility', 'visible');	
	} else {
		sub.setStyle('visibility', 'hidden');
	}
}


/* features */
function playFeatures(i) {
	showFeature(i || current_feature);
	feature_interval = rotateFeature.periodical(feature_time, false, 'next');
}
function stopFeatures(i) {
	$clear(feature_interval);
	if (i) showFeature(i);
}
function rotateFeature(type) {
	var top = features.length;
	var btm = -1;
	if (type == 'next') {
		var i = (current_feature + 1 == top) ? btm + 1 : current_feature + 1;
	} else if (type == 'prev') {
		var i = (current_feature - 1 == btm) ? top - 1 : current_feature - 1;
	}
	showFeature(i);
}
function showFeature(i) {
	feature_tween = new Fx.Tween('features', {
		onComplete: function() {
			$('features').setStyle('background-image', 'url('+features[i].file+')');
			$('features-link').set('href', features[i].url ? features[i].url : 'javascript:;');
			$('features-caption').set('html', features[i].caption ? features[i].caption : '&nbsp;');
			current_feature = i;
			feature_tween = new Fx.Tween('features').start('opacity', 1);
		}
	}).start('opacity', 0);
	
}

