]> git.sesse.net Git - vlc/commitdiff
mozilla: cleanup test.html plugin testing page.
authorJean-Paul Saman <jean-paul.saman@m2x.nl>
Tue, 10 Mar 2009 09:40:38 +0000 (10:40 +0100)
committerJean-Paul Saman <jean-paul.saman@m2x.nl>
Tue, 10 Mar 2009 09:54:38 +0000 (10:54 +0100)
projects/mozilla/test.html

index 2a0b96ff66a9e986745def95c1503c8577f41894..e2fac657aeb488f08c06733ddc2c9e17e955170a 100644 (file)
 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/components/slider/Bs_Slider.class.js"></SCRIPT>\r
 \r
 <SCRIPT language="JavaScript"><!--\r
-function init()
-{
+function init()\r
+{\r
     inputTracker = new Bs_Slider();\r
-    if (inputTracker)
-    {
-        inputTracker.attachOnChange(onInputTrackerChange);
-        inputTracker.attachOnSlideStart(onInputTrackerScrollStart);
-        inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);
-        inputTracker.width         = 530 ;
-        inputTracker.height        = 15;
-        inputTracker.minVal        = 0;
-        inputTracker.maxVal        = 1.0;
-        inputTracker.valueDefault  = 0;
-        inputTracker.valueInterval = 1/530;
-        inputTracker.setDisabled(true);
-        inputTracker.imgDir   = 'blueshoes-4.5/javascript/components/slider/img/';
-        inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');
-        inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);
-        inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);
-        inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);
-        inputTracker.useInputField = 0;
-        inputTracker.draw('inputTrackerDiv');
-    }
+    if (inputTracker)\r
+    {\r
+        inputTracker.attachOnChange(onInputTrackerChange);\r
+        inputTracker.attachOnSlideStart(onInputTrackerScrollStart);\r
+        inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);\r
+        inputTracker.width         = 530 ;\r
+        inputTracker.height        = 15;\r
+        inputTracker.minVal        = 0;\r
+        inputTracker.maxVal        = 1.0;\r
+        inputTracker.valueDefault  = 0;\r
+        inputTracker.valueInterval = 1/530;\r
+        inputTracker.setDisabled(true);\r
+        inputTracker.imgDir   = 'blueshoes-4.5/javascript/components/slider/img/';\r
+        inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');\r
+        inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);\r
+        inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);\r
+        inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);\r
+        inputTracker.useInputField = 0;\r
+        inputTracker.draw('inputTrackerDiv');\r
+    }\r
 \r
     if( navigator.appName.indexOf("Microsoft Internet")==-1 )\r
     {\r
@@ -51,15 +51,15 @@ function init()
     else\r
     {\r
         /* Explorer loads plugins asynchronously */\r
-        document.onreadystatechange=function()
-        {
+        document.onreadystatechange=function()\r
+        {\r
             if( document.readyState == 'complete' )\r
             {\r
                 onVLCPluginReady();\r
             }\r
         }\r
     }\r
-};\r
+}\r
 \r
 function getVLC(name)\r
 {\r
@@ -76,12 +76,12 @@ function getVLC(name)
     {\r
         return document.getElementById(name);\r
     }\r
-};\r
+}\r
 \r
 function onVLCPluginReady()\r
 {\r
     updateVolume(0);\r
-};\r
+}\r
 \r
 //--></SCRIPT>\r
 \r
@@ -136,12 +136,12 @@ Insert Slider widget
 <INPUT type=button value="Stop" onClick='doStop();'>\r
 &nbsp;\r
 <INPUT type=button value=" << " onClick='doPlaySlower();'>\r
+<INPUT type=button value="Reverse" onClick='doReverse();'>\r
 <INPUT type=button value=" >> " onClick='doPlayFaster();'>\r
