//-- -------------------------------------------
//-- FUNCTION TO CLEAR THE SEARCH BOX TEXT
//-- -------------------------------------------
function clearField(formName,fieldName,fieldValue) {
	var Field = eval("document." + formName+ "." + fieldName)
	if (Field.value	== fieldValue) {
		Field.value = '';
	}
}



//-- -------------------------------------------
//-- FUNCTION TO RESET THE SEARCH BOX TEXT
//-- -------------------------------------------
function resetField(formName,fieldName,fieldValue) {
	var Field = eval("document." + formName+ "." + fieldName)
	if (Field.value	== '') {
		Field.value = fieldValue;
	}
}



//-- -------------------------------------------
//-- 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.")
	}

}



//-- -------------------------------------------
//-- 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 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;
}



//-- -------------------------------------------
//-- VALIDATION EMAIL ADDRESS
//-- -------------------------------------------
function validateEmailAddress(formName,fieldName) {

	var Field = eval("document." + formName+ "." + fieldName)
	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(Field.value == "") {
		error_msg = error_msg + error_counter + ". Your email address"  + lineBreaker;
		error_counter = error_counter + 1
		no_error = false;
	}
	if(Field.value != "") {
		var validEmail = validateEmail(Field.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;
}



//-- -------------------------------------------
//-- FUNCTION TO FOCUS THE FORUM USERNAME INPUT
//-- -------------------------------------------
function loginfocus() {
		document.frmForumLogin.username.focus();
	}
