function validateSurvey(){

	var elmName = document.forms["surveyForm"]["Name"];
	var elmEmail = document.forms["surveyForm"]["Email"];
	var elmCompany = document.forms["surveyForm"]["Company"];
	var elmPhone = document.forms["surveyForm"]["Phone"];
	if(!isValidEmail(elmEmail.value)){
		alert("You need to enter a valid email address");
		return false;
	}
	
	if(!isValidString(elmName.value)||!isValidString(elmCompany.value||isValidString(elmPhone.value))){
		alert("The input contains invalid characters");
		return false;
	}
	//	modify default form fields before submitting
	if(elmName.value=="Name")
		elmName.value="n/a"
	if(elmCompany.value=="Company")
		elmCompany.value="n/a"
	if(elmPhone.value=="Phone")
		elmPhone.value="n/a"
	return true

}

function surveyInputOnFocus(elm,def){
	if(elm.value==def){
		elm.value='';
		elm.className = 'surveyInput'
	}else{
		//elm.className = 'surveyInputShade'
	}
}

function surveyInputOnBlur(elm,def){
	if(elm.value==""){
		elm.value = def
		elm.className = 'surveyInputShade'
	}else{
		elm.className = 'surveyInput'
	}
}

function isValidString(str){

	if(str=="")	//	no empty strings allowed
		return false
	if(str.indexOf("'")>-1) 
		return false
	if(str.indexOf('"')>-1) 
		return false
	if(str.indexOf("*")>-1) 
		return false
	if(str.indexOf("<")>-1) 
		return false
	if(str.indexOf(">")>-1) 
		return false
	return true

}

function isValidEmail(email, required) {
	if (required==undefined) {   // if not specified, assume it's required
		required=true;
	}
	if (email==null) {
		if (required) {
			return false;
		}
		return true;
	}
	if (email.length==0) {  
		if (required) {
			return false;
		}
		return true;
	}
	if (! allValidChars(email)) {  // check to make sure all characters are valid
		return false;
	}
	if (email.indexOf("@") < 1) { //  must contain @, and it must not be the first character
		return false;
	} else if (email.lastIndexOf(".") <= email.indexOf("@")) {  // last dot must be after the @
		return false;
	} else if (email.indexOf("@") == email.length) {  // @ must not be the last character
		return false;
	} else if (email.indexOf("..") >=0) { // two periods in a row is not valid
	return false;
	} else if (email.indexOf(".") == email.length) {  // . must not be the last character
	return false;
	}
	return true;
}

function allValidChars(email) {
  var parsed = true;
  var validchars = "abcdefghijklmnopqrstuvwxyz0123456789@.-_";
  for (var i=0; i < email.length; i++) {
	var letter = email.charAt(i).toLowerCase();
	if (validchars.indexOf(letter) != -1)
	  continue;
	parsed = false;
	break;
  }
  return parsed;
}

