// JavaScript Document
window.onload = function resetFields(){
	var formname = document.getElementById("frmAskTheDoctor");
	formname.onsubmit = function(){
	return validateForm(this);
	
	}
}

function validateForm(form){
	for (var i=0;i<form.elements.length;i++){
		var element = form.elements[i];
		var elementid = element.getAttribute("id");
		if (element.className.indexOf("required") != -1){
		if (!isFilled(element)){
		alert("Please fill in the "+element.name+" field");
		if (element.name.indexOf("firstname") != -1){
		document.frmAskTheDoctor.firstname.focus();
		}
		else if (element.name.indexOf("lastname") != -1){
		document.frmAskTheDoctor.lastname.focus();
		}
		else if (element.name.indexOf("phone") != -1){
		document.frmAskTheDoctor.phone.focus();
		}
		else if (element.name.indexOf("birth") != -1){
		document.frmAskTheDoctor.birth_year.focus();
		}
		return false;
		}
		}
		if (element.className.indexOf("firstname") != -1){
		if (hasNoInteger(element) == 0){
		alert("Please enter a valid first name");
		document.frmAskTheDoctor.firstname.focus();
		return false;
		}
		}
		if (element.className.indexOf("lastname") != -1){
		if (hasNoInteger(element) == 0){
		alert("Please enter a valid last name");
		document.frmAskTheDoctor.lastname.focus();
		return false;
		}
		}
		if (element.className.indexOf("city") != -1){
		if (hasNoInteger(element) == 0){
		alert("Please enter a valid city name");
		document.frmAskTheDoctor.city.focus();
		return false;
		}
		}
		if (element.className.indexOf("email") != -1){
		if (!isEmail(element)){
		alert("Please enter a valid email address");
		document.frmAskTheDoctor.email.focus();
		return false;
		}
		}
		if (element.className.indexOf("phone") != -1){
		if (!isPhone(element)){
		alert("Please enter a valid phone number");
		document.frmAskTheDoctor.phone.focus();
		return false;
		}
		}
		if (element.className.indexOf("zip") != -1){
		if (!isZip(element)){
		alert("Please enter a valid zip code");
		document.frmAskTheDoctor.zip_code.focus();
		return false;
		}
		}
		if (element.className.indexOf("description") != -1){
		if (hasNoLink(element)){
		alert("Description must not contain links");
		document.frmAskTheDoctor.description.focus();
		return false;
		}
		}
	}
}

function isFilled(field){
	if (field.value == "" || field.value == field.defaultValue){
	return false;
	}else{
		return true;
	}
}

function isEmail(field){
	if (field.value == "") return true;
	if (field.value.indexOf("@")==-1 || field.value.indexOf(".")==-1){
	return false;
	}else{
		return true;
	}
}

function isZip(field){
	if (field.value == "") return true;
	var fieldvalue = field.value;
	if (isNaN(fieldvalue)){
return false;
}else if (fieldvalue.length != 5) {
	return false;
}else{
	return true;
}
}

function isPhone(field){
	var stripped = field.value.replace(/[\(\)\.\-\ ]/g, '');
	if (isNaN(stripped)) {
   return false;
}else if (stripped.length > 10) {
	return false;
}else{
	return true;
}
}

function hasNoInteger(field){
	var valid = 1
	var fieldvalue = field.value;
	var digits = "0123456789";
	for (i =0; i <= fieldvalue.length -1; i++) {
		if (digits.indexOf(fieldvalue.charAt(i)) > -1) {
	valid = 0;
		}
	}
	return valid;
}

function hasNoLink(field){
	if (field.value.indexOf("<href=") != -1){
		return true;
	}else{
		return false;
	}
}
		
