<!--

function getElementsByClassName(className, tag, elm){
	//regex changed from "(^|\s)" + className + "(\s|$)" to allow matching where there is another class as well.
	//Care needed now as will match too much sometimes e.g. looking for badger will match itsalargebadgeryesitis
	var testClass = new RegExp("(.*)" + className + "(.*)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}

function cancelClick(e) {
  if (window.event) {
    window.event.returnValue = false;
    }
  if (e && e.preventDefault) {
    e.preventDefault();
  }
}

function getCallingElement(e)
{
	if (window.event && window.event.srcElement)
	{
		callingElement = window.event.srcElement;
	}
	if (e && e.target)
	{
		callingElement = e.target;
	}
	return callingElement;
}

//crossbrowser event adding move to seperate file in teh end
function addEvent(elm, evType, fn, useCapture)
// cross-browser event handling for IE5+, NS6+ and Mozilla/Gecko
// By Scott Andrew
{
	if (elm.addEventListener)
	{
		elm.addEventListener(evType, fn, useCapture);
		return true;
	}
	else if (elm.attachEvent) 
	{
		var r = elm.attachEvent('on' + evType, fn);
		return r;
	}
	else
	{
	elm['on' + evType] = fn;
	}
}


function explodeArray(item,delimiter)
{
	tempArray=new Array(1);
	var Count=0;
	var tempString=new String(item);
	while (tempString.indexOf(delimiter)>0)
	{
		tempArray[Count]=tempString.substr(0,tempString.indexOf(delimiter));
		tempString=tempString.substr(tempString.indexOf(delimiter)+1,tempString.length-tempString.indexOf(delimiter)+1);
		Count=Count+1
	}
	tempArray[Count]=tempString;
	return tempArray;
}

function getAncestorByClass(nestedElement, parentClass)
{
	//alert('called');
	if(nestedElement.className == parentClass)
	{
		return nestedElement;
	}
	else
	{
		if(nestedElement.parentNode)
		{
			nestedElement = getAncestorByClass(nestedElement.parentNode, parentClass);
			return nestedElement;
		}
		else
		{
			return;
		}
		
	}
}

function createPostString(formElement)
{
	var query = '';
	inputElements = formElement.getElementsByTagName('input');
	for(i = 0 ; i < inputElements.length; i++)
	{
		if(inputElements[i].type == "text" || inputElements[i].type == "hidden")
		{
			query += inputElements[i].name + '=' + escape(inputElements[i].value) + '&';
		}
		else if(inputElements[i].type == "checkbox")
		{
			query += inputElements[i].name + '=' + escape(inputElements[i].checked) + '&';
		}
	}
	selectElements = formElement.getElementsByTagName('select');
	for(i = 0 ; i < selectElements.length; i++)
	{
		query += selectElements[i].name + '=' + escape(selectElements[i].options[selectElements[i].selectedIndex].value) + '&';
	}
	textElements = formElement.getElementsByTagName('textarea');
	for(i = 0 ; i < textElements.length; i++)
	{
		query += textElements[i].name + '=' + escape(textElements[i].value) + '&';
	}
	return query;
}

function getQueryVariable(variable) 
{
	var query = window.location.search.substring(1);
	var vars = query.split("&");
	for (var i=0;i<vars.length;i++)
	{
		var pair = vars[i].split("=");
		if (pair[0] == variable) 
		{
			return pair[1];
		}
	}
}

function toggleVisibility(element)
{
	if(element.style.display == "none")
	{
		element.style.display= "";
		//link.innerHtml = '+';
	}
	else
	{
		element.style.display = "none";
		//link.innerHtml = '+';
	}
}


-->