

 var W3CDOM = (document.getElementsByTagName && document.createElement);

window.onload = function () {
	document.forms['memberform'].onsubmit = function () {
		return validate()
	}
}

function validate() {
	validForm = true;
	firstError = null;
	errorstring = '';
	var x = document.forms['memberform'].elements;
	for (var i=0;i<x.length;i++) {
		if ( (!x[i].value) && (i!= 4) )
			writeError(x[i],'<');
	}
	
	var illegalChars = /\W/;	
	if (illegalChars.test(x['username'].value)) {   
	  alert("The username contains illegal characters. Use letters, numbers, and underscores only.");
	  writeError(x['username'],'<');
	}
	

	if (x['email'].value.indexOf('@') == -1)
		writeError(x['email'],'<');
	if (!W3CDOM)
		alert(errorstring);
	if (firstError)
		firstError.focus();
	if (x['password'].value != x['cpassword'].value) {
	  	writeError(x['password'],'<');
	    writeError(x['cpassword'],'<');
	}

    if (validForm)
		return;
		
	return false;
}

function writeError(obj,message) {
	validForm = false;
	if (obj.hasError) return;
	if (W3CDOM) {
		obj.className += ' error';
		obj.onchange = removeError;
		var sp = document.createElement('span');
		sp.className = 'error';
		sp.appendChild(document.createTextNode(message));
		obj.parentNode.appendChild(sp);
		obj.hasError = sp;
	}
	else {
		errorstring += obj.name + ': ' + message;
		obj.hasError = true;
	}
	if (!firstError)
		firstError = obj;
}

function removeError()
{
	this.className = this.className.substring(0,this.className.lastIndexOf(' '));
	this.parentNode.removeChild(this.hasError);
	this.hasError = null;
	this.onchange = null;
}

function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);