-<INPUT type=button value="Backward" onClick='doBackwardPlay(500);'>\r
-<INPUT type=button value="Forward" onClick='doForwardPlay(500);'>\r
+&nbsp;\r
 <INPUT type=button value="Fullscreen" onClick='getVLC("vlc").video.toggleFullscreen();'>\r
 <INPUT type=button value="Version" onClick='alert("vlc " + getVLC("vlc").VersionInfo);'>\r
-<INPUT type=button value=" State " onClick='alert("state: " + getVLC("vlc").input.state);'>
+<INPUT type=button value=" State " onClick='alert("state: " + getVLC("vlc").input.state);'>\r
 </TD><TD align="right">\r
 <SPAN style="text-align:center">Volume:</SPAN>\r
 <INPUT type=button value=" - " onClick='updateVolume(-10)'>\r
@@ -223,159 +223,157 @@ Verbosity:
 var rate = 0;\r
 var prevState = 0;\r
 var monitorTimerId = 0;\r
-var rateTimerId = 0;\r
-var inputTracker;
+var inputTracker;\r
 var inputTrackerScrolling = false;\r
 var inputTrackerIgnoreChange = false;\r
 var telxState = false;\r
 \r
 function doSetSlider()\r
 {\r
-   var vlc = getVLC("vlc");\r
+    var vlc = getVLC("vlc");\r
 \r
-   if (vlc.input)\r
-   {\r
-     // set slider to new position\r
-     vlc.input.time = (vlc.input.length/2);\r
-   }\r
-};\r
+    // set slider to new position\r
+    if( vlc )\r
+        vlc.input.time = (vlc.input.length/2);\r
+}\r
 \r
 function doGetPosition()\r
 {\r
-   var vlc = getVLC("vlc");\r
-\r
-   if (vlc.input)\r
-   {\r
-     // set slider to new position\r
-     alert( "position is " + vlc.input.time);\r
-   }\r
-};\r
-\r
-function doForwardPlay(speed)\r
-{\r
-   if (rateTimerId == 0)\r
-   {\r
-       rateTimerId = setInterval("ratechange()", speed);\r
-       rate = speed;\r
-   }\r
-   else rate = rate + speed;\r
-};\r
+    var vlc = getVLC("vlc");\r
 \r
-function doBackwardPlay(speed)\r
-{\r
-   if (rateTimerId == 0)\r
-   {\r
-       rateTimerId = setInterval("ratechange()", speed);\r
-       rate = -speed;\r
-   }\r
-   else rate = rate - speed;\r
-};\r
+    // set slider to new position\r
+    if (vlc)\r
+        alert( "position is " + vlc.input.time);\r
+}\r
 \r
-function ratechange()\r
+function doReverse(rate)\r
 {\r
-    if (rateTimerId != 0)\r
-    {\r
-        var vlc = getVLC("vlc");\r
-        vlc.input.time = vlc.input.time + rate;\r
-    }\r
-};\r
+    var vlc = getVLC("vlc");\r
+    if( vlc )\r
+        vlc.input.rate = -1.0 * vlc.input.rate;\r
+}\r
 \r
 function doVerbosity(value)\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.log.verbosity = vlc.log.verbosity + value;\r
-    document.getElementById("verbosity").value = vlc.log.verbosity;\r
-};\r
+    if( vlc )\r
+    {\r
+        vlc.log.verbosity = vlc.log.verbosity + value;\r
+        document.getElementById("verbosity").value = vlc.log.verbosity;\r
+    }\r
+}\r
 \r
 function doAudioChannel(value)\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.audio.channel = parseInt(value);\r
-};\r
+    if( vlc )\r
+        vlc.audio.channel = parseInt(value);\r
+}\r
 \r
 function doAudioTrack(value)\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.audio.track = vlc.audio.track + value;\r
