// JavaScript Document

// CHANGE THE LINK COLOUR HERE:
var linkcolour = "#bd992e";

function treeMenu(navid)
{
	if (typeof document.getElementById == 'undefined') { return; }
	
	var tree = document.getElementById(navid);
	if (tree)
	{
		var items = tree.getElementsByTagName('li');

		for (var i = 0; i < items.length; i++)
		{
			treeTrigger(tree, items[i], navid);
		}
		
		if (navigator.vendor == 'Apple Computer, Inc.' || typeof window.opera != 'undefined')
		{
			displayReset(tree);
		}
	}
}

var isreset = false;

function displayReset(tree)
{
	var menus = tree.getElementsByTagName('ul');
	for (var i=0; i< menus.length; i++)
	{
		menus[i].style.display = 'none';
		menus[i].style.position = 'static';
	}
	isreset = true;
}

function treeTrigger(tree, li, navid)
{
	var a = li.getElementsByTagName('a')[0];
	var menu = li.getElementsByTagName('ul').length > 0
		? li.getElementsByTagName('ul')[0] : null;
		
	if (menu)
	{
		li.className += (li.className == '' ? '' : ' ') + 'hasmenu';
	}
	
	li.onclick = function(e)
	{
		var target = e ? e.target : window.event.srcElement;
		while ( target.nodeName.toUpperCase() != 'LI')
		{
			target = target.parentNode;
		}
		if (target == this && isreset)
		{
			if (menu)
			{
				if (menu.style.display == 'none')
				{
					menu.style.display = 'block';
				} else
				{
					menu.style.display = 'none';
				}
				return false;
			} else {
				return true;
			}
		}
	};
	
	attachEventListener(a, 'keyup', function(e) 
	{
		if (!isreset && e.keyCode == 9)
		{
			displayReset(tree);
		}
	}, false);
	
	var moves = 0;
	attachEventListener(a, 'mousemove', function()
	{
		if (!isreset)
		{
			moves++;
			if (moves >2) {displayReset(tree);}
		}
	}, false);
}

function addLoadListener(fn)
{
	if (typeof window.addEventListener != 'undefined')
	{
		window.addEventListener('load', fn, false);
	}
	else if (typeof window.attachEvent != 'undefined')
	{
		window.attachEvent('onload', fn);
	} 
	else if (typeof document.addEventListener != 'undefineed')
	{
		document.addEventListener('load', fn, false);
	}
	else
	{
		var oldfn = window.onload;
		if (typeof window.onload != 'function')
		{
			window.onlaod = fn;
		}
		else
		{
			window.onload = function()
			{
				oldfn();
				fn();
			};
		}
	}
}

function attachEventListener(target, eventType, functionRef, capture)
{
	if (typeof target.addEventListener != "undefined")
	{
		target.addEventListener(eventType, functionRef, capture);
	}
	else if (typeof target.attachEvent != "undefined")
	{
		target.attachEvent("on" + eventType, functionRef);
	}
	else
	{
		eventType = "on" + eventType;
		
		if (typeof target[eventType] == "function")
		{
			var oldListener = target[eventType];
			
			target[eventType] = function()
			{
				oldListener();
				
				return functionRef();
			};
		}
		else
		{
			target[eventType] = functionRef;
		}
	}
}

addLoadListener(function() { treeMenu('navigation'); });

/* this function resizes the iframe to fit the window... not to fit the content */
function resizeIframe(frameid) {
    var height = document.documentElement.clientHeight;

    height -= document.getElementById(frameid).offsetTop;
    
    height -= 150;
    
    document.getElementById(frameid).style.height = height +"px";
}

 function autoIframe(frameId){
	try{
		frame = document.getElementById(frameId);
		innerDoc = (frame.contentDocument) ? frame.contentDocument : frame.contentWindow.document;

		if (innerDoc == null){
						// Google Chrome
			frame.height = frame.contentDocument.body.scrollHeight + "px";
		}
		else{  // works in FF4, Safari, IE8
			objToResize = (frame.style) ? frame.style : frame;
			objToResize.height = innerDoc.body.scrollHeight + 18 +"px";
		}
	}

	catch(err){
			alert('Err: ' + err.message);
		window.status = err.message;
	}
}

function loadframes(section, vlink, parentid) {
	
	// set all the links to be black
	var links = document.links;
	for ( var i=0; i < links.length; i++ ) {
		links[i].style.color = "#000";
	}
	// set the colour of the parent in the tree
	if ( parentid != "" ) {
		links = document.getElementById(parentid);
		if ( links != null ) {
			links.style.color = linkcolour;
		}
	}
	// set the link to the color we want
	vlink.style.color = linkcolour;
	if (parentid == "news" ) {
		window.frames['content-mid'].location = 'news/' + section + '1.html';
		window.frames['content-right'].location = 'news/' + section + '2.html';
	} else {
		window.frames['content-mid'].location = section + '1.html';
		window.frames['content-right'].location = section + '2.html';
	}
	if ( section == 'front' ) {
		document.getElementById('front-middle').style.display = 'block';

	} else {
		document.getElementById('front-middle').style.display = 'none';
	}
}


