}
-puts "Now playing: $rfile, [$ts duration] minutes."
+puts "
Now playing: $rfile, [$ts duration] minutes."
puts {
+
+
+
+
}
diff --git a/var/mongoose/cgi-bin/browse/play.js b/var/mongoose/cgi-bin/browse/play.js
new file mode 100644
index 00000000..6ea4ebf6
--- /dev/null
+++ b/var/mongoose/cgi-bin/browse/play.js
@@ -0,0 +1,13 @@
+
+$(document).ready(function() {
+
+var url = $('#url').text();
+
+var vlc = VLCobject.embedPlayer('vlc', 800, 450, true);
+vlc.play(encodeURI(url));
+
+if (window.console)
+ console.log("Playing: %o", url);
+
+});
+
diff --git a/var/mongoose/html/css/style.css b/var/mongoose/html/css/style.css
index 9d3f222b..07df80d9 100644
--- a/var/mongoose/html/css/style.css
+++ b/var/mongoose/html/css/style.css
@@ -315,7 +315,7 @@ div.cut
font-size: 12px;
}
-font.also
+.also
{
font-size: 0.9em;
font-style: italic;
diff --git a/var/mongoose/html/css/vlc.css b/var/mongoose/html/css/vlc.css
new file mode 100644
index 00000000..01babf12
--- /dev/null
+++ b/var/mongoose/html/css/vlc.css
@@ -0,0 +1,60 @@
+.x-vlc-slider {
+ background:#C7F2FF;
+ text-align:center;
+
+ }
+ .x-vlc-slider-thumb {
+ background:#4EAECC;
+ width:3px;
+}
+.x-vlc-main {
+
+}
+.x-vlc-toolbar {
+
+ color:black;
+
+}
+ .x-vlc-toolbar * {
+ vertical-align:top;
+
+ }
+.x-vlc-btn {
+
+ padding-right:10px;
+
+
+}
+.x-vlc-btn-fullscreen {
+ background:url(images/fullscreen2.gif) no-repeat;
+}
+ .x-vlc-btn-plus {
+ background:url(images/plus2.gif) no-repeat;
+}
+.x-vlc-btn-moins {
+ background:url(images/moins2.gif) no-repeat;
+}
+.x-vlc-btn:hover {
+ color:red;
+
+}
+.x-vlc-btn-play {
+ background:url(images/play2.gif) no-repeat;
+}
+.x-vlc-btn-stop {
+ background:url(images/stop2.gif) no-repeat;
+
+}
+.x-vlc-btn-pause {
+ background:url(images/pause2.gif) no-repeat;
+
+}
+.x-vlc-timer {
+ width:100px;
+ font-size:12px;
+ vertical-align:top;
+ text-align:center
+}
+.x-vlc-about {
+ font-size:10px;
+}
\ No newline at end of file
diff --git a/var/mongoose/html/img/media/fast_backward.png b/var/mongoose/html/img/media/fast_backward.png
new file mode 100644
index 00000000..90a18d6b
Binary files /dev/null and b/var/mongoose/html/img/media/fast_backward.png differ
diff --git a/var/mongoose/html/img/media/fast_forward.png b/var/mongoose/html/img/media/fast_forward.png
new file mode 100644
index 00000000..256fbea0
Binary files /dev/null and b/var/mongoose/html/img/media/fast_forward.png differ
diff --git a/var/mongoose/html/img/media/move.png b/var/mongoose/html/img/media/move.png
new file mode 100644
index 00000000..6b73f538
Binary files /dev/null and b/var/mongoose/html/img/media/move.png differ
diff --git a/var/mongoose/html/img/media/mute_2.png b/var/mongoose/html/img/media/mute_2.png
new file mode 100644
index 00000000..907b55ed
Binary files /dev/null and b/var/mongoose/html/img/media/mute_2.png differ
diff --git a/var/mongoose/html/img/media/next_track.png b/var/mongoose/html/img/media/next_track.png
new file mode 100644
index 00000000..d352978e
Binary files /dev/null and b/var/mongoose/html/img/media/next_track.png differ
diff --git a/var/mongoose/html/img/media/pause.png b/var/mongoose/html/img/media/pause.png
new file mode 100644
index 00000000..cd6c6b4e
Binary files /dev/null and b/var/mongoose/html/img/media/pause.png differ
diff --git a/var/mongoose/html/img/media/play.png b/var/mongoose/html/img/media/play.png
new file mode 100644
index 00000000..7091cbb6
Binary files /dev/null and b/var/mongoose/html/img/media/play.png differ
diff --git a/var/mongoose/html/img/media/previous_track.png b/var/mongoose/html/img/media/previous_track.png
new file mode 100644
index 00000000..362419db
Binary files /dev/null and b/var/mongoose/html/img/media/previous_track.png differ
diff --git a/var/mongoose/html/img/media/scroll_left.png b/var/mongoose/html/img/media/scroll_left.png
new file mode 100644
index 00000000..60426440
Binary files /dev/null and b/var/mongoose/html/img/media/scroll_left.png differ
diff --git a/var/mongoose/html/img/media/scroll_right.png b/var/mongoose/html/img/media/scroll_right.png
new file mode 100644
index 00000000..982ce15a
Binary files /dev/null and b/var/mongoose/html/img/media/scroll_right.png differ
diff --git a/var/mongoose/html/img/media/stop.png b/var/mongoose/html/img/media/stop.png
new file mode 100644
index 00000000..fecf1287
Binary files /dev/null and b/var/mongoose/html/img/media/stop.png differ
diff --git a/var/mongoose/html/img/media/volume_2.png b/var/mongoose/html/img/media/volume_2.png
new file mode 100644
index 00000000..418121d7
Binary files /dev/null and b/var/mongoose/html/img/media/volume_2.png differ
diff --git a/var/mongoose/html/img/quicktime.gif b/var/mongoose/html/img/quicktime.gif
new file mode 100644
index 00000000..fdb62a3b
Binary files /dev/null and b/var/mongoose/html/img/quicktime.gif differ
diff --git a/var/mongoose/html/js/ac_quicktime.js b/var/mongoose/html/js/ac_quicktime.js
new file mode 100644
index 00000000..fea19a2f
--- /dev/null
+++ b/var/mongoose/html/js/ac_quicktime.js
@@ -0,0 +1,364 @@
+/*
+
+File: AC_QuickTime.js
+
+Abstract: This file contains functions to generate OBJECT and EMBED tags for QuickTime content.
+
+Version: <1.2.1>
+
+Disclaimer: IMPORTANT: This Apple software is supplied to you by Apple
+Computer, Inc. ("Apple") in consideration of your agreement to the
+following terms, and your use, installation, modification or
+redistribution of this Apple software constitutes acceptance of these
+terms. If you do not agree with these terms, please do not use,
+install, modify or redistribute this Apple software.
+
+In consideration of your agreement to abide by the following terms, and
+subject to these terms, Apple grants you a personal, non-exclusive
+license, under Apple's copyrights in this original Apple software (the
+"Apple Software"), to use, reproduce, modify and redistribute the Apple
+Software, with or without modifications, in source and/or binary forms;
+provided that if you redistribute the Apple Software in its entirety and
+without modifications, you must retain this notice and the following
+text and disclaimers in all such redistributions of the Apple Software.
+Neither the name, trademarks, service marks or logos of Apple Computer,
+Inc. may be used to endorse or promote products derived from the Apple
+Software without specific prior written permission from Apple. Except
+as expressly stated in this notice, no other rights or licenses, express
+or implied, are granted by Apple herein, including but not limited to
+any patent rights that may be infringed by your derivative works or by
+other works in which the Apple Software may be incorporated.
+
+The Apple Software is provided by Apple on an "AS IS" basis. APPLE
+MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
+THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
+FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
+OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
+
+IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
+OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
+MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
+AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
+STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
+Copyright © 2006-2007 Apple Computer, Inc., All Rights Reserved
+
+*/
+
+/*
+ * This file contains functions to generate OBJECT and EMBED tags for QuickTime content.
+ */
+
+/************** LOCALIZABLE GLOBAL VARIABLES ****************/
+
+var gArgCountErr = 'The "%%" function requires an even number of arguments.'
+ + '\nArguments should be in the form "atttributeName", "attributeValue", ...';
+
+/******************** END LOCALIZABLE **********************/
+
+var gTagAttrs = null;
+var gQTGeneratorVersion = 1.2;
+var gQTBehaviorID = "qt_event_source";
+var gQTEventsEnabled = false;
+
+function AC_QuickTimeVersion() { return gQTGeneratorVersion; }
+
+function _QTComplain(callingFcnName, errMsg)
+{
+ errMsg = errMsg.replace("%%", callingFcnName);
+ alert(errMsg);
+}
+
+function _QTIsMSIE()
+{
+ var ua = navigator.userAgent.toLowerCase();
+ var msie = /msie/.test(ua) && !/opera/.test(ua);
+
+ return msie;
+}
+
+
+function _QTGenerateBehavior()
+{
+ return objTag = '';
+}
+
+function _QTPageHasBehaviorObject(callingFcnName, args)
+{
+ var haveBehavior = false;
+ var objects = document.getElementsByTagName('object');
+
+ for ( var ndx = 0, obj; obj = objects[ndx]; ndx++ )
+ {
+ if ( obj.getAttribute('classid') == "clsid:CB927D12-4FF7-4a9e-A169-56E4B8A75598" )
+ {
+ if ( obj.getAttribute('id') == gQTBehaviorID )
+ haveBehavior = false;
+ break;
+ }
+ }
+
+ return haveBehavior;
+}
+
+
+function _QTShouldInsertBehavior()
+{
+ var shouldDo = false;
+
+ if ( gQTEventsEnabled && _QTIsMSIE() && !_QTPageHasBehaviorObject() )
+ shouldDo = true;
+
+ return shouldDo;
+}
+
+
+function _QTAddAttribute(prefix, slotName, tagName)
+{
+ var value;
+
+ value = gTagAttrs[prefix + slotName];
+ if ( null == value )
+ value = gTagAttrs[slotName];
+
+ if ( null != value )
+ {
+ if ( 0 == slotName.indexOf(prefix) && (null == tagName) )
+ tagName = slotName.substring(prefix.length);
+ if ( null == tagName )
+ tagName = slotName;
+ return ' ' + tagName + '="' + value + '"';
+ }
+ else
+ return "";
+}
+
+function _QTAddObjectAttr(slotName, tagName)
+{
+ // don't bother if it is only for the embed tag
+ if ( 0 == slotName.indexOf("emb#") )
+ return "";
+
+ if ( 0 == slotName.indexOf("obj#") && (null == tagName) )
+ tagName = slotName.substring(4);
+
+ return _QTAddAttribute("obj#", slotName, tagName);
+}
+
+function _QTAddEmbedAttr(slotName, tagName)
+{
+ // don't bother if it is only for the object tag
+ if ( 0 == slotName.indexOf("obj#") )
+ return "";
+
+ if ( 0 == slotName.indexOf("emb#") && (null == tagName) )
+ tagName = slotName.substring(4);
+
+ return _QTAddAttribute("emb#", slotName, tagName);
+}
+
+
+function _QTAddObjectParam(slotName, generateXHTML)
+{
+ var paramValue;
+ var paramStr = "";
+ var endTagChar = (generateXHTML) ? ' />' : '>';
+
+ if ( -1 == slotName.indexOf("emb#") )
+ {
+ // look for the OBJECT-only param first. if there is none, look for a generic one
+ paramValue = gTagAttrs["obj#" + slotName];
+ if ( null == paramValue )
+ paramValue = gTagAttrs[slotName];
+
+ if ( 0 == slotName.indexOf("obj#") )
+ slotName = slotName.substring(4);
+
+ if ( null != paramValue )
+ paramStr = '
'
+ + _QTAddObjectParam("src", generateXHTML);
+ var embedTag = '