-    document.getElementById("trackTextField").innerHTML = vlc.audio.track;\r
-};\r
+    if( vlc )\r
+    {\r
+        vlc.audio.track = vlc.audio.track + value;\r
+        document.getElementById("trackTextField").innerHTML = vlc.audio.track;\r
+    }\r
+}\r
 \r
 function doAspectRatio(value)\r
 {\r
-   var vlc = getVLC("vlc");\r
-   vlc.video.aspectRatio = value;\r
-};\r
+    var vlc = getVLC("vlc");\r
+    if( vlc )\r
+        vlc.video.aspectRatio = value;\r
+}\r
 \r
 function doSubtitle(value)\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.video.subtitle = vlc.video.subtitle + value;\r
-    document.getElementById("spuTextField").innerHTML = vlc.video.subtitle;\r
-};\r
+    if( vlc )\r
+    {\r
+        vlc.video.subtitle = vlc.video.subtitle + value;\r
+        document.getElementById("spuTextField").innerHTML = vlc.video.subtitle;\r
+    }\r
+}\r
 \r
 function doTelxPage(value)\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.video.teletext = parseInt(value);\r
-};\r
+    if( vlc )\r
+        vlc.video.teletext = parseInt(value);\r
+}\r
 \r
 function doToggleTeletext()\r
 {\r
     var vlc = getVLC("vlc");\r
 \r
-    vlc.video.toggleTeletext();\r
-    if (telxState)\r
-    {\r
-        document.getElementById("telx").innerHTML = "Teletext on";\r
-        telxState = true;\r
-    }\r
-    else\r
+    if( vlc )\r
     {\r
-        document.getElementById("telx").innerHTML = "Teletext off";\r
-        telxState = false;\r
+        vlc.video.toggleTeletext();\r
+        if (telxState)\r
+        {\r
+            document.getElementById("telx").innerHTML = "Teletext on";\r
+            telxState = true;\r
+        }\r
+        else\r
+        {\r
+            document.getElementById("telx").innerHTML = "Teletext off";\r
+            telxState = false;\r
+        }\r
     }\r
 }\r
 \r
 function doItemCount()\r
 {\r
-   var vlc = getVLC("vlc");\r
-   var count = vlc.playlist.itemCount;\r
-   document.getElementById("itemCount").value = " Items " + count + " ";\r
-};\r
+    var vlc = getVLC("vlc");\r
+    if( vlc )\r
+    {\r
+        var count = vlc.playlist.itemCount;\r
+        document.getElementById("itemCount").value = " Items " + count + " ";\r
+    }\r
+}\r
 \r
 function doRemoveItem(item)\r
 {\r
-   var vlc = getVLC("vlc");\r
-   vlc.playlist.removeItem(item);\r
-};\r
+    var vlc = getVLC("vlc");\r
+    if( vlc )\r
+        vlc.playlist.removeItem(item);\r
+}\r
 \r
 function doMessages()\r
 {\r
     var vlc = getVLC("vlc");\r
 \r
-    if( vlc.log.messages.count > 0 )\r
+    if( vlc )\r
     {\r
-        // there is one or more messages in the log\r
-        var iter = vlc.log.messages.iterator();\r
-        while( iter.hasNext )\r
+        if( vlc.log.messages.count > 0 )\r
         {\r
-            var msg = iter.next();\r
-            if( msg.severity <= 1 )\r
+            // there is one or more messages in the log\r
+            var iter = vlc.log.messages.iterator();\r
+            while( iter.hasNext )\r
             {\r
-                document.getElementById("message").innerHTML = msg.message;\r
+                var msg = iter.next();\r
+                if( msg.severity <= 1 )\r
+                {\r
+                    document.getElementById("message").innerHTML = msg.message;\r
+                }\r
             }\r
+            // clear the log once finished to avoid clogging\r
+            vlc.log.messages.clear();\r
         }\r
-        // clear the log once finished to avoid clogging\r
-        vlc.log.messages.clear();\r
     }\r
-};\r
+}\r
 \r
 function updateVolume(deltaVol)\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.audio.volume += deltaVol;\r
