      /* ---------------------------------------------------------------------- *
      z0005_Menu(vEvent, sList)
      z0005_PressKey(nKey)
      z0005_Tab(obj)
      zClick_023(nPar)
      zClick_035(obj)
      zLoad0005()
      zLoad_023()
      zPhotoView(obj)
      zPlayerDock(obj)
      zPlayerResize(obj)
      zSound1(sTitle, sURL, nImg)
      zSound2(sTitle, sId, nImg)
      zSound3(sTitle, sFile, nImg)
      zSound4(obj)
      zSound5(obj)
      zSound6(obj)
      zSound7(obj)
      zSound8(obj)
      /* ---------------------------------------------------------------------- */
      function zLoad0005()
      {
        zCopyright();
        document.getElementById("tableTabs").style.height =
          document.getElementById("tablePhotos").offsetHeight - document.getElementById("tdCopyright").firstChild.offsetHeight - 10;

        var oImages = document.getElementsByTagName("IMG");
        for (var nIndex=0; nIndex<oImages.length; nIndex++)
          if (oImages[nIndex].className == "photo")
            oImages[nIndex].parentNode.title = oImages[nIndex].alt;

        var oTBODY = document.getElementById("tableList1");
        if (!oTBODY) return;
        oTBODY = oTBODY.getElementsByTagName("TBODY")[0];

        var oList  = document.getElementById("tableList0");
        var nRec   = 0;
        var nCount = 0;
        var sPrev  = "";

        var sLink = document.location.href.toLowerCase();
        var bLocal = (sLink.indexOf(sCHMsign) < 0 && (sLink.indexOf("file:") == 0 || document.location.protocol == "file:"));

        for (var nIndex=0; nIndex<oList.rows.length; nIndex++)
        {
          if (oList.rows[nIndex].id.substring(0,3) != "tr_") continue; // && oList.rows[nIndex].firstChild.firstChild.innerHTML.length == 1)
          oList.rows[nIndex].cells[2].getElementsByTagName("A")[0].title = "audio";
          var oLink = oList.rows[nIndex].cells[1].getElementsByTagName("A")[0];
          oLink.title = "text";
          var sLink = oLink.href;
          sLink = sLink.substring(0, sLink.lastIndexOf("/"));
          sLink = sLink.substring(sLink.lastIndexOf("/")+1, sLink.length);
          sLink = sLink.substring(sLink.lastIndexOf(".")+1, sLink.length);
          sLink = sLink.substring(0,2);
          if (sLink != "ru")
          {
            var oTD = oList.rows[nIndex].cells[0];
            oTD.innerHTML = sLink;
            oTD.style.padding = 0;
            oTD.style.textAlign = "center";
            oTD.style.fontWeight = "bold";
            oTD.style.color = "White";
            oTD.style.backgroundColor = "Gray";
          }
          if (bLocal)
          {
            oTD = oList.rows[nIndex].cells[oList.rows[nIndex].cells.length-1];
            oTD.innerHTML = "<font size=1><B>[" + oList.rows[nIndex].id.substring(3,6) + "]</b></font> " + oTD.innerHTML;
          }

          var sText = strTrim(getInnerText(oList.rows[nIndex].cells[2].innerHTML));
          var oTR = oList.rows[nIndex].cloneNode(true);
          var bAdd = false;
          for (var mIndex=1; mIndex<oTBODY.rows.length; mIndex++)
          {
            if (sText < strTrim(getInnerText(oTBODY.rows[mIndex].cells[2].innerHTML)))
            {
              oTBODY.insertBefore(oTR, oTBODY.rows[mIndex]);
              bAdd = true;
              break;
            }
          }
          if (!bAdd) oTBODY.appendChild(oTR);
          nRec++;
          if (sPrev != strTrim(getInnerText(oList.rows[nIndex].cells[1].innerHTML)))
          {
            sPrev = strTrim(getInnerText(oList.rows[nIndex].cells[1].innerHTML));
            nCount++;
          }
        } //nIndex

        var oTR = oTBODY.rows[0].cloneNode(true);
        oTBODY.insertBefore(oTR, oTBODY.rows[oTBODY.rows.length - 1]);
        oTBODY.getElementsByTagName("TD")["tdTotal"].innerHTML = "<font size=2>" + nRec   + " records</font>";
        oList.getElementsByTagName("TD" )["tdTotal"].innerHTML = "<font size=2>" + nRec   + " records</font>";
        oList.getElementsByTagName("TD" )["tdCount"].innerHTML = "<font size=2>" + nCount + " songs</font>";

        var sSearch = document.location.search;
        sSearch = sSearch.substring(1, sSearch.length);
        var sId = strToInt(sSearch);
        if (sId > 0)
        {
          var oTR = document.getElementById("tr_" + formatByMask(sId, "000"));
          var sTitle = getInnerText(oTR.cells[1].innerHTML);
          var nImg  = strToInt(oTR.cells[3].getAttribute("img"));
          zSound2(sTitle, sId, nImg);
        }

        if (msieVersion() == 0) document.getElementById("divPlayerContainer").contentEditable = false;
      } //zLoad0005
      /* ---------------------------------------------------------------------- */
      function z0005_Menu(obj, vEvent)
      {
        var sText = "<div ALIGN='right' onClick='zHide(this)' style='cursor:hand;' title='Close'>&#x24E7;</div>";
        var aList = obj.firstChild.getAttribute("list").split(",");
        for (var nIndex=0; nIndex<aList.length; nIndex++)
        {
          var oTR = document.getElementById("tr_" + aList[nIndex]);
          var oTD = oTR.cells[oTR.cells.length - 1];
          var sTitle = getInnerText(oTR.cells[1].innerHTML);
          var nImg  = strToInt(oTR.cells[3].getAttribute("img"));
          var sName = getInnerText(oTR.cells[2].innerHTML);
          var sCode = oTR.cells[2].getElementsByTagName("A")[0].attributes["onclick"].nodeValue;
          sText += "<br>" + oTR.cells[0].innerHTML + " &nbsp; <a href='' class='menu-item' onClick='zHide(this);return(";
          if (sCode.indexOf("zSound6") > 0)
            sText += "zSound2(\"" + sTitle + "\",\"" + aList[nIndex] + "\"," + nImg + ",\"" + sName + "\"))'>" + sTitle + "</a>";
          else if (sCode.indexOf("zSound8") > 0)
            sText += "zSound3(\"" + sTitle + "\",\"" + oTD.getAttribute("file") + "\"," + nImg + ",\"" + sName + "\"))'>" + sTitle + " (" + oTD.getAttribute("xname") + ")</a>";
        }
        var vMenu = document.getElementById("divMenu");
        vMenu.innerHTML  = sText;
        vMenu.style.left = vEvent.clientX + document.body.scrollLeft;
        vMenu.style.top  = vEvent.clientY + document.body.scrollTop;
        vMenu.style.visibility = "visible";
        return(false);
      } //z0005_Menu
      /* ---------------------------------------------------------------------- */
      function z0005_Tab(obj)
      {
        if (strToInt(obj.style.paddingTop) > 0) return(false);
        nCurrent = strToInt(obj.id.substring(obj.id.length - 1, obj.id.length));
        var nSecond = (1 - nCurrent);
        var oSecond = document.getElementById("aTab" + nSecond);

        var nWidth = 180;
        zTab(obj, oSecond, nWidth, (nCurrent==0));
        if (nCurrent > 0) oSecond.style.width = nWidth;

        document.getElementById("div" + nSecond).style.visibility  = "hidden";
        document.getElementById("div" + nCurrent).style.visibility = "visible";
        obj.blur();

        return (false);
      } //z0005_Tab
      /* ---------------------------------------------------------------------- */
      function z0005_PressKey(nKey)
      {
        if (nKey == 49) z0005_Tab(document.getElementById("aTab0")); //1
        if (nKey == 50) z0005_Tab(document.getElementById("aTab1")); //2
      } //z0005_PressKey
      /* ---------------------------------------------------------------------- */
      function zPhotoView(obj)
      {
        if (obj.innerHTML.indexOf("Hide") >= 0)
        {
          obj.innerHTML = "&#x25C4;Show";
          document.getElementById("tablePhotos").style.display = "none";
        }
        else
        {
          obj.innerHTML = "&#x25C4;Hide";
          document.getElementById("tablePhotos").style.display = "block";
        }

        return (false);
      } //zPhotoView
      /* ---------------------------------------------------------------------- */
      function zPlayerDock(obj)
      {
        if (msieVersion() == 0) return (false);
        var oDiv = document.getElementById("divPlayer");

        if (obj.innerHTML.indexOf("Undock") >= 0)
        {
          obj.innerHTML = "&#x25BC;Dock";
          //document.getElementById("divPlayerContainer").contentEditable = true;
          document.execCommand("2D-position", false, true);
        }
        else
        {
          obj.innerHTML = "&#x25B2;Undock";
          //document.getElementById("divPlayerContainer").contentEditable = false;
          document.execCommand("2D-position", false, false);

          var nPadding = parseInt(getStyle(".black-border", "padding"), 10); //** "tdPlayer-2"
          var oCont3 = document.getElementById("tableTabs").parentNode;
          var oCont2 = document.getElementById("tdPlayer-2");
          var oCont1 = document.getElementById("tdPlayer-1");
          var oCont0 = document.getElementById("tdPlayer-0");

          oDiv.style.left = oCont3.offsetParent.offsetLeft + nPadding + oCont3.offsetLeft + oCont2.offsetLeft + oCont1.offsetLeft + oCont0.offsetLeft;
          oDiv.style.top  = oCont3.offsetParent.offsetTop  + nPadding + oCont3.offsetTop  + oCont2.offsetTop  + oCont1.offsetTop  + oCont0.offsetTop;
        }

        return (false);
      } //zPlayerDock
      /* ---------------------------------------------------------------------- */
      function zPlayerResize(obj)
      {
        var oDiv = document.getElementById("divPlayer");
        oDiv.style.width  = "240px";
        oDiv.style.height = "65px";
        return (false);
      } //zPlayerResize
      /* ---------------------------------------------------------------------- */
      function zLoad_023()
      {
        var sURL = document.location.href;
        sURL = sURL.substring(0, sURL.lastIndexOf("/") + 1) + "023-1974.ra";
        var nOffset = sURL.toLowerCase().indexOf(sCHMsign);
        if (nOffset > 0) sURL = sSiteURL + sURL.substring(nOffset + sCHMsign.length, sURL.length);

        document.getElementsByTagName("embed")[0].parentNode.innerHTML = '<embed src="' + sURL + '" width=240 height=50 type="audio/x-pn-realaudio-plugin">';
        zCopyright();
      } //zLoad_023
      /* ---------------------------------------------------------------------- */
      function zClick_023(nPar)
      {
        var obj = Array(3);
        obj[1] = document.getElementById("div1");
        obj[2] = document.getElementById("div2");
        obj[nPar].style.visibility   = "visible";
        obj[3-nPar].style.visibility = "hidden";
        return(false);
      } //zClick_023
      /* ---------------------------------------------------------------------- */
      function zClick_035(obj)
      {
        var sImage = obj.firstChild.src;
        sImage = sImage.substring(0, sImage.lastIndexOf("."));
        var oImage = document.getElementById("divImage");
        oImage.innerHTML  = '<img src="' + sImage + ' (large).jpg" class="box" onClick="zHide(this)" title="Close">';
        oImage.style.visibility = "visible";
        return(false);
      } //zClick_035
      /* ----------------------------------------------------------------------
      zSound4(obj)                                              -> zSound1(sTitle, sURL, nImg)
    - zSound5(obj)              -> zSound2(sTitle, sId  , nImg) -> zSound1(sTitle, sURL, nImg)
      zSound6(obj)              -> zSound2(sTitle, sId  , nImg) -> zSound1(sTitle, sURL, nImg)
    - zSound7(obj)              -> zSound3(sTitle, sFile, nImg) -> zSound1(sTitle, sURL, nImg)
      zSound8(obj)              -> zSound3(sTitle, sFile, nImg) -> zSound1(sTitle, sURL, nImg)
      z0005_Menu(vEvent, sList) -> zSound3(sTitle, sFile, nImg) -> zSound1(sTitle, sURL, nImg)
                                -> zSound2(sTitle, sId  , nImg) -> zSound1(sTitle, sURL, nImg)
      /* ---------------------------------------------------------------------- */
      function zSound4(obj)
      {
        var sURL = obj.getAttribute("url");
        if (sURL.charAt(0) == "/") sURL = sRAPath + sURL.substring(1, sURL.length);
        var oTR = obj.offsetParent.parentNode;

        var oTD = oTR.cells[1];
        var sTitle = getInnerText(oTD.innerHTML);
        return(zSound1(sTitle, sURL, 0));
      } //zSound4
      /* ---------------------------------------------------------------------- */
      function zSound7(obj)
      {
        var sId = obj.firstChild.src;
        sId = sId.substring(sId.lastIndexOf("/")+1, sId.lastIndexOf("."));
        var oTR = document.getElementById("tr_" + sId);

        var oTD = oTR.cells[oTR.cells.length - 1];
        var sTitle = getInnerText(oTR.cells[1].innerHTML);
        //sTitle += " - " + oTD.getAttribute("xname");
        var sURL = oTD.getAttribute("file");
        return(zSound3(sTitle, sURL, sId));
      } //zSound7
      /* ---------------------------------------------------------------------- */
      function zSound8(obj)
      {
        var oTR = obj.offsetParent.parentNode;
        var sTitle = getInnerText(oTR.cells[1].innerHTML);
        var oTD = oTR.cells[oTR.cells.length - 1];
        //sTitle += " - " + oTD.getAttribute("xname");
        var sURL = oTD.getAttribute("file");
        var nImg  = strToInt(oTR.cells[3].getAttribute("img"));
        var sName = getInnerText(obj.innerHTML);
        return(zSound3(sTitle, sURL, nImg, sName));
      } //zSound8
      /* ---------------------------------------------------------------------- */
      function zSound5(obj)
      {
        var sId = obj.firstChild.src;
        sId = sId.substring(sId.lastIndexOf("/")+1, sId.lastIndexOf("."));
        var oTR = document.getElementById("tr_" + sId);

        var oTD = oTR.cells[1];
        var sTitle = getInnerText(oTD.innerHTML);
        return(zSound2(sTitle, sId, sId));
      } //zSound5
      /* ---------------------------------------------------------------------- */
      function zSound6(obj)
      {
        var oLink = document.getElementById("aDock");
        if (oLink && oLink.innerHTML.indexOf("Undock") < 0)
        {
          var oCont1 = obj.offsetParent;
          var oCont2 = document.getElementById("tdList");
          var oCont3 = document.getElementById("tableTabs").parentNode;
          var nPadding = parseInt(getStyle(".black-border", "padding"), 10); //** "tdList"
          var nBorder = 8; //** MS 2D-position

          var oDiv = document.getElementById("divPlayer");
          oDiv.style.left = nBorder + oCont3.offsetParent.offsetLeft + oCont3.offsetLeft + oCont2.offsetLeft + nPadding + oCont1.offsetLeft;
          oDiv.style.top  = nBorder + oCont3.offsetParent.offsetTop  + oCont3.offsetTop  + oCont2.offsetTop  + nPadding + oCont1.offsetTop  + obj.offsetHeight;
        }

        var oTR = obj.offsetParent.parentNode;
        var sId = oTR.id.substring("tr_".length, oTR.id.length);
        var sTitle = getInnerText(oTR.cells[1].innerHTML);
        var nImg  = strToInt(oTR.cells[3].getAttribute("img"));
        var sName = getInnerText(obj.innerHTML);
        return(zSound2(sTitle, sId, nImg, sName));
      } //zSound6
      /* ---------------------------------------------------------------------- */
      function zSound3(sTitle, sFile, nImg, sName)
      {
        var sURL = document.location.href;
        sURL = sURL.substring(0, sURL.lastIndexOf("/") + 1) + sFile;
        return(zSound1(sTitle, sURL, nImg, sName));
      } //zSound3
      /* ---------------------------------------------------------------------- */
      function zSound2(sTitle, sId, nImg, sName)
      {
        var sId = (1000 + strToInt(sId)).toString().substring(1,4);
        var sURL = document.location.href;
        sURL = sURL.substring(0, sURL.lastIndexOf("/") + 1) + sId + ".ra";
        return(zSound1(sTitle, sURL, nImg, sName));
      } //zSound2
      /* ---------------------------------------------------------------------- */
      function zSound1(sTitle, sURL, nImg, sName)
      {
        var nOffset = sURL.toLowerCase().indexOf(sCHMsign);
        if (nOffset > 0) sURL = sSiteURL + sURL.substring(nOffset + sCHMsign.length, sURL.length);
        var oDiv = document.getElementById("divPlayer"); //document.getElementsByTagName("embed")[0].parentNode;
        oDiv.innerHTML = '<A name="Player">&nbsp;</a>' + sTitle + '<br><embed src="' + sURL + '" width=240 height=50" type="audio/x-pn-realaudio-plugin">';
        nImg = (1000 + strToInt(nImg)).toString().substring(1,4);
        var sText = "<img width=60 height=80 border=1 src='Images/" + nImg + ".jpg'";
        if (sName) sText += " title='" + sName + "'";
        sText += ">";
        document.getElementById("tdIcon").innerHTML = sText;
        oDiv.focus();

        var oLink = document.getElementById("aDock");
        if (!oLink || oLink.innerHTML.indexOf("Undock") >= 0)
          document.location.href = "#Player";
        return(false);
      } //zSound1
      /* ---------------------------------------------------------------------- */
