function init() {
	removeCssClass(document.getElementById("appForm"),"noShow");
	addCssClass(document.getElementById("response"),"noShow");
	document.getElementById("choice").focus();
}

function startCallback() {
	if (form_check()) {
		addCssClass(document.getElementById("appForm"),"noShow");
		var rsp = document.getElementById("response");
		removeCssClass(rsp, "noShow");
		addCssClass(rsp,"sending");
		return true;
	} else {
		return false;
	}
}

function completeCallback(response) {
	var rsp = document.getElementById("response");
	removeCssClass(rsp, "sending");
	addCssClass(rsp, "reply");
	rsp.innerHTML = response;
}


function form_check() {
	var stdMsg = "We're sorry, but you must fill in all fields marked with an *. If a field does not apply to you, please enter N/A in the space provided.";
	var msg = "";

	var fld = document.getElementById("choice");
	if(!fld.value.match(/^[yn]$/i)) {
		addCssClass(fld,"fldErr"); 
		if (msg == "") {
			msg = "Please enter Y or N for hardcore.";
			fld.focus();
		}
	} else {
		removeCssClass(fld,"fldErr");
	}

	msg = checkEmpty("First",msg,stdMsg);
	msg = checkEmpty("Last",msg,stdMsg);
	msg = checkEmpty("Street",msg,stdMsg);
	msg = checkEmpty("City",msg,stdMsg);
	msg = checkEmpty("Province",msg,stdMsg);
	msg = checkEmpty("Postal",msg,stdMsg);
	msg = checkEmpty("Country",msg,stdMsg);
	msg = checkEmpty("Home",msg,stdMsg);

	var email1Error = true;
	var email1 = document.getElementById("Email_1");
	if( email1.value == "") {
		if (msg == "") {
			msg = "Please enter a contact email address";
			email1.focus();
		}
		addCssClass(email1,"fldErr"); 
	} else if (!email1.value.match(/\./) || !email1.value.match(/@/) ) {
		if (msg == "") {
			msg = "Please enter your contact email address in this format: yourname@example.com.";
			email1.focus();
		}
		addCssClass(email1,"fldErr"); 
	} else {
		removeCssClass(email1,"fldErr");
		email1Error = false;
	}
	
	var email2 = document.getElementById("Email_2");
	if (email1Error) {
		addCssClass(email2,"fldErr");
	} else {
		if (email2.value == "") {
			addCssClass(email2, "fldErr");
			if (msg == "") {
				msg = "Please confirm your contact email address.";
				email2.focus();
			}
		} else if (email2.value != email1.value) {
			addCssClass(email2, "fldErr");
			if (msg == "") {
				msg = "Your contact email addresses do not match.";
				email2.focus();
			}
		} else {
			removeCssClass(email2,"fldErr");
		}
	}

	email1Error = false;
	email1 = document.getElementById("ReferredByEmail_1");
	if (email1.value != "") {
		if (!email1.value.match(/\./) || !email1.value.match(/@/) ) {
			email1Error = true;
			addCssClass(email1, "fldErr");
			if (msg == "") {
				msg = "Please enter your reference's email address in this format: name@example.com.";
				email1.focus();
			}
		} else {
			removeCssClass(email1, "fldErr");
		}
	} else {
		removeCssClass(email1, "fldErr");
	}

	msg = checkEmpty("Age",msg,stdMsg);
	msg = checkEmpty("BirthDate",msg,stdMsg);
	msg = checkEmpty("BirthCity",msg,stdMsg);
	msg = checkEmpty("BirthCountry",msg,stdMsg);
	msg = checkEmpty("Hair",msg,stdMsg);
	msg = checkEmpty("Eyes",msg,stdMsg);
	msg = checkEmpty("HeightFeet",msg,stdMsg);
	msg = checkEmpty("HeightInches",msg,stdMsg);
	msg = checkEmpty("Weight",msg,stdMsg);
	msg = checkEmpty("Bust",msg,stdMsg);
	msg = checkEmpty("Cup",msg,stdMsg);
	msg = checkEmpty("Waist",msg,stdMsg);
	msg = checkEmpty("Hips",msg,stdMsg);
	
	email2 = document.getElementById("ReferredByEmail_2");
	if (email1Error) {
		addCssClass(email2,"fldErr");		
	} else {
		if (email2.value != email1.value) {
			addCssClass(email2,"fldErr");
			if (email2.value == "") {
				if (msg == "") {
					msg = "Please confirm the email address for your reference.";
					email2.focus();
				}
			} else {
				if (msg == "") {
					msg = "Your reference email addresses do not match.";
					email2.focus();
				}
			}
		} else {
			removeCssClass(email2, "fldErr");	
		}
	}

	msg = checkEmpty("ModelFirstName",msg,stdMsg);
	msg = checkEmpty("ModelLastName",msg,stdMsg);
	
	var imgCount = 0;
	if (document.application.Image0.value != "") imgCount++;
	if (document.application.Image1.value != "") imgCount++;
	if (document.application.Image2.value != "") imgCount++;
	if (document.application.Image3.value != "") imgCount++;
	if (document.application.Image4.value != "") imgCount++;
	if (document.application.Image5.value != "") imgCount++;
	if (document.application.Image6.value != "") imgcount++;
	if (document.application.Image7.value != "") imgCount++;
	if (document.application.Image8.value != "") imgCount++;
	if (document.application.Image9.value != "") imgCount++;
    		
	if (imgCount < 4) { 
		var obj = new Object;
		obj.hilight = 4 - imgCount;
		obj.setFocus = false;
		if (msg == "") {
			msg = "Please submit at least four (4) images";
			obj.setFocus = true;
		}
		obj = checkImageField("Image0", obj);
		obj = checkImageField("Image1", obj);
		obj = checkImageField("Image2", obj);
		obj = checkImageField("Image3", obj);
		obj = checkImageField("Image4", obj);
		obj = checkImageField("Image5", obj);
		obj = checkImageField("Image6", obj);
		obj = checkImageField("Image7", obj);
		obj = checkImageField("Image8", obj);
		obj = checkImageField("Image9", obj);
	} else {
		removeCssClass(document.getElementById("Image0"), "fldErr");
		removeCssClass(document.getElementById("Image1"), "fldErr");
		removeCssClass(document.getElementById("Image2"), "fldErr");
		removeCssClass(document.getElementById("Image3"), "fldErr");
		removeCssClass(document.getElementById("Image4"), "fldErr");
		removeCssClass(document.getElementById("Image5"), "fldErr");
		removeCssClass(document.getElementById("Image6"), "fldErr");
		removeCssClass(document.getElementById("Image7"), "fldErr");
		removeCssClass(document.getElementById("Image8"), "fldErr");
		removeCssClass(document.getElementById("Image9"), "fldErr");
	}

	if( msg == "" ) {
		document.application.success_submit.value="yes";
	} else {
		alert(msg);
	}
	return (msg == "");
}

function checkImageField(fieldName, obj) {
	fld = document.getElementById(fieldName);
	if (obj.hilight > 0) {
		if ( fld.value == "") { 
			addCssClass(fld,"fldErr");
			obj.hilight--;
			if (obj.setFocus) {
				obj.setFocus = false;
				fld.focus();
			}
		} else {
			removeCssClass(fld,"fldErr");
		}
	} else {
		removeCssClass(fld,"fldErr");
	}
	return obj;
}

function checkEmpty(fieldName, msg, fldMsg) {
	var fld = document.getElementById(fieldName);
	if (fld.value == "") {
		addCssClass(fld,"fldErr");
		if (msg == "") {
			msg = fldMsg;
			fld.focus();
		}
	} else {
		removeCssClass(fld,"fldErr");
	}
	return msg;
}

addEvent(window, 'load', init);
