function isEmail(obj, required) {
	var str = obj.value;
	if(str.length > 0) {
		var supported = 0;
		if (window.RegExp) {
			var tempStr = "a";
			var tempReg = new RegExp(tempStr);
			if (tempReg.test(tempStr)) supported = 1;
		}
		if (!supported) 
			return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
		var r1 = new RegExp("(@.*@)|(\\.\\.)|(@\\.)|(^\\.)");
		var r2 = new RegExp("^.+\\@(\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$");
		if (!r1.test(str) && r2.test(str)) return;
		else {
			alert("Warning:\n\nEMAIL format is not correct!");
			if (required) {
				obj.focus();
			}
		}
	}
	else {
		alert("Warning:\n\nEmail is a required field. You cannot leave it empty!");
		if (required) {
			obj.focus();
		}
		else return;
	}
}

function isPost(obj, required) {
	var str = obj.value;
	if (str.length > 0)	{
		var nReturn = true;
		if (str.length != 7)  nReturn = false;
		if (!isNum(str.substring(1,2)) || !isNum(str.substring(4,5)) || !isNum(str.substring(6,7))) nReturn = false;
		if (!isChar(str.substring(0,1)) || !isChar(str.substring(2,3)) || !isChar(str.substring(5,6))) nReturn = false;
		if(nReturn == false) {
			alert("Warning:\n\nPostal Code format is not correct.\n");
			if (required) {
				obj.focus();
			}
		}
	}
	else {
		alert("Warning:\n\nPostal Code is a required field. You cannot leave it empty!");
		if (required) {
			obj.focus();
		}
		else return;
	}
}

function isPhone(obj, required) {
	var str = obj.value;
	if (str.length > 0)	{
		var nReturn = true;
		if (str.substring(0,1) != "(" || str.substring(4,6) != ") " || str.substring(9,10) != "-") nReturn = false;
		if (!isNumber(str.substring(1,4)) || !isNumber(str.substring(6,9)) || !isNumber(str.substring(10,14))) nReturn = false;
		if(nReturn == false) {
			alert("Warning:\n\nTelephone format is not correct.\n");
			if (required) {
				obj.focus();
			}
		}
	}
	else {
		alert("Warning:\n\nTelephone is a required field. You cannot leave it empty!");
		if (required) {
			obj.focus();
		}
		else return;
	}
}

function isDate(obj, required, fldName) {
	var str = obj.value;
	if (str.length > 0)	{
		var nReturn = true;
		if (str.substring(4,5) != "-" || str.substring(7,8) != "-") nReturn = false;
		if (!isNumber(str.substring(0,4)) || !isNumber(str.substring(5,7)) || !isNumber(str.substring(8,10))) nReturn = false;
		if(nReturn == false) {
			alert("Warning:\n\n" + fldName + " format is not correct.\n");
			if (required) {
				obj.focus();
			}
		}
	}
	else {
		alert("Warning:\n\n" + fldName + " is a required field. You cannot leave it empty!");
		if (required) {
			obj.focus();
		}
		else return;
	}
}

function isExt(obj, reguired) {
	var str = obj.value;
	if(str.length > 0) {
		if(!isNumber(str)) {
			alert("Warning:\n\nEXTENTION number format is not correct.\n");
			if (required) {
				obj.focus();
			}
		}
	}
	return;
}

function isFax(obj) {
	var str = obj.value;
	if(str.length > 0) {
		var nReturn = true;
		if (str.substring(0,1) != "(" || str.substring(4,6) != ") " || str.substring(9,10) != "-") nReturn = false;
		if (!isNumber(str.substring(1,4)) || !isNumber(str.substring(6,9)) || !isNumber(str.substring(10,14))) nReturn = false;
		if(nReturn == false) {
			alert("Warning:\n\nFAX format is not correct.\n");
			if (required) {
				obj.focus();
			}
		}
	}
	return;
}

// Single Digit
function isNum(str) {
	var str0 = "0123456789";
	if (str0.indexOf(str)<0){
		return false;
	}
	return true;
}

// More than one digit
function isNumber(str) {
	var str0 = "0123456789";
	for (var i=0; i<str.length; i++) {
		if (str0.indexOf(str.substring(i,i+1))<0){
			return false;
		}
	}
	return true;
}

function isChar(str) {
	var str0 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
	if (str0.indexOf(str)<0){
		return false;
	}
	return true;
}