-    document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
-};\r
+    if( vlc )\r
+    {\r
+        vlc.audio.volume += deltaVol;\r
+        document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
+    }\r
+}\r
 \r
 function formatTime(timeVal)\r
 {\r
@@ -392,12 +390,15 @@ function formatTime(timeVal)
         return timeHour+":"+timeMin+":"+timeSec;\r
     else\r
         return timeMin+":"+timeSec;\r
-};\r
+}\r
 \r
 function doState()\r
 {\r
     var vlc = getVLC("vlc");\r
-    var newState = vlc.input.state;\r
+    var newState = 0;\r
+\r
+    if( vlc )\r
+        newState = vlc.input.state;\r
 \r
     if( newState == 0 )\r
     {\r
@@ -430,47 +431,42 @@ function doState()
         onStop();\r
     }\r
     else if( newState == 6 )\r
-    {\r
-        // current media is playing forward\r
-        onForward();\r
-    }\r
-    else if( newState == 7 )\r
-    {\r
-        // current media is playing backward\r
-        onBackward();\r
-    }\r
-    else if( newState == 8 )\r
     {\r
         // current media has ended\r
         onEnd();\r
     }\r
-    else if( newState == 9 )\r
+    else if( newState == 7 )\r
     {\r
         // current media encountered error\r
         onError();\r
     }\r
-};\r
+}\r
 \r
 function monitor()\r
 {\r
     var vlc = getVLC("vlc");\r
-    var newState = vlc.input.state;\r
+    var newState = 0;\r
 \r
-    if( vlc.log.messages.count > 0 )\r
+    if( vlc )\r
     {\r
-        // there is one or more messages in the log\r
-        var iter = vlc.log.messages.iterator();\r
-        while( iter.hasNext )\r
+        newState = vlc.input.state;\r
+\r
+        if( vlc.log.messages.count > 0 )\r
         {\r
-            var msg = iter.next();\r
-            if( msg.severity == 1 )\r
+            // there is one or more messages in the log\r
+            var iter = vlc.log.messages.iterator();\r
+            while( iter.hasNext )\r
             {\r
-                alert( msg.message );\r
+                var msg = iter.next();\r
+                if( msg.severity == 1 )\r
+                {\r
+                    alert( msg.message );\r
+                }\r
+                document.getElementById("message").innerHTML = msg.message;\r
             }\r
-            document.getElementById("message").innerHTML = msg.message;\r
+            // clear the log once finished to avoid clogging\r
+            vlc.log.messages.clear();\r
         }\r
-        // clear the log once finished to avoid clogging\r
-        vlc.log.messages.clear();\r
     }\r
 \r
     if( prevState != newState )\r
@@ -506,21 +502,11 @@ function monitor()
                 onStop();\r
         }\r
         else if( newState == 6 )\r
-        {\r
-            // current media is playing forward\r
-            onForward();\r
-        }\r
-        else if( newState == 7 )\r
-        {\r
-            // current media is playing backward\r
-            onBackward();\r
-        }\r
-        else if( newState == 8 )\r
         {\r
             // current media has ended\r
             onEnd();\r
         }\r
