<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://karaoke.kjams.com/w/index.php?action=history&amp;feed=atom&amp;title=Server%2FCode</id>
	<title>Server/Code - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://karaoke.kjams.com/w/index.php?action=history&amp;feed=atom&amp;title=Server%2FCode"/>
	<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;action=history"/>
	<updated>2026-06-09T13:22:59Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=7978&amp;oldid=prev</id>
		<title>Deusexmachina at 02:27, 4 September 2012</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=7978&amp;oldid=prev"/>
		<updated>2012-09-04T02:27:26Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:27, 4 September 2012&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/mainscreen.html|mainscreen.html]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/mainscreen.html|mainscreen.html]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/modifications to main.js|modifications to main.js]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/modifications to main.js|modifications to main.js]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Server/Code/newsinger.html|newsinger.html]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kjams_www-mw_:diff:1.41:old-6488:rev-7978:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Deusexmachina</name></author>
	</entry>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=6488&amp;oldid=prev</id>
		<title>Deusexmachina at 21:25, 13 March 2011</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=6488&amp;oldid=prev"/>
		<updated>2011-03-13T21:25:19Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:25, 13 March 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/main.js|main.js]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/main.js|main.js]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/mainscreen.html|mainscreen.html]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/mainscreen.html|mainscreen.html]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/main.js|modifications to main.js]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;modifications to &lt;/ins&gt;main.js|modifications to main.js]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kjams_www-mw_:diff:1.41:old-6487:rev-6488:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Deusexmachina</name></author>
	</entry>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=6487&amp;oldid=prev</id>
		<title>Deusexmachina at 21:24, 13 March 2011</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=6487&amp;oldid=prev"/>
		<updated>2011-03-13T21:24:44Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:24, 13 March 2011&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/main.js|main.js]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/main.js|main.js]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/mainscreen.html|mainscreen.html]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [[Server/Code/mainscreen.html|mainscreen.html]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* [[Server/Code/main.js|modifications to main.js]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kjams_www-mw_:diff:1.41:old-5852:rev-6487:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Deusexmachina</name></author>
	</entry>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=5852&amp;oldid=prev</id>
		<title>Dave: Replaced content with &#039;* main.js
* mainscreen.html&#039;</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=5852&amp;oldid=prev"/>
		<updated>2010-05-18T18:12:56Z</updated>

		<summary type="html">&lt;p&gt;Replaced content with &amp;#039;* &lt;a href=&quot;/wiki/Server/Code/main.js&quot; title=&quot;Server/Code/main.js&quot;&gt;main.js&lt;/a&gt; * &lt;a href=&quot;/wiki/Server/Code/mainscreen.html&quot; title=&quot;Server/Code/mainscreen.html&quot;&gt;mainscreen.html&lt;/a&gt;&amp;#039;&lt;/p&gt;
&lt;a href=&quot;https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;amp;diff=5852&amp;amp;oldid=5849&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Dave</name></author>
	</entry>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=5849&amp;oldid=prev</id>
		<title>Dave at 18:07, 18 May 2010</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=5849&amp;oldid=prev"/>
		<updated>2010-05-18T18:07:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:07, 18 May 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;__TOC__&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==main.js==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==main.js==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key kjams_www-mw_:diff:1.41:old-5848:rev-5849:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Dave</name></author>
	</entry>
	<entry>
		<id>https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=5848&amp;oldid=prev</id>
		<title>Dave: Created page with &#039;==main.js== &lt;pre&gt;     /*   kJams Project - main.js        Description: Main screen functionality.        (c) 2007 kJams and David M. Cotter   */      var timer = null;     var al…&#039;</title>
		<link rel="alternate" type="text/html" href="https://karaoke.kjams.com/w/index.php?title=Server/Code&amp;diff=5848&amp;oldid=prev"/>
		<updated>2010-05-18T18:07:07Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;#039;==main.js== &amp;lt;pre&amp;gt;     &lt;span class=&quot;autocomment&quot;&gt;kJams Project - main.js        Description: Main screen functionality.        (c) 2007 kJams and David M. Cotter: &lt;/span&gt;      var timer = null;     var al…&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==main.js==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    /*   kJams Project - main.js&lt;br /&gt;
       Description: Main screen functionality.&lt;br /&gt;
       (c) 2007 kJams and David M. Cotter   */&lt;br /&gt;
&lt;br /&gt;
    var timer = null;&lt;br /&gt;
    var allowBackspace = false;&lt;br /&gt;
    var inSearch = {&lt;br /&gt;
       on: function() {allowBackspace = true;},&lt;br /&gt;
       off: function() {allowBackspace = false;}&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_populatePlaylists() {&lt;br /&gt;
       //Remove anything that was already there&lt;br /&gt;
       divObj = document.getElementById(&amp;quot;playlists&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
       for (var i = 0; i &amp;lt; divObj.childNodes.length; i++) {&lt;br /&gt;
          divObj.removeChild(divObj.childNodes[i]);&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       list = new KJDropList();&lt;br /&gt;
       list.create(divObj);&lt;br /&gt;
       playlistsList = list;&lt;br /&gt;
       &lt;br /&gt;
       getPlaylists(url_playlists, m_playlistsLoaded);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_playlistsLoaded(list) {&lt;br /&gt;
       listCtrl = document.getElementById(&amp;quot;playlists&amp;quot;).childNodes[0].parent;&lt;br /&gt;
       &lt;br /&gt;
       for (var i = 0; i &amp;lt; list.length; i++) {&lt;br /&gt;
          if ((list[i][&amp;#039;name&amp;#039;] == &amp;quot;Library&amp;quot;) || (list[i][&amp;#039;name&amp;#039;] == &amp;quot;History&amp;quot;))&lt;br /&gt;
             dropTarget = false;&lt;br /&gt;
          else&lt;br /&gt;
             dropTarget = true;&lt;br /&gt;
          &lt;br /&gt;
          listCtrl.addItem(&amp;quot;p&amp;quot; + list[i][&amp;#039;id&amp;#039;], list[i][&amp;#039;name&amp;#039;], dropTarget, null, false);&lt;br /&gt;
          &lt;br /&gt;
          //Library and History items are not rearrangeable&lt;br /&gt;
          if ((list[i][&amp;#039;name&amp;#039;] == &amp;quot;Library&amp;quot;) || (list[i][&amp;#039;name&amp;#039;] == &amp;quot;History&amp;quot;))&lt;br /&gt;
             document.getElementById(&amp;quot;p&amp;quot; + list[i][&amp;#039;id&amp;#039;]).rearrange = false;&lt;br /&gt;
          else&lt;br /&gt;
             document.getElementById(&amp;quot;p&amp;quot; + list[i][&amp;#039;id&amp;#039;]).rearrange = true;&lt;br /&gt;
          &lt;br /&gt;
          //Keep track of ids for &amp;#039;Tonight&amp;#039; and &amp;#039;Favorites&amp;#039;&lt;br /&gt;
          if (list[i][&amp;#039;name&amp;#039;] == &amp;quot;Tonight&amp;quot;) {&lt;br /&gt;
             pTonightID = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          if (list[i][&amp;#039;name&amp;#039;] == &amp;quot;Favorites&amp;quot;) {&lt;br /&gt;
             pFavoritesID = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          //Store the playlist name in the DOM object&lt;br /&gt;
          document.getElementById(&amp;quot;p&amp;quot; + list[i][&amp;#039;id&amp;#039;]).name = list[i][&amp;#039;name&amp;#039;];&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       listCtrl.color();&lt;br /&gt;
       listCtrl.evtClick = m_populateSongs;&lt;br /&gt;
       listCtrl.evtDropInto = m_playlistDrop;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_populateSongs(playlist) {&lt;br /&gt;
       playlist = playlist.substring(1);&lt;br /&gt;
       &lt;br /&gt;
       //Hide&lt;br /&gt;
       if (songsList) {&lt;br /&gt;
          songsList.hide();&lt;br /&gt;
          &lt;br /&gt;
          if (songsList.playlist != &amp;quot;1&amp;quot;) {&lt;br /&gt;
             songsList.destroy();&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       //Hide &amp;quot;No Playlist&amp;quot; message, show waiting message&lt;br /&gt;
       document.getElementById(&amp;quot;message&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       document.getElementById(&amp;quot;msg_dosearch&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       document.getElementById(&amp;quot;msg_error&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;&amp;#039;;&lt;br /&gt;
       &lt;br /&gt;
       //If the list is already loaded, simply display it&lt;br /&gt;
       if ((playlist == &amp;quot;1&amp;quot;) &amp;amp;&amp;amp; (songsLists[playlist] != undefined)) {&lt;br /&gt;
          songsList = songsLists[playlist];&lt;br /&gt;
          songsList.show();&lt;br /&gt;
          document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       //If it&amp;#039;s the library, request that user do a search first&lt;br /&gt;
       else if (playlist == &amp;quot;1&amp;quot;) {&lt;br /&gt;
          document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
          document.getElementById(&amp;quot;msg_dosearch&amp;quot;).style.display = &amp;#039;&amp;#039;;&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       else {&lt;br /&gt;
          //Playlist DOM object&lt;br /&gt;
          playlistObj = document.getElementById(&amp;quot;p&amp;quot; + playlist);&lt;br /&gt;
          &lt;br /&gt;
          //Which columns are needed?&lt;br /&gt;
          var columns = Array(&amp;quot;#&amp;quot;, &amp;quot;Song Name&amp;quot;, &amp;quot;Artist&amp;quot;, &amp;quot;Album&amp;quot;);&lt;br /&gt;
          &lt;br /&gt;
          if (playlistObj.name == &amp;quot;Tonight&amp;quot;) {&lt;br /&gt;
             columns.push(&amp;quot;Pitch&amp;quot;);&lt;br /&gt;
             columns.push(&amp;quot;Add to&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          else if (playlistObj.name == &amp;quot;Favorites&amp;quot;) {&lt;br /&gt;
             columns.push(&amp;quot;Add to&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          else {&lt;br /&gt;
             columns.push(&amp;quot;Add to&amp;quot;);&lt;br /&gt;
             columns.push(&amp;quot;Add to&amp;quot;);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          songsList = new KJList();&lt;br /&gt;
          songsList.rearrange = playlistObj.rearrange;&lt;br /&gt;
          songsList.playlist = playlist;&lt;br /&gt;
          songsList.playlistName = playlistObj.name;&lt;br /&gt;
          songsList.create(document.getElementById(&amp;quot;songs&amp;quot;));&lt;br /&gt;
          songsList.setColumns(columns, 0);&lt;br /&gt;
          songsList.evtDrop = m_songRearrange;&lt;br /&gt;
          songsLists[playlist] = songsList;&lt;br /&gt;
          getSongs(url_songs, m_songsLoaded, &amp;quot;playlist=&amp;quot; + playlist);&lt;br /&gt;
          &lt;br /&gt;
          if (false) {&lt;br /&gt;
             songsList.evtColClick = null;&lt;br /&gt;
          }&lt;br /&gt;
          else {&lt;br /&gt;
             songsList.evtColClick = m_sortSongs;&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       m_sessionCheckin();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_songsLoaded(list) {&lt;br /&gt;
       //Hide waiting message&lt;br /&gt;
       document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       &lt;br /&gt;
       //Rearrangeable?&lt;br /&gt;
       if (songsList.rearrange)&lt;br /&gt;
          var rearrange = true;&lt;br /&gt;
       else&lt;br /&gt;
          var rearrange = false;&lt;br /&gt;
       &lt;br /&gt;
       for (var i = 0; i &amp;lt; list.length; i++) {&lt;br /&gt;
          //Add to favorites&lt;br /&gt;
          var favsButton = document.createElement(&amp;quot;INPUT&amp;quot;);&lt;br /&gt;
          favsButton.type = &amp;quot;button&amp;quot;&lt;br /&gt;
          favsButton.name = songsList.playlist + &amp;quot;-&amp;quot; + list[i][&amp;#039;itemId&amp;#039;];&lt;br /&gt;
          favsButton.songId = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
          favsButton.value = &amp;quot;Favorites&amp;quot;;&lt;br /&gt;
          favsButton.onmousedown = m_addToFavorites;&lt;br /&gt;
          &lt;br /&gt;
          //Add to Tonight&lt;br /&gt;
          var tonightButton = document.createElement(&amp;quot;INPUT&amp;quot;);&lt;br /&gt;
          tonightButton.type = &amp;quot;button&amp;quot;;&lt;br /&gt;
          tonightButton.name = songsList.playlist + &amp;quot;-&amp;quot; + list[i][&amp;#039;itemId&amp;#039;];&lt;br /&gt;
          tonightButton.songId = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
          tonightButton.value = &amp;quot;Tonight&amp;quot;;&lt;br /&gt;
          tonightButton.onmousedown = m_addToTonight;&lt;br /&gt;
       &lt;br /&gt;
          //Columns&lt;br /&gt;
          var columns = Array(i, list[i][&amp;#039;name&amp;#039;], list[i][&amp;#039;artist&amp;#039;]);&lt;br /&gt;
          &lt;br /&gt;
          if (typeof(list[i][&amp;#039;album&amp;#039;]) == &amp;quot;object&amp;quot;) {&lt;br /&gt;
             var dropDown = document.createElement(&amp;quot;SELECT&amp;quot;);&lt;br /&gt;
             dropDown.name = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
             &lt;br /&gt;
             for (var j = 0; j &amp;lt; list[i][&amp;#039;album&amp;#039;][&amp;#039;items&amp;#039;].length; j++) {&lt;br /&gt;
                var optionObj = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;
                optionObj.value = list[i][&amp;#039;album&amp;#039;][&amp;#039;items&amp;#039;][j];&lt;br /&gt;
                optionObj.innerHTML = optionObj.value;&lt;br /&gt;
                &lt;br /&gt;
                if (list[i][&amp;#039;album&amp;#039;][&amp;#039;default&amp;#039;] == j) {&lt;br /&gt;
                   optionObj.selected = true;&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
                dropDown.appendChild(optionObj);&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             columns.push(dropDown);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          else {&lt;br /&gt;
             columns.push(list[i][&amp;#039;album&amp;#039;]);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          if (songsList.playlistName == &amp;quot;Tonight&amp;quot;) {&lt;br /&gt;
             //Drop-down&lt;br /&gt;
             var options = {&amp;quot;+6&amp;quot; : 6, &amp;quot;+5&amp;quot; : 5, &amp;quot;+4&amp;quot; : 4, &amp;quot;+3&amp;quot; : 3, &amp;quot;+2&amp;quot; : 2, &amp;quot;+1&amp;quot; : 1, &amp;quot;0&amp;quot; : 0, &amp;quot;-1&amp;quot; : -1, &amp;quot;-2&amp;quot; : -2, &amp;quot;-3&amp;quot; : -3, &amp;quot;-4&amp;quot; : -4, &amp;quot;-5&amp;quot; : -5, &amp;quot;-6&amp;quot; : -6}&lt;br /&gt;
             var dropDown = document.createElement(&amp;quot;SELECT&amp;quot;);&lt;br /&gt;
             dropDown.name = list[i][&amp;#039;itemId&amp;#039;];&lt;br /&gt;
             dropDown.songId = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
             dropDown.onchange = m_changePitch;&lt;br /&gt;
             for (option in options) {&lt;br /&gt;
                var optionObj = document.createElement(&amp;quot;OPTION&amp;quot;);&lt;br /&gt;
                optionObj.value = options[option];&lt;br /&gt;
                optionObj.innerHTML = option;&lt;br /&gt;
                &lt;br /&gt;
                if(list[i][&amp;#039;pitch&amp;#039;] == options[option]) {&lt;br /&gt;
                   optionObj.selected = true;&lt;br /&gt;
                }&lt;br /&gt;
                &lt;br /&gt;
                dropDown.appendChild(optionObj);&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             columns.push(dropDown);&lt;br /&gt;
             columns.push(favsButton);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          else if (songsList.playlistName == &amp;quot;Favorites&amp;quot;) {&lt;br /&gt;
             columns.push(tonightButton);&lt;br /&gt;
          }&lt;br /&gt;
          &lt;br /&gt;
          else {&lt;br /&gt;
             columns.push(tonightButton);&lt;br /&gt;
             columns.push(favsButton);&lt;br /&gt;
          }&lt;br /&gt;
       &lt;br /&gt;
          index = songsList.addItem(songsList.playlist + &amp;quot;-&amp;quot; + list[i][&amp;#039;itemId&amp;#039;], columns, rearrange, null, false);&lt;br /&gt;
          &lt;br /&gt;
          document.getElementById(songsList.getByIndex(index)).songName   = list[i][&amp;#039;name&amp;#039;];&lt;br /&gt;
          document.getElementById(songsList.getByIndex(index)).songId      = list[i][&amp;#039;id&amp;#039;];&lt;br /&gt;
          document.getElementById(songsList.getByIndex(index)).piIx      = list[i][&amp;#039;itemId&amp;#039;];&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       songsList.color();&lt;br /&gt;
       &lt;br /&gt;
       if (songsList.playlistName != &amp;quot;Tonight&amp;quot; &amp;amp;&amp;amp; songsList.playlistName != &amp;quot;History&amp;quot;) {&lt;br /&gt;
          songsList.evtColClick = m_sortSongs;&lt;br /&gt;
       }&lt;br /&gt;
       else {&lt;br /&gt;
          songsList.evtColClick = null;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_songRearrange(list, song, index, oldIndex) {&lt;br /&gt;
       sendData(url_rearrange, &amp;quot;playlist=&amp;quot; + list.playlist + &amp;quot;&amp;amp;index=&amp;quot; + index + &amp;quot;&amp;amp;oldIndex=&amp;quot; + oldIndex);&lt;br /&gt;
       m_sessionCheckin();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_playlistDrop(song, index, nodeId) {&lt;br /&gt;
       playlists   = document.getElementById(&amp;quot;playlists&amp;quot;).childNodes[0].parent;&lt;br /&gt;
       item      = songsList.getByID(song);&lt;br /&gt;
       &lt;br /&gt;
       if (songsLists[playlists.getByIndex(index).substring(1)]) { songsLists[playlists.getByIndex(index).substring(1)].destroy(); }&lt;br /&gt;
       songsLists[playlists.getByIndex(index).substring(1)] = null;&lt;br /&gt;
       sendData(url_drop, &amp;quot;playlist=&amp;quot; + playlists.getByIndex(index).substring(1) + &amp;quot;&amp;amp;song=&amp;quot; + songsList.getByID(song).songId);&lt;br /&gt;
       &lt;br /&gt;
       m_setStatus(&amp;quot;Added \&amp;quot;&amp;quot; + item.songName + &amp;quot;\&amp;quot; to \&amp;quot;&amp;quot; + m_getPlaylistName(playlists.getByIndex(index)) + &amp;quot;\&amp;quot; ...&amp;quot;);&lt;br /&gt;
       m_sessionCheckin();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_addToTonight(event) {&lt;br /&gt;
       playlists = document.getElementById(&amp;quot;playlists&amp;quot;).childNodes[0].parent;&lt;br /&gt;
       m_playlistDrop(event.target.name, playlists.getIndex(&amp;quot;p&amp;quot; + pTonightID), event.target.name);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_addToFavorites(event) {&lt;br /&gt;
       playlists = document.getElementById(&amp;quot;playlists&amp;quot;).childNodes[0].parent&lt;br /&gt;
       m_playlistDrop(event.target.name, playlists.getIndex(&amp;quot;p&amp;quot; + pFavoritesID), event.target.name);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_sortSongs(list, column) {&lt;br /&gt;
       list.removeAll();&lt;br /&gt;
       list.setPrimaryCol(column);&lt;br /&gt;
       document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;&amp;#039;;&lt;br /&gt;
       &lt;br /&gt;
       if (document.getElementById(&amp;quot;searchfield&amp;quot;).value) {&lt;br /&gt;
          search = &amp;quot;&amp;amp;search=&amp;quot; + document.getElementById(&amp;quot;searchfield&amp;quot;).value;&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       getSongs(url_sort, m_songsLoaded, &amp;quot;playlist=&amp;quot; + list.playlist + &amp;quot;&amp;amp;orderby=&amp;quot; + column + search);&lt;br /&gt;
       m_sessionCheckin();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_changePitch(event) {&lt;br /&gt;
       sendData(url_pitch, &amp;quot;song=&amp;quot; + event.target.songId + &amp;quot;&amp;amp;pitch=&amp;quot; + event.target.value);&lt;br /&gt;
       m_sessionCheckin();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_doSearch() {&lt;br /&gt;
       //Remove old search list if it&amp;#039;s there&lt;br /&gt;
       if (songsLists[&amp;quot;1&amp;quot;]) {&lt;br /&gt;
          songsLists[&amp;quot;1&amp;quot;].parentObj.removeChild(songsLists[&amp;quot;1&amp;quot;].container);&lt;br /&gt;
          songsLists[&amp;quot;1&amp;quot;].parentObj.removeChild(songsLists[&amp;quot;1&amp;quot;].columnsObj);&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       //Hide currently loaded list&lt;br /&gt;
       if (songsList) {&lt;br /&gt;
          songsList.hide();&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       document.getElementById(&amp;quot;msg_dosearch&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       document.getElementById(&amp;quot;message&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       document.getElementById(&amp;quot;msg_error&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
       var columns = Array(&amp;quot;#&amp;quot;, &amp;quot;Song Name&amp;quot;, &amp;quot;Artist&amp;quot;, &amp;quot;Album&amp;quot;, &amp;quot;Add to&amp;quot;, &amp;quot;Add to&amp;quot;);&lt;br /&gt;
       &lt;br /&gt;
       songsList = new KJList();&lt;br /&gt;
       songsList.rearrange = false;&lt;br /&gt;
       songsList.playlist = &amp;quot;1&amp;quot;;&lt;br /&gt;
       songsList.playlistName = &amp;quot;Library&amp;quot;;&lt;br /&gt;
       songsList.create(document.getElementById(&amp;quot;songs&amp;quot;));&lt;br /&gt;
       songsList.setColumns(columns, 1);&lt;br /&gt;
       songsLists[&amp;quot;1&amp;quot;] = songsList;&lt;br /&gt;
       &lt;br /&gt;
       getSongs(url_search, m_songsLoaded, &amp;quot;search=&amp;quot; + document.getElementById(&amp;quot;searchfield&amp;quot;).value);&lt;br /&gt;
       m_sessionCheckin();&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function searchKeyPressed(event) {&lt;br /&gt;
       if (event.keyCode == 13) {&lt;br /&gt;
          m_doSearch();&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_getSongName(id) {&lt;br /&gt;
       songObj = document.getElementById(id);&lt;br /&gt;
       return songObj.songName;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_getPlaylistName(id) {&lt;br /&gt;
       playlistObj = document.getElementById(id);&lt;br /&gt;
       return playlistObj.name;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function kj_data_error(id, desc) {&lt;br /&gt;
       songsLists[songsList.id] = null;&lt;br /&gt;
       songsList.hide();&lt;br /&gt;
       document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
       &lt;br /&gt;
       document.getElementById(&amp;quot;msg_error&amp;quot;).innerHTML = &amp;quot;Error: &amp;quot; + desc&lt;br /&gt;
       document.getElementById(&amp;quot;msg_error&amp;quot;).style.display = &amp;#039;&amp;#039;;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_setStatus(status, revert) {&lt;br /&gt;
       statusObj = document.getElementById(&amp;quot;status&amp;quot;);&lt;br /&gt;
       statusObj.innerHTML = status;&lt;br /&gt;
    }&lt;br /&gt;
    function trapDelete() {&lt;br /&gt;
       var keyID = (window.event) ? event.keyCode : e.keyCode;&lt;br /&gt;
       if (keyID==8 &amp;amp;&amp;amp; !allowBackspace){&lt;br /&gt;
          return false;&lt;br /&gt;
       }&lt;br /&gt;
       return true;&lt;br /&gt;
    }&lt;br /&gt;
    function m_keyPressed(event) {&lt;br /&gt;
       //This is not IE-compliant code.&lt;br /&gt;
       if (event.keyCode == 46 || event.keyCode ==8) {&lt;br /&gt;
          if (!songsList.selection) {&lt;br /&gt;
             return;&lt;br /&gt;
          }&lt;br /&gt;
       &lt;br /&gt;
          playlistName   = songsList.playlistName;&lt;br /&gt;
&lt;br /&gt;
          if (playlistName != &amp;quot;Library&amp;quot; &amp;amp;&amp;amp; playlistName != &amp;quot;History&amp;quot;) {&lt;br /&gt;
             selection   = songsList.selection;&lt;br /&gt;
             item      = songsList.getByID(selection);&lt;br /&gt;
             &lt;br /&gt;
             songsList.select(null);&lt;br /&gt;
             sendData(url_remove, &amp;quot;playlist=&amp;quot; + songsList.playlist + &amp;quot;&amp;amp;piIx=&amp;quot; + item.piIx);&lt;br /&gt;
             m_setStatus(&amp;quot;Removed \&amp;quot;&amp;quot; + item.songName + &amp;quot;\&amp;quot; ...&amp;quot;);&lt;br /&gt;
             songsList.removeItem(selection);&lt;br /&gt;
          }&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_sessionCheckin() {&lt;br /&gt;
       /* A true or false value is set by the server before delivering this script&lt;br /&gt;
          depending on preference.&lt;br /&gt;
       if (!{auto_logout}) {&lt;br /&gt;
          return;&lt;br /&gt;
       }&lt;br /&gt;
       &lt;br /&gt;
       if (timer == null) {&lt;br /&gt;
          timer = setInterval(&amp;quot;m_sessionLogout()&amp;quot;, {timeout} * 1000);&lt;br /&gt;
       }&lt;br /&gt;
       else {&lt;br /&gt;
          clearInterval(timer);&lt;br /&gt;
          timer = null;&lt;br /&gt;
          return m_sessionCheckin();&lt;br /&gt;
       }&lt;br /&gt;
        */&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    function m_sessionLogout() {&lt;br /&gt;
    //   window.location=url_login;&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==mainscreen.html==&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
    &amp;lt;html&amp;gt;&lt;br /&gt;
       &amp;lt;head&amp;gt;&lt;br /&gt;
          &amp;lt;title&amp;gt;kJams Server&amp;lt;/title&amp;gt;&lt;br /&gt;
       &lt;br /&gt;
          &amp;lt;script src=&amp;quot;spry/xpath.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
          &amp;lt;script src=&amp;quot;spry/SpryData.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
          &amp;lt;script src=&amp;quot;ui.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
          &amp;lt;script src=&amp;quot;data.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
          &amp;lt;script src=&amp;quot;main.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
          &amp;lt;script src=&amp;quot;common.js&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
          &amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;
             #main {&lt;br /&gt;
                padding: 10px;&lt;br /&gt;
                margin-right: 20px;&lt;br /&gt;
                margin-left: 20px;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #000000;&lt;br /&gt;
                border-width: 1px;&lt;br /&gt;
                background: url(&amp;#039;metal.jpg&amp;#039;);&lt;br /&gt;
                cursor: default;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #title {&lt;br /&gt;
                padding-right: 30px;&lt;br /&gt;
                text-align: left;&lt;br /&gt;
                font-family: Arial Black;&lt;br /&gt;
                font-size: 24pt;&lt;br /&gt;
                font-weight: bold;&lt;br /&gt;
                margin-bottom: 5px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #search {&lt;br /&gt;
                width: 100%;&lt;br /&gt;
                text-align: center;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #searchfield {&lt;br /&gt;
                height: 21px;&lt;br /&gt;
                width: 144px;&lt;br /&gt;
                background: url(&amp;#039;search.png&amp;#039;);&lt;br /&gt;
                border-width: 0px;&lt;br /&gt;
                padding-left: 7px;&lt;br /&gt;
                padding-right: 7px;&lt;br /&gt;
                padding-top: 2px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #left {&lt;br /&gt;
                float: left;&lt;br /&gt;
                width: 200px;&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
                margin-left: 0px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #status {&lt;br /&gt;
                text-align: center;&lt;br /&gt;
                color: #333333;&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJList {&lt;br /&gt;
                overflow: auto;&lt;br /&gt;
                height: 240px;&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                background-color: #FFFFFF;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #999999;&lt;br /&gt;
                border-width: 1px;&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJList td {&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJList table {&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #photo {&lt;br /&gt;
                padding: 3px;&lt;br /&gt;
                width: 190px;&lt;br /&gt;
                height: 143px;&lt;br /&gt;
                max-height: 150px;&lt;br /&gt;
                overflow: hidden;&lt;br /&gt;
                margin-top: 5px;&lt;br /&gt;
                background-color: #FFFFFF;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #999999;&lt;br /&gt;
                border-width: 1px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #songs {&lt;br /&gt;
                /*position: relative;&lt;br /&gt;
                z-index: 1;*/&lt;br /&gt;
                border-style: solid/&lt;br /&gt;
                border-color: #999999;&lt;br /&gt;
                border-width: 1px;&lt;br /&gt;
                margin-left: 220px;&lt;br /&gt;
                background-color: #FFFFFF;&lt;br /&gt;
                min-height: 400px;&lt;br /&gt;
                background-image:url(/media/Images/kjams.jpg);&lt;br /&gt;
                background-repeat: no-repeat;&lt;br /&gt;
                background-position: center;&lt;br /&gt;
                /*filter: alpha (opacity=50);&lt;br /&gt;
                -moz-opacity:0.5;&lt;br /&gt;
                opacity: 0.5;*/&lt;br /&gt;
             &lt;br /&gt;
             }&lt;br /&gt;
             #songsbackground{&lt;br /&gt;
                positon: absolute;&lt;br /&gt;
                z-index: 10;&lt;br /&gt;
                min-height: 400px;&lt;br /&gt;
                background-image:url(kjams.jpg);&lt;br /&gt;
                background-repeat: no-repeat;&lt;br /&gt;
                background-position: center;&lt;br /&gt;
                filter: alpha (opacity=50);/*for those yet to get with the program*/&lt;br /&gt;
                -moz-opacity:0.5;&lt;br /&gt;
                opacity: 0.5;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #message, #waiting, #msg_dosearch, #msg_error {&lt;br /&gt;
                /*position: relative;&lt;br /&gt;
                z-index: 11&lt;br /&gt;
                top: 0;&lt;br /&gt;
                left: 0;*/&lt;br /&gt;
                text-align: center;&lt;br /&gt;
                font-size: 14pt;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #songs .KJList {&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                height: 400px;&lt;br /&gt;
                overflow: auto;&lt;br /&gt;
                &amp;lt;!background-color: #FFFFFF;&amp;gt;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListColumn {&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
                background: url(&amp;#039;column-bg.jpg&amp;#039;);&lt;br /&gt;
                cursor: default;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListColumn td {&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #999999;&lt;br /&gt;
                border-width: 0px;&lt;br /&gt;
                border-right-width: 1px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListColumn .primary {&lt;br /&gt;
                background: url(&amp;#039;column-selected-bg.jpg&amp;#039;);&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListItem, .KJListItem_alt, .KJListItem_selected, .KJListItem_drag, .KJListItem_target, .KJListItem_alt_target {&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                padding-top: 0px;&lt;br /&gt;
                padding-bottom: 0px;&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
                cursor: default;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #FFFFFF;&lt;br /&gt;
                border-width: 0px;&lt;br /&gt;
                border-bottom-width: 1px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListItem_alt {&lt;br /&gt;
                background-color: #EEEEFF;&lt;br /&gt;
                opacity: 0.7;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListItem_selected {&lt;br /&gt;
                background-color: #4444FF;&lt;br /&gt;
                color: #FFFFFF;&lt;br /&gt;
             }&lt;br /&gt;
                      &lt;br /&gt;
             .KJListItem_target, .KJListItem_alt_target {&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #000000;&lt;br /&gt;
                border-width: 0px;&lt;br /&gt;
                border-top-width: 1px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListItem_alt_target {&lt;br /&gt;
                background-color: #EEEEFF;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJListItem_drag {&lt;br /&gt;
                position: absolute;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #000000;&lt;br /&gt;
                border-width: 1px;&lt;br /&gt;
                background-color: #DDDDDD;&lt;br /&gt;
                filter:alpha(opacity=40); /* for IE */&lt;br /&gt;
                -moz-opacity:0.4;&lt;br /&gt;
                opacity: 0.4;   &lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJList input {&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                margin: 0px;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #000000;&lt;br /&gt;
                border-width: 1px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             .KJList input:active {&lt;br /&gt;
                background-color: #000000;&lt;br /&gt;
                color: #FFFFFF;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJListItem, #playlists .KJListItem_alt, #playlists .KJListItem_selected, #playlists .KJListItem_target, #playlists .KJListItem_alt_target {&lt;br /&gt;
                background: url(&amp;#039;playlist-icon.gif&amp;#039;);&lt;br /&gt;
                background-repeat: no-repeat;&lt;br /&gt;
                padding: 0px;&lt;br /&gt;
                padding-left: 20px;&lt;br /&gt;
                border-style: solid;&lt;br /&gt;
                border-color: #FFFFFF;&lt;br /&gt;
                border-width: 3px;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJListItem_alt {&lt;br /&gt;
                background-color: #EEEEFF;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJListItem_selected {&lt;br /&gt;
                background-color: #4444FF;&lt;br /&gt;
                color: #FFFFFF;&lt;br /&gt;
             }&lt;br /&gt;
             &lt;br /&gt;
             #playlists .KJListItem_target, #playlists .KJListItem_alt_target {&lt;br /&gt;
                border-color: #000000;&lt;br /&gt;
                background-color: #9999FF;&lt;br /&gt;
             }&lt;br /&gt;
&lt;br /&gt;
             .clear {&lt;br /&gt;
                clear: both;&lt;br /&gt;
             }&lt;br /&gt;
          &amp;lt;/style&amp;gt;&lt;br /&gt;
       &amp;lt;/head&amp;gt;&lt;br /&gt;
       &lt;br /&gt;
       &amp;lt;body&amp;gt;&lt;br /&gt;
          &amp;lt;div id=&amp;quot;main&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;table&amp;gt;&amp;lt;tr&amp;gt;&amp;lt;td id=&amp;quot;title&amp;quot;&amp;gt;&amp;lt;nobr&amp;gt;{singer}&amp;lt;/nobr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td id=&amp;quot;search&amp;quot;&amp;gt;&amp;lt;nobr&amp;gt;Search Library: &amp;lt;input type=&amp;quot;search&amp;quot; id=&amp;quot;searchfield&amp;quot; name=&amp;quot;search&amp;quot; onkeypress=searchKeyPressed(event) onblur=&amp;quot;inSearch.off()&amp;quot; onfocus=&amp;quot;inSearch.on()&amp;quot; /&amp;gt;&amp;amp;nbsp;&amp;lt;input type=&amp;quot;submit&amp;quot; style=&amp;quot;&amp;quot; name=&amp;quot;dosearch&amp;quot; value=&amp;quot;Go&amp;quot; onclick=m_doSearch() /&amp;gt;&amp;lt;/nobr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;td id=&amp;quot;help&amp;quot;&amp;gt;&amp;lt;nobr&amp;gt;[ &amp;lt;a id=&amp;quot;helplink&amp;quot; href=&amp;quot;&amp;quot;&amp;gt;Help&amp;lt;/a&amp;gt; ] [ &amp;lt;a id=&amp;quot;logoutlink&amp;quot; href=&amp;quot;&amp;quot;&amp;gt;Logout&amp;lt;/a&amp;gt; ]&amp;lt;/nobr&amp;gt;&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;&amp;lt;/table&amp;gt;&lt;br /&gt;
             &amp;lt;div&amp;gt;&lt;br /&gt;
                &amp;lt;div id=&amp;quot;left&amp;quot;&amp;gt;&lt;br /&gt;
                   &amp;lt;div id=&amp;quot;playlists&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                   &amp;lt;div id=&amp;quot;photo&amp;quot;&amp;gt;&amp;lt;img src=&amp;quot;kjams-main.jpg&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div id=&amp;quot;songs&amp;quot;&amp;gt;&amp;lt;p id=&amp;quot;msg_error&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;p id=&amp;quot;msg_dosearch&amp;quot;&amp;gt;Please enter a search.&amp;lt;/p&amp;gt;&amp;lt;p id=&amp;quot;message&amp;quot;&amp;gt;No Playlist Selected.&amp;lt;/p&amp;gt;&amp;lt;p id=&amp;quot;waiting&amp;quot;&amp;gt;Please wait, loading playlist...&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div class=&amp;quot;clear&amp;quot;&amp;gt;&amp;amp;nbsp;&amp;lt;/div&amp;gt;&lt;br /&gt;
                &amp;lt;div id=&amp;quot;status&amp;quot;&amp;gt;Welcome to kJams!&amp;lt;/div&amp;gt;&lt;br /&gt;
             &amp;lt;/div&amp;gt;&lt;br /&gt;
          &amp;lt;/div&amp;gt;&lt;br /&gt;
          &lt;br /&gt;
          &amp;lt;script language=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
             //Bind key press function&lt;br /&gt;
             document.onkeyup = m_keyPressed;&lt;br /&gt;
             //Prevent browser from seeing the Delete key press&lt;br /&gt;
             document.onkeydown=trapDelete;&lt;br /&gt;
          &lt;br /&gt;
             //Hide message fields&lt;br /&gt;
             document.getElementById(&amp;quot;waiting&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
             document.getElementById(&amp;quot;msg_dosearch&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
             document.getElementById(&amp;quot;msg_error&amp;quot;).style.display = &amp;#039;none&amp;#039;;&lt;br /&gt;
             &lt;br /&gt;
             //Plug in help and logout URLs&lt;br /&gt;
             document.getElementById(&amp;quot;helplink&amp;quot;).href = url_help;&lt;br /&gt;
             document.getElementById(&amp;quot;logoutlink&amp;quot;).href = url_login;&lt;br /&gt;
             &lt;br /&gt;
             //Playlists&lt;br /&gt;
             m_populatePlaylists();&lt;br /&gt;
          &lt;br /&gt;
             if (0) {&lt;br /&gt;
                //Song list&lt;br /&gt;
                var songs = new KJList();&lt;br /&gt;
                songs.create(document.getElementById(&amp;quot;songs&amp;quot;));&lt;br /&gt;
                songs.setColumns(Array(&amp;quot;#&amp;quot;, &amp;quot;Song Name&amp;quot;, &amp;quot;Artist&amp;quot;, &amp;quot;Pitch&amp;quot;, &amp;quot;Add to&amp;quot;, &amp;quot;Add to&amp;quot;), 1);&lt;br /&gt;
                &lt;br /&gt;
                //Set clipping&lt;br /&gt;
                songs.setClipping({&amp;#039;right&amp;#039; : songs.getColumnWidth(5) + songs.getColumnWidth(4) + songs.getColumnWidth(3)});&lt;br /&gt;
                &lt;br /&gt;
                getSongs(url_songs, populateList, &amp;#039;playlist=1&amp;#039;);&lt;br /&gt;
                         &lt;br /&gt;
                function populateList(songList) {&lt;br /&gt;
                   for(var i = 0; i &amp;lt; songList.length; i++) {&lt;br /&gt;
                      songs.addItem(songList[i][&amp;#039;number&amp;#039;], Array(songList[i][&amp;#039;number&amp;#039;], songList[i][&amp;#039;name&amp;#039;], songList[i][&amp;#039;artist&amp;#039;], &amp;quot;&amp;lt;select&amp;gt;&amp;lt;option&amp;gt;+6&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;+5&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;+4&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;+3&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;+2&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;+1&amp;lt;/option&amp;gt;&amp;lt;option selected&amp;gt;0&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;-1&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;-2&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;-3&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;-4&amp;lt;/option&amp;gt;&amp;lt;option&amp;gt;-5&amp;lt;/option&amp;gt;&amp;lt;/select&amp;gt;&amp;quot;, &amp;quot;&amp;lt;input type=\&amp;quot;submit\&amp;quot; value=\&amp;quot;Tonight\&amp;quot; /&amp;gt;&amp;quot;, &amp;quot;&amp;lt;input type=\&amp;quot;submit\&amp;quot; value=\&amp;quot;Favorites\&amp;quot; /&amp;gt;&amp;quot;), null, null, false);&lt;br /&gt;
                   }&lt;br /&gt;
                   &lt;br /&gt;
                   songs.color();&lt;br /&gt;
                }&lt;br /&gt;
             }&lt;br /&gt;
          &amp;lt;/script&amp;gt;&lt;br /&gt;
       &amp;lt;/body&amp;gt;&lt;br /&gt;
    &amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dave</name></author>
	</entry>
</feed>