//javascript validation functions for purchaseTickets.php, and shaind's final project.

//Verify that the id# is 7 digits and in expected range
function verifyIdNum(idNum)
{
	if (						//makes sure id# is 7 numerals long (and not 8 or more)
	    (idNum.search(/\d{7}/) == 0) &&
	    (!idNum.search(/\d{8}/) == 0)
	   )
	{
		if ( (idNum<=1000000) || (idNum>=3000000) )				//makes sure id# is around current standards
		{
			alert("Your ID# is out of range.  If you are a current student please reenter");
			buyForm.buyerID.value="";
			return false;
		}
	}
	else
	{
		alert("Please enter a valid numerical ID#");
		buyForm.buyerID.value="";
		return false;
	}
}

//verify that the person's name is composed of the right number of characters, and not numbers or anything else
function verifyName(name)
{
	if (					//makes sure name is 8 lowercase letters long or fewer, but not 1 (like webmail names)
	    (name.search(/[A-z]{2}/) == 0) ||
	    (name.search(/[a-z]{3}/) == 0) ||
	    (name.search(/[a-z]{4}/) == 0) ||
	    (name.search(/[a-z]{5}/) == 0) ||
	    (name.search(/[a-z]{6}/) == 0) ||
	    (name.search(/[a-z]{7}/) == 0) ||
	    (name.search(/[a-z]{8}/) == 0) &&
	    (!name.search(/[a-z]{9}/) == 0)
	   )
	{
		if (				//makes sure username is all lowercase letters, even if otherwise valid
		    (name.search(/[A-Z]/) == 0) ||
		    (name.search(/[A-Z]/) == 1) ||
		    (name.search(/[A-Z]/) == 2) ||
		    (name.search(/[A-Z]/) == 3) ||
		    (name.search(/[A-Z]/) == 4) ||
		    (name.search(/[A-Z]/) == 5) ||
		    (name.search(/[A-Z]/) == 6) ||
		    (name.search(/[A-Z]/) == 7)
	   	   )
		{
			alert("No capitals, please");
			buyForm.buyerName.value=buyForm.buyerName.value.toLowerCase();
			return false;
		}

		if (name.search(/[a-z]{9}/) == 0)		//I'm not sure why ths isn't covered by the else clause, but so be it
		{
			alert("Please enter only the first seven letters of your last name and your first intitial");
			buyForm.buyerName.select();
			return false;
		}
		
	}
	else
	{
		alert("Please enter a valid name");
		buyForm.buyerName.select();
		return false;
	}
}

//verifies that neither field is left blank
function checkNotBlank()
{
	if(!verifyName(buyForm.buyerName.value))
	{
		alert("Please fill out all fields correctly");
		return false;
	}
	if(!verifyIdNum(buyForm.buyerID.value))
	{
		alert("Please fill out all fields correctly");
		return false;
	}
}

