function showstats (e,i,xoffset) {
 var o = document.getElementById(i);
 var y = 0;;
 if (document.all) {
   if (document.documentElement && document.documentElement.scrollTop) {
     y = event.clientY + document.documentElement.scrollTop -200 ;
     x = event.clientX + document.documentElement.scrollLeft - 150;
   } else {
     y = event.clientY + document.body.scrollTop -200;
     x = event.clientX + document.body.scrollLeft - 150;
   }
 } else {
   y = e.pageY -100;
   x = e.pageX +5;//+ 145;
 } 
 o.style.position="absolute";
 o.style.top = y + "px";
 o.style.left = x + "px";
 o.style.display = "block";
}
function clearstats (i) {
 var o = document.getElementById(i);
 o.style.display = 'none';
}
function togglevis (o) {
    if (o == "inv0") {
        return;
    }
    if (document.getElementById(o).style.display == "none") {
      document.getElementById(o).style.display = "block";
      return;
    }
    if (document.getElementById(o).style.display == "block") {
      document.getElementById(o).style.display = "none";
      return;
    }
    if (document.getElementById(o).style.display == "") {
      document.getElementById(o).style.display = "none";
      return;
    }
   alert(document.getElementById(o).style.display);
}
var which;
var req;
function retrieveURL(url) {
  if (window.XMLHttpRequest) { // Non-IE browsers
    req = new XMLHttpRequest();
    req.onreadystatechange = processStateChange;
  	/*try {
    	netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
   	} catch (e) {
    	alert("Permission UniversalBrowserRead denied.");
   	}
   	*/
    try {
      req.open("GET", url, true);
    } catch (e) {
    	alert (e);
    }
    req.send(null);
  } else if (window.ActiveXObject) { // IE
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = processStateChange;
      req.open("GET", url, true);
      req.send();
    }
  }
}
function processStateChange() {
  if (req.readyState == 4) { // Complete
    if (req.status == 200) { // OK response
      document.getElementById('tmpItemFrm').innerHTML = req.responseText;
      odCache[cacheKey] = req.responseText;
    } else {
      //      alert("Problem: " + req.statusText);
    }
  }
}
function showlt(event,id) {
//  document.getElementById('tmpItemFrm').innerHTML = "<div class='wowitem'><span class='itemname'><img src='/images/pb.gif' alt='...'/></span></div>";
document.getElementById('tmpItemFrm').innerHTML = "<span class='itemname'><img src='/images/pb.gif' alt='...'/></span>";
  //var url = "http://wow.allakhazam.com/cluster/itxt.pl?id=" + id + "&locale=" + locale + "&source=" + source;
  var url = "./modules/getItemHtml.php?id=" + id;
  cacheKey = id;
  if (odCache[cacheKey]) {
     document.getElementById("tmpItemFrm").innerHTML = odCache[cacheKey];
  } else {
    retrieveURL (url);
  }
  showstats(event,"tmpItemFrm");
}

function showmp(event,id,zone,source) {
  //document.getElementById('tmpItemFrm').innerHTML = "<div class='wowitem'><img id='loadingImg' src='/images/wow.loading.gif' alt='...'/></div>";
	document.getElementById('tmpItemFrm').innerHTML = "<img id='loadingImg' src='/images/wow.loading.gif' alt='...'/>";
  var url = "http://wow.allakhazam.com/mapprev.html?mobid=" + id + "&zoneid=" + zone + "&size=tiny&source=" + source;
  cacheKey = "m" + id + "^" + zone + "^" + source;
  if (odCache[cacheKey]) {
    document.getElementById("tmpItemFrm").innerHTML = odCache[cacheKey];
  } else {
    retrieveURL(url);
  }
  showstats(event,"tmpItemFrm");
}

function clearlt() {
  document.getElementById('tmpItemFrm').style.display = 'none';
}

function getURLParam(strParamName){
  var strReturn = "";
  var strHref = window.location.href;
  if ( strHref.indexOf("&") > -1 ){
    var strQueryString = strHref.substr(strHref.indexOf("&")).toLowerCase();
    var aQueryString = strQueryString.split("&");
    for ( var iParam = 0; iParam < aQueryString.length; iParam++ ){
      if (
	  aQueryString[iParam].indexOf(strParamName + "=") > -1 ){
        var aParam = aQueryString[iParam].split("=");
        strReturn = aParam[1];
        break;
      }
    }
  }
  return strReturn;
}

var cacheKey;
var odCache = new Object;
var idCache = new Object;
