
function usernameChk(){
	$('username').value=trim($('username').value);
	if($('username').value==''){
		classAdd($('username'),'error');
		classAdd($('username_status'),'error');
		classRem($('username_status'),'ok');
		$('username_status').innerHTML='Dude... you need a username';
		$('username').focus();
		return false;
	}else if($('username').value==username_cur){
		return false;
	}
		
	$('busy').style.visibility='visible';
	var ajaxIndex=ajaxObjects.length;
	ajaxObjects[ajaxIndex]=new sack();
	with(ajaxObjects[ajaxIndex]){
		requestFile ="/members/";
		setVar("username",$('username').value);
		setVar("id",$('id').value);
		setVar("action","usernamechk");
		onCompletion=function(){usernameChkComplete(ajaxIndex);};
		runAJAX();
	}
}

function usernameChkComplete(index){
	existing=ajaxObjects[index].response;
	if(existing>0){
		msg="username '"+$('username').value+"' has already been taken";
		classAdd($('username'),'error');
		classAdd($('username_status'),'error');
		classRem($('username_status'),'ok');
		$('username').focus();
	}else{
		msg="username '"+document.sForm.username.value+"' is available";
		classRem($('username'),'error');
		classRem($('username_status'),'error');
		classAdd($('username_status'),'ok');
	}
	$('username_status').innerHTML=msg;
	$('busy').style.visibility='hidden';
}

function passwdChk(suffix){
	$('password').value=trim($('password').value);
	$('password2').value=trim($('password2').value);
	if($('password').value>'' && $('password').value.length<6){
		classAdd($('password'),'error');
		$('password1_status').innerHTML="password must be at least 6 chars long";
		classAdd($('password1_status'),'error');
		classRem($('password1_status'),'ok');
		document.sForm.password2.onfocus=function(){document.sForm.password.focus()};
		return false;
	}else{
		document.sForm.password2.onfocus='';
		in_focus();
		classRem($('password'),'error');
		$('password1_status').innerHTML='password long enough';
		classRem($('password1_status'),'error');
		classAdd($('password1_status'),'ok');
	}
	if(suffix==1){
		classRem($('password'),'error');
		if($('password2').value=='')	return false;
	}
	if($('password').value!=$('password2').value){
		msg="passwords do not match";
		classAdd($('password'),'error');
		classAdd($('password2'),'error');
		classAdd($('password_status'),'error');
		classRem($('password_status'),'ok');
		$('password').focus();
	}else{
		msg="passwords match";
		classRem($('password'),'error');
		classRem($('password2'),'error');
		classRem($('password_status'),'error');
		classAdd($('password_status'),'ok');
	}
	$('password_status').innerHTML=msg;
}

function emChk(){
	$('email').value=trim($('email').value);
	msg=email_check($('email').value);
	if(msg>''){
		$('email_status').innerHTML=msg;
		classAdd($('email'),'error');
		classAdd($('email_status'),'error');
		classRem($('email_status'),'ok');
		$('email').focus();
	}else{
		$('email_status').innerHTML='address syntax correct';
		classRem($('email'),'error');
		classRem($('email_status'),'error');
		classAdd($('email_status'),'ok');
	}
}

function frmVal(){
	fields=['username','password','password2','email'];
	firsterror='';
	delim='';
	for(i=0;i<fields.length;i++){
		field=$(fields[i]);
		field.value=trim(field.value);
		if(field.value){
			classRem(field,'error');
		}else{
			classAdd(field,'error');
			firsterror=(firsterror>''?firsterror:fields[i]);
		}
	}
	if(firsterror>''){
		showError("Required information is missing");
		$(firsterror).focus();
		return false;
	}

	if($('password').value.length<6){
		classAdd($('password'),'error');
		$('password1_status').innerHTML="password must be at least 6 chars long";
		classAdd($('password1_status'),'error');
		classRem($('password1_status'),'ok');
		$('password').focus();
		return false;
	}

	if($('password').value!=$('password2').value){
		classAdd($('password'),'error');
		classAdd($('password2'),'error');
		$('password').focus();
		showError('Passwords do not match');
		return false;
	}

	str=email_check($('email').value);
	if(str>''){
		showError(str);
		classAdd($('email'),'error');
		$('email').focus();
		return false;
	}
	
	if(!$('terms_read').checked){
		showError('You must agree to the terms of use');
		return false;
	}
	return true;	
}

function showError(what){
//	return false;
//	$('error_message').innerHTML="<p>"+what+"</p>";
	$('error_message').innerHTML=what;
}

addEvent(window,'load',function(){$('username').focus();},false);
