window.addEvent('domready', function()
{

	// Change footer search button
	if($('searchform')) AddSubmitImage();
});

/*********************** Change the submit button for an image ****************/
function AddSubmitImage()
{
	$$('#searchform .button').each(function(aButton){
		
		// Get the search form
		aSearchForm = aButton.getParent();
		
		aButton.destroy(); // Get rid of the normal submit button
		
		// Create the new button
		var aNewButton = new Element('input', {
			'class': 'button',
			'type': 'image',
			'value': 'Go',
			'id': 'gobutton',
			'src': 'images/search_gobutton.png'
		});
		
		// Add the button back into the search form
		aNewButton.inject(aSearchForm);
	});
}

/*********************** Remove confirmation support functions ****************/
function Confirmation(aMessage)
{
    var aConf = confirm(aMessage);
    return aConf;
}

/****************************** Tab support functions *************************/
function ApplyTabs()
{
	// Determine the default tab to show and add any events
	var aShowTabID = '';
	$('tabmenu').getElements('li').each(function(aListItem){
		if(aShowTabID == '') aShowTabID = aListItem.get('title');
		aListItem.getElement('a').addEvent('click', ClickTab);
	});

	// See if the url is referencing a specific tab
	var aUrl = location.href;
	var aUrlLen = aUrl.length;
	var aFoundAt = aUrl.indexOf("#") + 1;
	if(aFoundAt > 0)
	{
		var aFoundQueryAt = aUrl.indexOf("?") + 1;
		window.scrollTo(0,0);
		aShowTabID = aUrl.substr(aFoundAt, aFoundQueryAt - aFoundAt - 1);
	}

	// Show the relevant tab
	ShowTab(aShowTabID)
}

function ClickTab()
{
	ShowTab(this.getParent().get('title'));
	return false;
}

function HideTabs()
{
	$('tabmenu').getElements('li').each(function(aListItem){
		aListItem.className = '';
		$(aListItem.get('title')).style.display = 'none';
	});
}

function ShowTab(aTabMenuID)
{
	HideTabs();
	$(aTabMenuID).className = 'selected';
	$(aTabMenuID).style.display = 'block';
}

/************************** Generic support functions **************************/
function hasClass(ele,cls) {
	return ele.className.match(new RegExp('(\\s|^)'+cls+'(\\s|$)'));
}

function addClass(element, value) {
	if (!element.className) {
		element.className = value;
	} else {
		var newClassName = element.className;
		newClassName += " ";
		newClassName += value;
		element.className = newClassName;
	}
}

function removeClass(ele,cls) {
	if (hasClass(ele,cls)) {
    	var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function isdefined( variable)
{
    return (typeof(window[variable]) == "undefined")?  false: true;
}
