function sect1(form) {	var i;	var err="";
	var badema;	var luser;
	var user=trim(form['RegUser'].value);
	var pass=trim(form['PASSWD'].value);
	var pas2=trim(form['PASSW2'].value);
	var emal=trim(form['Email'].value);
	var ema2=trim(form['Emai2'].value);
	var fone=trim(form['Fone'].value);
	var cell=trim(form['Cell'].value);
	var zip=trim(form['Zip'].value);
	var fee=trim(form['Fee'].value);
	var update=form['fUNC'].value;	//careful to have all fields in form for both signup and update

	err=nullval(user,'Please supply a username',err);
	if (user.match(/[^\w_-]/)) {
		err=err+"Invalid character in username.\n";
	} else if (is_user[user]){
		if (!update) err=err+"username \""+user+"\" already in use. Please choose another.\n";
	} else {
		if (update) {
			err=err+"username \""+user+"\" not found.\n";
		} else {
			luser=user.toLowerCase();
			if (lo_user[luser]) {	err=err+="username \""+user+"\" already taken. Please choose another.\n";	}
		}
	}
	if (pass.length < 6) {	err=err+"Password must be at least 6 characters.\n";
	} else {
		if (pass.match(/[a-zA-Z]/) && pass.match(/[0-9]/)) {
			if (pass != pas2) {	err=err+"Your passwords do not match.\n";	}
		} else {
			err=err+"Password must contain at least one alpha and one numeric character.\n";
		}
	}
	if (emal.length < 5) {
		err=err+"Please supply a valid email address.\n";
	} else {
		if (badema=chek_ema(emal)) {	err=err+badema+": "+emal+".\n";	}
		if (emal != ema2) {	err=err+"Your email addresses do not match.\n";	}
	}
	err=nullval(form['Fname'].value,'Please supply a first name',err);
	err=nullval(form['Lname'].value,'Please supply a last name',err);
	if (!radio(form['Gender'])) {	err=err+"Please select your gender.\n";	}
	err=nullval(form['Loc'].value,'Please supply your location',err);
	if (form['State'].options[form['State'].selectedIndex].value==''){ err=err+"Please select a state.\n";	}
	if (zip.length!=5 || zip.match(/\D/)) err=err+"Please supply a valid zip code.\n";
	if (fone.match(/[^\w\(\)\s-\.]/)) {
		err=err+"Your telephone is invalid.\n";
	} else if (fone.length>0 && fone.length<10) {
		err=err+"Your telephone should be at least 10 digits.\n";
	} else {
		err=nullval(form['Fone'].value,'Please supply your telephone',err);
	}
	if (cell.match(/[^\w\(\)\s-\.]/)) {
		err=err+"Your cellphone is invalid.\n";
	} else if (cell.length>0 && cell.length<10) {
		err=err+"Your cellphone should be at least 10 digits.\n";
	}
	if (fee.length<1 || fee.match(/\D/)) err=err+"Please supply a valid hourly fee using only digits.\n";
	if (err.length>0) {
		alert(err);
		if (checkbox(form['fORCE'])) {	alert("proceed anyway");	return true;	}
		return false;
	}	return true;
}
function sect2(form) {	var i;	var err="";
//	var level;	var levels=0;	var totlevels=3;
//	for (i=1;i<=totlevels;i++) {	level="LEVEL"+i;	if (checkbox(form[level])) {	levels++;	}	}
//	if (levels==0) {	err=err+"Please choose at least one level.\n";		}
//if (form['SUBJ1'].options[form['SUBJ1'].selectedIndex].value==''){ err=err+"Please select a first subject.\n";	}
	err=nullval(form['EDU'].value,'Please fill in your education',err);
	if (!radio(form['EDUTYPE']))	{	err=err+"Please check either \"html\" or \"text\" text type for education.\n"; }
	err=nullval(form['BIO'].value,'Please fill in your biography',err);
	if (!radio(form['BIOTYPE']))	{	err=err+"Please check either \"html\" or \"text\" text type for biography.\n"; }
	if (err.length>0) {alert(err); return false;}	return true;
}
function sect3(form) {	var i;	var err="";	var referr="";
//	var term=trim(form['tERM'].value);
//	var priv=trim(form['pRIV'].value);
//	if(term != "integrity")	{	err=err+"Please complete the first agreement box properly.\n";	}
//	if(priv != "precaution")	{	err=err+"Please complete the second agreement box properly.\n";	}
	if (! checkbox(form['aGREE'])) {	err=err+"Please read the user agreement and click the \"agreement\" box.\n";	}
	referr=referer(form);	err=err+referr;
	if (err.length>0) {
		alert(err);
		if (checkbox(form['fORCE'])) {	alert("finish anyway");	return true;	}
		return false;
	}	return true;
}
function sect4(form) {	var i;	var err="";
	err=nullval(form['HtmTitle'].value,'title should not be empty',err);
	err=nullval(form['HtmHead'].value,'heading should not be empty',err);
	if (err.length>0) {alert(err); return false;}	return true;
}
function sect5(form) {	var i;	var referr="";
	referr=referer(form);
	if (referr.length>0) {alert(referr); return false;}	return true;
}
function referer(form) {	var rer="";
	var ref=trim(form['RefUser'].value);
	var user=trim(form['RegUser'].value);
	var lref;
	if(ref.length>0) {
		if (ref == user) {	return("You cannot refer yourself.\n");	}
		if (!is_user[ref]) {
			lref=ref.toLowerCase();
			if (lo_user[lref]) {	rer=" Did you mean \""+lo_user[lref]+"\"?";	}
			return("username \""+ref+"\" is not a registered tutor."+rer+"\n");
		}
		if (!pd_user[ref]) {	return("username \""+ref+"\" has not yet paid and is not eligible for referral.\n"); }
	}
	return("");
}
