function addError(errorDivId, errorText) {
	$(errorDivId).innerHTML=errorText;
	$(errorDivId).style.display='';
}
function checkPw() {
	var p1 = $('u_password1');
	var p2 = $('u_password2');
	if(p1.value.length < 6 || p1.value != p2.value) {
		addError('pwError', 'Your passwords are too short or do not match.');
		p1.focus();
		p1.select();
		setRegSubmitDisabled();
		return false;
	}
	else Effect.Fade('pwError');
	return true;
}

function isEmpty(element) {
	var e = $(element);
	return e.value.length < 1;
}

function setRegSubmitEnabled()
{
	var regSubmit = $('regformsubmit');
	if(regSubmit.hasClassName('yui-button') || regSubmit.hasClassName('yui-button-disabled'))
	{
		YAHOO.widget.Button.getButton('regformsubmit').set('disabled', false);
	}
	else
	{
		regSubmit.writeAttribute({'disabled': null});
	}
}

function setRegSubmitDisabled()
{
	var regSubmit = $('regformsubmit');
	if(regSubmit.hasClassName('yui-button') || regSubmit.hasClassName('yui-button-disabled'))
	{
		YAHOO.widget.Button.getButton('regformsubmit').set('disabled', true);
	}
	else
	{
		regSubmit.writeAttribute({'disabled': true});
	}
}

function isRegSubmitDisabled()
{
	var regSubmit = $('regformsubmit');
	if(regSubmit.hasClassName('yui-button') || regSubmit.hasClassName('yui-button-disabled'))
	{
		return YAHOO.widget.Button.getButton('regformsubmit').get('disabled');
	}
	else
	{
		return regSubmit.readAttribute('disabled');
	}
}
function checkForm() {	

	setRegSubmitEnabled();
	/* check the Terms of Service checkbox */
	if ($('termsOfService').checked == true)
		setRegSubmitEnabled();
	
	if ($('termsOfService').checked == false)
		setRegSubmitDisabled();
	
	/* check required fields */
	var requiredFields = new Array('d_firstname', 'd_lastname', 'u_firstname', 'u_lastname', 'u_email', 'u_password1', 'u_password2');
	for(var i = 0; i < requiredFields.length; i++ )
	{
		if(isEmpty(requiredFields[i])) 
		{
			setRegSubmitDisabled();
			break;
		}
	}
	if ($('nametakenerror').innerHTML.indexOf("Sorry") != -1) 
		setRegSubmitDisabled();
	
	if (!isRegSubmitDisabled()) 
		checkPw();
}

function validateForm() {
	new Ajax.Updater('dummy', '/registries/validateRegForm', {evalScripts: true});
	if(!checkPw()) return false;
	return true;
}

function updateField() {
	new Ajax.Updater('nametakenerror', '/registries/validateRegname', {parameters: Form.Element.serialize('r_name')});
	//$('regformsubmit').disabled = true;
}