//{{HH_SYMBOL_SECTION
var HH_ChmFilename = "";
var HH_WindowName = "||main";
var HH_GlossaryFont = "";
var HH_Glossary = "0,0,0";
var HH_Avenue = "0,1,1";
var HH_ActiveX = location.protocol=="mk:" || location.protocol=="ms-its:";
//}}HH_SYMBOL_SECTION
var gbKon = false;
var gbNav4 = false;
var gbIE4 = false;
var gbIE = false;
var gAgent = navigator.userAgent.toLowerCase(); 
var gbMac = (gAgent.indexOf("mac") != -1);
var error_count = 0;
var gbsetRS = typeof(document.readyState) == "undefined";

gbIE = (navigator.appName.indexOf("Microsoft") != -1);

{
  gbNav4 = (navigator.appName == "Netscape");
  gbIE4 = (navigator.appName.indexOf("Microsoft") != -1);
}

function msieversion()
{
  var msie = gAgent.indexOf("msie ");
  if (msie > 0)
    return gAgent.substring(msie+5,gAgent.indexOf(";",msie));
  return "";
}

var gbResize = gbIE4 && parseFloat(msieversion()) < 5.5;
var gbFixPre = gbIE4 && parseFloat(msieversion()) < 7.0;


{
  /* Kludge to improve, but not entirely fix, Robohelp browse sequence behaviour in Combined DP4 manual */
  var s = location.href;
  var i = s.indexOf("DP4Help.chm::/..")
  if (i !=-1)
  {
    i += 17;
    location.replace(s.substr(i));
  }
}

/* This is the tracking code that the Tree menu needs */
var MTMCodeFrame = "code";
if (parent && parent.frames && parent.frames.length)
{
  for (i = 0; i < parent.frames.length; i++) 
  {
    if(parent.frames[i].name == MTMCodeFrame && parent.frames[i].MTMLoaded) 
    {
      parent.frames[i].MTMTrack = true;
      setTimeout("parent.frames[" + i + "].MTMDisplayMenu()", 50);
      break;
    }
  }
}

function HHActivateComponents()
{
  if (HH_ActiveX)
  {
    var objBody = document.all.tags("BODY")[0];
    objBody.insertAdjacentHTML("afterBegin", '<OBJECT ID="HHComponentActivator" CLASSID="CLSID:399CB6C4-7312-11D2-B4D9-00105A0422DF" width=0 height=0></OBJECT>');
    if (HHComponentActivator.object)
    {
      HHComponentActivator.Activate(HH_ChmFilename, HH_WindowName, HH_GlossaryFont, HH_Glossary, HH_Avenue);
    }
  }
}

//////////////////////////////////////////////////////////////////////////////////////////////
//
//  Begin DHTML Popup Functions
//
//////////////////////////////////////////////////////////////////////////////////////////////
//variables used to isolate the browser type
var gBsDoc = null;      
var gBsSty = null;
var gBsStyVisShow = null;
var gBsStyVisHide = null;
var gBsClientWidth = 640;
var gBsClientHeight = 480;
var gBsBrowser = null;

//the browser information itself
function _BSPSBrowserItself()
{
  var agent = navigator.userAgent.toLowerCase();
  this.major = parseInt(navigator.appVersion);
  this.ns = ((agent.indexOf('mozilla') != -1) && ((agent.indexOf('spoofer') == -1) && (agent.indexOf('compatible') == -1)));
  this.ns4 = ((this.ns) && (this.major >= 4));
  this.ie = (agent.indexOf("msie") != -1);
  this.ie4 = ((this.ie) && (this.major >= 4));
  if (document.all)
    gBsDoc = "document.all";
  else
    gBsDoc = "document";
  
  if (document.all || document.getElementById)
  {
    gBsSty = ".style";
    gBsStyVisShow = "visible";
    gBsStyVisHide = "hidden";
  }
  else // Netscape 4
  {
    gBsSty = "";
    gBsStyVisShow = "show";
    gBsStyVisHide = "hide";
  }
}

//Here is the browser type 
function _BSPSGetBrowserInfo()
{
  gBsBrowser = new _BSPSBrowserItself();
}

