if (typeof HD == "undefined" || !HD) {
	var HD = {};
}

if (typeof WCS == "undefined" || !WCS) {
	var WCS = {};
}
if (typeof WCS.data == "undefined" || !WCS.data) {
	WCS.data = {};
}

HD.Nav = {
	login : '<div id="hdLogInNode" style="display: none"><span id="loginLink" class="whitesmall"></span><span class="whitesmall">&nbsp;&nbsp;/&nbsp;&nbsp;</span><span id="createProfileLink" class="whitesmall"></span></div>',
	logout : '<div id="hdLogOutNode" style="display: none"><span class="whitesmall">' + (HD.Language.data.GLOBAL_HEADER_greetingText || 'Hi') + '&nbsp;</span><span id="userNameNode" class="userName" style="font-size: 10px;"></span><br/><span id="loggedInProfileLink" style=""></span>&nbsp;&nbsp;/&nbsp;&nbsp;<span id="logoutProfileLink"></span></div>',
	searchNode : '<div id="hdPageSearchNode" style="display: none"><table cellspacing="0" cellpadding="0" border="0"><tr><td><input value="' + (HD.Language.data.GLOBAL_HEADER_searchText || 'SEARCH') + '" type="text" style="height:15px;width:150px;margin:0;padding:0;font-size:9px" onfocus="document.lastvalue=this.value;this.value=&#39;&#39;" onblur="if (!this.value) {this.value=document.lastvalue;}" id="HD_search_field" class="hdSearch"/><div id="autocomplete"></div></td><td><img onclick="validate_query_and_submit(YAHOO.util.Dom.get(\'HD_search_field\'));" id="HD_search_button" class="imgRoll"/></td></tr></table></div>',
	autocomplete : '/en_US/Media/js/search/autocomplete_data.js',
	searchButton : '/en_US/Media/images/Navigation/Global/btnGoHD_off.gif',
	navServiceNode : '<div id="navServiceNode" style="display: none"></div>',
	hdFooterNode : '<div id="hdFooterNode" style="display: none"></div>',
	navServiceDomain : '',
	navServiceContext : '/hdjs',
	searchReplacementDomains : [ "investor.harley-davidson.com", "phx.corporate-ir.net", "madmaps.harley-davidson.com", "dev.h-dmadmaps.com", "dev.search.harley-davidson.com", "stage.search.harley-davidson.com", "search.harley-davidson.com", "sitesearch.omniture.com", "profile.harley-davidson.com", "stageprofile.harley-davidson.com", "devprofile.harley-davidson.com" ],
	ilRetURIReplacementDomains : [ "investor.harley-davidson.com", "madmaps.harley-davidson.com", "search.harley-davidson.com" ],

	acObj : null,
	init : function() {
		var menu = YAHOO.util.Dom.getElementsByClassName('yuimenu');
		if(menu.length == 0) {
			//We dont want to continue processing without a menu otherwise it will break the menu
			return;
		}
		
		/* enable bkg image caching for IE6 */
		try {
			document.execCommand('BackgroundImageCache', false, true);
		} catch (e) {
		}

		try {
			/*
			 * Instantiate the MenuBar: The first argument passed to the
			 * constructor is the id for the Menu element to be created, the
			 * second is an object literal of configuration properties.
			 */
			var oMenuBar = new YAHOO.widget.MenuBar("HD_global_nav", {
				autosubmenudisplay : true,
				hidedelay : 500,
				lazyload : true,
				zIndex : -1
			});
			/*
			 * Call the "render" method with no arguments since the markup for
			 * the MenuBar instance is already exists in the page.
			 */
			oMenuBar.render();
			/*
			 * create array of elements with imgRoll class to target for roll
			 * over image caching and event listener assignment
			 */
			var imgRollArr = YAHOO.util.Dom.getElementsByClassName('imgRoll',
					'', 'HD_top_nav');

			for ( var i = 0; i < imgRollArr.length; i++) {
				/*
				 * for each item with the imgRoll class, split off the image
				 * name from the src attribute
				 */
				var srcImgArr = imgRollArr[i].src.split('/');
				var srcImgStr = srcImgArr.pop();

				var srcImgPrefix = "";

				for ( var k = 0; k < srcImgArr.length; k++) {
					srcImgPrefix += srcImgArr[k] + '/';
				}
				;

				srcImgName = srcImgStr.split('.')[0];
				srcImgType = srcImgStr.split('.')[1];

				/*
				 * sniff id's from imgRoll classed elements. If no id, create
				 * one
				 */
				var id = imgRollArr[i].id;

				if (typeof id == "undefined" || !id) {
					id = "imgRollID_" + i;
					imgRollArr[i].id = id;
				}

				/*
				 * set parent element as rollver hotzone for image tags only (so
				 * other element types don't act strangely, mostly input
				 * type=image)
				 */
				var parent;
				if (YAHOO.util.Dom.get(id).nodeName == "IMG") {
					parent = YAHOO.util.Dom.get(id).parentNode;
				} else {
					parent = YAHOO.util.Dom.get(id);
				}

				/*
				 * create strings for image on and off from src of targeted
				 * elements
				 */
				var strImgOn = '';
				var strImgOff = '';

				if (srcImgName.indexOf("_off") != -1) {
					var off = srcImgName.split('_off');
					srcImgName = off[0];
					strImgOn = srcImgPrefix + srcImgName + "_on." + srcImgType;
					strImgOff = srcImgPrefix + srcImgName + "_off."
							+ srcImgType;
				} else {
					strImgOn = srcImgPrefix + srcImgName + "." + srcImgType;
					strImgOff = srcImgPrefix + srcImgName + "." + srcImgType;
				}

				/* preload on states */
				var imgRollOn = new Image();
				imgRollOn.src = strImgOn;

				/* create objects to pass to event listeners below */
				var objImgOn = {
					el : YAHOO.util.Dom.get(id),
					src : imgRollOn.src
				};

				var objImgOff = {
					el : YAHOO.util.Dom.get(id),
					src : strImgOff
				};

				/*
				 * add event listeners for mouseover and out, using objects
				 * above
				 */
				YAHOO.util.Event.addListener(parent, 'mouseover', function(o,
						objImgOn) {
					objImgOn.el.src = objImgOn.src;
				}, objImgOn);

				YAHOO.util.Event.addListener(parent, 'mouseout', function(o,
						objImgOff) {
					objImgOff.el.src = objImgOff.src;
				}, objImgOff);
				
				YAHOO.util.Event.addListener(document.getElementById("HD_search_field"), 'keydown', function(e) {
					if( e.keyCode == 13){
						validate_query_and_submit(YAHOO.util.Dom.get('HD_search_field'));
					}
				});
			
			}
			;
		} catch (e) {
			alert(e);
		}
	},

	init_cache_whole_list_mode : function() {
		HD.Nav.acObj.queryMatchSubset = true;
		HD.Nav.acObj.applyLocalFilter = true;

		var g_query_prev = null;

		HD.Nav.acObj.filterResults = function(sQuery, oFullResponse,
				oParsedResponse, oCallback) {
			sQuery = document.getElementById("HD_search_field").value;

			if (oParsedResponseGlobal == null)
				oParsedResponseGlobal = YAHOO.widget.AutoComplete
						._cloneObject(oParsedResponse);

			// Only if a query string is available to match against
			if (sQuery && sQuery !== "") {
				// Reset cache to the entire word-list if they back-spaced and
				// changed the query
				if (oParsedResponseGlobal != null
						&& (g_query_prev == null
								|| g_query_prev.length > sQuery.length || g_query_prev
								.valueOf() != sQuery.substr(0,
								g_query_prev.length))) {
					oParsedResponse = oParsedResponseGlobal;
				}

				// Remember the previous query.
				g_query_prev = YAHOO.widget.AutoComplete._cloneObject(sQuery);

				// First make a copy of the oParseResponse
				oParsedResponse = YAHOO.widget.AutoComplete
						._cloneObject(oParsedResponse);

				var regExpObj = new RegExp("(?:^|^.*[ ])" + sQuery, "i");

				var allResults = oParsedResponse.results,
				// the array of results
				filteredResults = []; // container for filtered results

				// Loop through each result object...
				for ( var i = allResults.length - 1; i >= 0; i--) {
					var oResult = allResults[i];

					// Grab the data to match against from the result object...
					var sResult = null;

					// Result object is a simple string already
					if (YAHOO.lang.isString(oResult)) {
						sResult = oResult;
					}
					// Result object is an array of strings
					else if (YAHOO.lang.isArray(oResult)) {
						sResult = oResult[0];
					}
					// Result object is an object literal of strings
					else if (this.responseSchema.fields) {
						var key = this.responseSchema.fields[0].key
								|| this.responseSchema.fields[0];
						sResult = oResult[key];
					}
					// Backwards compatibility
					else if (this.key) {
						sResult = oResult[this.key];
					}

					if (YAHOO.lang.isString(sResult)) {
						if (regExpObj.test(sResult)) {
							// alert("'" + sResult + "': MATCH");
							filteredResults.unshift(oResult);
						} else {
							// alert("'" + sResult + "': NO!");
						}
					}
				}
				oParsedResponse.results = filteredResults;
			}
			return oParsedResponse;
		};
	},

	/**
	 * @description Sets side navigation image names to white or dark based on
	 *              the body background color and highlights the selected side
	 *              nav page image.
	 * 
	 * @param {String}sideNavId
	 *            id of HTML element that contains the side nav
	 */
	setSideNavImage : function(sideNavId) {
		try {
			var pageColor = document.body.bgColor;
			if (pageColor != null && pageColor != "") {
				/*
				 * Converting it to String to prevent toLowerCase() is not a
				 * function error in Firefox and Opera
				 */
				pageColor = "" + pageColor.toLowerCase();
			}
			var sideNavImgArr = YAHOO.util.Dom.getElementsByClassName(
					'HD_SideDarkWhite', '', sideNavId);

			for ( var i = 0; i < sideNavImgArr.length; i++) {
				var srcImgArr = sideNavImgArr[i].src.split('/');
				var srcImgStr = srcImgArr.pop();

				var srcImgPrefix = "";

				for ( var k = 0; k < srcImgArr.length; k++) {
					srcImgPrefix += srcImgArr[k] + '/';
				}
				;

				srcImgName = srcImgStr.split('.')[0];
				srcImgType = srcImgStr.split('.')[1];

				/*
				 * sniff id's from imgRoll classed elements. If no id, create
				 * one
				 */
				var id = sideNavImgArr[i].id;

				if (typeof id == "undefined" || !id) {
					id = "sideDarkWhiteID_" + i;
					sideNavImgArr[i].id = id;
				}

				/*
				 * create strings for image on and off from src of targeted
				 * elements
				 */
				var strImgOn = '';
				var strImgOff = '';

				if (pageColor == '#ffffff') {
					if (srcImgName.indexOf("_dark_") != -1) {
						var dark = srcImgName.split('_dark_');
						srcImgName = dark[0] + "_white_" + dark[1];
					}
				}

				if (YAHOO.util.Dom.hasClass(sideNavImgArr[i], 'HD_SideNavSel')) {
					if (srcImgName.indexOf("_off") != -1) {
						var off = srcImgName.split('_off');
						srcImgName = off[0];
					}
					strImgOn = srcImgPrefix + srcImgName + "_on." + srcImgType;
					sideNavImgArr[i].src = strImgOn;
				} else {
					strImgOff = srcImgPrefix + srcImgName + "." + srcImgType;
					sideNavImgArr[i].src = strImgOff;
				}
			}
		} catch (e) {
			alert(e);
		}
	},

	/**
	 * @description Sets the top and side nav for the specified key, locale and
	 *              environment.
	 * @param {String}id
	 *            id of HTML element that contains the top nav
	 * @param {String}locale
	 *            locale to be used for navigation
	 * @param {String}key
	 *            Key for the page to create the navigation structure for
	 * @param {String}env
	 *            environment wip, stage, production
	 */
	setNav : function(topNavId, sideNavId, locale, key, displaySideNav, env) {
		HD.Nav.setNavExternal(topNavId, sideNavId, locale, key, displaySideNav, env, true);
	},
	
	setNavExternal : function(topNavId, sideNavId, locale, key, displaySideNav, env, external) {
		HD.Nav.hideElement(topNavId);
		sideNavContainer = YAHOO.util.Dom.get(sideNavId);
		if (sideNavContainer != null) {
			HD.Nav.hideElement(sideNavId);
		}

		if (!displaySideNav) {
			displaySideNav = false;
		}

		if (!locale) {
			locale = "en_US";
		}
		if (!key) {
			key = "/";
		}

		if (!env) {
			env = "prd";
		}

		var secure = false;
		var urlProtocol = window.location.protocol;
		if ('https' == urlProtocol.toString().toLowerCase()) {
			secure = true;
		}

		var navServiceURL = HD.Nav.navServiceDomain + HD.Nav.navServiceContext +
				"/nav.jsp?key=" + encodeURIComponent(key) +
				"&locale=" + encodeURIComponent(locale) +
				"&env=" + encodeURIComponent(env) +
				"&secure=" + encodeURIComponent(secure) +
				"&external=" + encodeURIComponent(external);

		responseSuccess = function() {
			HD.Nav.attachElementToBody(HD.Nav.navServiceNode, 'navServiceNode');
			YAHOO.util.Dom.get('navServiceNode').innerHTML = WCS.data.Navigation;
			YAHOO.util.Dom.insertBefore(YAHOO.util.Dom.get('HD_top_nav'),
					YAHOO.util.Dom.get(topNavId));
			HD.Nav.buildAndDisplayNav(topNavId, sideNavId, displaySideNav);
		};

		responseFailure = function() {
			YAHOO.util.Dom.get(id).innerHTML = "Unable to get navigation from URL '"
					+ navServiceURL;
		};
		var callback = {
			onSuccess : responseSuccess,
			onFailure : responseFailure
		};

		YAHOO.util.Get.script(navServiceURL, callback, null);
	},

	/**
	 * @description Applications that gets nav content using hdresponse tag can
	 *              call this function to display the nav
	 */
	displayNav : function() {
		sideNavDiv = YAHOO.util.Dom.get('HD_left_nav');
		YAHOO.util.Event.onAvailable("HD_top_nav", function() {
			HD.Nav.setSideNavImage('HD_left_nav');
			HD.Nav.displayElement('HD_left_nav');
		});

		HD.Nav.setSearchNode();
		HD.Nav.setLoginNode();
		HD.Nav.init();
		HD.Nav.displayElement('HD_top_nav');
	},

	/**
	 * @description Sets the top and side nav for the specified key and locale.
	 * @param {String}topNavId
	 *            id of HTML element that contains the top nav
	 * @param {String}locale
	 *            locale to be used for navigation
	 * @param {String}key
	 *            Key for the page to create the navigation structure for
	 */
	buildAndDisplayNav : function(topNavId, sideNavId, displaySideNav) {
		var sideNav = YAHOO.util.Dom.get('HD_left_nav');
		sideNavContainer = YAHOO.util.Dom.get(sideNavId);

		var sideNavHTML = sideNav.innerHTML + " <br/><br/>";
		YAHOO.util.Dom.get('HD_left_nav').innerHTML = sideNavHTML;

		if (displaySideNav && sideNav.hasChildNodes() && sideNavContainer) {
			sideNavContainer.appendChild(sideNav);
		}

		HD.Nav.setSearchNode();
		HD.Nav.setLoginNode();
		HD.Nav.init();
		HD.Nav.displayElement(topNavId);
		HD.Nav.displayElement('HD_top_nav');

		var pageContentDiv = YAHOO.util.Dom.get('HD_page_content');
		if (displaySideNav && sideNav.hasChildNodes() && sideNavContainer) {
			if (pageContentDiv.className != 'HD_side_nav') {
				YAHOO.util.Dom.addClass('HD_page_content', 'HD_side_nav');
			}
			HD.Nav.displayElement('HD_left_nav');
			HD.Nav.displayElement(sideNavId);
			HD.Nav.displayFooter(displaySideNav);
		} else {
			if (pageContentDiv.className == 'HD_side_nav') {
				YAHOO.util.Dom.removeClass('HD_page_content', 'HD_side_nav');
			}
			HD.Nav.displayFooter(false);
		}
	},

	displayFooter : function(sideNavDisplayed) {
		// YAHOO.util.Dom.get('HD_page_footer').removeChild(YAHOO.util.Dom.get('09014730805ed347'));
		var footerDiv = YAHOO.util.Dom.get('HD_footer');
		if (footerDiv != null) {
			var footerHTML = footerDiv.innerHTML + " <br/><br/>";
			YAHOO.util.Dom.get('HD_page_footer').innerHTML = footerHTML;
			pageColor = document.body.bgColor;
			YAHOO.util.Dom.setStyle('HD_footer', 'color', pageColor);

			var footerContentDiv = YAHOO.util.Dom.get('HD_page_footer');
			if (sideNavDisplayed) {
				if (footerContentDiv.className != 'HD_side_nav') {
					YAHOO.util.Dom.addClass('HD_page_footer', 'HD_side_nav');
				}
			} else {
				if (footerContentDiv.className == 'HD_side_nav') {
					YAHOO.util.Dom.removeClass('HD_page_footer', 'HD_side_nav');
				}
			}
		}
	},

	setSearchNode : function() {
		var pageSearchFld = YAHOO.util.Dom.get('HD_page_search');
		if (pageSearchFld != null) {
			HD.Nav.attachElementToBody(HD.Nav.searchNode, 'HD_Nav_Search');
			YAHOO.util.Dom.get('HD_page_search').innerHTML = YAHOO.util.Dom
					.get('hdPageSearchNode').innerHTML;

			var script = document.createElement('script');
			script.setAttribute('type', 'text/javascript');
			var searchButton = YAHOO.util.Dom.get('HD_search_button');

			var protocol = document.location.protocol;
			var hostName = location.hostname;
			
			for ( var i = 0; i < HD.Nav.searchReplacementDomains.length; i++) {
				if (hostName == HD.Nav.searchReplacementDomains[i]) {
					hostName = "www.harley-davidson.com";
					break;
				}
			}

			script.setAttribute('src', protocol + '//' + hostName + HD.Nav.autocomplete);
			searchButton.setAttribute('src', protocol + '//' + hostName + HD.Nav.searchButton);

			YAHOO.util.Dom.insertAfter(script, 'autocomplete');

			/* set up search field auto display of "SEARCH" */
			var searchFld = YAHOO.util.Dom.get('HD_search_field');

			if (!searchFld && searchFld != null) {

				YAHOO.util.Event.addListener(searchFld, 'focus', function() {
					searchFld.value = "";
				});

				YAHOO.util.Event.addListener(searchFld, 'blur', function() {
					if (!searchFld.value) {
						searchFld.value = "SEARCH";
					}
				});
			}
		}
	},

	/**
	 * @description Create action (logout/login) and profile (create/view) nodes in hidden nodes.
	 * 
	 */
	setLoginNode : function() {
		var loginStateFld = YAHOO.util.Dom.get('HD_login_state');
		if (loginStateFld != null) {

			// get HD_login node and HD_logout node (created by HDNav)
			var profileNode = YAHOO.util.Dom.get('HD_login');
			var logoutNode = YAHOO.util.Dom.get('HD_logout');

			// Take HD.Nav.logout node from above and attach as (hidden) HD_Nav_LogOut node
			HD.Nav.attachElementToBody(HD.Nav.logout, 'HD_Nav_LogOut');

			// Label logoutNode to log out users and attach to (hidden) HD.Nav.logout node in logoutProfileLink span
			logoutNode.firstChild.firstChild.data = HD.Language.data.GLOBAL_HEADER_logOutLabel || "Log out";
			YAHOO.util.Dom.get('logoutProfileLink').innerHTML = logoutNode.innerHTML;
			
			// Clone profile node, label for access to users profile and,
			// attach to (hidden) HD_Logout node in loggedInProfileLink span
			var yourProfile = profileNode.cloneNode(true);
			yourProfile.firstChild.firstChild.data = HD.Language.data.GLOBAL_HEADER_updateProfileLabel || "Your Profile";
			YAHOO.util.Dom.get('loggedInProfileLink').innerHTML = yourProfile.innerHTML;


			// take HD.Nav.login node from above and attach as (hidden) HD_Nav_LogIn node
			HD.Nav.attachElementToBody(HD.Nav.login, 'HD_Nav_LogIn');

			// Lable profile node to login user and attach to (hidden) HD.Nav.login node in loginLink span
			profileNode.firstChild.firstChild.data = HD.Language.data.GLOBAL_HEADER_logInLabel || "Log in";
			YAHOO.util.Dom.get('loginLink').innerHTML = profileNode.innerHTML;
			
			// Clone profile node (again), label to create a profile and, attach to (hidden) HD.Nav.login node in createProfileLink span
			var createProfile = profileNode.cloneNode(true);
			createProfile.firstChild.firstChild.data = HD.Language.data.GLOBAL_HEADER_createProfileLabel || "Create a Profile";
			YAHOO.util.Dom.get('createProfileLink').innerHTML = createProfile.innerHTML;
			
			// Select correct nodes to display
			HD.Nav.toggleLoginState();
		}
	},

	/**
	 * @description Selects correct action and profile links to display according to user authentication state
	 *  
	 * US
	 * Uses Nav Overlay Button
	 * 
	 * International
	 * logged in/soft login:
	 * Profile Link: /en_US/Content/Pages/profile/manageProfileOverview.html
	 *      which will send them to /en_US/Content/Pages/profile/login.html
	 *      if they are not actually logged in
	 * Logout Link: javascript:HD.Profile.profile.view.showLogoutOverlay();
	 * 
	 * unrecognized:
	 * Profile Link: javascript:HD.Profile.profile.view.promptRegistration();
	 * Login Link: javascript:HD.Profile.profile.view.chooseLogin();
	 */
	toggleLoginState : function() {

		var locale = HD.util.Localization.getLocale();
		var userNameCookie = null;
		var hostName = location.hostname;

		try {
			userNameCookie = YAHOO.util.Cookie.get('WC_PROFILEUSER_NICKNAME');
		} catch (e) {}
		
		if(!userNameCookie) {
			if(HD.Profile.nickName) {
				userNameCookie = HD.Profile.nickName;
			}
		}

		if(userNameCookie) {
			var loginState = YAHOO.util.Dom.get('HD_login_state');
			var logoutNode = YAHOO.util.Dom.get('hdLogOutNode');
			
			// ensure action and profile nodes exist
			if(loginState && logoutNode) {
			
				if (userNameCookie.length > 20) {
					userNameCookie = userNameCookie.substring(0, 20);
					userNameCookie = userNameCookie + "...";
				}

				var userNode = YAHOO.util.Dom.get('userNameNode');

				if(userNode) {
					userNode.innerHTML = userNameCookie;
				}
				
				// US uses Nav Overlay Button
				if(locale == "en_US") {
					loginState.innerHTML = '';
				} else {
					// international uses manage profile page and logout overlay
					var logoutLinkNode = YAHOO.util.Dom.get('logoutProfileLink');
					var profileLinkNode = YAHOO.util.Dom.get('loggedInProfileLink');
					
					profileLinkNode.firstChild.href = 'https://' + hostName + '/' + locale + '/Content/Pages/Profile/manageProfileOverview.html';
					logoutLinkNode.firstChild.href = 'javascript:HD.Profile.profile.view.showLogoutOverlay();';
					
					// Copy hidden hdLogOutNode contents into HD_login_state node
					loginState.innerHTML = logoutNode.innerHTML;
				}
			}
		} else {
			var loginState = YAHOO.util.Dom.get('HD_login_state');
			var loginNode = YAHOO.util.Dom.get('hdLogInNode');
			
			// ensure action and profile nodes exist
			if(loginState && loginNode) {
			
				// US uses Nav Overlay Button
				if(locale == "en_US") {
					loginState.innerHTML = '';
				} else {
					// international uses prompt registration and choose login overlays
					var loginLinkNode = YAHOO.util.Dom.get('loginLink');
					var createProfileLinkNode = YAHOO.util.Dom.get('createProfileLink');
					
					createProfileLinkNode.firstChild.href = 'javascript:HD.Profile.profile.view.promptRegistration();';
					loginLinkNode.firstChild.href = 'javascript:HD.Profile.profile.view.chooseLogin();';
					
					// Copy hidden hdLogInNode contents into HD_login_state node
					loginState.innerHTML = loginNode.innerHTML;
				}
			}
		}
	},

	attachElementToBody : function(content, id) {
		var e = document.createElement("div");
		e.setAttribute("id", id);
		YAHOO.util.Dom.setStyle(e, "display", "none");
		e.innerHTML = content;
		document.body.appendChild(e);
	},

	createElement : function(content) {
		var e = document.createElement("div");
		YAHOO.util.Dom.setStyle(e, "display", "none");
		e.innerHTML = content;
		return e;
	},

	/**
	 * @description Set the css to display an HTML element.
	 * @param {String}id
	 *            id of HTML element to unhide/display
	 */
	displayElement : function(id) {
		var element = "#" + id;
		YAHOO.util.StyleSheet('HDNavStyle').unset(element, 'visibility');
		if (YAHOO.util.Dom.get(id)) {
			YAHOO.util.Dom.get(id).style.visibility = "visible";
		}
	},

	/**
	 * @description Set the css to hide an HTML element.
	 * @param {String}id id of HTML element to hide
	 */
	hideElement : function(id) {
		var element = "#" + id;
		YAHOO.util.StyleSheet('HDNavStyle').set(element, {
			visibility : 'hidden'
		});
	}

};
HD.Nav.hideElement('HD_top_nav');
HD.Nav.hideElement('HD_left_nav');
