function swapImage(newSrc)
{
	document.getElementById('largeImage').src = newSrc;
}




/* ---------------------------- =Toggle Display -------------------------------*/

// elmID          : ID of element to toggle
// defaultDisplay : Overides the default display for an element (block, inline, none)
// force          : If set to true, forces the element to use the defaultDisplay (overides toggling)

function toggleDisplay (elmID, defaultDisplay, force) {
	// Get the style property of our element
	if (document.getElementById) {
		// standards way
		var elmStyle = document.getElementById(elmID).style;
	} else if (document.all) {
		// old msie version way
		var elmStyle = document.all[elmID].style;
	} else if (document.layers) {
		// nn4 way
		var elmStyle = document.layers[elmID].style;
	}
	
	// Force display to defaultDisplay if force is set
	if (force)
	{
		elmStyle.display = defaultDisplay; return;
	}
	// If there is no defaultDisplay set check the default state for the element
	else if (!defaultDisplay)
	{
		var elmType = document.getElementById(elmID).tagName.toLowerCase();
		if (elmType == 'a' || elmType == 'span' || elmType == 'strong' || elmType == 'em')
			var defaultDisplay = 'inline';
		else
			var defaultDisplay = 'block';
	}
	
	// If not forced toggle it's display
	if (elmStyle.display == 'none') {
		// if set to 'none' toggle to whatever the default for this element is
		elmStyle.display = defaultDisplay;
	} else {
		// if set to 'block' or default (which can't be read but is 'block')
		// toggle to 'none'
		elmStyle.display = 'none';
	}
}



/* ---------------------------- =Toggle Tabs -------------------------------*/

function showTab(tabToShow)
{
	hideAllTabs();
	toggleDisplay("divBlock" + tabToShow, "block", true);
	
	clearCurrents();
	document.getElementById("hyp" + tabToShow).className = "current";
}

function hideAllTabs()
{
	for(i=1; i<10; i++)
	{
		if (document.getElementById("divBlock" + i) != null)
			toggleDisplay("divBlock" + i, "none", true);
		else
			break;
	}
}

function clearCurrents()
{
	for(i=1; i<10; i++)
	{
		if (document.getElementById("hyp" + i) != null)
			document.getElementById("hyp" + i).className = "";
		else
			break;
	}	
}





/* ---------------------------- =Event Listener / Handler Wire-up -----------------*/

// obj        : object to apply listener to
// eventType  : event type - i.e. load, click, mouseover, mouseout
// fn         : function to call on event

// Example - addListener(window, "load", someFunction);

function addListener (obj, eventType, fn){
	if (obj.addEventListener){
		obj.addEventListener(eventType, fn, false);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on" + eventType, fn);
		return r;
	} else {
		alert("Handler could not be attached");
	}
}

function removeListener (obj, eventType, fn ){
	if (obj.removeEventListener){
		obj.removeEventListener(eventType, fn, false);
		return true;
	} else if (obj.detachEvent){
		var r = obj.detachEvent("on" + eventType, fn);
		return r;
	} else {
		alert("Handler could not be removed");
	}
}