// JavaScript Document
function stringcheck(elem, required, minlen, maxlen)
{
	var string1;
	
	string1 = elem.value;

	// If field is required, make sure it is not empty or null
	if (required)
	{
		if (string1 == "" || string1 == null)
		{
			alert("Please enter the " + elem.id + ".");
	//		elem.focus();
			return false;
		}
		// Verify field is greater than min lenght and less than max length
		if ((string1.length < minlen) || (string1.length > maxlen))
		{
			alert(elem.id + " must be between " + minlen + " and " + maxlen + " characters.");
//			elem.focus();
			return false;
		}
	}

	// allow only letters, numbers, and underscores
	var illegalChars = /\W/;
    if (illegalChars.test(string1))
	{
       alert("The " + elem.id + " contains illegal characters.");
//	   elem.focus();
	   return false;
	}
	return true;
}

function emailcheck(elem, required, minlen, maxlen)
{
	var string1;
	
	string1 = elem.value;

	// If field is required, make sure it is not empty or null
	if (required)
	{
		if (string1 == "" || string1 == null)
		{
			alert("Please enter an Email Address.");
//			elem.focus();
			return false;
		}
		// Verify field is greater than min lenght and less than max length
		if ((string1.length < minlen) || (string1.length > maxlen))
		{
			alert("Please enter a valid Email Address.");
//			elem.focus();
			return false;
		}
	}

	var emailFilter=/^.+@.+\..{2,3}$/;
	if (!(emailFilter.test(string1))) { 
       alert("Please enter a valid Email Address.");
//	   elem.focus();
	   return false;
	}
	
	var illegalChars= /[\(\)\<\>\,\'\;\:\\\/\"\[\]]/
	if (string1.match(illegalChars)) {
   		alert("The Email Address contains illegal characters.");
//		elem.focus();
		return false;
	}
	return true;
}

function phonecheck(elem)
{
	var string1;
	string1 = elem.value;
	var stripped = string1.replace(/[\(\)\.\-\ ]/g, '');
	//strip out acceptable non-numeric characters
	if (isNaN(parseInt(stripped))) {
   		alert("The phone number contains illegal characters.");
	}
}

	
function formCheck(form)
{
	for (var i=0; i<form.elements.length; i++) 
	{
		// Check required fields
		if (form.elements[i].name == 'username' || form.elements[i].name == 'password' || form.elements[i].name == 'email' || form.elements[i].name == 'fname' || form.elements[i].name == 'lname')
		{
			// Required field - must have a value
			if (form.elements[i].value == "" || form.elements[i].value == null)
			{
				alert(form.elements[i].id + ' is required.');
				return false;
			}
		}
		
		// Check that password equals confirmed password
		if (form.elements[i].name == 'password')
		{
			if (form.elements[i].value != form.elements[i+1].value)
			{
				alert('Password does not match.');
				return false;
			}
		}
		
		// Check that email equals confirmed email
		if (form.elements[i].name == 'email')
		{
			if (form.elements[i].value != form.elements[i+1].value)
			{
				alert('Email does not match.');
				return false;
			}
		}
	}
	
	// Check that Profession is chosen
	if (form.elements["professional"][0].checked || form.elements["professional"][1].checked || form.elements["professional"][2].checked)
	{
		// Profession chosen, make sure title is entered
		if (form.elements["professional"][0].checked)
		{
			if (form.elements["Title1"].value == "" || form.elements["Title1"].value == null)
			{
				alert('Please enter your Title.');
				return false;
			}
		}
		if (form.elements["professional"][1].checked)
		{
			if (form.elements["Title2"].value == "" || form.elements["Title2"].value == null)
			{
				alert('Please enter your Title.');
				return false;
			}
		}
		if (form.elements["professional"][2].checked)
		{
			if (form.elements["Title3"].value == "" || form.elements["Title3"].value == null)
			{
				alert('Please specify your Profession.');
				return false;
			}
		}
	}
	else
	{
		alert('Please enter your Profession.');
		return false;
	}
	return true;
}

function confirmLeave(smsg)
{
	return confirm(smsg + "  Do you wish to continue?");
}