// CyBeRev 
// 
// Javascript Function Library
// The following functions are used
// to validate input data

function isNumber(a) {
//Validate value is a number.
//Generic number check
    var RegExPattern = /^\d+$/;
    if ((a.match(RegExPattern)) && (a !='')) {
		return true;
    }
    else
    {
		return false;
	}
}
function isYear(inp) {
//validate 4 digit year
//uses isNumber
	invalid = true;
	msg = "";
	if(isNumber(inp.value))
	{
		if(inp.value.length == 4)
		{
			invalid = false;
		}
		else
		{
			invalid = true;
			msg = "Year Born must be 4 digits.";
		}
	}
	else
	{
		invalid = true;	
		msg = "The value entered for Year Born is not a number.";
	}
	if(invalid == true)
	{
		alert(msg+"\n\nPlease enter a valid 4 digit number for Year Born.");
		inp.focus();
	}	
	return !invalid;
	
}
function ChangePWD_submit(inp) {
//Checks Password and validates if an update can be made.
	if (document.getElementById("vcLoginPassword").value.length != "") 
	{
	    if(ChangePWD_isPasswordGood(document.getElementById("vcLoginPassword"))){
		    inp.submit();	
		}
		else{
		   msg="";
		}
	} else {
		alert("Passwords cannot be blank.");
		document.getElementById("vcLoginPassword").focus();
		return false;
	}
}

function ChangePWD_isPasswordGood(inp) {
//Checks to verify password is strong
//input must be at least 7 digits long
//contain at least one of the following
//	1 CAP Letter
//  1 Number
//  1 lower Letter

	if(inp.value.length != 0)
	{
		msg = "";
		if(inp.value.length < 7) 
		{
			msg = "Password Length is shorter than 7 digits.\n";
		}
	
		var RegExPattern = /\d+/g;
		if(! inp.value.match(RegExPattern))
		{
			msg += "Password must contain at least one number.\n";
		}
	
		var RegExPattern = /[a-z]/g;
		if(! inp.value.match(RegExPattern))
		{
			msg += "Password must contain at least one lower case character.\n";
		}
	
		var RegExPattern = /[A-Z]/g;
		if(! inp.value.match(RegExPattern))
		{
			msg += "Password must contain at least one upper case character.\n";
		}
	
		//Check for illegal characters
		//The space and it's variations (line feed, tab, etc.)
		var RegExPattern = /\s/g;
		if(inp.value.match(RegExPattern))
		{
			msg += "Password cannot contain spaces.";
		}
		
		var RegExPattern = /\W/;
        // allow only letters, numbers, and underscores
        if ( inp.value.match(RegExPattern)) {
            msg += "The password may contain only letters, numbers, and underscores";
        } 
		
		
		if(msg != "") 
		{
			alert("The password entered is invalid.\nPlease correct the following problems.\n\n" + msg);
			inp.focus();
			return false;
		}
		return true;
	}
}

function isPasswordGood(inp) {
//Checks to verify password is strong
//input must be at least 7 digits long
//contain at least one of the following
//	1 CAP Letter
//  1 Number
//  1 lower Letter

	msg = "";
	if(inp.value.length < 7) 
	{
		msg = "Password Length is shorter than 7 digits.\n";
	}
	
	var RegExPattern = /\d+/g;
	if(! inp.value.match(RegExPattern))
	{
		msg += "Password must contain at least one number.\n";
	}
	
	var RegExPattern = /[a-z]/g;
	if(! inp.value.match(RegExPattern))
	{
		msg += "Password must contain at least one lower case character.\n";
	}
	
	var RegExPattern = /[A-Z]/g;
	if(! inp.value.match(RegExPattern))
	{
		msg += "Password must contain at least one upper case character.\n";
	}
	
	//Check for illegal characters
	//The space and it's variations (line feed, tab, etc.)
	var RegExPattern = /\s/g;
	if(inp.value.match(RegExPattern))
	{
		msg += "Password cannot contain spaces.";
	}
	
	var RegExPattern = /\W/;
        // allow only letters, numbers, and underscores
        if ( inp.value.match(RegExPattern)) {
            msg += "The password may contain only letters, numbers, and underscores";
        } 
		
	
	if(msg != "") 
	{
		alert("The password entered is invalid.\nPlease correct the following problems.\n\n" + msg);
		inp.focus();
		return false;
	}
	return true;
}

function valNewUserFrm(inp)
{
	//check all the fields
	//everything is required
	
	for (i=0; i<inp.elements.length; i++){
		if (inp.elements[i].value == "" && inp.elements[i].name != 'frmFunction')
		{
			alert("All Fields must be filled in.\n\nPlease complete the form before attempting to register.");
			return false;
		}	
	}
	if (document.getElementById("vcLoginName").value.length < 7) 
	{
		alert("The user ID entered is not long enough.  A user ID must be at least 7 characters.");
		document.getElementById("vcLoginName").focus();
		return false;
	}
	if (!isYear(document.getElementById("cYearBorn"))) 
	{
		document.getElementById("cYearBorn").focus();
		return false;
	}
	
	if (document.getElementById("vcLoginPassword").value != document.getElementById("vcPassConfirm").value)
	{
	    alert("The password in the Confirm password field does not match the password in the Enter password field");
		document.getElementById("vcLoginPassword").focus();
		return false;
	}
	var RegExPattern = /\W/;
        // allow only letters, numbers, and underscores
    var msg = "";
    if ( document.getElementById("vcLoginName").value.match(RegExPattern)) {
            msg = "The username may contain only letters, numbers, and underscores";
    } 
    if(msg != "") 
    { 
		alert("The username entered is invalid.\nPlease correct the following problems.\n\n" + msg);
		inp.focus();
		msg = "";
		return false;
    }
    if(ChangePWD_isPasswordGood( document.getElementById("vcLoginPassword"))){
	   document.getElementById("frmFunction").value = 'UserDataGood';
       inp.submit();
    }
    else{
       msg = "";
    }
}
//updated
function valUserFrm(inp)
{
	//check all the fields
	//everything is required
	
	for (i=0; i<inp.elements.length; i++){
		if (inp.elements[i].value == "" && inp.elements[i].name != 'frmFunction' 
			&& inp.elements[i].name != "vcGender" && inp.elements[i].name != "vcAgeGroup"&& inp.elements[i].name != "vcCurrentLocation")
			
		{
			alert("One or more required fields was not filled in.\n\nPlease complete the form before attempting to register.");
			return false;
		}	
	}
    if(isYear(document.getElementById('cYearBorn')))
    {	
	    inp.frmFunction.value = 'UserDataGood';
	    inp.submit();
	}
	return true;
}