//quick and easy input clearer
function ClearInput(sender)
{
	sender.value = '';
}
/*
var getDate = function() {
	var dayofweek= new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
	var dayofmonth= new Array("","1st","2nd","3rd","4th","5th","6th","7th","8th","9th","10th","11th","12th","13th","14th","15th","16th","17th","18th","19th","20th","21st","22nd","23rd","24th","25th","26th","27th","28th","29th","30th","31st");
	var months= new Array("January","February","March","April","May","June","July","August","September","October","November","December");
	return function() {
		var mydate=new Date();
		var year=mydate.getYear();
		if (year < 1000) year+=1900;
		var day=mydate.getDay();
		var month=mydate.getMonth();
		var daym=mydate.getDate();
		todaysDate="  "+dayofweek[day]+" "+dayofmonth[daym]+" "+months[month]+" "+year;
		return todaysDate;
	}
}();
*/

// date stuff used in cached pages
dayofweek= new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday");
dayofmonth= new Array("","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","30","31");
months= new Array("January","February","March","April","May","June","July","August","September","October","November","December");

// returns todays date as a formated string
function theDate(){
	var mydate=new Date();
	var year=mydate.getYear();
	if (year < 1000) year+=1900;
	var day=mydate.getDay();
	var month=mydate.getMonth();
	var daym=mydate.getDate();
	todaysDate="  "+dayofweek[day]+" "+dayofmonth[daym]+" "+months[month]+" "+year;
	return todaysDate;
}

function theYear() {
	var mydate=new Date();
	var year=mydate.getYear();
	if (year < 1000) year+=1900;
	return year;
}

// If called with no parameters this function returns a floating point value 
// which should be the version of the Flash Player or 0.0 
// ex: Flash Player 6r65 returns 6.65
// If called with reqMajorVer, reqMinorVer this function returns true if that version or greater is installed
var DetectFlashVer = function() {
	// Detect Client Browser type
	var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;
	var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false;
	var isOpera = (navigator.userAgent.indexOf("Opera") != -1) ? true : false;

	// JavaScript helper required to detect Flash Player PlugIn version information
	function JSGetSwfVer(i) {
		// NS/Opera version >= 3 check for Flash plugin in plugin array
		if (navigator.plugins != null && navigator.plugins.length > 0) {
			if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]) {
				var swVer2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
				var flashDescription = navigator.plugins["Shockwave Flash" + swVer2].description;
				descArray = flashDescription.split(" ");
				tempArrayMajor = descArray[2].split(".");
				versionMajor = tempArrayMajor[0];
				if ( descArray[3] != "" ) {
					tempArrayMinor = descArray[3].split("r");
				} else {
					tempArrayMinor = descArray[4].split("r");
				}
				versionMinor = tempArrayMinor[1] > 0 ? tempArrayMinor[1] : 0;
				flashVer = parseFloat(versionMajor + "." + versionMinor);
			} else {
				flashVer = -1;
			}
		}
		// MSN/WebTV 2.6 supports Flash 4
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.6") != -1) flashVer = 4;
		// WebTV 2.5 supports Flash 3
		else if (navigator.userAgent.toLowerCase().indexOf("webtv/2.5") != -1) flashVer = 3;
		// older WebTV supports Flash 2
		else if (navigator.userAgent.toLowerCase().indexOf("webtv") != -1) flashVer = 2;
		// Can't detect in all other cases
		else {
			flashVer = -1;
		}
		return flashVer;
	}

	return function(reqMajorVer, reqMinorVer) {
		reqVer = parseFloat(reqMajorVer + "." + reqMinorVer);
		// loop backwards through the versions until we find the newest version
		for (i=25;i>0;i--) {
			if (isIE && isWin && !isOpera) {;
				versionStr = VBGetSwfVer(i);
			} else {
				versionStr = JSGetSwfVer(i);
			}
			if (versionStr == -1) {
				return false;
			} else if (versionStr != 0) {
				if(isIE && isWin && !isOpera) {
					tempArray = versionStr.split(" ");
					tempString = tempArray[1];
					versionArray = tempString.split(",");

					versionMajor = versionArray[0];
					versionMinor = versionArray[2];

					versionString = versionMajor + "." + versionMinor;
					versionNum = parseFloat(versionString);
				} else {
					versionNum = versionStr;
				}
				return (versionNum >= reqVer ? true : false );
			}
		}
		return (reqVer ? false : 0.0);
	}
}();

