function gebi(i) {
	return (document.all && !document.getElementById) ? document.all[i] : document.getElementById(i);
}

function isEmailAddress(email) {
	if (email.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1) return true;
	else return false;
}

function validateContact() {
	var passed = true;
	var size = gebi("sa_size");
	var segment = gebi("sa_segment");
	var research = gebi("sa_research");
	var terms = gebi("sa_terms");
	if (gebi("sa_f_name").value == "") { passed = false; gebi("sa_f_name_label").className = "sa_missing"; }
	else gebi("sa_f_name_label").className = "sa_ok";
	if (gebi("sa_l_name").value == "") { passed = false; gebi("sa_l_name_label").className = "sa_missing"; }
	else gebi("sa_l_name_label").className = "sa_ok";
	if (gebi("sa_company").value == "") { passed = false; gebi("sa_company_label").className = "sa_missing"; }
	else gebi("sa_company_label").className = "sa_ok";
	if (size != null && size.selectedIndex == 0) { passed = false; gebi("sa_size_label").className = "sa_missing"; }
	else if (size != null) gebi("sa_size_label").className = "sa_ok";
	if (segment != null && segment.selectedIndex == 0) { passed = false; gebi("sa_segment_label").className = "sa_missing"; }
	else if (segment != null) gebi("sa_segment_label").className = "sa_ok";
	if (!isEmailAddress(gebi("sa_email").value)) { passed = false; gebi("sa_email_label").className = "sa_missing"; }
	else gebi("sa_email_label").className = "sa_ok";
	if (gebi("sa_ph0").value.search(/^[0-9]{3}$/) == -1 || gebi("sa_ph1").value.search(/^[0-9]{3}$/) == -1
		|| gebi("sa_ph2").value.search(/^[0-9]{4}$/) == -1) { passed = false; gebi("sa_phone_label").className = "sa_missing"; }
	else if (gebi("sa_ph0").value.search(/^[2-9][0-9]{2}$/) == -1 || gebi("sa_ph1").value.search(/^[2-9][0-9]{2}$/) == -1) { passed = false; gebi("sa_phone_label").className = "sa_missing";
		alert("At present, we can only serve organizations in the United States or Canada.\n"
			+ "Please provide a valid North American phone number.");
	}
	else gebi("sa_phone_label").className = "sa_ok";
	if (research != null && research.selectedIndex == 0) { passed = false; gebi("sa_research_label").className = "sa_missing"; }
	else if (research != null) gebi("sa_research_label").className = "sa_ok";
	if (terms != null && terms.checked == false) { passed = false; gebi("sa_terms_label").className = "sa_missing"; }
	else if (terms != null) gebi("sa_terms_label").className = "sa_ok";
	return passed;
}

function moveOnMax(field, nextFieldID) {
	if (field.value.length >= field.maxLength) {
		gebi(nextFieldID).focus();
	}
}

function popup(url, w, h, s, r) {
	s = s == void 0 ? ',scrollbars=1' : '';
	r = r == void 0 ? ',resizable=1' : '';
	l = (screen.width) ? (screen.width - w)/2 : 0;
	t = (screen.height) ? (screen.height - h)/2 : 0;
	winpops = window.open(url,'','top='+t+',left='+l+',width='+w+',height='+h+s+r);
}
