

function isRequired() {
	r = arguments[0].getAttribute("required");
	if (r && !arguments[0].disabled) {
		if (!r.length) {
			return false;
			}
		if (r.toLowerCase() == "yes") {
			return true;
			}
		else {
			return false
			}
		}
	else {
		return false;
		}		
	}
	
function getErrMessage() {
	var m = arguments[0].getAttribute("message");
	
	if (m) {
		if (!m.length) {
			err = "The field '" + arguments[0].name + "' is a required field.      ";
			}
		else {
			err = m + "      ";
			}
		}	
	else {
		err = "The field '" + arguments[0].name + "' is a required field.      ";
		}	
	return err;	
	}		

function isValidated() {
	
	var formObj = arguments[0].form;
	var elementName = arguments[0].name;
	
	switch (arguments[0].type.toLowerCase()) {
		
		case "text" : {
			return arguments[0].value.replace(/[ ]/g, "").length
			break;
			}
		
		case "checkbox" : {
			
			for (var i = 0; i < formObj[elementName].length; ++i) {
				if (formObj[elementName][i].checked) {
					return true;
					}
				}
				
			return false;
			break;
			}
		
		case "radio" : {
			
			for (var i = 0; i < formObj[elementName].length; ++i) {
				if (formObj[elementName][i].checked) {
					return true;
					}
				}
				
			return false;
			break;
			}
			
		default : {
			return arguments[0].value.replace(/[ ]/g, "").length
			break;
			}
		}
	}

function validateForm() {
	var formObj = arguments[0];
	var err = "";
	var showError = arguments.length == 2 ? arguments[1] : true;
	for (var e = 0; e < formObj.elements.length; ++e) {
		if (isRequired(formObj[e])) {
			formObj[e].className = formObj[e].className.replace(" field-error", "");
			if (!isValidated(formObj[e])) {
				err += "- " + getErrMessage(formObj[e]) + "\n"
				formObj[e].className = "text field-error";
				//alert(getErrMessage(formObj[e]));
				//return false;
				}
			}
		}
	if (err != "") {
		if (showError) {
			alert("Please correct the following error before submitting:-\n" + err);
			}
		return false;
		}
	return true;
	}	


