var pop = true; // to pop or not to pop

function PopOff() { pop = false; }

window.onload = window_onload;
window.onunload = window_onunload;

function window_onload() {
	if (document.forms[0]) {
		document.forms[0].txtFName.focus();
	}

	document.forms[0].onsubmit = submit_form;
	
	var links = document.getElementsByTagName("a");
	for (var i=0; i<links.length; i++)
		links[i].onclick = PopOff;
}

function window_onunload() {
	if (pop) {
		popup = window.open('pops/no_time/','hppop','width=300,height=372,left=20,top=20');
		if (popup) if (popup.focus) popup.focus();
	}
}

// Submit form from submit button on form1
function submit_form() {
	var b = document.forms[0].btnStep1;
	b.value = "validating";
	b.disabled = true;
	
	if (validate_form()) {
		PopOff();		
		b.disabled = false;
		return true;
	}

	b.value = "continue";
	b.disabled = false;
	return false;
}
	
// Validates Form1 default.aspx
function validate_form() {
	var f = document.forms[0];
			
	// First Name
	if (f.txtFName) {
		if (f.txtFName.value.length == 0) { f.txtFName.focus(); return error_alert("First Name is required"); }
		//else if (!/^([\w\.]+ )+[\w\.]+$/.test(f.txtFName.value)) { f.txtFName.focus(); return error_alert("First Name is not in a valid format \nPlease remove any special or non-English characters"); }
	}
	// Last Name
	if (f.txtLName) {
		if (f.txtLName.value.length == 0) { f.txtLName.focus(); return error_alert("Last Name is required"); }
		//else if (!/^([\w\.]+ )+[\w\.]+$/.test(f.txtLName.value)) { f.txtLName.focus(); return error_alert("Last Name is not in a valid format \nPlease remove any special or non-English characters"); }
	}
	// Email
	if (f.txtEmail) {
		if (f.txtEmail.value.length == 0) { f.txtEmail.focus(); return error_alert("Email address is required"); }
		else if (!/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/.test(f.txtEmail.value)) { f.txtEmail.focus(); return error_alert("Email address must be of the format aaa@bbb.ccc"); }
	}		
	// Address
	if (f.txtAddress) { 
		if (f.txtAddress.value.length == 0) { f.txtAddress.focus(); return error_alert("Address is required"); }
	}
	// City
	if (f.txtCity) {
		if (f.txtCity.value.length == 0) {f.txtCity.focus(); return error_alert("City is required"); }
	}
	// State
	if (f.txtState) {
		if (f.txtState.value.length == 0) { f.txtState.focus(); return error_alert("State is required"); }
		else if ((!/^[A-Za-z]{2}$/.test(f.txtState.value))) { f.txtState.focus(); return error_alert("State is not valid.  /nState must be two alphabetic characters."); }
	}
	// Zip Code
	if (f.txtZip) {
		if (f.txtZip.value.length == 0) { f.txtZip.focus(); return error_alert("Zip code is required."); }
		else if ((!/^\d{5}$/.test(f.txtZip.value))) { f.txtZip.focus(); return error_alert("Zip code is not valid. \nZip code must be five numeric digits."); }
	}
	// Phone
	if (f.txtPhone) {
		if (f.txtPhone.value.length == 0) { f.txtPhone.focus(); return error_alert("Phone number is required."); }
		/*else if ((!/^\d{10}$/.test(f.txtPhone.value))) { f.txtPhone.focus(); return error_alert("Phone number is not valid. \nPhone number must be ten numeric digits."); }*/
		else if ((!/^((\([2-9]\d{2}\) ?)|([2-9]\d{2}-)|([2-9]\d{2}(\.| )?))\d{3}(-|\.| )?\d{4}$/.test(f.txtPhone.value))) { f.txtPhone.focus(); return error_alert("Phone number is not valid."); }
	}
	return true;
	
	function error_alert(errtxt) {
		alert(errtxt);
		return false;
	}
}