
function checkNotEmpty(id, prompt_id) {
//checks that the element with id is not empty
	var docElement = document.getElementById(id);
	var promptElement = document.getElementById(prompt_id);
	if(trim(docElement.value) == "") {
		switch(prompt_id) {
			case "name_prompt":
				msg (prompt_id, "error", "ERROR: Please enter name");
				break;
			case "email_prompt":
				msg (prompt_id, "error", "ERROR: Please enter email address");
				break;
			case "tel_prompt":
				msg (prompt_id, "error", "ERROR: Please enter telephone");
				break;
		}
		//setfocus(docElement);
		docElement.focus();
		return false;
	} else {
		//now ensure correct filling		
		switch(id) {
			case "forename":
			case "surname":
				//check both are not empty
				var forenameElement = document.getElementById("forename");
				var surnameElement = document.getElementById("surname");
				if(trim(forenameElement.value) == "" || trim(surnameElement.value) == "") {
					msg (prompt_id, "error", "ERROR: Please enter name");
				} else {
					msg (prompt_id, "", "Required");
				}
				break;
			case "email":
				//check the email is correct
				var emailElement = document.getElementById(id);
				var emailString = emailElement.value;
				var filter=/^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/;
				if (filter.test(emailString))
					msg (prompt_id, "", "Required");
				else{
					msg (prompt_id, "error", "ERROR: Please check email address");
					emailElement.focus();
				}
				break;
			//case "tel_area":
			case "tel_number":
				//check the telephone number here
				var numberElement = document.getElementById(id);
				//to stop it being annoying by doing a premature check
				if(numberElement.value == "number") {
					return false;
				}
				if (checkInternationalPhone(numberElement.value)==false) {
					//alert("Please Enter a Valid Phone Number")
					msg (prompt_id, "error", "ERROR: Please check phone number");
					//numberElement.value="";
					//numberElement.focus();
					return false;
				}
				msg (prompt_id, "", "Required");
				break;
		}
		return true;
	} //end else
} //end function checkNotEmpty


function checkChanged1() {
	//first get all the elements
	var forename = document.getElementById("forename");
	var surname = document.getElementById("surname");
	var email = document.getElementById("email");
	var tel = document.getElementById("tel_number");
	
	var hasError = false;
	var dodgeFields = "";
	//now check for change
	if(forename.value == "forename" || surname.value == "surname") {
		msg("name_prompt", "error", "Please enter name");
		/*if(forename.value == "forename") {
			forename.className = "highlight";
		}
		if(surname.value == "surname") {
			surname.className = "highlight";	
		}*/
		hasError = true;
	} 
	if(email.value == "person@email.com") {
		msg("email_prompt", "error", "Please enter email");
		//email.className = "highlight";
		hasError = true;
	} 
	if(tel.value == "number") {
		msg("tel_prompt", "error", "Please enter telephone number");
		//tel.className = "highlight";
		hasError = true;
	}
	if(hasError) {
		alert("Form has ommissions, please check");
	}
	return !hasError;
} //end function checkChanged


// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;



function stripCharsInBag(s, bag)
{   var i;
    var returnString = "";
    // Search through string's characters one by one.
    // If character is not in bag, append to returnString.
    for (i = 0; i < s.length; i++)
    {   
        // Check that current character isn't whitespace.
        var c = s.charAt(i);
        if (bag.indexOf(c) == -1) returnString += c;
    }
    return returnString;
}

function checkInternationalPhone(strPhone){
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}