//Get client size info
function GetClientSize()
{
  if (window.innerWidth)
  {
    gBsClientWidth = innerWidth;
    gBsClientHeight = innerHeight;
  }
  else
  {
    // in IE6 standard compliant mode document.body.clientHeight and width are not full size of window
    var el = document.documentElement;
    if (el && el.clientHeight)
    {
      gBsClientWidth = el.clientWidth;
      gBsClientHeight = el.clientHeight;
    }
    else
    {
      el = document.body;
      if (el && el.clientHeight)
      {
        gBsClientWidth = el.clientWidth;
        gBsClientHeight = el.clientHeight;
      }
    }
  }
}

var gstrPopupID = 'BSSCPopup';
var gstrPopupShadowID = 'BSSCPopupShadow';
var gstrPopupTopicID = 'BSSCPopupTopic';
var gstrPopupIFrameID = 'BSSCPopupIFrame';
var gstrPopupIFrameName = 'BSSCPopupIFrameName';

var gstrPopupSecondWindowName = 'BSSCPopup';

var gPopupDiv = null;
var gPopupDivStyle = null;
var gPopupShadow = null;
var gPopupTopic = null;
var gPopupIFrame = null;
var gPopupIFrameStyle = null;
var gPopupWindow = null;
var hotX = 0;
var hotY = 0;

var gbPopupTimeoutExpired = false;

if (BSSCPopup_IsPopup()) 
  document.write("<base target=\"_parent\">");

if (gbFixPre)
  document.writeln("<STYLE type='text/css'> PRE { width:1ex;}</STYLE>");

/* If page is displayed without contents and we are not inside HTMLHelp then
   put "Show Contents" link at the top of the page */
if (location.protocol != 'mk:' && location.protocol != 'ms-its:' && 
    !parent.frames["code"] && !parent.frames["contents"] && !BSSCPopup_IsPopup())
{
  document.write('<a class="noprint" href="../index.html#' + location.href + '">Show Contents</a>');
  /* The following code tells Gecko browsers to display an icon of our choice in the address bar.
     IE uses this icon automatically, but only if the user has added the site to their favourites,
     and even then not reliably */
  if (document.Element && document.getElementsByTagName)
  {
    var head = document.getElementsByTagName('head').item(0);
    var link = document.createElement('link');
    link.rel="shortcut icon";
    link.href="/favicon.ico";
    link.type="image/x-icon";
    head.appendChild(link);
  }
}

// For CHM add Find Online
if ((location.protocol == 'mk:' || location.protocol == 'ms-its:')  && !BSSCPopup_IsPopup())
  document.write('<a class="noprint" target=_blank href="http://www.itimdp4.com/manpages'+location.href.substr(location.href.lastIndexOf('::')+2)+'">Find Online</a>');


function BSSCPopup_IsPopup()
{

  return this.name == gstrPopupIFrameName || this.name == gstrPopupID;
}


function _BSSCCreatePopupDiv()
{
  // Creates an IFRAME that is used to display  resizable pop-ups 
  if (!BSSCPopup_IsPopup() &&  gPopupDiv == null) 
  {
    document.write("<DIV ID='" + gstrPopupID + "' STYLE='position:absolute; width:auto; height:auto; top:-100px; left:0px; z-index:600; visibility:hidden;'>");
    document.write("<DIV ID='" + gstrPopupShadowID + "' STYLE=\"position:absolute;top:6px; left:6px; width:0px; height:0px; background-color:#C0C0C0;\"></DIV>");
    document.write("<DIV ID='" + gstrPopupTopicID + "' STYLE=\"position:absolute;top:0px; left:0px; width:auto; height:auto;border:1px #000000 solid;margin:0px;padding:0px;\">");
    document.write("<IFRAME ID='" + gstrPopupIFrameID + "' name='" + gstrPopupIFrameName + "' frameborder=0 src='../empty.htm' scrolling=auto style='width:auto;height:auto;margin:0px;padding:0px;'></IFRAME>");
    document.write("</DIV></DIV>");
    var tempColl;
    if (document.all)
      tempColl = document.all.tags("DIV");
    else
      tempColl = document.body.getElementsByTagName("DIV");
    for (var iDiv = 0; iDiv < tempColl.length; iDiv++)   
    { 
      if (tempColl.item)
        it = tempColl.item(iDiv);
      else
        it = tempColl[iDiv];
      if (it.id == gstrPopupID) 
        gPopupDiv = it;
      if (it.id == gstrPopupShadowID) 
        gPopupShadow = it;
      if (it.id == gstrPopupTopicID) 
        gPopupTopic = it;
    }
  }
}

