﻿var g_req;
var g_popupOpen = 0;
var g_contentWidth = 780;
var g_contentOffsetX = 211;
var g_popupWidth = 600;
var g_popupHeight = 470;

function replStr(str,oldStr,newStr)
{ var strPos=str.indexOf(oldStr);
  return (strPos>=0) ?
    str.substring(0,strPos) + newStr +
       replStr( str.substring(strPos +
       oldStr.length), oldStr, newStr ) :
    str
}

function getTextBetween(sAll, sStart, sEnd)
{
    var sPart = "";
    var posStart = sAll.indexOf(sStart);
    var posEnd = sAll.indexOf(sEnd);
    if (posStart >= 0 && posEnd >= 0 && posEnd > posStart) {
        sPart = sAll.substring(posStart + sStart.length, posEnd);
    }
    return sPart;
}

function viewportGetHeight()
{
  var retval = 0;

  if (window.innerHeight)
    retval = window.innerHeight - 18;
  else if (document.documentElement && document.documentElement.clientHeight) 
    retval = document.documentElement.clientHeight;
  else if (document.body && document.body.clientHeight) 
    retval = document.body.clientHeight;

  return retval;    
}

function viewportGetScrollY()
{
  var retval = 0;

  if (typeof window.pageYOffset == "number")
    retval = window.pageYOffset;
  else if (document.documentElement && document.documentElement.scrollTop)
    retval = document.documentElement.scrollTop;
  else if (document.body && document.body.scrollTop) 
    retval = document.body.scrollTop; 
  else if (window.scrollY)
    retval = window.scrollY;

  return retval;
}

function clickPopupLink(sUrl)
{
  if (g_popupOpen == 0)
  {
    var elmKB = document.getElementById("popup");

    var imgX = (g_contentWidth - g_popupWidth) / 2 + g_contentOffsetX;
    var imgY = (viewportGetHeight() - g_popupHeight) / 2 + viewportGetScrollY();

    if (imgY < 0) { imgY = 0; }
    if (imgX < 0) { imgX = 0; }

    elmKB.style.left = imgX + "px";
    elmKB.style.top = imgY + "px";
    elmKB.style.height = g_popupHeight + "px";
    elmKB.style.width = g_popupWidth + "px";

    g_popupOpen = sUrl;
    
    prepareFillPopup(sUrl);
  }
}
  
function prepareFillPopup(sUrl)
{
  if(sUrl.indexOf('?') > -1)sUrl += "&" + getCachePrevent();
  else sUrl += "?" + getCachePrevent();
  if (window.XMLHttpRequest) {
    g_req = new XMLHttpRequest();
  }
  else if (window.ActiveXObject) {
    g_req = new ActiveXObject("Microsoft.XMLHTTP");
  }
  g_req.onreadystatechange = fillPopup;
  g_req.open("GET", sUrl, true);
  g_req.send(null);
}
  
function getCachePrevent()
{
  return "rand=" + escape( Math.round( Math.random() * 10000 ) );
}

function fillPopup()
{
  if (g_req.readyState == 4)
  {
    if (g_req.status == 200)
    {
      var s = "";
  
      var elmKB = document.getElementById("popup");

      s = g_req.responseText;
      
      var sRun = getTextBetween(s, "// <![CDATA[", "// ]]>");
      sRun = replStr(sRun, ",wmode=opaque", ",");

      elmKB.innerHTML = s;

      elmKB.style.display = "block";
      
      if (sRun != "") { eval(sRun); }
    }
    else
    {
      alert("Can't retrieve XML: " + g_req.statusText);
    }
  }
}

function closePopup()
{
  var elm = document.getElementById("popup");
  elm.innerHTML = "<p>&nbsp;</p>";
  elm.style.display = "none";

  g_popupOpen = 0;
}

