
Event.observe(window, 'load', setupPage);

var activeTabMenu = null;
var activeTabMenuTimer = null;

function setupPage() {
	var someNodeList = null;
	var nodes = null;
	
	// Add Events to tabs
	someNodeList = document.getElementsByClassName('tab', $('tabs'));
	nodes = $A(someNodeList);
	nodes.each(function(node){
		if (node.id != 'tab-back') {
			// Functions for the tab menus
			Event.observe(node, 'mouseover', showTabMenu);
			Event.observe(node, 'mouseout', hideTabMenu);
		}
	});

	someNodeList = document.getElementsByClassName('tab-label', $('tabs'));
	nodes = $A(someNodeList);
	nodes.each(function(node){
		if (node.parentNode.id != 'tab-back') {
			// Functions for the tab menus
			Event.observe(node, 'click', demoTab);
			node.onclick = function() { return false; }
		}
	});
	
	// Add calls to the search box for hiding default text	
	
	demoTabItem = $('tab-start');
}



function debugBox(html) {
	$('debug-box').innerHTML = html;
}


// Development Functions -------------------

function fontTest(name, size) {
	document.body.style.fontFamily = name;
	document.body.style.fontSize = size + 'px';
}

var demoTabItem = null;

function toggleSideNav() {
	if (Element.hasClassName(document.body, 'myumbc-hide-leftnav')) {
		Element.removeClassName(document.body, 'myumbc-hide-leftnav');
	} else {
		Element.addClassName(document.body, 'myumbc-hide-leftnav');
	}
}

function demoTab(obj) {
	Event.stop(obj);
	var clickTarget = Event.element(obj);
	if (Element.hasClassName(clickTarget, 'tab-label')) {
		
		switchTab(clickTarget.parentNode);
	}
}

function switchTab(newTab) {
	Element.removeClassName(demoTabItem, 'tab-active');

	demoTabItem = newTab;
	
	Element.addClassName(demoTabItem, 'tab-active');
	
	Element.removeClassName(document.body, 'tab-start');
	Element.removeClassName(document.body, 'tab-academics');
	Element.removeClassName(document.body, 'tab-administration');
	Element.removeClassName(document.body, 'tab-campuslife');
	Element.removeClassName(document.body, 'tab-personal');
	Element.removeClassName(document.body, 'tab-services');
	
	Element.addClassName(document.body, demoTabItem.id);
	
	switch(demoTabItem.id) {
		case 'tab-start':
			document.title = 'myUMBC: Start';
			break;
		case 'tab-academics':
			document.title = 'myUMBC: Academics';
			break;
		case 'tab-administration':
			document.title = 'myUMBC: Administration';
			break;
		case 'tab-campuslife':
			document.title = 'myUMBC: Campus Life';
			break;
		case 'tab-personal':
			document.title = 'myUMBC: Personal';
			break;
		case 'tab-services':
			document.title = 'myUMBC: Services';
			break;
	}
	return true;
}

function toggleStyleSheet(status) {
	var style1 = $('primary-style-sheet');
	var style2 = $('dashboard-style-sheet');
	
	if (status) {
		style1.media = 'print';
		style2.media = 'print';
	} else {
		style1.media = 'screen';
		style2.media = 'screen';
	}
}

// ------------------------------------------

function doQuickTask(selectObj) {
	eval($F(selectObj));
}

function getMenuTarget(obj) {
	var menuTarget = Event.element(obj);
	while ((menuTarget != null) && !(Element.hasClassName(menuTarget, 'tab'))) {
		menuTarget = menuTarget.parentNode;
	}
	return menuTarget;
}

function showTabMenu(obj) {
	Event.stop(obj);
	var menuTarget = getMenuTarget(obj);
	if (menuTarget != activeTabMenu) {
		hideTabMenu();
		Element.addClassName(menuTarget, 'tab-hover');
		activeTabMenu = menuTarget;
	}
	activeTabMenuTimer = setTimeout('hideTabMenu()', 15000);
	showEmbeds(false);
}

function hideTabMenu(obj) {
	Element.removeClassName(activeTabMenu, 'tab-hover');
	activeTabMenu = null;
	clearTimeout(activeTabMenuTimer);
	showEmbeds(true);
}

function showEmbeds(show) {
	var allEmbeds = document.getElementsByTagName('embed');
	//alert(allEmbeds.length);
	for (i = 0; i < allEmbeds.length; i++) {
		if (!show) {
			allEmbeds[i].style.visibility = 'hidden';
		} else {
			allEmbeds[i].style.visibility = 'visible';
		}
	}
}