-        else if( newState == 9 )\r
+        else if( newState == 7 )\r
         {\r
             // current media encountered error\r
             onError();\r
@@ -544,102 +530,106 @@ function doGo(targetURL)
 {\r
     var vlc = getVLC("vlc");\r
 \r
-    vlc.playlist.clear();\r
-    while( vlc.playlist.itemCount > 0 )\r
+    if( vlc )\r
     {\r
-        // clear() may return before the playlist has actually been cleared\r
-        // just wait for it to finish its job\r
-    }\r
-    //vlc.playlist.add(targetURL);\r
-    //vlc.playlist.play();\r
-\r
-    var itemId = vlc.playlist.add(targetURL);\r
-    if( itemId != -1 )\r
-    {\r
-        // clear the message log and enable error logging\r
-        vlc.log.verbosity = 1;\r
-        vlc.log.messages.clear();\r
-        // play MRL\r
-        vlc.playlist.play();\r
-        if( monitorTimerId == 0 )\r
+        vlc.playlist.clear();\r
+        while( vlc.playlist.itemCount > 0 )\r
         {\r
-            monitor();\r
+            // clear() may return before the playlist has actually been cleared\r
+            // just wait for it to finish its job\r
         }\r
-    }\r
-    else\r
-    {\r
-        // disable log\r
-        vlc.log.verbosity = -1;\r
-        alert("cannot play at the moment !");\r
-    }\r
-    doItemCount();\r
+        //vlc.playlist.add(targetURL);\r
+        //vlc.playlist.play();\r
 \r
-    if (rateTimerId != 0)\r
-    {\r
-        clearInterval("ratechange()");\r
+        var itemId = vlc.playlist.add(targetURL);\r
+        if( itemId != -1 )\r
+        {\r
+            // clear the message log and enable error logging\r
+            vlc.log.verbosity = 1;\r
+            vlc.log.messages.clear();\r
+            // play MRL\r
+            vlc.playlist.play();\r
+            if( monitorTimerId == 0 )\r
+            {\r
+                monitor();\r
+            }\r
+        }\r
+        else\r
+        {\r
+            // disable log\r
+            vlc.log.verbosity = -1;\r
+            alert("cannot play at the moment !");\r
+        }\r
+        doItemCount();\r
     }\r
-    rateTimerId = 0;\r
-};\r
+}\r
 \r
 function doAdd(targetURL)\r
 {\r
     var vlc = getVLC("vlc");\r
     var options = new Array(":vout-filter=deinterlace", ":deinterlace-mode=linear");\r
-    vlc.playlist.add(targetURL);\r
-    doItemCount();\r
-};\r
+    if( vlc )\r
+    {\r
+        vlc.playlist.add(targetURL);\r
+        doItemCount();\r
+    }\r
+}\r
 \r
 function doPlayOrPause()\r
 {\r
     var vlc = getVLC("vlc");\r
-    if( vlc.playlist.isPlaying )\r
+    if( vlc )\r
     {\r
-        vlc.playlist.togglePause();\r
-        monitor();\r
-    }\r
-    else if( vlc.playlist.itemCount > 0 )\r
-    {\r
-        // clear the message log and enable error logging\r
-        vlc.log.verbosity = 1;\r
-        vlc.log.messages.clear();\r
-        vlc.playlist.play();\r
-        monitor();\r
-    }\r
-    else\r
-    {\r
-        // disable log\r
-        vlc.log.verbosity = -1;\r
-        alert('nothing to play !');\r
-    }\r
-    if (rateTimerId != 0)\r
-    {\r
-        clearInterval("ratechange()");\r
+        if( vlc.playlist.isPlaying )\r
+        {\r
+            vlc.playlist.togglePause();\r
+            monitor();\r
+        }\r
+        else if( vlc.playlist.itemCount > 0 )\r
+        {\r
+            // clear the message log and enable error logging\r
+            vlc.log.verbosity = 1;\r
+            vlc.log.messages.clear();\r
+            vlc.playlist.play();\r
+            monitor();\r
+        }\r
+        else\r
+        {\r
+            // disable log\r
+            vlc.log.verbosity = -1;\r
+            alert('nothing to play !');\r
+        }\r
     }\r
-    rateTimerId = 0;\r
-};\r
+}\r
 \r
 function doStop()\r
 {\r
-    getVLC("vlc").playlist.stop();\r
+    var vlc = getVLC("vlc");\r
+\r
+    if( vlc )\r
+        vlc.playlist.stop();\r
+\r
     if( monitorTimerId != 0 )\r
     {\r
         clearInterval(monitorTimerId);\r
         monitorTimerId = 0;\r
     }\r
     onStop();\r
-};\r
+}\r
 \r
 function doPlaySlower()\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.input.rate = vlc.input.rate / 2;\r
