﻿var menu = function(url, items){
	this.url = url;
	this.items = items;
}
var menuObj = {
	menu: null,
	menus: [],
	container: $('<div class=menu-container id=menuDiv></div>'),
	itemHtml: "<a class=menu-item href='{0}?Page={1}'>{2}</a>",
	tab: null,
	isOverTab: false,
	isOverMenu: false,
	hideTimer: null,
	show: function(src) {
		if (src.parent().hasClass('active_tab')) return;
		if (menuObj.tab != null) {
			menuObj.hide();
		}
		menuObj.tab = src;
		
		src.css({ 'background-color': '#1e2633', 'border': 'solid 1px #33425f' });
		var html = '<div></div>';
		$.each(menuObj.menu.items, function(text, page) {
			html += String.format(menuObj.itemHtml, menuObj.menu.url, page, text);
		});
		menuObj.container.html(html);//.substring(0, html.length - 5));
		menuObj.container.find('div').css('width', src.width());
		var position = src.position();
		position.top += src.height();
		var offset = Math.max(0,($('center').width() - $('#divMain').width()) / 2);
		menuObj.container.css({
			'display': 'block',
			'top': position.top + 3,
			'left': position.left + offset
		});
		menuObj.container.find('a').css('width', menuObj.container.width());
	},
	delayHide: function() {
		menuObj.hideTimer = setTimeout('menuObj.hide()', 667);
	},
	hide: function() {
		if (!menuObj.isOverTab && !menuObj.isOverMenu && menuObj.tab != null) {
			menuObj.container.css('display', 'none');
			menuObj.tab.css({ 'background-color': 'transparent', 'border': 'solid 1px transparent' });
		}
	}
}

$(document).ready(function() {
	menuObj.menus['About'] = new menu('/whatIs/whatIsWWT.aspx', {
		'Overview': 'Overview',
		//'In Depth': 'InDepth',
		'FAQs': 'FAQ',
		'WWT | Mars': 'Mars',
		'Web Client': 'WebClient',
		'Acknowledgements': 'Acknowledgment'
	});
	menuObj.menus['Experience It'] = new menu('/ExperienceIt/ExperienceIt.aspx', {
		'Tours': 'Tours',
		'Find Objects': 'FindObjects',
		'Install WWT': 'DownloadWWT',
		'Educator Resources': 'Educators',
		'Dome Projects': 'Dome',
		'Share the Experience': 'Share'
	});
	menuObj.menus['Support'] = new menu('/help/SupportHelp.aspx', {
		'Online Help': 'UserGuide',
		'Contact Info': 'ContactInfo',
		'Issues and Bugs': 'IssuesAndBugs'
	});
	menuObj.menus['Authoring'] = new menu('/Authoring/Authoring.aspx', {
		'Tour Authoring': 'TourResources',
		'Developer Programs': 'DevelopersProgram'
		//' - Data Files Reference': 'DataFilesReference',
		//' - Data Tools Guide': 'DataToolsGuide',
		//' - Localization Tool': 'LocalizationTool',
		//' - Projection Reference': 'ProjectionReference',
		//' - Web Control Script Reference': 'WebControlScriptReference',
		//' - WWT Planetarium': 'WWTPlanetarium'
	});
	menuObj.menus['Media'] = new menu('/press/press.aspx', {
		'Media Releases': 'PR',
		'Media Kit': 'MediaKit'//,
		//'Fact Sheet': 'FactSheets'
	});
	menuObj.container = menuObj.container.insertAfter($('form div')[0]);
	menuObj.container.bind('mouseenter', function() {
		menuObj.isOverMenu = true;
	});
	menuObj.container.bind('mouseleave', function() {
		menuObj.isOverMenu = false;
		menuObj.delayHide();
	});
	$('div.top_tab a').each(function(i, item) {
		item = $(item);
		if (item.text().indexOf('Home') == -1) {
			item.bind('mouseenter', function(event) {
				var src = $(event.target);
//				if (src.attr('tagName').toLowerCase() != 'a')
//					src = src.find('a');
				menuObj.menu = menuObj.menus[src.text().trim()];
				menuObj.show(src);
				menuObj.isOverTab = true;
			});
			item.bind('mouseleave', function(event) {
				var src = $(event.target);
//				if (src.attr('tagName').toLowerCase() != 'a')
//					src = src.find('a');
				menuObj.menu = menuObj.menus[src.text().trim()];
				menuObj.isOverTab = false;
				menuObj.delayHide();
			});
		}
	});
});
