var badstrings_arr = new Array("hymen", "defloration", "puss", "fuck", "shit", "cunt", "cock", "ass", "bitch", "blowjob", "cum", "dick", "porn", "sex", "suck", "nipple", "lesbian", "milf", "slut", "boob", "tits" );

function censorText(text) {
text = text.toLowerCase();
var valid = false;
 for (var j=0; j < badstrings_arr.length; j++) {
 	
 	if (text.search(badstrings_arr[j])=="-1") {
	  valid = true;
	} else {
	  valid = false;
	 break;
	}
 }
return valid;
}

function checkPhone(phone) {
	var validPNum = /^\d{3}-\d{3}-\d{4}$/;
	var isValid = validPNum.test(phone);
	return isValid;
}

function checkEmail(theEmail) {
var validEmail = /^\w([\.-]?\w)*@\w(\.?[-\w])*\.([a-z]{3}(\.[a-z]{2})?|[a-z]{2}(\.[a-z]{2})?)$/i
var isValid = validEmail.test(theEmail);
return isValid;
}

function checkrequired(which) {
  var pass=true;
  var email=which.requiredemail;
  for (i=0;i<which.length;i++) {
    var tempobj=which.elements[i];
    if (tempobj.name.substring(0,8)=="required") {
      if (((tempobj.type=="text"||tempobj.type=="textarea")&&
          tempobj.value=='')||(tempobj.type.toString().charAt(0)=="s"&&
          tempobj.selectedIndex==0)) {
        pass=false;
        break;
      }
    }
  }
  
  if (!pass) {
    shortFieldName=tempobj.name.substring(8,30).toUpperCase();
    alert("The "+shortFieldName+" field is a required field.");
    return false;
  } else {
	  
	  if (checkPhone(which.requiredphone.value)) {
	  		if (censorText(which.comments.value)) {
	  			if (which.email.value != "") {
					if(!checkEmail(which.email.value)){
						alert("Email address is invalid");
						return false;
					}
				}
				return true;
			} else {
				alert("Comments contain inappropriate words. Message has not been sent.");
				return false;
			}
			
  	  } else {
	  	alert("Phone invalid");
	  	return false;
	  }
  }
  
}