-};\r
+    if( vlc )\r
+        vlc.input.rate = vlc.input.rate / 2;\r
+}\r
 \r
 function doPlayFaster()\r
 {\r
     var vlc = getVLC("vlc");\r
-    vlc.input.rate = vlc.input.rate * 2;\r
-};\r
+    if( vlc )\r
+        vlc.input.rate = vlc.input.rate * 2;\r
+}\r
 \r
 /* events */\r
 \r
@@ -647,151 +637,153 @@ function onOpen()
 {\r
     document.getElementById("state").innerHTML = "Opening...";\r
     document.getElementById("PlayOrPause").value = "Pause";\r
-};\r
+}\r
 \r
 function onBuffer()\r
 {\r
     document.getElementById("state").innerHTML = "Buffering...";\r
     document.getElementById("PlayOrPause").value = "Pause";\r
-};\r
+}\r
 \r
 function onPlay()\r
 {\r
     document.getElementById("state").innerHTML = "Playing...";\r
     document.getElementById("PlayOrPause").value = "Pause";\r
     onPlaying();\r
-};\r
-\r
-function onForward()\r
-{   // Event is reserved for future enhancements\r
-    document.getElementById("state").innerHTML = "Forward playing...";\r
-};\r
-\r
-function onBackward()\r
-{   // Event is reserved for future enhancements\r
-    document.getElementById("state").innerHTML = "Backward playing...";\r
-};\r
+}\r
 \r
 function onEnd()\r
 {\r
     document.getElementById("state").innerHTML = "End...";\r
-};\r
-\r
+}\r
 \r
 var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "((  Live  ))");\r
 var liveFeedRoll = 0;\r
 \r
 function onPlaying()\r
 {\r
-    if( !inputTrackerScrolling )
+    if( !inputTrackerScrolling )\r
     {\r
         var vlc = getVLC("vlc");\r
         var info = document.getElementById("info");\r
-        var mediaLen = vlc.input.length;\r
-        inputTrackerIgnoreChange = true;
-        if( mediaLen > 0 )\r
+        if( vlc )\r
         {\r
-            // seekable media\r
-            if( inputTracker )
+            var mediaLen = vlc.input.length;\r
+            inputTrackerIgnoreChange = true;\r
+            if( mediaLen > 0 )\r
             {\r
-                if( inputTracker.maxVal == 1.0 )
-                {
-                    inputTracker.setDisabled(false);
-                    inputTracker.maxVal = 1.0;
-                }
-                inputTracker.setValue(vlc.input.position);
+                // seekable media\r
+                if( inputTracker )\r
+                {\r
+                    if( inputTracker.maxVal == 1.0 )\r
+                    {\r
+                        inputTracker.setDisabled(false);\r
+                        inputTracker.maxVal = 1.0;\r
+                    }\r
+                    inputTracker.setValue(vlc.input.position);\r
+                }\r
+                info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);\r
             }\r
-            info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);\r
-        }\r
-        else\r
-        {\r
-            // non-seekable "live" media\r
-            if( inputTracker )
+            else\r
             {\r
-                if( inputTracker.maxVal != 0.0 )
-                {
-                    inputTracker.maxVal = 0.0;
-                    inputTracker.setValue(0.0);
-                    inputTracker.setDisabled(true);
-                }
+                // non-seekable "live" media\r
+                if( inputTracker )\r
+                {\r
+                    if( inputTracker.maxVal != 0.0 )\r
+                    {\r
+                        inputTracker.maxVal = 0.0;\r
+                        inputTracker.setValue(0.0);\r
+                        inputTracker.setDisabled(true);\r
+                    }\r
+                }\r
+                liveFeedRoll = liveFeedRoll & 3;\r
+                info.innerHTML = liveFeedText[liveFeedRoll++];\r
             }\r
-            liveFeedRoll = liveFeedRoll & 3;\r
-            info.innerHTML = liveFeedText[liveFeedRoll++];\r
+            inputTrackerIgnoreChange  = false;\r
         }\r
