function AjaxRequest(url, callback_function) {
  var req = null;
  var msxmlhttp = new Array(
    'Msxml2.XMLHTTP.5.0',
    'Msxml2.XMLHTTP.4.0',
    'Msxml2.XMLHTTP.3.0',
    'Msxml2.XMLHTTP',
    'Microsoft.XMLHTTP');
  for (var i = 0; i < msxmlhttp.length; i++) {
    try {
      req = new ActiveXObject(msxmlhttp[i]);
    } catch (e) {
      req = null;
    }
  }

  if(!req && typeof XMLHttpRequest != "undefined") {
    req = new XMLHttpRequest();
  }
  if (req != null) {
    req.open("POST", url, true);
    req.onreadystatechange = function() {
      if ((req.readyState == 4) && (req.status == 200)) {
        var json = req.responseText.parseJSON();
        var callback = callback_function + '(json)';
        eval(callback);
      }
    }
    req.send(null);
    delete req;
  }
  return true;
}

function UpdateRegistrantInfo(objects) {
  document.getElementById("registrant_div").innerHTML = objects;
}

function FetchRegistrantInfo(frm, registrant_field) {
  var domain = document.forms[frm]['domain_check'].value;
  document.getElementById("registrant_div").innerHTML = "loading...";
  AjaxRequest('../ajax.php?act=fetch_registrant_info&domain=' + domain + '&registrant_field=' + registrant_field, 'UpdateRegistrantInfo');
}

function UpdateRegistrantInfoExt(objects) {
  document.getElementById(objects['result_div']).innerHTML = objects['result_text'];
}

function FetchRegistrantInfoExt(frm, domain_field, registrant_field, result_div) {
  var domain = document.forms[frm][domain_field].value;
  document.getElementById(result_div).innerHTML = "loading...";
  AjaxRequest('../ajax.php?act=fetch_registrant_info_ext&domain=' + domain + '&registrant_field=' + registrant_field + '&result_div=' + result_div, 'UpdateRegistrantInfoExt');
}

function UpdateRegistrantInfoDMSale(objects) {
  document.getElementById(objects['result_div']).innerHTML = objects['result_text'];
}

function FetchRegistrantInfoDMSale(frm, domain_field, registrant_field, result_div) {
  var domain = document.forms[frm][domain_field].value;
  document.getElementById(result_div).innerHTML = "loading...";
  AjaxRequest('../ajax.php?act=fetch_registrant_info_dmsale&domain=' + domain + '&registrant_field=' + registrant_field + '&result_div=' + result_div, 'UpdateRegistrantInfoDMSale');
}

function UpdateBinDropListDMSale(objects) {
  document.getElementById(objects['result_div']).innerHTML = objects['result_text'];
}

function AddBinDropListDMSale(btn, frm, domain_field, price_field, result_div) {
  var domain_name = document.forms[frm][domain_field].value;
  var price = document.forms[frm][price_field].value;
  btn.value = 'processing...';
  btn.disabled = true;
  AjaxRequest('../ajax.php?act=dmsale_bin_drop_add&domain=' + domain_name + '&price=' + price + '&result_div=' + result_div, 'UpdateBinDropListDMSale');
}

function RemoveBinDropListDMSale(btn, domain_id, result_div) {
  btn.value = 'processing...';
  btn.disabled = true;
  AjaxRequest('../ajax.php?act=dmsale_bin_drop_remove&id=' + domain_id + '&result_div=' + result_div, 'UpdateBinDropListDMSale');
}
