/**
 * @namespace WorkingEdge.Nav.Nav
 * 
 * Controls dynamic behaviour of navigation in Working Edge pages. 
 */
if (typeof(WorkingEdge) == "undefined"){WorkingEdge = {};};
WorkingEdge.Nav = {
	offExt: '_off.gif', // image extension for nav buttons in off state
	onExt: '_on.gif', // image extension for nav buttons in on state
	
	/**
	 * @method init
	 * 
	 * Initialises dynamic behaviour. Called on page load. Adds event listeners to nav buttons and inserts flash banner in place of image banner
	 */
	init: function(){
		var i, navButtons = $('#nav-bar').find('span.nav-button a');
		
		// For each button
		$.each(navButtons, function(i, button){
			// Add mouse event listeners
			$(button).bind('mouseover', WorkingEdge.Nav.buttonOver);
			$(button).bind('mouseout', WorkingEdge.Nav.buttonOut);			
		})				
		
		// Insert flash banner
		var version = deconcept.SWFObjectUtil.getPlayerVersion();
		if (version["major"] > 0) {
			var so = new SWFObject("banner.swf", "webanner", "1024", "150", "8", "#000000");
			so.addParam("loop", "false");
			so.write("banner");
		} else{
			$('img-banner').css('display','inline');
		}
	},
	
	/**
	 * @method toggleNavButton
	 * 
	 * Toggles hover image on/off on mouseover/mouseout of nav buttons
	 * 
	 * @param {Object} e - mouse event
	 * @param {Boolean} on - true if mouseover event, false if mouseout event
	 */
	toggleNavButton: function (e, on){
		var elem = $(e.target);
		if (!elem.hasClass('nav-button')){
			elem = elem.parents('span.nav-button')
		}			
		
		// Replace the extension
		var img = elem.find('img');
		if (img.length > 0){			 
			img.attr('src', img.attr('src').split('_')[0] + (on ? WorkingEdge.Nav.onExt : WorkingEdge.Nav.offExt));	
		}	
	},
	
	/**
	 * @method buttonOver
	 * 
	 * Swaps hover state image on mouseover a nav button
	 * 
	 * @param {Object} e - mouseover event	
	 */
	buttonOver: function (e){
		WorkingEdge.Nav.toggleNavButton(e, true);
	},
	
	/**
	 * @method buttonOut
	 * 
	 * Unswaps hover state image on mouseout a nav button
	 * 
	 * @param {Object} e - mouseout event	
	 */	
	buttonOut: function (e){
		WorkingEdge.Nav.toggleNavButton(e, false);
	}
};
// Add onload listener
$(document).ready(WorkingEdge.Nav.init);