-        inputTrackerIgnoreChange  = false;\r
     }\r
-};\r
+}\r
 \r
 function onPause()\r
 {\r
     document.getElementById("state").innerHTML = "Paused...";\r
     document.getElementById("PlayOrPause").value = " Play ";\r
-};\r
+}\r
 \r
 function onStop()\r
 {\r
     // disable logging\r
-    vlc.log.verbosity = -1;\r
+    var vlc = getVLC("vlc");\r
+    if( vlc )\r
+        vlc.log.verbosity = -1;\r
 \r
-    if( inputTracker )
+    if( inputTracker )\r
     {\r
-        if( !inputTracker.disabled )
-        {
-            inputTracker.setValue(inputTracker.minVal);
-            inputTracker.setDisabled(true);
-        }
+        if( !inputTracker.disabled )\r
+        {\r
+            inputTracker.setValue(inputTracker.minVal);\r
+            inputTracker.setDisabled(true);\r
+        }\r
     }\r
+\r
     document.getElementById("info").innerHTML = "-:--:--/-:--:--";\r
     document.getElementById("state").innerHTML = "Stopped...";\r
     document.getElementById("PlayOrPause").value = " Play ";\r
-};\r
+}\r
 \r
 function onError()\r
 {\r
     var vlc = getVLC("vlc");\r
 \r
     document.getElementById("state").innerHTML = "Error...";\r
-    if( vlc.log.messages.count > 0 )\r
+    if( vlc )\r
     {\r
-        // there is one or more messages in the log\r
-        var iter = vlc.log.messages.iterator();\r
-        while( iter.hasNext )\r
+        if( vlc.log.messages.count > 0 )\r
         {\r
-            var msg = iter.next();\r
-            if( msg.severity <= 1 )\r
+            // there is one or more messages in the log\r
+            var iter = vlc.log.messages.iterator();\r
+            while( iter.hasNext )\r
             {\r
-                alert( msg.message );\r
+                var msg = iter.next();\r
+                if( msg.severity <= 1 )\r
+                {\r
+                    alert( msg.message );\r
+                }\r
+                document.getElementById("message").innerHTML = msg.message;\r
             }\r
-            document.getElementById("message").innerHTML = msg.message;\r
+            // clear the log once finished to avoid clogging\r
+            vlc.log.messages.clear();\r
         }\r
-        // clear the log once finished to avoid clogging\r
-        vlc.log.messages.clear();\r
     }\r
-};\r
+}\r
 \r
 function onInputTrackerScrollStart()\r
 {\r
     inputTrackerScrolling = true;\r
-};\r
+}\r
 \r
 function onInputTrackerScrollEnd(inputTracker, value, pos)\r
 {\r
     inputTrackerScrolling = false;\r
-};\r
+}\r
 \r
 function onInputTrackerChange(inputTracker, value, pos)\r
 {\r
-    if( ! inputTrackerIgnoreChange )\r
+    if( !inputTrackerIgnoreChange )\r
     {\r
         var vlc = getVLC("vlc");\r
-        if( (vlc.input.state == 3) && (vlc.input.position != value) )\r
+        if( vlc )\r
         {\r
-            var info = document.getElementById("info");\r
-            vlc.input.position = value;\r
-            info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);\r
+            if( (vlc.input.state == 3) && (vlc.input.position != value) )\r
+            {\r
+                var info = document.getElementById("info");\r
+                vlc.input.position = value;\r
+                info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);\r
+            }\r
         }\r
     }\r
-};\r
+}\r
+\r
 //-->\r
 </SCRIPT>\r
 </BODY>\r