function addLoadEvent(func){
	var oldonload = window.onload;
	if (typeof window.onload != 'function'){
		window.onload = func;
	} else {
		window.onload = function(){
			oldonload();
			func();
		}
	}
}

function isFilled(field){
	if (field.value.length < 1 || field.value.length == field.defaultValue) {
		return false;
	} else {
		return true;
	}
}

function isEmail(field){
	if (field.value.indexOf("@") == -1 || field.value.indexOf(".") == -1) {
		return false;
	} else {
		return true;
	}
}

function valButton(form_name,field_name){
	var btn = form_name[field_name];
	var cnt = -1;
    for (var i=btn.length-1; i > -1; i--) {
        if (btn[i].checked) {cnt = i; i = -1;}
    }
    if (cnt > -1) {
		return btn[cnt].value;
	} else {
		return null;
	}
}

function isRadio(form_name,field_name){
	var btn = valButton(form_name,field_name);
	if(btn==null){
		return false;
	} else {
		return btn;
	}
}

function validateForm(whichform) {
	for (var i=0; i < whichform.elements.length; i++) {
		var element = whichform.elements[i];
		if (element.className.indexOf("required") != -1) {
			if (!isFilled(element)) {
				var field = element.name.replace("_"," ");
				field = field.replace("street","new address");
				field = field.replace("00N60000001IhOu","old address");
				field = field.replace("00N60000001IhPE","effective date of change");
				field = field.replace("00N60000001IhQW","your business zip code");
				if(own_a_boat=="Yes"){
					field = field.replace("00N60000001IhPF","your boat size");
					alert("Please enter "+field+".");
					return false;
				}
					
				if (element.className.indexOf("boat") == -1) {
					alert("Please enter "+field+".");
					return false;
				}
			}
		}
				
		if (element.className.indexOf("email") != -1) {
			if (!isEmail(element)) {
				alert("Please enter a valid email address.");
				return false;
			}
		}
		
		if (element.className.indexOf("radio") != -1) {
			if (element.className.indexOf("00N60000001IhQR") != -1) {
				var field_name = "00N60000001IhQR";
				var own_a_boat = isRadio(whichform,field_name);
				if (!own_a_boat) {
					alert("Do you own a boat?");
					return false;
				}		
			}
			
			if (element.className.indexOf("00N60000001IwD8") != -1) {
				var field_name = "00N60000001IwD8";
				if (!isRadio(whichform,field_name)) {
					alert("What is your gender?");
					return false;
				}
			}
			
			if (own_a_boat=="Yes") {
				if (element.className.indexOf("00N60000001IwDm") != -1) {
					var field_name = "00N60000001IwDm";
					if (!isRadio(whichform,field_name)) {
						alert("What type of boat do you own?");
						return false;
					}
				}
			}
		}
	}
	return true;
}

function prepareForms(){
	for (var i=0; i < document.forms.length; i++) {
		var thisform = document.forms[i];
		thisform.onsubmit = function(){
			return validateForm(this);
		}
	}
}

addLoadEvent(prepareForms);

