function chkMe(e, obj, all, frm) {
	if (!e) var e = window.event;
	
	if (all == null) {
		if (e) {
			var code;
			if (e.keyCode) code = e.keyCode;
			else if (e.which) code = e.which;
			
			var skipMe = false;

			if (code && !skipMe) {
				if (code == 9 || code == 13 || code == 27 || code == 37 || code == 38 || code == 39 || code == 40) {
					return;
				}
			}
		}
	}
	
	var isError = null;
	var errMSG = null;
	
	if (obj.value.length == 0) {
		obj.style.backgroundColor = '#ffff99';
		
		if (frm == 1 && document.getElementById('mNameErrMSG').innerHTML.length > 0) {
			alert('Please complete ALL required fields');
		}
		else {
			if (obj.name == 'mFirst' || obj.name == 'mLast') {
				if (document.getElementById('mNameValid')) {
					document.getElementById('mNameValid').src = '/planandtrack/tools/img/reject.png';
				}

				if (document.getElementById('mNameErrMSG')) {
					if (obj.name == 'mFirst') {
						document.getElementById('mNameErrMSG').style.display = 'block';
						document.getElementById('mNameErrMSG').innerHTML = 'First name';
					}
					else {
						if (document.getElementById('mNameErrMSG').innerHTML.length > 6) {
							errMSG = "First / Last name";
						}
						else {
							errMSG = "Last name";
						}

						document.getElementById('mNameErrMSG').style.display = 'block';
						document.getElementById('mNameErrMSG').innerHTML = errMSG;
					}
				}	
			}
			else {
				if (document.getElementById(obj.name +'Valid')) {
					document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/reject.png';
				}

				if (document.getElementById(obj.name +'ErrMSG')) {
					document.getElementById(obj.name +'ErrMSG').style.display = 'block';
					document.getElementById(obj.name +'ErrMSG').innerHTML = 'Required field';
				}
			}
		}

		isError = 1;
	}
	else {
		if (obj.name == 'mEmail') {
			isError = chkUserName(obj, frm);
		}
		else if (obj.name == 'mCaptcha') {
			isError = chkCaptcha(obj, frm);
		}
		else {
			obj.style.backgroundColor = '#fff';

			if (obj.name == 'mFirst' || obj.name == 'mLast') {
				if (obj.name == 'mLast') {
					document.getElementById('mNameValid').src = '/planandtrack/tools/img/accept.png';
				}
				else {
					document.getElementById('mNameErrMSG').innerHTML = '';
					document.getElementById('mNameErrMSG').style.display = 'none';
				}
			}
			else {
				if (document.getElementById(obj.name +'Valid')) {
					document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/accept.png';
				}

				if (document.getElementById(obj.name +'ErrMSG')) {
					document.getElementById(obj.name +'ErrMSG').innerHTML = '';
				}
			}
		}
	}
	
	return isError;
}

function chkUser(obj, xml, frm) {
	if (xml.readyState == 4 || xml.readyState == "complete") {
		var isError = null;
		var errMSG = null;
		
		if (document.getElementById(obj.name +'ErrMSG').innerHTML.length > 0) {
			var hasErr = true;
		}
		else {
			var hasErr = false;
		}
		
		if (parseInt(xml.responseText) == 1) {
			obj.style.backgroundColor = '#fff';

			document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/blank.gif';
			document.getElementById(obj.name +'ErrMSG').innerHTML = '';
		}
		else if (parseInt(xml.responseText) == 2) {
			obj.style.backgroundColor = '#ffff99';
			errMSG = 'Invalid email address';
			
			document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/reject.png';			
			document.getElementById(obj.name +'ErrMSG').innerHTML = errMSG;
			
			isError = parseInt(xml.responseText);
		}
		else if (parseInt(xml.responseText) == 3) {
			obj.style.backgroundColor = '#ffff99';		
			errMSG = "Already registered";

			document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/reject.png';
			document.getElementById(obj.name +'ErrMSG').innerHTML = errMSG;
			
			isError = parseInt(xml.responseText);
		}
		else {
			obj.style.backgroundColor = '#fff';			

			document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/accept.png';
			document.getElementById(obj.name +'ErrMSG').innerHTML = '';
		}
		
		if (frm == 1) {
			if (hasErr) {
				alert(errMSG);
			}
			return isError;
		}
	}
}

function chkUserName(obj, frm) {
	var isError = null;
	
	if (obj.value.length > 0) {
		var isAsync = true;
		
		if (frm == null) {
			if (window.addEventListener) {
				var xml = GetXmlHttpObject(function() {
					xml.onreadystatechange = chkUser(obj, xml);
				});
			}
			else {
				var xml = GetXmlHttpObject(function() {
					xml.onreadystatechange = function() {
						chkUser(obj, xml);
					}
				});
			}
		}
		else {
			var xml = GetXmlHttpObject(eFunc);
			isAsync = false;
		}

		var sVars = "mEmail="+ escape(obj.value);

		xml.open ("POST", "/_ssi/ajax/_chkUserName.asp" , isAsync);
		xml.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
		xml.send (sVars);
		
		if (!isAsync) {
			isError = chkUser(obj, xml, frm);
		}
	}
	else {
		var errMSG = 'Please enter your <strong>Email Address</strong>'
		obj.style.backgroundColor = '#fff';
		
		document.getElementById(obj.name +'ErrMSG').innerHTML = '';
		document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/blank.gif';
	}
	
	return isError;
}

function chkCaptcha(obj, frm) {
	var isError = null;
	
	var xml = GetXmlHttpObject(eFunc);

	var sVars = "mCaptcha="+ obj.value;
	sVars = sVars +"&mCaptchaStr="+ obj.alt;
		
	xml.open ("POST", "/_ssi/ajax/_chkCaptcha.asp" , false);
	xml.setRequestHeader ("Content-Type", "application/x-www-form-urlencoded");
	xml.send (sVars);

	if (xml.responseText == 1) {
		obj.style.backgroundColor = '#fff';
		document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/blank.gif';
	}
	else if (xml.responseText == 2) {
		obj.style.backgroundColor = '#ffff99';
		document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/reject.png';	

		if (frm == 1) {
			alert('Incorrect sum calculation, please try again!!');
		}
		
		isError = 2;
	}
	else {
		obj.style.backgroundColor = '#fff';
		document.getElementById(obj.name +'Valid').src = '/planandtrack/tools/img/accept.png';
	}

	return isError;
}

function vFRM(f) {
	return true;
	
	var objINP = f.getElementsByTagName('input');
	for (i=0;i<objINP.length;i++) {
		if (objINP[i].title) {
			var objName = objINP[i].name;
			var isError = chkMe(null,objINP[i],1,1);
					
			if (isError != null) {
				if (isError == 1) {
					objINP[i].focus();
				}
				else {
					objINP[i].select();
				}
				
				return false;
			}
		}
	}
	
	return true;
}
