function validchk(thisform) {
	with (thisform) {
		if (emptychk(username,"Error: Username is required.")==false) {username.focus(); return false;};
		if (emptychk(firstname,"Error: First name is required.")==false) {firstname.focus(); return false;};
		if (emptychk(lastname,"Error: Last name is required.")==false) {lastname.focus(); return false;};
		if (emptychk(age,"Error: You must select your age range.")==false) {age.focus(); return false;};
		if (emptychk(address1,"Error: Address line 1 is required.")==false) {address1.focus(); return false;};
		if (emptychk(city,"Error: City is required.")==false) {city.focus(); return false;};
		if (emptychk(state,"Error: State is required.")==false) {state.focus(); return false;};
		if (emptychk(zipcode,"Error: Zip code is required.")==false) {zipcode.focus(); return false;};
		if (emptychk(country,"Error: Country is required.")==false) {country.focus(); return false;};
		if (emailchk(email,"Error: Email is missing or malformed.")==false) {email.focus(); return false;};
		if (emailchk(email2,"Error: Email is missing or malformed.")==false) {email2.focus(); return false;};
		if (document.form.email.value != document.form.email2.value) {
			alert("Error: Your email addresses do not match!");
			email.focus();
			return false;
		}
		if (emptychk(phone,"Error: Phone number is required.")==false) {phone.focus(); return false;};
		if (emptychk(hours_console,"Error: You must select how many hours per week you play console games.")==false) {hours_console.focus(); return false;};
		if (emptychk(hours_pc,"Error: You must select how many hours per week you play pc games.")==false) {hours_pc.focus(); return false;};
		if (!document.form.beta[0].checked && !document.form.beta[1].checked) {
			alert("Error: You must select whether or not you have beta tested before.");
			document.form.beta[0].focus(); 
			return false;
		}
		if (document.form.age.value == "1") {
			alert("Error: Sorry, you must be 18 years of age or older to apply!");
			return false;
		}
		if (emptychk(skill_level,"Error: You must select your computer skill level.")==false) {skill_level.focus(); return false;};
		if (emptychk(file,"Error: DxDiag is required.")==false) {file.focus(); return false;};
	}
}

function emptychk(what, alertbox) {
	with (what) {
   		if (value==null || value=="") {
			if (alertbox!="") {
				alert(alertbox);
			} 
			return false;
		} else {
			return true;
		}
	}
}

function emailchk(what, alertbox) {
	with (what) {
		apos=value.indexOf("@");
		dotpos=value.lastIndexOf(".");
		lastpos=value.length-1;
		if (apos<1 || dotpos-apos<2 || lastpos-dotpos>3 || lastpos-dotpos<2) {
			if (alertbox) {alert(alertbox);} return false;
		} else {
			return true;
		}
	}
}
  
//ANTI-SPAM EMAIL LINKS
function explodeArray(el,dl){
	a=new Array(1); var i=0; var s=new String(el); s=s.substring(7,s.length);
	while (s.indexOf(dl)>0){a[i]=s.substr(0,s.indexOf(dl)); s=s.substr(s.indexOf(dl)+1,s.length-s.indexOf(dl)+1); i=i+1}
	a[i]=s; return a;
}
var f=new RegExp(/^mailto:([a-zA-Z0-9_.-])+_at_NOSP_(([a-zA-Z0-9-])+_dot_)+([a-zA-Z0-9]{2,4})+$/);
window.onload=function() {
    if(document.getElementsByTagName) {
		x=document.getElementsByTagName('a');
		for (var i = 0; i < x.length; i++) {if (f.test(x[i])) {var y=explodeArray(x[i],'_'); y=('mai' + 'lto:' + y[0] + '@' + y[3] + '.' + y[5]); x[i].setAttribute('href',y);}}
	}
}
