UTIL = {


	fire : function(func,funcname, args){
		var namespace = core;
		funcname = (funcname === undefined) ? 'init' : funcname;
		if (func !== '' && namespace[func] && typeof namespace[func][funcname] == 'function'){
			namespace[func][funcname](args);
		} 
	}, 

	loadEvents : function(){
		var bodyId = document.body.id;
		// hit up common first.
		UTIL.fire('common');
		// do all the classes too.
		$.each(
			document.body.className.split(/\s+/),
			function(i,classnm){
				UTIL.fire(classnm);
				UTIL.fire(classnm,bodyId);
			}
		);
		UTIL.fire('common','finalize');
	} 
};

var core = {
	
	home : {
		init : function(){
			var screen = $( '#screen' ),
				slides = $( '.slide', screen),
				keys   = $('#keys a'),
				si = 0;
				
			keys
			.click(
				function( e ){
					e.preventDefault();
					var hash = $(this).attr('href'),
						pos  = $( hash ).position();
					keys.removeClass('active');
					$(this).addClass('active');
					$( hash ).slideDown();
					$( hash ).siblings().slideUp();
				}
			);
			
			setInterval(
				function () {
					keys.eq( si++%2 ).click();
				},5000
			);
			
			$('input[name=EMAIL]')
			.focus(
				function(){
					if( $(this).val() == 'join the mailing list' ){
						$(this).val('');
					}
				}
			)
			.blur(
				function(){
					if( $(this).val() == '' ){
						$(this).val('join the mailing list');
					}
				}
			)
		}
	}, // closes home functions
	
	page : {
		init : function(){
			
			$('.slideshow').cycle({
				fx: 'fade' // choose your transition type, ex: fade, scrollUp, shuffle, etc...
			});
				
		}
	} // closes page functions
	
};
$(document).ready(
	UTIL.loadEvents
);


