function setErrorMessage(field, msg) {
	var elem = getErrorMessageContainer(field);
	if (elem) {
		elem.innerHTML = msg;
	}
}
function clearErrorMessage(field) {
	setErrorMessage(field, '');
}

function getErrorMessageContainer(field) {
	return document.getElementById('error_' + field);
}

function handleSuccess(o) {
	var response = o.responseText;

	if (response.indexOf('OK') == 0) {
		if (o.argument.field) clearErrorMessage(o.argument.field);
		return true;
	}

	var rows = response.split('\n');
	var errors = {};
	for (var i = 0; i < rows.length; i++) {
		if (rows[i].indexOf(':') != -1) {
			var pair = rows[i].split(':');
			errors[pair[0]] = pair[1].split(';');
		}
	}

	if (typeof errors.invalid != "undefined") {
		for (var i = 0; i < errors.invalid.length; i++) {
			setErrorMessage(errors.invalid[i], locale.validation.invalid);
		}
	}

	if (typeof errors.missing != "undefined") {
		for (var i = 0; i < errors.missing.length; i++) {
			 setErrorMessage(errors.missing[i], locale.validation.missing);
		}
	}

}

function handleFailure() {
	// NOP
}

function check4errors(form) {
  var spans = form.getElementsByTagName('SPAN');
  for (var i = 0; i < spans.length; i++) {
  	if (spans[i].id.indexOf('error_') == 0 && spans[i].innerHTML != "&nbsp;" && spans[i].innerHTML != "") {
  	  return false;
  	}
  }
 return true;
}