function preValidate(url, data){
  var name = $(data.dom).attr('name');
  removeStatus(name);
  addSpinner(data.dom, name);
}

function clearValidation(name) {
  $('#'+name).removeClass('validation-error');
  $('#'+name).removeClass('validation-ok');
  $('#'+name).removeClass('validation-working');
}

function addSpinner(dom, name) {
  clearValidation(name);
  $('#id_'+name).addClass('validation-working');
}

function removeStatus(name) {
  $('#'+name+'-status').fadeOut('slow', function() {
    $('#'+name+'-status').remove(); 
    });
}

function addError(name) {
  clearValidation(name);
  $('#id_'+name).addClass('validation-error'); 
}

function addOk(name) {
  clearValidation(name);
  $('#id_'+name).addClass('validation-ok');
  var cmd = 'clearValidation("id_' + name + '");';
  setTimeout(cmd, 1000); 
}

