function clear_box(field)
{
	first = "First";
	last = "Last";
	nc = "New Code";
	if (field.value == first || field.value == last || field.value == nc)
		field.value = '';
	field.className = 'active';
}

function check_box(field, value)
{
	if (field.value.length == 0)
	{
		field.value = value;
		field.className = 'inactive';
	}
}

function validate_join()
{
	// Validate all fields.
	fields = ["first", "last", "email", "username", "password1", "password2" ];

	for( i in fields ) {
		validate(fields[i]);
	}
	
	// Check validation stauses.
	allValid=true;
	
	for( i in fields ) {
		if( document.subInfoForm.elements[fields[i] + "_val"].value != "" )
			allValid=false;
	}
	
	if( allValid ) {
		first = document.subInfoForm.first.value;
		last = document.subInfoForm.last.value;
		document.subInfoForm.bname.value=first + " " + last;
		
		if( document.subInfoForm.chargetotalDisp.value=="0" )
			document.subInfoForm.action="join_process.php";
		
		document.subInfoForm.submit();
	}
	else {
		alert("There are errors in the form.");
	}
}

function validate(fieldname)
{
	fieldValue = document.subInfoForm.elements[fieldname].value;
	errmsg = "";
	
	if( fieldname == "first" ) {
		// Verify first name field.
		if( fieldValue.length == 0 || fieldValue == "First" )
			errmsg = "Please enter your first name.";
		else if( fieldValue.length >= 200 )
			errmsg = "That first name is too long.";
			
		displayValResult(fieldname, errmsg)
	}
	else if( fieldname == "last" ) {
		// Verify last name field.
		if( fieldValue.length == 0 || fieldValue == "Last" )
			errmsg = "Please enter your last name.";
		else if( fieldValue.length >= 200 )
			errmsg = "That last name is too long.";	
			
		displayValResult(fieldname, errmsg)
	}
	else if( fieldname == "email" ) {
		// Verify email field.
		email_valid = false;
		email_at = fieldValue.indexOf("@");
		if( email_at > 0 )
			if( fieldValue.indexOf(".", email_at) > 0 )
				email_valid = true;
		
		if( fieldValue.length == 0 )
			errmsg = "Email address not valid";
		else if( fieldValue.indexOf( "%" ) > -1 )
			errmsg = "Email address cannot contain '%'";
		else if( !email_valid )
			errmsg = "Email address not valid";
		else if( fieldValue.length >= 255 )
			errmsg = "Email address too long";	
			
		if( errmsg.length != 0 ) {
			displayValResult(fieldname, errmsg);
		}
		else {
			// If none of the above checks threw an error, 
			// proceed to see if username is already taken.
			
			// Set up HTTP Request Objects.
			if (window.XMLHttpRequest) { 
				// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
				xmlhttp=new XMLHttpRequest();
			}
			else { 
				// code for IE6, IE5
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		
			xmlhttp.onreadystatechange=function() {
				if( xmlhttp.readyState==4 && xmlhttp.status==200 ) {
					if( xmlhttp.responseText == "False" ) {
						errmsg="Email address already in use.  Already have an account?  Please log in at the top of the page."
						displayValResult(fieldname, errmsg) 
					}
					else {
						displayValResult(fieldname, "" );	
					}
			    }
			}
			xmlhttp.open( "GET", "../include/validate.php?type=email&value="+fieldValue, true );
			xmlhttp.send();
		}
	}
	else if( fieldname == "username" ) {
		// Validate Username
		if( fieldValue.length == 0 )
			errmsg = "Please choose a username";
		else if( fieldValue.length < 5 )
			errmsg = "Username must be a least 5 characters";
		else if( fieldValue.length >= 30 )
			errmsg = "Username must be less than 30 characters";
		else if( fieldValue.indexOf("%") > -1 )
			errmsg = "Your username cannot contain the '%' character.";
		
		if( errmsg.length != 0 ) {
			displayValResult(fieldname, errmsg);
		}
		else {
			// If none of the above checks threw an error, 
			// proceed to see if username is already taken.
			
			// Set up HTTP Request Objects.
			if (window.XMLHttpRequest) { 
				// code for IE7+, Firefox, Chrome, Opera, Safari (aka real browsers)
				xmlhttp=new XMLHttpRequest();
			}
			else { 
				// code for IE6, IE5
				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
			}
		
			xmlhttp.onreadystatechange=function() {
				if( xmlhttp.readyState==4 && xmlhttp.status==200 ) {
					if( xmlhttp.responseText == "False" ) {
						errmsg="Username already in use.  Already have an account?  Please log in at the top of the page."
						displayValResult(fieldname, errmsg) 
					}
					else {
						displayValResult(fieldname, "" );	
					}
			    }
			}
			xmlhttp.open( "GET", "../include/validate.php?type=username&value="+fieldValue, true );
			xmlhttp.send();
		}
	}
	else if( fieldname == "password1" ) {
		if( fieldValue.length == 0 )
			errmsg = "Please enter a password";
		else if( fieldValue.length < 5 )
			errmsg = "Password must be at least 5 characters";
		else if( fieldValue.length >= 200 )
			errmsg = "Password must be less than 200 characters";
			
		displayValResult(fieldname, errmsg);
	}
	else if( fieldname == "password2" ) {
		if( document.subInfoForm.password1.value != fieldValue )
			errmsg = "Passwords do not match";
			
		displayValResult(fieldname, errmsg);
	}
}

function displayValResult(fieldname, errmsg)
{
	if( errmsg.length != 0 ) {
		document.subInfoForm.elements[fieldname + "_val"].value = "False";
		document.getElementById(fieldname + "_val_text").innerHTML = errmsg;
	}
	else {
		document.subInfoForm.elements[fieldname + "_val"].value = "";
		document.getElementById(fieldname + "_val_text").innerHTML = "";
	}
}