//-- -------------------------------------------
//-- FUNCTION TO CLEAR THE SEARCH BOX TEXT
//-- -------------------------------------------
function clearField(Field,fieldValue) {
	if (Field.value	== fieldValue) {
		Field.value = '';
	}
}


//-- -------------------------------------------
//-- FUNCTION TO RESET THE SEARCH BOX TEXT
//-- -------------------------------------------
function resetField(Field,fieldValue) {
	if (Field.value	== '') {
		Field.value = fieldValue;
	}
}



//-- -------------------------------------------
//-- GENERIC ACCESSIBLE POPUP SCRIPT
//-- -------------------------------------------
var _POPUP_FEATURES = 'width=790,height=525,scrollbars=no';

function raw_popup(url, target, features) {
	if (isUndefined(features)) features = _POPUP_FEATURES;
	if (isUndefined(target)) target   = '_blank';
	var args = getArgs(url);
	refererParam = args.referer;
	if(refererParam.length>0) {
		url = url.substring(0,(url.indexOf("referer")-1));
	}
	var theWindow = window.open(url, target, features);
	theWindow.focus();
	return theWindow;
}

function link_popup(src, features) {
	return raw_popup(src.getAttribute('href'), src.getAttribute('target') || '_blank', features);
}

function isUndefined(v) {
	var undef;
	return v===undef;
}

getArgs = function(query) {
	var args = new Object();
	var pairs = query.split("&");
	for (var i=0; i<pairs.length; i++) {
		var pos = pairs[i].indexOf('=');
		if (pos == -1) continue;
		var argname = pairs[i].substring(0,pos);
		var value = pairs[i].substring(pos+1);
		args[argname] = unescape(value);
	}
	this.max = i;
	return args;
}






function writeCloseButton() {
	document.write('<p><a href="javascript:window.close();">Close</a>');
}




//-- -------------------------------------------
//-- FUNCTION TO PRINT PAGE
//-- -------------------------------------------
function printpage() {
	if (window.print) { window.print(); }
	else {
		alert ("To print this page please select the 'Print' option from your browser's 'File' menu.")
	}
	return;
}



//-- -------------------------------------------
//-- FUNCTION TO VALIDATE EMAIL SUBSCRIPTION FORM
//-- -------------------------------------------
function validateJoinForm() {

	var formObj = document.frmJoin;

	var	lineBreaker = "\n";
	var no_error = true
	var error_counter = 1
	var error_msg = "There seems to be a problem with the form." + lineBreaker + "Could you go back and check that you've entered:" + lineBreaker + lineBreaker;


	if(formObj.emailAddress.value == "") {
		error_msg = error_msg + error_counter + ". Your email address"  + lineBreaker;
		error_counter = error_counter + 1
		no_error = false;
	}

	if(formObj.emailAddress.value != "") {
		var validEmail = validateEmail(formObj.emailAddress.value)
		if(validEmail == false) {
			error_msg = error_msg + error_counter + ". A valid email address"  + lineBreaker;
			error_counter = error_counter + 1
			no_error = false;
		}
	}


	error_msg = error_msg + lineBreaker + "Thank you"

	if (no_error == true) {
		return true;
	}
	else {
		alert(error_msg);
		return false;
	}
}








//-- -------------------------------------------
//-- GENERIC EMAIL ADDRESS VALIDATION FUNCTION
//-- -------------------------------------------
function validateEmail(addr) {
	var invalidChars = '\/\'\\ ";:?!()[]\{\}^|';
	for (i=0; i<invalidChars.length; i++) {
		if (addr.indexOf(invalidChars.charAt(i),0) > -1) {
			return false;
		}
	}

	for (i=0; i<addr.length; i++) {
		if (addr.charCodeAt(i)>127) {
		return false;
		}
	}

	var atPos = addr.indexOf('@',0);
	if (atPos == -1) {
		return false;
	}

	if (atPos == 0) {
		return false;
	}

	if (addr.indexOf('@', atPos + 1) > - 1) {
		return false;
	}

	if (addr.indexOf('.', atPos) == -1) {
		return false;
	}

	if (addr.indexOf('@.',0) != -1) {
		return false;
	}

	if (addr.indexOf('.@',0) != -1){
		return false;
	}

	if (addr.indexOf('..',0) != -1) {
		return false;
	}

	var suffix = addr.substring(addr.lastIndexOf('.')+1);
	if (suffix.length != 2 && suffix != 'com' && suffix != 'net' && suffix != 'org' && suffix != 'edu' && suffix != 'int' && suffix != 'mil' && suffix != 'gov' & suffix != 'arpa' && suffix != 'biz' && suffix != 'aero' && suffix != 'name' && suffix != 'coop' && suffix != 'info' && suffix != 'pro' && suffix != 'museum') {
		return false;
	}
	return true;
}