function BSSCPopup_Timeout()
{
  if (gPopupIFrame.document.readyState == "complete" && gPopupIFrame.document.body != null)
    BSSCPopup_TimeoutReal();
  else 
    setTimeout("BSSCPopup_Timeout()", 100);
}

function BSSCPopup_TimeoutReal()
{
  window.gbPopupTimeoutExpired = true;
  if (gPopupIFrame.document) 
    gPopupIFrame.document.body.onclick = BSSCPopupClicked;
  
  document.onmousedown = BSSCPopupParentClicked;
}


// alleged good way of find position
function findPos(obj)
{
	window.hotX = 0;
	window.hotY = 0;
	if (obj.offsetParent)
	{
		while (obj)
		{
       if (obj.tagName == "MAP" && !obj.offsetTop)
       {
         var imCol = document.images;
         for (var i = 0;i < imCol.length;i++)
         {
           var im = imCol[i];
           if (im.useMap && im.useMap.substr(1).toLowerCase() == obj.name.toLowerCase())
           {
             obj = im;
             break;
           }
         }
       }
  			window.hotX += obj.offsetLeft;
      	window.hotY += obj.offsetTop;
			obj = obj.offsetParent;
		}
	}
	else if (obj.x)
   {
		windows.hotX += obj.x;
		windows.hotY += obj.y;
  }

}


function _BSSCPopup(strURL)
{
  var el = document.activeElement;
  if (el)
  {
    findPos(el);
    window.hotY += el.scrollHeight;
    if (el.clientLeft)
    {
      window.hotX += el.clientLeft;
      window.hotY += el.clientTop;
   }
  }
  else
    gbKon = true;
 
  if (gPopupDiv != null)
  {
    if (strURL == location.href.substr(location.href.lastIndexOf("/")+1))
    {
      // if popup is pointing to same document as this window don't bother to load it.
      // should not matter if we did but it confuses Opera!
      BSSCPopupClicked();
    }
    else
    {
      // Load the requested URL into the IFRAME
      if (gbsetRS)
        gPopupIFrame.readyState = "bad";
      gPopupIFrame.location = strURL;
      window.gbPopupTimeoutExpired = false;
      setTimeout("BSSCPopup_AfterLoad()", gbMac ? 400 : 100);
    }
  } 
  else if (window.parent.gPopupIFrame)  // Only Konqueror gets here
    window.parent._BSSCPopup(strURL);
  else /* Don't think anything uses the code below any more */
  {
    if (window.name == gstrPopupSecondWindowName) 
      window.location = strURL;
    else 
    {
      BSSCHidePopupWindow();
      var nX = 0;
      var nY = 0;
      var nHeight = 300;
      var nWidth = 400;
      GetClientSize();
      if (gBsBrowser.ns4) 
      {
        nX = window.screenX + (window.outerWidth - window.innerWidth) + window.hotX;
        nY = window.screenY + (window.outerHeight - window.innerHeight) + window.hotY;
        if (nY + nHeight + 40 > screen.availHeight) 
          nY = screen.availHeight - nHeight - 40;
        
        if (nX + nWidth + 40 > screen.availWidth) 
          nX = screen.availWidth - nWidth - 40;
        else
          nX = window.hotX;
        nY = window.hotX;
      }

      // Launch a separate window
      var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,";
      strParam += "height=" + nHeight + ",width=" + nWidth;
      strParam += ",screenX=" + nX + ",screenY=" + nY;
      window.gPopupWindow = window.open(strURL, gstrPopupSecondWindowName, strParam);
      if (gBsBrowser.ns4)
      {
        window.gPopupWindow.captureEvents(Event.CLICK | Event.BLUE);
        window.gPopupWindow.onclick = NonIEPopup_HandleClick;
        window.gPopupWindow.onblur = NonIEPopup_HandleBlur;
      }
      else if (gBsBrowser.ie4)
        window.gPopupWindow.focus();
    }
  }

  return;
}

window._BSSCPopup = _BSSCPopup;
window.defaultStatus = "Copyright (C) 2007, Itim Ltd";

function NonIEPopup_HandleBlur(e)
{
  window.gPopupWindow.focus();
}

function NonIEPopup_HandleClick(e)
{
  // Because navigator will give the event to the handler before the hyperlink, let's
  // first route the event to see if we are clicking on a Popup menu in a popup.
  document.routeEvent(e);

  // Close the popup window
  if (e.target.href != null) 
  {
    window.location.href = e.target.href;
    if (e.target.href.indexOf("BSSCPopup") == -1) 
      this.close();
  } 
  else 
    this.close();
  
  return false;
}

