/* STRATA script */

// menu variables
var STRATA_GET_menu = false;
var STRATA_XML_menu;
var STRATA_menu_nodes = [];
var STRATA_menu_active;
var STRATA_menu_timeout;

// scrolling text variables
var fadeSpeed = 70; // fade speed, the lower the speed the faster the fade.  40 is normal.
var list; // global list variable cache
var tickerObj; // global tickerObj cache
var hex = 255;



// initialise menu
function STRATA_init_menu() {
	// get menubar items
	var menubar = document.getElementById('menu').getElementsByTagName('li');

	var mShow = STRATA_show_menu;
	var mHide = new Function("STRATA_menu_timeout = setTimeout(STRATA_hide_menu, 300);");

	// find additional menus
	var label = STRATA_XML_menu.getElementsByTagName('label');
	for (var i = 0; i < label.length; i++) {
		if (label[i].parentNode.getAttribute('class') == 'menu') {
			// get tab title
			title = label[i].firstChild.data;

			// find a menu to add it to
			var j = 0;
			while (j < menubar.length && menubar[j].firstChild.firstChild.data != title) j++;
			if (j < menubar.length) {
				var menubar_selected = menubar[j];
				// generate submenu
				var menu = document.createElement('ul');
				menu.className = 'nl';
				var link = label[i].parentNode.getElementsByTagName('li');
				for (j = 0; j < link.length; j++) {
					var a = document.createElement('a');
					a.setAttribute('href', link[j].getAttribute('href'));
					a.appendChild(document.createTextNode(link[j].firstChild.data));
					menu.appendChild(document.createElement('li'));
					menu.lastChild.appendChild(a);
				}

				// append sub menu
				menubar_selected.appendChild(menu);
				// assign event handlers
				menubar_selected.onmouseover = mShow;
				menubar_selected.onmouseout = mHide;
			}
		}
	}
}
// show menu
function STRATA_show_menu() {
	if (STRATA_menu_timeout) {
		clearTimeout(STRATA_menu_timeout);
		STRATA_menu_timeout = null;
	}
	if (STRATA_menu_active) STRATA_hide_menu();
	if (this.className.indexOf('hover') == -1) this.className += ' hover';
	STRATA_menu_active = this;
}
// hide menu
function STRATA_hide_menu() {
	STRATA_menu_active.className = STRATA_menu_active.className.substring(0, STRATA_menu_active.className.length - 6);
	STRATA_menu_active = null;
	STRATA_menu_timeout = null;
}


// inititialise
function STRATA_init() {
	// request menu file
	if (window.XMLHttpRequest) {
		STRATA_GET_menu = new XMLHttpRequest();
//		STRATA_GET_menu.overrideMimeType('text/xml');
	} else if (window.ActiveXObject) {
		STRATA_GET_menu = new ActiveXObject("Microsoft.XMLHTTP");
	}
	if (STRATA_GET_menu) {
		STRATA_GET_menu.onreadystatechange = STRATA_load_menu;
		var href = window.location.href.substring(0, window.location.href.length - window.location.pathname.length);
		STRATA_GET_menu.open('GET', href + '/scripts/menu.xml', true);
		STRATA_GET_menu.send(null);
	}
}
// init if DOM check passed
if (document.createElement) STRATA_init();



// create menus
function STRATA_load_menu() {
	if (STRATA_GET_menu.readyState == 4) {
		// everything is good, the response is received
		if (STRATA_GET_menu.status == 200) {
			STRATA_XML_menu = STRATA_GET_menu.responseXML;
			// DOM ready check init
			STRATA_DOM_ready();
		}
	}
}



// DOM ready loop
function STRATA_DOM_ready() {
	if (document.getElementById('menu')) {
		// DOM available
		STRATA_init_menu();
	} else {
		// wait
		setTimeout('STRATA_DOM_ready();', 300);
	}
}
