var menucls = '', jqbody = null, jqprimaryNav = null;
var core = {
	common : {
		init     : function(){
			echo('common.init');
			$('.primaryNav > li')
			.mouseenter(function(){
				var that = this;
				if( $(this).hasClass('keepOpen') ){
					return;
				}

				$(this).find('ul:not(:animated)').slideDown(function(){
					$(that).stop().addClass('open');
				});
			})
			.mouseleave(function(){
				var that = this;
				if( $(this).hasClass('keepOpen') ){
					return;
				}

				$(this).find('ul:not(:animated)').slideUp(function(){
					$(that).stop().removeClass('open');
				});
			});
			jqprimaryNav = $('.primaryNav');
			jqbody = $('body');
			
			$('#newContact')
			.hover(
				function(){
					$(this).find('ul').slideDown();
				},
				function(){
					$(this).find('ul').slideUp();
				}
			);
		},
		finalize : function(){
			echo('common.finalize');
			if( jqbody.hasClass('ars') ){
				jqprimaryNav.find('.ars').addClass('keepOpen');
			}
			else if( jqbody.hasClass('aos') ){
				jqprimaryNav.find('.aos').addClass('keepOpen');
			}
			menucls
		}
	},
	home : {
		homepage     : function(){
			echo('home.homepage');
			var featuredText = $('.featuredText').wrapInner('<div class="inner">');

			if( featuredText.size() ){
				for( var i = 1;i <= 3; i++ ){
					var img = 'common/img/bg_header_'+i+'.png';
					var image = new Image();
					image.onload = function(){
						this.onload = null;
						featuredText.append(this);
					}
					image.src = img;
				}

				var inter = setInterval(function(){
					var imgs = featuredText.find('img');
					if( imgs.size() === 3 ){
						clearInterval(inter);
						var i = 3;
						setInterval(function(){

							imgs.eq(i--).fadeOut();
							if( i === 0 ) i = 3;
							imgs.eq(i).fadeIn();
						}, 5000);
					}
				}, 1000);
			}
		}
	}
};

var echo = function( txt ){try{console.log(txt);}catch(e){}};

UTIL = {

  fire : function(func,funcname, args){

    var namespace = core;  // indicate your obj literal namespace here

    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');

  }

};

// kick it all off here
$(document).ready(UTIL.loadEvents);
