var menuHandler = {
	init : function() {
		var thePage = menuHandler.getQueryStringParameter('page');
		if (thePage == 'overview' || thePage == 'story' || thePage == 'tech') {
			menuHandler.doTheSwitch(thePage);
			showHide.showJust(thePage);
		} else {
			menuHandler.doTheSwitch('overview');
			showHide.showJust('overview');
		}
	},
	doTheSwitch : function(thePage) {
		menuHandler.removeClasses();
		YAHOO.util.Dom.addClass('submenu', 'submenu' + thePage + '-bg');
	},
	removeClasses : function() {
		YAHOO.util.Dom.removeClass('submenu', 'submenuoverview-bg');
		YAHOO.util.Dom.removeClass('submenu', 'submenustory-bg');
		YAHOO.util.Dom.removeClass('submenu', 'submenutechnology-bg');
	},
	getQueryStringParameter : function(paramName, url) {
	    url = url || top.location.href;
	    var idx = url.indexOf( "?" );
	    var queryString = idx >= 0 ? url.substr( idx+1 ) : url;
	    var params = queryString.split( "&" );
	    for ( var i=0, len=params.length ; i<len ; i++ ) {
	        var tokens = params[i].split( "=" );
	        if ( tokens.length >= 2 ) {
	            if ( tokens[0] == paramName ) {
	                return unescape( tokens[1] );
	            }
	        }
	    }
    	return null;
	}
};

var showHide = {
	hideAll : function() {
		var elsToHide = YAHOO.util.Dom.getElementsByClassName('overview').concat(YAHOO.util.Dom.getElementsByClassName('story').concat(YAHOO.util.Dom.getElementsByClassName('tech')));
		for (i=0; i < elsToHide.length; i++ ) {
			YAHOO.util.Dom.get(elsToHide[i]).style.display = 'none';
		}		
	},
	showJust : function(selected) {
		showHide.hideAll();
		var allBlocks =	YAHOO.util.Dom.getElementsByClassName(selected);
		for (i=0; i < allBlocks.length; i++ ) {
			allBlocks[i].style.display = 'block';
		}
	}
};

var caseSwitcher = {
	init : function() {
		// set up preview switchiness
		var switchers = YAHOO.util.Dom.getElementsByClassName('switcher' , 'a', 'morelist'); // create array of all featured case study link objects
		var previews = YAHOO.util.Dom.getElementsByClassName('casepreview' , 'div', 'morestudies'); // create array of all case preview boxes
		YAHOO.util.Event.addListener(switchers,'click',this.doTheFade, previews); // add on-click event listener to featured case study links to switch to chosen case study preview
	},
	doTheFade : function(e, els) {
		// switch case study preview boxes
		caseSwitcher.hide(els); // hide all the preview boxes
		// fade in selected preview box
		var obj = YAHOO.util.Dom.get(this.parentNode.id + '-preview');
		var fadeIn = new YAHOO.util.Anim(obj, {opacity: { to: 1 } }, 0.5); 
		obj.style.display = 'block';
		fadeIn.animate();
		// switch case study link backgrounds
		caseSwitcher.switchListBg(this.parentNode);
		this.blur();
		YAHOO.util.Event.preventDefault(e); // prevent the browser from following the link to the case study
	},
	hide : function(els) {
		for (var i=0;i<els.length;i++) {
			var fadeOut = new YAHOO.util.Anim(els[i], {opacity: { to: 0 } }, 0.5, YAHOO.util.Easing.easeIn); 
			fadeOut.animate();
			els[i].style.display = 'none';
		}
	},
	switchListBg : function(activelink) {
		var list = YAHOO.util.Dom.get('morelist').childNodes;
		for (var i=0;i<list.length;i++) {
			if (list[i].nodeName == 'LI') {
				YAHOO.util.Dom.removeClass(list[i], 'active')
			}
		}
		YAHOO.util.Dom.addClass(activelink, 'active');
	}
};

function pageLoader() {
	menuHandler.init();
	caseSwitcher.init();
	
}

YAHOO.util.Event.on(window,'load',pageLoader);