/*globals alert,escape,document,navigator */
var _eg = '';

function chkea(email) {
	var regex = /^[a-zA-Z0-9\._\-]+@([a-zA-Z0-9\._\-]+\.)+[a-zA-Z0-9\.\-]{2,4}$/;
	if (email !== '' && regex.test(email)) {
		var IFrameObj = document.getElementById('emailavail');
		if (!IFrameObj.src) {
			IFrameObj.document.location.replace('http://www.accureport.com/_check_email.cfm?email=' + escape(email));
		} else {
			IFrameObj.src = 'http://www.accureport.com/_check_email.cfm?email=' + escape(email);
		}
		IFrameObj.onload = function () {
			if (!_eg) {
				alert('That E-Mail address is already in use. Please provide another e-mail address or if you have forgotten your password, click on the password recovery link located on the user login box on your left.\n\nIf you have just registered and used this e-mail address, then you need to wait 1 hour for the temporary record to get purged from our system. (' + _eg + ')');
				document.RegistrationForm.E.focus();
			}
		};
	}
}

function checkAccountType() {
	var df = document.RegistrationForm;
	if (df.AT[0].checked === false) { 
		document.getElementById("BINFO").style.display = "none";
	} else { 
		document.getElementById("BINFO").style.display = ((navigator.appName).indexOf("Microsoft") >= 0) ? "block": "block";
	}
}

function validateRegistrationForm() {
	var df = document.RegistrationForm;
	var err = "";
	var alphanum = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
	var regex = /^[a-zA-Z0-9\._\-]+@([a-zA-Z0-9\._\-]+\.)+[a-zA-Z0-9\.\-]{2,4}$/;

	// First Name
	if (df.FN.value === "" || df.FN.value.length <= 1) {
		err += "You must provide a valid FIRST NAME.\n";
	}
	// Last Name
	if (df.LN.value === "" || df.LN.value.length <= 1) {
		err += "You must provide a valid LAST NAME.\n";
	}
	// ADDRESS 1
	if (df.A1.value === "" || df.A1.value.length <= 3) {
		err += "You must provide a valid STREET ADDRESS.\n";
	}
	// CITY
	if (df.C.value === "" || df.C.value.length <= 3) {
		err += "You must provide a valid CITY.\n";
	}
	// STATE
	if (df.S.selectedIndex < 0) {
		err += "You must select a STATE.\n";
	}
	// ZIP
	if (df.Z.value === "" || df.Z.value.length <= 3) {
		err += "You must provide a valid ZIP code.\n";
	}
	// HOME PHONE
	if (df.P1.value === "" || df.P1.value.length <= 13) {
		err += "You must provide a valid HOME PHONE.\n";
	}

	if (df.AT[0].checked === true) {
		// Business Name
		if (df.BN.value === "" || df.BN.value.length <= 1) {
			err += "You must provide a valid BUSINESS NAME.\n";
		}
		// Business Street ADDRESS 1
		if (df.BA1.value === "" || df.BA1.value.length <= 3) {
			err += "You must provide a valid BUSINESS STREET ADDRESS.\n";
		}
		// Business CITY
		if (df.BC.value === "" || df.BC.value.length <= 3) {
			err += "You must provide a valid BUSINESS CITY.\n";
		}
		// Business STATE
		if (df.BS.selectedIndex < 0) {
			err += "You must select a BUSINESS STATE.\n";
		}
		// Business ZIP
		if (df.BZ.value === "" || df.BZ.value.length <= 3) {
			err += "You must provide a valid BUSINESS ZIP code.\n";
		}
		// Business PHONE
		if (df.BP1.value === "" || df.BP1.value.length <= 13) {
			err += "You must provide a valid BUSINESS PHONE.\n";
		}
	}

	// TERMS OF USE
	if (df.ATT[0].checked === false) {
		err += "You must agree to the TERMS OF USE.\n";
	}
	// E-Mail
	if (df.E.value === "" || !regex.test(df.E.value)) {
		err += "You must provide a valid E-MAIL address.\n";
	}
	// Password
	if (df.PW1.value === "" || df.PW1.value.length <= 4 || df.PW1.value.length >= 16) {
		err += "You must provide a valid PASSWORDS. Passwords must be between 5-15 characters long and not contain any special characters.\n";
	} else {
		// Password2
		if (df.PW2.value === "" || df.PW2.value.length <= 4) {
			err += "You PASSWORDS do not match.\n";
		}
	}
	// Do the passwords match?
	if (df.PW1.value !== "" && df.PW2.value !== "") {
		if (df.PW1.value !== df.PW2.value) {
			err += "You PASSWORDS do not match.\n";
		} else {
			// passwords match but is it valid?
			if (alphanum.indexOf(df.PW1.value) > -1) {
				err += "Your PASSWORDS must not contain any special characters.\n";
			}
		}
	}

	if (err === "") {
		df.submit();
	} else {
		alert('The following error(s) occurred:\n' + err);
		return false;
	}
}