//------------------- for clearing and replacing text in form input fields and textareas -------------------//
function clearText(thefield) {
  if (thefield.defaultValue==thefield.value) { thefield.value = "" }
} 
function replaceText(thefield) {
  if (thefield.value=="") { thefield.value = thefield.defaultValue }
}
//  End -->
//------------------- tell a friend -------------------//
function popup(){
		window.open('http://www.babyblindness.com/wp-content/themes/obu/scripts/tell_a_friend.php', 'tellafriend_script','scrollbars=1,statusbar=1,resizable=0,location=0,width=400,height=510');}
//  End -->
// Derrick's New Form Validation Start
	function validateFormOnSubmit(theForm) {
	var reason = "";
/*	validateBoxes();
*/	
	  reason += validateEmpty(theForm.firstname);
	  reason += validateEmpty(theForm.lastname);	  
	  reason += validateEmail(theForm.email);
	  reason += validatePhone(theForm.phone);	  
		  
	  if (reason != "") {
		alert("Some fields need correction:\n" + reason);
		return false;
	  }
	}
	function validateBoxes() {
	  var fields = $("input[name='problems_with[]']").serializeArray();
	  if (fields.length == 0)
	  {
		alert('Please let us know what problems have you had with.');
	  }
	}	
	function validateEmpty(fld) {

		var error = "";
	 	var illegalChars = /\W/; // allow letters, numbers, and underscores

		
		if (fld.value.length == 0) {

			fld.style.background = 'Yellow'; 

			error = "The required field has not been filled in.\n"

		} else if (fld.value == "First Name") {

			fld.style.background = 'Yellow'; 

			error = "The 'First Name' Field must be filled out.\n"

		} else if (fld.value == "Last Name") {

			fld.style.background = 'Yellow'; 

			error = "The 'Last Name' Field must be filled out.\n"			

		} else if (fld.value == "State") {

			fld.style.background = 'Yellow'; 

			error = "The 'State' Field must be filled out.\n"

		} else if (fld.value == "Address") {
			fld.style.background = 'Yellow'; 
			error = "The 'Address' Field must be filled out.\n"	

		} else if (fld.value == "City") {
			fld.style.background = 'Yellow'; 
			error = "The 'City' Field must be filled out.\n"	

		} else if (fld.value == "Please select a year") {
			fld.style.background = 'Yellow'; 
			error = "The 'When was your hip replacement performed?' Field must be filled out.\n"	

		} else if (fld.value == "Please select an option") {
			fld.style.background = 'Yellow'; 
			error = "The 'Who was the manufacturer of the hip implant?' Field must be filled out.\n"																	

		} else {

			fld.style.background = 'White';

		}

		return error;  

	}


	function trim(s)

	{

	  return s.replace(/^\s+|\s+$/, '');

	}

	function validateEmail(fld) {

		var error="";

		var tfld = trim(fld.value);                        // value of field with whitespace trimmed off

		var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;

		var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;

	   

		if (fld.value == "") {

			fld.style.background = 'Yellow';

			error = "You didn't enter an email address.\n";

		} else if (!emailFilter.test(tfld)) {              //test email for illegal characters

			fld.style.background = 'Yellow';

			error = "Please enter a valid email address.\n";

		} else if (fld.value.match(illegalChars)) {

			fld.style.background = 'Yellow';

			error = "The email address contains illegal characters.\n";

		} else {

			fld.style.background = 'White';

		}

		return error;

	}

	function validatePhone(fld) {

		var error = "";

		var stripped = fld.value.replace(/[\(\)\.\-\ ]/g, '');    

	

	   if (fld.value == "") {

			error = "You didn't enter a phone number.\n";

			fld.style.background = 'Yellow';

		} else if (fld.value == "Phone Number") {

			fld.style.background = 'Yellow'; 

			error = "You didn't enter a phone number.\n"

		} else if (isNaN(parseInt(stripped))) {

			error = "The phone number contains illegal characters.\n";

			fld.style.background = 'Yellow';

		} else if (!(stripped.length == 10)) {

			error = "The phone number is the wrong length. Make sure you included an area code.\n";

			fld.style.background = 'Yellow';

		} else {

			fld.style.background = 'White';

		}			

		return error;

	}