function BSSCPopup_AfterLoad()
{
  if ((window.gPopupIFrame.document.readyState == "complete") &&
      (window.gPopupIFrame.document.body != null)) 
    BSSCPopup_ResizeAfterLoad();
   else 
     setTimeout("BSSCPopup_AfterLoad()", 200);
}


function BSSCPopup_ResizeAfterLoad()
{
  window.gPopupDivStyle.visibility = gBsStyVisHide;
  // Determine the width and height for the window
  GetClientSize();
  var size = new BSSCSize(gBsClientWidth, gBsClientHeight);
  if (!gbKon)
  {
    window.gPopupIFrameStyle.width = "auto";
    window.gPopupIFrameStyle.height = "auto";
  }
  else
  {
    window.gPopupIFrameStyle.width = 800 + "px";
    window.gPopupIFrameStyle.height = gBsClientHeight/2 + "px";
  }
  window.gPopupShadow.style.width =  "0px";
  window.gPopupShadow.style.height = "0px";
  window.gPopupDivStyle.left = "0px";
  window.gPopupDivStyle.top = "0px";
  window.gPopupDivStyle.width = (gBsClientWidth > 830 ? 800 : gBsClientWidth-30) + "px";
  window.gPopupDivStyle.height = "auto";
  BSSCGetContentSize(gPopupIFrame, size);
  var nWidth = size.x;
  var nHeight = size.y;
  if (nWidth > gBsClientWidth) 
  {
    // Adjust the height by 1/3 of how much we are reducing the width
    var lfHeight = 1.0;
    lfHeight = (((nWidth / (gBsClientWidth - 20.0)) - 1.0) * 0.3333) + 1.0;
    lfHeight *= nHeight;
    nHeight = lfHeight;
    nWidth = gBsClientWidth - 20;
  }
  if (nHeight > gBsClientHeight * .5) 
    nHeight = gBsClientHeight / 2;
  window.gPopupDivStyle.width = "auto"; 
  window.gPopupDivStyle.height = "auto";

  // Determine the position of the window
  var nClickX = window.hotX;
  var nClickY = window.hotY;
  var nTop = 0;
  var nLeft = 0;
  var realScrollTop = document.body.scrollTop;
  var realScrollLeft = document.body.scrollLeft;


  if (document.documentElement && document.documentElement.scrollTop)
  {
    realScrollTop += document.documentElement.scrollTop;
    realScrollLeft += document.documentElement.scrollLeft;
  }

  if (nClickY + nHeight + 20 < gBsClientHeight + realScrollTop) 
    nTop = nClickY + 10;
  else 
    nTop = (realScrollTop + gBsClientHeight) - nHeight - 25;
  
  if (nClickX + nWidth < gBsClientWidth + realScrollLeft) 
    nLeft = nClickX;
  else 
    nLeft = (realScrollLeft + gBsClientWidth) - nWidth - 25;
  if (nTop <0) 
    nTop = 1;
  if (nLeft<0) 
    nLeft = 1;

  window.gPopupDivStyle.left = nLeft + "px";
  window.gPopupDivStyle.top = nTop + "px";
  window.gPopupIFrameStyle.width = window.gPopupShadow.style.width = window.gPopupTopic.style.width = nWidth +   "px";
  window.gPopupIFrameStyle.height = window.gPopupShadow.style.height = window.gPopupTopic.style.height = nHeight +"px";
  window.gPopupDivStyle.visibility = gBsStyVisShow;
  setTimeout("BSSCPopup_Timeout();", 100);
  return false;
}


function  BSSCSize(x, y)
{
  this.x = x;
  this.y = y;
}

