function openChildWindow(pstrURL,pstrName,pstrPosition,pintXOffset,pintYOffset,pChildWidth,pChildHeight,pChrome) {
  isNS = (navigator.appName=="Netscape")? true:false;
  screenW = screen.availWidth; 
  screenH = screen.availHeight;
  parentW = (isNS) ? window.outerWidth:document.body.offsetWidth;
  parentH = (isNS) ? window.outerHeight:document.body.offsetHeight;
  parentX = ((isNS) ? window.screenX:window.screenLeft) + pintXOffset;
  parentY = ((isNS) ? window.screenY:window.screenTop) + pintYOffset;
  
  offsetB = (isNS)? 32:40;
  offsetT = (isNS)? 12:8;
  offsetL = (isNS)? 8:8
  
  switch (pChildWidth) {
    case "half":  childW = screenW/2; break;
    case "quarter":  childW = screenW/4; break;
    case "third":  childW = screenW/3; break;
    default: childW = pChildWidth
  }
  
  switch (pChildHeight) {
    case "half":  childH = screenH/2; break;
    case "quarter":  childH = screenH/4; break;
    case "third":  childH = screenH/3; break;
    default: childH = pChildHeight
  }
  
  switch (pstrPosition) {
    case "screenCT":  childX = (screenW-childW)/2;
              childY = 0;
              break;

    case "screenCM":  childX = (screenW-childW)/2;
              childY = (screenH-childH)/2;
              break;

    case "screenCB":  childX = (screenW-childW)/2;
              childY = screenH-childH-offsetB;
              break;
              
    case "screenLT":  childX = 0;
              childY = 0;
              break;

    case "screenLM":  childX = 0;
              childY = (screenH-childH)/2;
              break;

    case "screenLB":  childX = 0;
              childY = screenH-childH-offsetB;
              break;

    case "screenRT":  childX = screenW-childW-offsetL;
              childY = 0;
              break;

    case "screenRM":  childX = screenW-childW-offsetL;
              childY = (screenH-childH)/2;
              break;

    case "screenRB":  childX = screenW-childW-offsetL;
              childY = screenH-childH-offsetB;
              break;

    case "parentCT":  childX = parentX + (parentW-childW)/2;
              childY = parentY;
              break;

    case "parentCM":  childX = parentX + (parentW-childW)/2;
              childY = parentY + (parentH-childH)/2;
              break;

    case "parentCB":  childX = parentX + (parentW-childW)/2;
              childY = parentY + (parentH-childH)-offsetB;
              break;
              
    case "parentLT":  childX = parentX;
              childY = parentY;
              break;

    case "parentLM":  childX = parentX
              childY = parentY + (parentH-childH)/2;
              break;

    case "parentLB":  childX = parentX;
              childY = parentY + (parentH-childH)-offsetB;
              break;

    case "parentRT":  childX = parentX + (parentW-childW)-offsetT;
              childY = parentY;
              break;

    case "parentRM":  childX = parentX + (parentW-childW)-offsetT;
              childY = parentY + (parentH-childH)/2;
              break;

    case "parentRB":  childX = parentX + (parentW-childW)-offsetT;
              childY = parentY + (parentH-childH)-offsetB;
              break;
              
    default:      childX = 0;
              childY = 0;
  }
  childDimensions = "left=" + childX + ",top=" + childY + ",screenX=" + childX + ",screenY=" + childY
  childDimensions += ",width=" + childW + ",height=" + childH;

  if (pChrome != "") {
    childDimensions += "," + pChrome;
  }
  eval(pstrName + '= window.open(pstrURL,pstrName,childDimensions)');
  if (eval('window.' + pstrName) || eval('window.' + pstrName.closed)) {
    eval('window.' + pstrName + '.focus()')
  }
  return false
}
