// Define script scoped variables

  var jukeboxOpen = false
  var songFile = false
  var songName = false

// Create a window to be used as an interface for playing midis

  function openMidiWindow()
    {

     if (jukeboxOpen==false)
      {
       winStats='toolbar=no,location=no,directories=no,status=no,menubar=no,'
       winStats+='scrollbars=no,resizable=no,'

       if (navigator.appName.indexOf("Microsoft")>=0)
        {
         winStats+='width=575,height=41,left=300,top=300'
        }
       else
        {
         winStats+='width=600,height=41,screenX=300,screenY=300,alwaysRaised=yes'
        }

       midiWindow = window.open ("","midiWindow",winStats) 

       // Dynamically write the frames (don't forget to make the bogus one called "scratch")
       midiWindow.document.writeln("<\!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Strict file:\/\/EN\">")
       midiWindow.document.writeln("<HTML>")
       midiWindow.document.writeln("  <HEAD>")
       midiWindow.document.writeln("    <TITLE>John\'s MidiWindow<\/TITLE>")
       midiWindow.document.writeln("  <\/HEAD>")
       midiWindow.document.writeln("")
       midiWindow.document.writeln("  <FRAMESET COLS=300,* BORDER=0>")
       midiWindow.document.writeln("    <FRAME SRC=\".\/scratch.html\" name=\"scratch\" SCROLLING=NO NORESIZE>")
       midiWindow.document.writeln("    <FRAME SRC=\".\/player.html\" name=\"player\" SCROLLING=NO NORESIZE>")
       midiWindow.document.writeln("  <\/FRAMESET>")
       midiWindow.document.writeln("<\/HTML>")
       midiWindow.document.close()

       jukeboxOpen=true
      }
      // Did the user click more than once?
     else
      {

      }

    }

// A middle-man to know what song was chosen to be played, and remember it for midiPlay()

  function midiChoice(File, Name)
    {
     //songFile=File
     //songName=Name

     // Make sure it's all there before we try to play some music
     if (jukeboxOpen==true)
      {
       midiWindow.scratch.document.writeln("<\!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Strict file:\/\/EN\">")
       midiWindow.scratch.document.writeln("<HTML>")
       midiWindow.scratch.document.writeln("  <HEAD>")
       midiWindow.scratch.document.writeln("    <TITLE><\/TITLE>")
       midiWindow.scratch.document.writeln("  <\/HEAD>")
       midiWindow.scratch.document.writeln("")
       midiWindow.scratch.document.writeln("  <BODY>")
       midiWindow.scratch.document.writeln("    <P>Loading\/Playing<BR>"+Name+"<\/P>")
       midiWindow.scratch.document.writeln("    <BR clear=\'all\'>")
       midiWindow.scratch.document.writeln("  <\/BODY>")
       midiWindow.scratch.document.writeln("<\/HTML>")
       midiWindow.scratch.document.close()
      }
    }

// When the Play button is clicked...

  function midiPlay()
    {

     // Make sure it's all there before we try to play some music
     if (jukeboxOpen==true)
      {
       midiWindow.scratch.document.writeln("<\!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Strict file:\/\/EN\">")
       midiWindow.scratch.document.writeln("<HTML>")
       midiWindow.scratch.document.writeln("  <HEAD>")
       midiWindow.scratch.document.writeln("    <TITLE><\/TITLE>")
       midiWindow.scratch.document.writeln("  <\/HEAD>")
       midiWindow.scratch.document.writeln("")
       midiWindow.scratch.document.writeln("  <BODY>")
       midiWindow.scratch.document.writeln("    <P>Loading\/Playing<BR>"+songName+"<\/P>")
       midiWindow.scratch.document.writeln("    <BR clear='all'>")

       // Use EMBED or BGSOUND?
       if (navigator.appName.indexOf("Microsoft")>=0)
        {
         midiWindow.scratch.document.writeln("    <BGSOUND SRC=\""+songFile+"\">")
        }
       else
        {
         midiWindow.scratch.document.writeln("    <EMBED SRC=\""+songFile+"\" HIDDEN=true AUTOSTART=true>")
        }

       midiWindow.scratch.document.writeln("  <\/BODY>")
       midiWindow.scratch.document.writeln("<\/HTML>")
       midiWindow.scratch.document.close()
      }

    }