
var nbsp = 160;    // non-breaking space char
var node_text = 3; // DOM text node-type
var emptyString = /^\s*$/

//message
function message(id, messageType, message) {
	var displayMessage;
	if (emptyString.test(message))
		displayMessage = String.fromCharCode(nbsp);
	else
		displayMessage = message;
		
	var element = document.getElementById(id);
	element.firstChild.nodeValue = displayMessage;
	
	element.className = messageType;
	
};

var proceed = 2;

function check(elem, iid, required) {
	
	if (!document.getElementById)
		return true;
	var element = document.getElementById(iid);
	if(!element.firstChild)
		return true;
	if(element.firstChild.nodeType != node_text)
		return true;
		
	if (emptyString.test(elem.value)) {
		if (required) {
			message(iid, "error", "REQUIRED");
			return false;
		}
		else {
			message(iid, "noError", "Completed");
			return true;
		}
	}
	return proceed;
}

//checkHsName
function checkHsName(elem, iid) {
	
	var stat = check(elem, iid, true);
	if (stat != proceed) return stat;
	
	message(iid, "noError", "Completed");
	return true;
	
};

//checkHsCity
function checkHsCity(elem, iid) {
	
	var stat = check(elem, iid, true);
	if (stat != proceed) return stat;
	
	message(iid, "noError", "Completed");
	return true;
	
};

//checkHsState
function checkHsState(elem, iid) {
	
	var stat = check(elem, iid, true);
	if (stat != proceed) return stat;
	
	message(iid, "noError", "Completed");
	return true;
	
};

//checkSubmitName
function checkSubmitName(elem, iid) {
	
	var stat = check(elem, iid, true);
	if (stat != proceed) return stat;
	
	message(iid, "noError", "Completed");
	return true;
	
};

//checkEmail
function checkEmail(elem, iid, required)

{
  var stat = check(elem, iid, required);
  if (stat != proceed) return stat;

  var emailFilter=/^.+@.+\..{2,3}$/;

	if (!emailFilter.test(elem)){
		message (iid, "error", "INVALID");		
	}
	else {
		message (iid, "noError", "Completed");
		return true;
	}
};

//checkDescription
function checkDescription(elem, iid) {
	
	var stat = check(elem, iid, true);
	if (stat != proceed) return stat;
	
	message(iid, "noError", "Completed");
	return true;
	
};