function BSSCGetContentSize(thisWindow, size)
{

  /* This function attempts to find out the optimal size for a window, by first discovering how tall it needs
     to be and then reducing the width until the height starts to increase. Unfortunately this is not 100%
     successful - some browsers will add an unnecessary scroll bar for no apparent reason if the window is very 
     small, which is why I add a fair amount of extra allowance at the end. And some browsers don't update the
     size of the content quickly enough.  However, the window usually seems to come out in a reasonable size 
     in all browsers tried: IE5+,Opera 7,Mozilla 1.3+, Konqueror */
  var y = 1;
  var x = 800;
  var myDoc = thisWindow.document.body;
  myDoc.style.width = (gBsClientWidth > 830 ? 800 : gBsClientWidth-30) + "px";
  myDoc.style.height = "auto";
  myDoc.style.margin="0px";
  myDoc.style.padding="0px";
  if (gbResize)
  {
    thisWindow.resizeTo(800,1);
    thisWindow.resizeTo(800,myDoc.scrollHeight);
    thisWindow.resizeTo(800,myDoc.scrollHeight);
  }
  var miny = myDoc.scrollHeight;
  size.x = 800;
  size.y = miny;

  for (i = 15; i > 0; i--) 
  {
    size.x = x = i * 50;
    myDoc.style.width = x + "px";
    if (gbResize)
      thisWindow.resizeTo(size.x,miny);
    if (myDoc.scrollHeight > miny || myDoc.scrollWidth > x) 
    {
      x = (i + 1) * 50;
      myDoc.style.width = x + "px";
      break;
    }
  }
  myDoc.style.padding = "0.5ex";
  size.x = x;
  if (!gbKon)
  {
    myDoc.style.width = x + "px";
    size.x = myDoc.scrollWidth + 30;
  }
  size.y = myDoc.scrollHeight + 15;
  myDoc.style.width = "auto";
  if (size.y < 100) 
    size.y = 100;
}



function BSSCPopupParentClicked()
{
   BSSCPopupClicked();

  return;
}


function BSSCPopupClicked()
{
  if (!window.gbPopupTimeoutExpired) 
    return false;
  
  if (gPopupIFrame.document) 
    gPopupIFrame.document.body.onclick = null;
  
  document.onclick = null;
  document.onmousedown = null;

  // Simply hide the popup
  gPopupDivStyle.visibility = gBsStyVisHide;
  gPopupDivStyle.width = "0px";
  gPopupDivStyle.height = "0px";
  gPopupDivStyle.left = "0px";
  gPopupDivStyle.top = "0px";
  return true;
}


function BSSCHidePopupWindow()
{
  if (window.gPopupWindow != null) 
  {
    if (gBsBrowser.ns4) 
    {
      if ((typeof window.gPopupWindow != "undefined") && (!window.gPopupWindow.closed)) 
      {
        window.gPopupWindow.close();
        window.gPopupWindow = null;
      }
    }
  }

  return;
}

var gbPopupMenuTimeoutExpired = false;

/////////////////////////////////////////////////////////////////////
function BSSCPopup_ClickMac()
{
// Left over from original version - no idea if really required.
  if (!gPopupDiv)
  {  
    var bClickOnAnchor = false;
    var el;
    if (window.event != null && window.event.srcElement != null)
    {
      el = window.event.srcElement;
      while (el != null)
      {
        if ((el.tagName == "A") || (el.tagName == "AREA"))   
        {
          bClickOnAnchor = true;
          break;
        }
        if (el.tagName == "BODY") 
          break;
        el = el.parentElement;
      }
    }
    if (BSSCPopup_IsPopup())
    {
      if (!bClickOnAnchor) 
      {
        parent.window.gPopupWindow = null;
        self.close();
      }
    }
    else
    {
      bClosePopupWindow = true;
      if (bClickOnAnchor && el.href && el.href.indexOf("javascript:BSSCPopup") != -1)
        bClosePopupWindow = false;
      if (bClosePopupWindow)
      {
        if (window.gPopupWindow != null)
        {
          var strParam = "titlebar=no,toolbar=no,status=no,location=no,menubar=no,resizable=yes,scrollbars=yes,height=300,width=400";
          window.gPopupWindow = window.open("", gstrPopupSecondWindowName,strParam);
          window.gPopupWindow.close();
          window.gPopupWindow = null;
        }
      }
    }
  }
 }

//////////////////////////////////////////////////////////////////////

_BSPSGetBrowserInfo();


function SetActiveElement(event)
{
  // if below is intended to stop Konqueror setting this as it is not possible to find where A elements are !!
  if (!event.srcElement || this.clientLeft)
    document.activeElement = this;
}

/*trace the mouse over's position for hotspot.
  This code is fairly redundant except for Konqueror, because of the onfocus processing now added.
 */
