// JavaScript Document

function emailValidate (emailStr) {
	var emailPattern=/^(.+)@(.+)$/
	var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	var validChars="\[^\\s" + specialChars + "\]"
	var quotedUser="(\"[^\"]*\")"
	var ipDomainPattern=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	var atom=validChars + "+"
	var word="(" + atom + "|" + quotedUser + ")"
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$")
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$")
	var matchArray=emailStr.match(emailPattern)
	var msg='';
	if (emailStr == ''){
		return true;
	} else {
		if (matchArray==null) {
			//email address is not in a valid format.
			return false;
		}
	}
	var user=matchArray[1]
	var domain=matchArray[2]
	if (user.match(userPat)==null) {
		//The username does not seem to be valid.
		return false;
	}
	var IPArray=domain.match(ipDomainPattern)
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				//Destination IP address is invalid.
				return false;
			}
		}
		return true
	}
	var domainArray=domain.match(domainPat)
	if (domainArray==null) {
		//The domain name does not seem to be valid.
		return false;
	}
	var atomPat=new RegExp(atom,"g")
	var domArr=domain.match(atomPat)
	var len=domArr.length
	if (domArr[domArr.length-1].length<2) {
		//The E-mail address must end in a three-letter domain, or two letter country.
		return false;
	}
	if (len<2) {
 		//This E-mail address is missing a hostname.
		return false;
	}
	// else return true;
	return true;
		
}


// RANDOM TEXT GENERATOR
function rand(n) {
  return (Math.floor(Math.random()*n+1));
}

function randomTextGenerator(formName) {
	var frm = formName;
	var consts = new Array ();
		consts[0]='b'; consts[1]='c'; consts[2]='d'; consts[3]='g'; consts[4]='k'; consts[5]='m'; consts[6]='n';
		consts[7]='p'; consts[8]='r'; consts[9]='s'; consts[10]='B'; consts[11]='C'; consts[12]='D'; consts[13]='G';
		consts[14]='K'; consts[15]='M'; consts[16]='N'; consts[17]='P'; consts[18]='R'; consts[19]='S';
	var vowels = new Array ();
	  	vowels[0]='a'; vowels[1]='e'; vowels[2]='i'; vowels[3]='o'; vowels[4]='u'; vowels[5]='A'; vowels[6]='E'; vowels[7]='U';
	var randtext = '';
  	for (x=0; x < 5; x++) {
		randtext += consts[rand(20)-1];
		randtext += vowels[rand(8)-1];
  	}
	frm.randomText.value = randtext;
	document.getElementById("rText").innerHTML = '<B>' + randtext + '</B>';
}

function chkRand(formName) {
	var frm = formName;
	if(!frm.randomText2.value.length) {
		alert("You must enter the random security text exactly as it appears on the screen.");
		frm.randomText2.focus();
		return false;
	} else if(frm.randomText2.value != frm.randomText.value) {
		alert("You must enter the random security text exactly as it appears on the screen.");
		frm.randomText2.focus();
		return false;
	} else {
		return true;
	}
}
// end random text generator
