function availability_cb(request) {
}

function check_existence(field) {
  if ($(field).value.length > 0) {
    $(field + '_success').style.display = "inline";
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_fullname(field) {
  check_regex(field,/^[a-zA-Z.]+\s[a-zA-Z]/);
}

function check_regex(field,regex) {
  if (regex.test($(field).value)) {
    $(field + '_success').style.display = "inline";
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_email(field) {
  var email_filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (email_filter.test($(field).value)) {
    $(field + '_success').style.display = "inline";
    var myAjax = new Ajax.Request(
        '/public/check_email_availability', 
        {
          method: 'get', 
          parameters: 'email=' + $F(field) , 
          onComplete: availability_cb
        });
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_government_email(field) {
  var email_filter  = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;
  if (email_filter.test($(field).value)) {
    $(field + '_success').style.display = "inline";
    var myAjax = new Ajax.Request(
        '/announcement/check_email_availability', 
        {
          method: 'get', 
          parameters: 'email=' + $F(field) , 
          onComplete: availability_cb
        });
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_phone(field) {
  var phone_filter  = /^[0-9]{10}$/;
  if (phone_filter.test($(field).value)) {
    $(field + '_success').style.display = "inline";
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_company_name(field) {
  if ($(field).value.length > 0) {
    var myAjax = new Ajax.Request(
        '/public/check_company_name_availability', 
        {
          method: 'get', 
          parameters: 'company_name=' + escape($F(field)) , 
          onComplete: availability_cb
        });
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_government_username(field) {
  if ($(field).value.length > 0) {
    var myAjax = new Ajax.Request(
        '/announcement/check_username_availability', 
        {
          method: 'get', 
          parameters: 'username=' + escape($F(field)) , 
          onComplete: availability_cb
        });
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_organization_name(field) {
  if ($(field).value.length > 0) {
    var myAjax = new Ajax.Request(
        '/announcement/check_organization_name_availability', 
        {
          method: 'get', 
          parameters: 'organization=' + escape($F(field)) , 
          onComplete: availability_cb
        });
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_username(field) {
  username_filter = /^[a-zA-Z0-9]{5,20}$/
  if (username_filter.test($(field).value)) {
    var myAjax = new Ajax.Request(
        '/public/check_username_availability', 
        {
          method: 'get', 
          parameters: 'username=' + $F(field) , 
          onComplete: availability_cb
        });
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_password(field) {
  password_filter = /^.{5,}$/;
  if (password_filter.test($(field).value)) {
    $(field + '_success').style.display = "inline";
  } else {
    $(field + '_success').style.display = "none";
  }
}

function check_password_confirmation(field,original_field) {
  if ($(field).value == $(original_field).value)
    $(field + '_success').style.display = "inline";
  else {
    $(field + '_success').style.display = "none";
  }
}