// Set-up external links for XHTML where the target attribute has been deprecated
function externalLinks() {
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i < anchors.length; i++) { 
		var anchor = anchors[i]; 
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external") {
			anchor.target = "_blank"; 
		}
	}
	var forms = document.getElementsByTagName("form");
	for (var j=0; j <forms.length; j++) {
		var form = forms[j];
		if (form.getAttribute("id") != null && form.getAttribute("id").indexOf("pollform") == 0) {
			form.target = "_blank";
		}
	}
}




/*Menu vertical centre for IE*/
function verticalCentre() {
	var baseHeight = 32;
	var topLevel = document.getElementById("toplevelnav");
	if (topLevel) {
		var anchors = topLevel.getElementsByTagName("a");
		var menuSpans = topLevel.getElementsByTagName("span");
		if (anchors.length > 0) {
			var flag = 0;
			var topLevelItems = [];
			var largestHeight = 0;
			for (var i = 0; i < anchors.length; i++) {
				if (anchors[i].parentNode.className.indexOf("parent") >= 0) {
					var divs = anchors[i].parentNode.getElementsByTagName("div");
					for (var j = 0; j < divs.length; j++) {
						if (divs[j].className.indexOf("submenu_nojs") >= 0) {
							divs[j].className = "submenu";
						}
					}
					var height = anchors[i].offsetHeight - ((anchors[i].style.paddingTop.replace("px", "")-0) + (anchors[i].style.paddingBottom.replace("px", "")-0));
					if (height > largestHeight) {
						largestHeight = height;
					}
					topLevelItems[flag] = anchors[i];
					flag++;
				}
			}
			for (var i = 0; i < menuSpans.length; i++) {
				if (menuSpans[i].parentNode.className.indexOf("parent") >= 0) {
					var divs = menuSpans[i].parentNode.getElementsByTagName("div");
					for (var j = 0; j < divs.length; j++) {
						if (divs[j].className.indexOf("submenu_nojs") >= 0) {
							divs[j].className = "submenu";
						}
					}
					var height = menuSpans[i].offsetHeight - ((menuSpans[i].style.paddingTop.replace("px", "")-0) + (menuSpans[i].style.paddingBottom.replace("px", "")-0));
					if (height > largestHeight) {
						largestHeight = height;
					}
					topLevelItems[flag] = menuSpans[i];
					flag++;
				}
			}
			if (largestHeight < baseHeight) {
				largestHeight = baseHeight;
			}
			
			for (var i = 0; i < topLevelItems.length; i++) {
				if ( topLevelItems[i].getAttribute("class") != "selectedchild" )
				{
					topLevelItems[i].parentNode.style.height = largestHeight + "px";
					var linkHeight = topLevelItems[i].offsetHeight - ((topLevelItems[i].style.paddingTop.replace("px", "")-0) + (topLevelItems[i].style.paddingBottom.replace("px", "")-0));
					var padding = ((Math.round(largestHeight - linkHeight) / 2));
					if ((padding + linkHeight)-2 < largestHeight) {
						topLevelItems[i].style.paddingTop = padding + "px";
						topLevelItems[i].style.paddingBottom = padding + 5 + "px";
				}
				}
			}
			largestHeight = 0;
		}
	}
}

// Search box validation used for both the search box and the main search page
function searchpagevalidate(ref)
{
	var space_re = new RegExp('\\s+');
	var isEmpty = (ref.keyword.value.replace(space_re, '') == '') ? 1 : 0;
	if (!isEmpty)
		{
		return true;
		}
	else
		{
		alert('Need a keyword to search on!');
		return false;
		}		
}