// JW 18/07/2008 removing this as it's preventing RedDot from working properly with various domain names
var hostName = (location.hostname.toString());
//if ((top != self) && ((hostName.substring(hostName.length-15) != "prospects.ac.uk") && (hostName.substring(hostName.length-9) != "csu.ac.uk"))) {
//	top.location.href = location.href;
//}

// Popups windows should not be being used at all. PTH
function sys_help_popup(popup_url) {
	var attribs = "resizable=no,scrollbars=yes,width=440,height=410" ;
	var newwindow = window.open(popup_url,"help",attribs) ;
	newwindow.focus() ;
}

/* This isn't used anywhere. PTH
function sys_addbookmark() {
	if (window.external) {
		window.external.AddFavorite(location.href,document.title);
	}
}
*/

// Usage must be unobtrusive. PTH
function sys_printme() {
	if (navigator.appVersion.indexOf('Mac') > 0) {
		alert ('Press CTRL + P to print this page.'); 
	} else {
		window.print();
	}
}

// Not recommended: use <form onSubmit="return isFirstTime();"> instead
var button_pressed = 'N';
function sys_submitform_onceonly() {
	if (button_pressed != 'Y') {
		button_pressed = 'Y'; 
		document.theform.submit();
	}
}
	
// Not recommended: use <form onSubmit="return isFirstTime();"> instead
function sys_submitmyform_onceonly(myform) {
	// Created by JW 21/10/2005 to generalise the previous function
	// If this works, we can delete the previous function with no arguments
	// and rename this one to sys_submitform_onceonly()
	if (myform == undefined) {
		//  For backward compatibility, if no form is supplied we use the form with a particular name.
	    theform = document.theform;
	} else {
	    	theform = myform;
	}
	if (button_pressed != 'Y') {
		button_pressed = 'Y'; 
		theform.submit();
	}
}

// Return true the first time it is called, then false subsequently
var formHasBeenSubmitted = false;
function hasFormBeenSubmitted() {
	if (formHasBeenSubmitted) {
		return true;
	} else {
		formHasBeenSubmitted = true;
		return false;
	}
}

// Return true the first time it is called, then false subsequently
var firstTimeCount = 0;
function isFirstTime() {
	return (firstTimeCount++ == 0);
}

function sys_checkAll(element, checked) {
	// Created by JW 21/10/2005
	for (var i = 0; i < element.length; i++) {
		element[i].checked = checked ;
	}
}

function sys_getCookie(cookiename) {
	var dcookie = document.cookie; 
	var cname = cookiename + "=";
	var clen = dcookie.length;
	var cbegin = 0;

	while (cbegin < clen) {
		var vbegin = cbegin + cname.length;
		if (dcookie.substring(cbegin, vbegin) == cname) { 
			var vend = dcookie.indexOf (";", vbegin);
			if (vend == -1) {
				vend = clen;
			}
			return unescape(dcookie.substring(vbegin, vend));
		}
		cbegin = dcookie.indexOf(" ", cbegin) + 1;
		if (cbegin == 0) {
			break;
		}
	}
	return null;
}

function sys_setCookie(cookiename, value) {
	document.cookie = cookiename + "=" + escape (value) +     // <-- save cookie value
	"; path=/  ";
	document.cookie = cookiename + "=" + escape (value) +     // <-- save cookie value
	"; domain=csu.ac.uk ; path=/  ";
	document.cookie = cookiename + "=" + escape (value) +     // <-- save cookie value
	"; domain=.prospects.ac.uk ; path=/  ";
	document.cookie = cookiename + "=" + escape (value) +     // <-- save cookie value
	"; domain=prospects.ac.uk ; path=/  ";
}

/* not in use anymore. PTH.
var menustates=new Array() ;

function getObject(id) {
	if(document.all) {
		return document.all[id] ;
	}
	if(document.getElementById) {
		return document.getElementById(id) ;
	}
	return null ;
}

	

function initMenu()
	{
	// check if cookie exists, if so open menus seleted
	var cookie=sys_getCookie("cms_mainmenunav") ;
	if(cookie !=null && cookie !="")
		{
		var splitcookie=cookie.split(',') ;	
		for(var menunum=0;menunum< splitcookie.length;menunum++)
			{
			menustates[splitcookie[menunum]]="open" ;
			toggleMenu(splitcookie[menunum]) ;
			}
		}
	}

function updateCookie() 
	{
	var newcookie=""
	for(var i=0;i <menustates.length;i++)
		if(menustates[i] && menustates[i]=="open" )
			{
			if(newcookie !="")
				newcookie+="," ;
			newcookie+=i ;
			}
	sys_setCookie("cms_mainmenunav",newcookie) ;
}

function toggleMenu(id) {
	if(getObject("menu"+id) == null || !getObject("menu"+id).style || !getObject("menu"+id).style.display) {
		return true ; // not supported e.g. ns 4, opera
	}
	var currdisplay=getObject("menu"+id).style.display ;
	if(currdisplay=="none") {
		getObject("menu"+id).style.display="block" ;
		getObject("lesstext"+id).style.display="" ;
		getObject("moretext"+id).style.display="none" ;
		menustates[id]="open" ;
	} else {
		getObject("menu"+id).style.display="none" ;
		getObject("lesstext"+id).style.display="none" ;
		getObject("moretext"+id).style.display="block" ;
		menustates[id]="closed" ;
	}

	updateCookie() ;
	return false ;
	}
*/

function redirect(selection) {
	var pageTo = document.getElementById(selection).value;
	var output = false;
	if(pageTo != "") {
		window.location = pageTo;
	}
	return output;
	}

// Popups windows should not be being used at all. PTH
function openLinkWin(url) {
	var winleft = (screen.availWidth/2)-210;
	var wintop = (screen.availHeight/2)-40;
	var new_win = window.open(url,'name','height=80,width=420,left='+winleft+',top='+wintop);
	if (window.focus) {
		new_win.focus();
	}
}

// common function (used in tabs.js, YellowFade.js, slideshow.js, etc)
// This should probably go in DomHelp.js, but has been put here for now,
// as DomHelp.js is not imported into every page yet.
function addEvent(elm, evType, fn, useCapture) {
	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;
	}
}