// JavaScript Document

function checkEmail(estring)
{
	return (str.indexOf(".") > 2) && (str.indexOf("@") > 0);
}

function checkPassword(pwd, cpwd)
{
	if(pwd == cpwd)
	{
		return true;
	}
	else
	{
		return false;	
	}
	
}

function markRequired(theform)
{
	var sf = new Array();
	var msg = "";
	sf = theform.specialfields.value.split(",");
	for(var i=0; i < sf.length; i++)
	{
		theform[sf[i]].style.background = "#FFFFAA";
	}
}

function trim(s)
{
  return s.replace(/^\s+|\s+$/, '');
}

function validateEmail(fld) {
    var error="";
	var chk;
    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
   
    if (fld.value == "") 
	{
        fld.style.background = 'Yellow';
        error = "You didn't enter an email address.\n";
		chk = 0;
    } 
	else if (!emailFilter.test(tfld)) 
	{              //test email for illegal characters
        fld.style.background = 'Yellow';
        error = "Please enter a valid email address.\n";
		chk = 0;
    } 
	else if (fld.value.match(illegalChars)) 
	{
        fld.style.background = 'Yellow';
        error = "The email address contains illegal characters.\n";
		chk = 0;
    } 
	else 
	{
        fld.style.background = 'White';
		chk = 1;
    }
    return chk;
}

function validatePassword(fld) 
{
    var error = "";
	var chk;
    var illegalChars = /[\W_]/; // allow only letters and numbers 
 
    if (fld.value == "") 
	{
        fld.style.background = 'Yellow';
        error = "You didn't enter a password.\n";
		chk = 0;
    } 
	else if ((fld.value.length < 7) || (fld.value.length > 10)) 
	{
        error = "The password is the wrong length. \n";
        fld.style.background = 'Yellow';
		chk = 0;
    } 
	else 
	{
        fld.style.background = 'White';
		chk = 1;
    }
   return chk;
}  

function fieldCheck(theform)
{
	var rf = new Array();
	var msg = "";
	var rchk = 1;
	
	rf = theform.reqfields.value.split(",");
	sf = theform.specialfields.value.split(",");
	
	for(var i=0; i < rf.length; i++)
	{
		if(theform[rf[i]].value == "" || theform[rf[i]].value == null)
		{
			msg += rf[i] + " needs to be completed.\n";
			theform[rf[i]].style.background = "#FFFFAA";
			rchk = 0;
		}
	}
	
	for(var z=0; z < sf.length; z++)
	{
		if(sf[z] == "password")
		{
			rchk = validatePassword(theform[sf[z]]);
			//$msg += (rchk == 0)?"You have an invalid passowrd":"";
		}
		else if(sf[z] == "email")
		{
			rchk = validateEmail(theform[sf[z]]);
			//$msg += (rchk == 0)?"You have an invalid email":"";
		}
	}
	
	if(checkPassword(theform.password.value, theform.cpassword.value) == false)
	{
		msg += "Your passwords do not match.\n";
		rchk = 0;
	}
	
	if(rchk == 0 || rchk == null)
	{
		alert(msg);
		return false;
	}
	else
	{
		return true;
	}
}
