//-- -------------------------------------------
//-- 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;
	}
}




function checkSearchType() {

	if(document.getElementById("searchWhat_1").checked == false) {
		var searchTerm = document.getElementById("searchTerm").value;
		searchTerm = searchTerm.replace(" ","+");
		var newSearchWin = raw_popup("http://www.clicknow.org.uk/ask.php?q=" +searchTerm + "&params=teoma%3Dqcat%253D0&page=","_blank","width=760,height=525,scrollbars=yes");
		return false;
	}

	else {
		return true;
	}
}





//-- -------------------------------------------
//-- 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;
}



//-- -------------------------------------------
//-- 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.")
	}
}



//-- -------------------------------------------
//-- 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;

	//alert(formObj.userName.value);

	if ((formObj.userName.value == "") || (formObj.userName.value == "Your name here")) {
		error_msg = error_msg + error_counter + ". Your user name"  + lineBreaker;
		error_counter = error_counter + 1
		no_error = false;
	}


	if ((formObj.emailAddress.value == "") || (formObj.emailAddress.value == "Your email here")) {
		error_msg = error_msg + error_counter + ". Your email address"  + lineBreaker;
		error_counter = error_counter + 1
		no_error = false;
	}

	if(formObj.emailAddress.value != "Your email here") {
		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;
}


