// String.trim()
String.prototype.trim = function() {
	return this.replace(/(^\s+)|(\s+$)/g, "");
};

// name validate
function nameValidate() {
	var passed = true;

	var nameBox = document.getElementById("name");
	var nameValidation = document.getElementById("name_validation");
	var cssClass = "valid";
	var message = "valid";

	if(nameBox.value.trim() == "") {
		cssClass = "invalid";
		message = "required";
		passed = false;
	}
	nameValidation.innerHTML = "<small class='" + cssClass + "'>" + message + "</small>";
	return passed;
}

// email validate
function emailValidate() {
	var passed = true;

	var emailBox = document.getElementById("email");
	var emailValidation = document.getElementById("email_validation");
	var cssClass = "valid";
	var message = "valid";

	var regx = /^[a-zA-Z0-9]+((\.|_)[a-zA-Z0-9]+)?@[a-zA-Z0-9]+(\-[a-zA-Z0-9]+)?(\.[a-zA-Z]+)+$/;

	if(emailBox.value.trim() == "") {
		cssClass = "invalid";
		message = "required";
		passed = false;
	} else if(!regx.test(emailBox.value.trim())) {
		cssClass = "invalid";
		message = "invalid";
		passed = false;
	}
	emailValidation.innerHTML = "<small class='" + cssClass + "'>" + message + "</small>";
	return passed;
}

// comment validate
function commentValidate() {
	var passed = true;
	var commentBox = document.getElementById("comment");

	if(commentBox.value.trim() == "") {
		passed = false;
	}
	return passed;
}

// all validate
function validate() {
	var nameIsPassed = nameValidate();
	var emailIsPassed = emailValidate();
	var commentIsPassed = commentValidate();

	var submitButton = document.getElementById("submit");

	if(nameIsPassed && emailIsPassed && commentIsPassed) {
		submitButton.disabled = false;
		submitButton.className = "button";
	} else {
		submitButton.disabled = true;
		submitButton.className = "disable_button";
	}
}
