
var wmRequest = null;

function eolwmunload() {
  //alert('unload: '+wmid);
  wmRequest = initWMRequester(wmRequest);
  var start = new Date();
  wmRequest.open("GET", "wm.php?close="+wmid+"&ts="+start.getTime(), false);
  wmRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
  wmRequest.onreadystatechange = function() {}
  wmRequest.send("close="+wmid);
  return true;
}

function initWMRequester(arequester) {
  if (arequester != null && arequester.readyState != 0 && arequester.readyState != 4) { 
    arequester.abort(); 
  } 
  arequester = null;    
  try { 
    arequester = new XMLHttpRequest();
    if(arequester.overrideMimeType){        
      arequester.overrideMimeType("text/xml");
    }
  } catch (error) { 
    try { 
      arequester = new ActiveXObject("Microsoft.XMLHTTP"); 
    } catch (error) { 
      arequester = null; 
    } 
  }
  return arequester;
}

function openWindow(windowlocation, windowname, windowproperties) {
  if (windowproperties == null) {
    windowproperties = "resizable,width=800,height=600,scrollbars";
  }
  newwin = window.open(windowlocation+'&windowname='+windowname, windowname, windowproperties);
  newwin.focus();
  return false;
}

/**
 * Reload the root window of a popup stack (f.i. to show applied changes)
 */
function reloadRootWindow() {
  var root = window;
  while(root.opener) {
    root = root.opener;
  }
  root.location.reload();
}

/**
 * Reload the parent window of a popup  (f.i. to show applied changes)
 */
function reloadParentWindow() {
  if(window.opener) {
    window.opener.location.reload();
  }
  
}

function reloadRecursiveParents() {
  var root = window;
  while(root.opener) {
    root = root.opener;
    root.location.reload();
  }
}

/**
 *  returns the value of the requested get variable.
 */
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);  
  var vars = query.split("&");  
  for (var i=0;i<vars.length;i++) {  
    var pair = vars[i].split("=");    
    if (pair[0] == variable) {    
      return pair[1];    
    }  
  }   
  alert('Query Variable ' + variable + ' not found');
} 