function BSPSPopupOnMouseOver(event)
{
  
  if (event.pageX)
  {
    window.hotX = event.pageX;
    window.hotY = event.pageY;
  }
  else if (event.clientX)
  {
    window.hotX = event.clientX + document.body.scrollLeft;
    window.hotY = event.clientY + document.body.scrollTop;
  }
  if (!event.srcElement || event.srcElement.clientLeft) // rejects Konqueror
  {
    if (event.offsetX)
    {
      window.hotX -= event.offsetX;
      window.hotY -= event.offsetY;
    }
    if (event.srcElement)
    {
      el = event.srcElement;
      window.hotX = el.offsetLeft + el.clientLeft;
      window.hotY = el.offsetTop + el.clientTop + el.scrollHeight;
    }
    else if (event.target && event.target.scrollHeight)
      window.hotY += event.target.scrollHeight;
  }
}


function _BSSCOnLoad()
{
  if (gbIE4) 
    HHActivateComponents();
  // Ensure images with no title get some kind of tooltip
  for (i= 0; i < document.images.length;i++)
  {
    im = document.images[i];
    if (im.title=="")
      im.title = im.alt;
  }
  if (gbsetRS) // Kludge this IE specific property for other browsers - needed by popup code */
    document.readyState = "complete";
  if (window.frames.length >= 1)
  {
    gPopupIFrame = window.frames[gstrPopupIFrameName];
    gPopupDivStyle = eval("gPopupDiv" + gBsSty);
    if (document.getElementById)
      gPopupIFrameStyle = document.getElementById(gstrPopupIFrameID).style;
    else
      gPopupIFrameStyle = eval(gBsDoc + "['" + gstrPopupIFrameName + "']" + gBsSty);
  }
  // implement "niceborder" behavior - no longer using IE behaviors for this
  if (document.getElementsByTagName)
  {
    var tableCol = document.getElementsByTagName("TABLE");
    for (i = 0; i < tableCol.length;i++)
      if (tableCol[i].className == "niceborder")
      {
        var rowCol = tableCol[i].rows;
        for (j = 1; j < rowCol.length;j +=2)
          rowCol[j].className = "darkrow";
      }
  }
  if (!document.activeElement)
  {
    for (var j = 0,k =  new Array("A","AREA"); j < k.length;j++)
    {
      var ACol = document.getElementsByTagName(k[j]);
      for (var i = 0; i < ACol.length;i++)
      {
        var el = ACol[i];
        if (el.href.indexOf("javascript:BSSCPopup")==0)
        {
          el.className = "popup";
          el.onfocus = SetActiveElement;
          el.onmouseover = BSPSPopupOnMouseOver;
        }
      }
    }
  }
  else
  {
    var ACol = document.getElementsByTagName("A");
    for (var i = 0; i < ACol.length;i++)
    {
      var el = ACol[i];
      if (el.href.indexOf("javascript:BSSCPopup")==0)
        el.className = "popup";
    }
  }
}

function _BSSCOnUnload()
{
}

function _BSSCOnClick()
{
  if (!gbIE4)
    return;

  BSSCPopup_ClickMac();
}

function HasExtJs()
{
  if (!document.all && !document.getElementById)
    return false;
  if (typeof (_BSSCOnLoad) == "undefined")
    return false; 
  return true;
}

function BSSCOnLoad()
{
  if (HasExtJs()) {_BSSCOnLoad();}
}

function BSSCOnUnload()
{
  if (HasExtJs()) { _BSSCOnUnload(); }
}

function BSSCOnClick()
{
  if (HasExtJs()) { _BSSCOnClick(); }
}

function BSSCCreatePopupDiv()
{
  if (HasExtJs()) {_BSSCCreatePopupDiv();}
}

function BSSCPopup(strURL)
{
  if (HasExtJs())
    _BSSCPopup(strURL);
  else
  {
    // Create a real popup window - probably not used at all any more
    var wndPopup = window.open(strURL, "PopupWindow", 
                               "titlebar=no, toolbar=no, status=no, location=no,menubar=no, resizable=yes, scrollbars=yes,height=300,width=400");
    wndPopup.focus();
  }
}

function xlink(strCHM,strURL)
{
  /* <a> tags with href="javascript:xlink('fred','/dir/myfile.htm') will be displayed whether we are in CHM or
     online. The point it that using an ordinary link would cause HTMLHelp compiler to add the document to
     this CHM file (and any documents it links to). but this way the document is got from another CHM file 
     while the online link still works also*/

  if (window.navigate) 
   window.navigate((location.protocol=='mk:' || location.protocol=='ms-its:' ? 'ms-its:'+ strCHM + '.chm::' : '..') + strURL); 
  else 
    location='..' + strURL;
}



