function ajaxCall(url, callbackFn, isAsynconized) {
  var loadingMsg = document.createElement('div');
  loadingMsg.style.cssText = 'background:red; color:white; padding:3px 5px 3px 5px; position:absolute; right:0px; top:0px;';
  loadingMsg.innerHTML = ' loading... ';
  var xmlhttp;
  if(window.ActiveXObject)
    xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
  else if(window.XMLHttpRequest)
    xmlhttp = new XMLHttpRequest();
  if(isAsynconized) {
    xmlhttp.onreadystatechange = function() {
      if(xmlhttp.readyState==4) {
        document.body.removeChild(loadingMsg);
        callbackFn(xmlhttp);
      }
    };
  }
  try {
    document.body.appendChild(loadingMsg);
    xmlhttp.open('GET', url, isAsynconized);
    xmlhttp.send(null);
    if(!isAsynconized) {
      document.body.removeChild(loadingMsg);
      callbackFn(xmlhttp);
    }
  } catch(ex) {
    document.body.removeChild(loadingMsg);
    alert(ex);
  }
}
