//ajax_func.js

//Function to create an XMLHttp Object.
function getxmlhttp() {
  //Create a boolean variable to check for a valid IE instance.
  var xmlhttp = false;

  //Check if we are using IE.
  try {
    //If the javascript version is greater than 5.
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    //If not, then use the older active x object.
    try {
      //If we are using IE.
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (E) {
      //Else we must be using a non-IE browser.
      xmlhttp = false;
    }
  }

  //If we are using a non-IE browser, create a JavaScript instance of the object.
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    xmlhttp = new XMLHttpRequest();
  }

  return xmlhttp;
}

//Function to process an XMLHttpRequest.
function processajax (serverPage, obj, getOrPost, str, busytext) {
  //Get an XMLHttpRequest object for use.
  xmlhttp = getxmlhttp ();
  if (getOrPost == "get") {
    xmlhttp.open("GET", serverPage);
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        obj.innerHTML = xmlhttp.responseText;
      } else {
        if (busytext!="") {
          obj.innerHTML = busytext;
        }
      }
    }
    xmlhttp.send(null);
  } else {
    xmlhttp.open("POST", serverPage, true);
    xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
    xmlhttp.onreadystatechange = function() {
      if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        obj.innerHTML = xmlhttp.responseText;
      } else {
        if (busytext!="") {
          obj.innerHTML = busytext;
        }
      }
    }
    xmlhttp.send(str);
  }
}

function showHideDiv(objDiv, objImg, imgShow, imgHide, addr) {
  if (document.getElementById(objImg).src == imgShow){
    //Show the div
    var obj = document.getElementById(objDiv);
    document.getElementById(objImg).src = imgHide;
    processajax (addr, obj, "get", "", "&nbsp;&nbsp;&nbsp;&nbsp;<b>Loading - Please Wait....</b>");
  } else {
    //Hide the div
    document.getElementById(objImg).src = imgShow;
    document.getElementById(objDiv).innerHTML = "";
  }
}

function createPopup(e, sPage, h, w) {
  sObject = document.getElementById("spopup");
  sObject.style.visibility = "visible";
  sObject.style.height = h + "px";
  sObject.style.width = w + "px";

  var sposx = 400;
  var sposy = 0;
  sposx = e.clientX + getScrollX() + 6;
  sposy = e.clientY + getScrollY() + 6;

  sObject.style.left = sposx + "px";
  sObject.style.top = sposy + "px";

  theObject = document.getElementById("popup");
  theObject.style.visibility = "visible";
  theObject.style.height = h + "px";
  theObject.style.width = w + "px";

  var posx = 400;
  var posy = 0;
  posx = e.clientX + getScrollX();
  posy = e.clientY + getScrollY();

  theObject.style.left = posx + "px";
  theObject.style.top = posy + "px";

  //The location we are loading the page into.
  var objID = "popup";
  var serverPage = sPage;
  var obj = document.getElementById(objID);
  obj.innerHTML = "";

  processajax (serverPage, obj, "get", "", "");
}

function closePopup() {
  theObject = document.getElementById("popup");
  theObject.style.visibility = "hidden";
  theObject.style.height = "0px";
  theObject.style.width = "0px";

  sObject = document.getElementById("spopup");
  sObject.style.visibility = "hidden";
  sObject.style.height = "0px";
  sObject.style.width = "0px";
}

function getScrollX() {
  var scrOfX = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfX = window.pageXOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfX = document.body.scrollLeft;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfX = document.documentElement.scrollLeft;
  }
  return scrOfX;
}

function getScrollY() {
  var scrOfY = 0;
  if( typeof( window.pageYOffset ) == 'number' ) {
    //Netscape compliant
    scrOfY = window.pageYOffset;
  } else if( document.body && ( document.body.scrollLeft || document.body.scrollTop ) ) {
    //DOM compliant
    scrOfY = document.body.scrollTop;
  } else if( document.documentElement && ( document.documentElement.scrollLeft || document.documentElement.scrollTop ) ) {
    //IE6 standards compliant mode
    scrOfY = document.documentElement.scrollTop;
  }
  return scrOfY;
}