
//---------------------------------------------
function ajax_popup(div) { this.divid = div; }

//---------------------------------------------
ajax_popup.connect = function(pageurl, ajp_inst) {
  var page_request = false;

  if (window.ActiveXObject){ //Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
    try {
      page_request = new ActiveXObject("Msxml2.XMLHTTP");
    } 
    catch (e){
      try{
	page_request = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e){}
    }
  }
  else if (window.XMLHttpRequest) { // if Mozilla, Safari etc
    page_request = new XMLHttpRequest();
  }
  else return false;

  var requrl = pageurl.replace(/^http:\/\/[^\/]+\//i, "http://"+window.location.hostname+"/");

  page_request.onreadystatechange = function() { ajax_popup.loadpage(page_request, pageurl, ajp_inst); }
  page_request.open('GET', requrl, true);
  page_request.send(null);
}


//---------------------------------------------
ajax_popup.loadpage = function(page_request, pageurl, ajp_inst) {
  var divId  = ajp_inst.divid;
  var divobj = document.getElementById(divId);
  if (!divobj) return false;

  divobj.innerHTML = "<img src='loading.gif' /> Requesting content...";

  if (page_request.readyState == 4 && 
       (page_request.status==200 || window.location.href.indexOf("http")==-1)) {   // success

    divobj.innerHTML=page_request.responseText;

    // recenter and display the popup
    divobj.style.display = "block";

    divobj.style.left = "50%";
    divobj.style.top  = "50%";
    divobj.style.marginLeft = -divobj.clientWidth / 2;
    divobj.style.marginTop  = -divobj.clientHeight / 2;
  }
}


//---------------------------------------------
ajax_popup.prototype={
  load:function(pageurl) {   ajax_popup.connect(pageurl, this); },
  init:function(){ }
} //END Prototype assignment



//---------------------------------------------
function closePopup() {
  var d = document.getElementById("imgpopup");
  if (d) { d.style.display = "none"; }
}

