function checkUserName()
{
	if(document.registerForm.txtusername.value.length > 3)
	{
		var req = null; 
		var stoday = new Date();
	
		if(window.XMLHttpRequest)
			req = new XMLHttpRequest(); 
		else if (window.ActiveXObject)
			req  = new ActiveXObject('Microsoft.XMLHTTP'); 
	
		req.onreadystatechange = function()
		{ 
			if(req.readyState == 4)
			{
				if(req.status == 200)
				{
					if(req.responseText == "Exists")
					{
						document.getElementById("availability").innerHTML = "<span style='color: red;'>Availability: " + document.registerForm.txtusername.value + " is NOT Available</span>"
					}
					else
					{
						document.getElementById("availability").innerHTML = "<span style='color: #336699;'>Availability: " + document.registerForm.txtusername.value + " IS Available</span>"
					}
				}	
				else	
				{
					alert("Error: returned status code " + req.status + " " + req.statusText);
				}	
			} 
		}; 
		req.open("GET", "get_username.php?userval=" + document.registerForm.txtusername.value + "&rnd=" + stoday, true); 
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
		req.send(null); 
	}
	else
	{
		document.getElementById("availability").innerHTML = "<span style='color: gray;'>Availability: Too Short</span>"
	}
}	

function checkrEmail(vname)
{
	if(document.getElementById(vname).value == "")
	{
		document.getElementById(vname+"Val").innerHTML = "<span style='color:red'>Required: Cannot be Empty</span>"
	}
	else
	{
		if(isValidEmail(document.getElementById(vname).value)==false)
		{
			document.getElementById(vname+"Val").innerHTML = "<span style='color:red'>Required: Invalid Email Address</span>"
		}
		else
		{
			document.getElementById(vname+"Val").innerHTML = "<span style='color:#336699'>Required: Okay</span>"
		}
	}
}

/*
function checkNume(val)
{
	var numecounter = 0
	var checkNume = false;
	for(numecounter=0;numecounter<val.length;numecounter++)
	{
		if(!isNaN(val.charAt(numecounter)))
		{
			checkNume = true;
		}
	}
	return checkNume;
}
*/

function checkStrength()
{
	var strength = document.getElementById("strength");	
	
	if (document.registerForm.txtpassword.value != "")
	{
		if(document.registerForm.txtpassword.value.length <8)
		{
			strength.innerHTML = "<span style='color:red'>Password Strength: Too Short</span";
		}
		else		
		if(!document.registerForm.txtpassword.value.match(/[a-z]/))
		{
			strength.innerHTML = "<span style='color:red'>Password Strength: Missing Lower Case Letter</span>";
		}
		else
		if(!document.registerForm.txtpassword.value.match(/[0-9]/))
		{
			strength.innerHTML = "<span style='color:orange'>Password Strength: Missing Number</span>";
		}
		else
		{
			strength.innerHTML = "<span style='color:green'>Password Strength: Strong</span>";
		}
	}
	else
	{
		strength.innerHTML = "Password Strength: None";
	}
}

function checkPassword()
{
	if(document.registerForm.txtpassword.value == "")
	{
		document.getElementById("passwordreenter").innerHTML = "<span style='color:gray;'>Password Match: None</span>";		
	}
	else
	{
		if(document.registerForm.txtpassword.value != document.registerForm.txtreenterpassword.value)
		{
			document.getElementById("passwordreenter").innerHTML = "<span style='color:red;'>Password Match: Does NOT Match</span>";
		}
		else
		{
			document.getElementById("passwordreenter").innerHTML = "<span style='color:#336699;'>Password Match: Matched</span>";
		}
	}
}

function checkRegister()
{
	var divalert = "";
	
	if(document.registerForm.txtfirstname.value == "")
	{
		divalert = divalert + "First name is Required.<BR>";
	}
	if(document.registerForm.txtlastname.value == "")
	{
		divalert = divalert + "Last name is Required.<BR>";
	}
	if(document.registerForm.txtemail.value == "")
	{
		divalert = divalert + "Email Address is Required.<BR>";
	}
	if(document.registerForm.txtemail.value != "")
	{
		if(isValidEmail(document.registerForm.txtemail.value)==false)
		{
			divalert = divalert + "Invalid Email Format, Please Re-Enter.<BR>";
		}
	}
	if(document.registerForm.txtusername.value.length < 4)
	{
		divalert = divalert + "Username must be at Least 4 Characters.<BR>";
	}
	if(document.registerForm.txtpassword.value == "")
	{
		divalert = divalert + "Desired Password is Required.<BR>";
	}
	if(document.registerForm.txtpassword.value != "")
	{
		if(document.registerForm.txtpassword.value != document.registerForm.txtreenterpassword.value)
		{
			divalert = divalert + "Your re-entered password does not match your desired password.<BR>";
		}
	}
	//if(document.registerForm.txtanswer.value == "")
	//{
	//	divalert = divalert + "Please select a security question and enter an answer.<BR>";
	//}

//	if(document.registerForm.chxterm.checked == false || document.registerForm.chxprivacy.checked == false)
//	{
//		divalert = divalert + "You must agree to our terms of service and privacy policy to register.<BR>";
//		document.getElementById("termsErrorBox").className = "termsError";
//	}
//	else
//	{
//		document.getElementById("termsErrorBox").className = "termsNoError";
//	}

	if(divalert == "")
	{
		return true;
	}
	else
	{
		document.getElementById("personalMessage").innerHTML = divalert;
		document.getElementById("personalMessage").style.color = 'red';
		return false;
	}
}
function checkPersonal()
{
	var divalert = "";
	
	if(document.registerForm.txtfirstname.value == "")
	{
		divalert = divalert + "First name is Required.<BR>";
	}
	if(document.registerForm.txtlastname.value == "")
	{
		divalert = divalert + "Last name is Required.<BR>";
	}
	if(document.registerForm.txtemail.value == "")
	{
		divalert = divalert + "Email Address is Required.<BR>";
	}
	if(document.registerForm.txtemail.value != "")
	{
		if(isValidEmail(document.registerForm.txtemail.value)==false)
		{
			divalert = divalert + "Invalid Email Format, Please Re-Enter.<BR>";
		}
	}
	if(document.registerForm.txtpassword.value != "")
	{
		if(document.registerForm.txtpassword.value != document.registerForm.txtreenterpassword.value)
		{
			divalert = divalert + "Your re-entered password does not match your desired password.<BR>";
		}
	}
	if(divalert == "")
	{
		return true;
	}
	else
	{
		document.getElementById("personalMessage").style.color = 'red';
		document.getElementById("personalMessage").innerHTML = "" + divalert;
		return false;
	}
}
function isValidEmail(str) {
   	var emailRegEx = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
   	if(str.match(emailRegEx))
   	{
		return true;
   	}
	else
	{
		return false;
	}
}
