]> git.sesse.net Git - vlc/blob - projects/mozilla/test.html
Merge branch 'base' into master
[vlc] / projects / mozilla / test.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">\r
2 <HTML>\r
3 <TITLE>VLC Plugin test page</TITLE>\r
4 <STYLE>\r
5   .inputTrackerInput {\r
6         height:20;\r
7         width:30;\r
8         font-family : Arial, Helvetica, sans-serif;\r
9         font-size : 12px;\r
10   }\r
11 </STYLE>\r
12 \r
13 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/lib/LibCrossBrowser.js"></SCRIPT>\r
14 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/lib/EventHandler.js"></SCRIPT>\r
15 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/core/form/Bs_FormUtil.lib.js"></SCRIPT>\r
16 <SCRIPT type="text/javascript" src="blueshoes-4.5/javascript/components/slider/Bs_Slider.class.js"></SCRIPT>\r
17 \r
18 <SCRIPT language="JavaScript"><!--\r
19 function init()\r
20 {\r
21     inputTracker = new Bs_Slider();\r
22     if (inputTracker)\r
23     {\r
24         inputTracker.attachOnChange(onInputTrackerChange);\r
25         inputTracker.attachOnSlideStart(onInputTrackerScrollStart);\r
26         inputTracker.attachOnSlideEnd(onInputTrackerScrollEnd);\r
27         inputTracker.width         = 530 ;\r
28         inputTracker.height        = 15;\r
29         inputTracker.minVal        = 0;\r
30         inputTracker.maxVal        = 1.0;\r
31         inputTracker.valueDefault  = 0;\r
32         inputTracker.valueInterval = 1/530;\r
33         inputTracker.setDisabled(true);\r
34         inputTracker.imgDir   = 'blueshoes-4.5/javascript/components/slider/img/';\r
35         inputTracker.setBackgroundImage('aluminumalloyvolcanic/horizontal_background.gif', 'repeat');\r
36         inputTracker.setArrowIconLeft('aluminumalloyvolcanic/horizontal_backgroundLeft.gif', 2, 19);\r
37         inputTracker.setArrowIconRight('aluminumalloyvolcanic/horizontal_backgroundRight.gif', 2, 19);\r
38         inputTracker.setSliderIcon('aluminumalloyvolcanic/horizontal_knob.gif', 15, 19);\r
39         inputTracker.useInputField = 0;\r
40         inputTracker.draw('inputTrackerDiv');\r
41     }\r
42 \r
43     if( navigator.appName.indexOf("Microsoft Internet")==-1 )\r
44     {\r
45         onVLCPluginReady()\r
46     }\r
47     else if( document.readyState == 'complete' )\r
48     {\r
49         onVLCPluginReady();\r
50     }\r
51     else\r
52     {\r
53         /* Explorer loads plugins asynchronously */\r
54         document.onreadystatechange=function()\r
55         {\r
56             if( document.readyState == 'complete' )\r
57             {\r
58                 onVLCPluginReady();\r
59             }\r
60         }\r
61     }\r
62 }\r
63 \r
64 function getVLC(name)\r
65 {\r
66     if (window.document[name])\r
67     {\r
68         return window.document[name];\r
69     }\r
70     if (navigator.appName.indexOf("Microsoft Internet")==-1)\r
71     {\r
72         if (document.embeds && document.embeds[name])\r
73             return document.embeds[name];\r
74     }\r
75     else // if (navigator.appName.indexOf("Microsoft Internet")!=-1)\r
76     {\r
77         return document.getElementById(name);\r
78     }\r
79 }\r
80 \r
81 function onVLCPluginReady()\r
82 {\r
83     updateVolume(0);\r
84 }\r
85 \r
86 //--></SCRIPT>\r
87 \r
88 <BODY onLoad="init();">\r
89 <TABLE>\r
90 <TR><TD colspan="2">\r
91 MRL:\r
92 <INPUT size="90" id="targetTextField" value="">\r
93 <INPUT type=submit value="Go" onClick="doGo(document.getElementById('targetTextField').value);">\r
94 <INPUT type=submit value="Add" onClick="doAdd(document.getElementById('targetTextField').value);">\r
95 </TD></TR>\r
96 <TR><TD align="center" colspan="2">\r
97 <!--\r
98 Insert VideoLAN.VLCPlugin.2\r
99 -->\r
100 <OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"\r
101         width="640"\r
102         height="480"\r
103         id="vlc"\r
104         events="True">\r
105 <param name="MRL" value="" />\r
106 <param name="ShowDisplay" value="True" />\r
107 <param name="AutoLoop" value="False" />\r
108 <param name="AutoPlay" value="False" />\r
109 <param name="Volume" value="50" />\r
110 <param name="toolbar" value="true" />\r
111 <param name="StartTime" value="0" />\r
112 <EMBED pluginspage="http://www.videolan.org"\r
113        type="application/x-vlc-plugin"\r
114        version="VideoLAN.VLCPlugin.2"\r
115        width="640"\r
116        height="480"\r
117        toolbar="true"\r
118        name="vlc">\r
119 </EMBED>\r
120 </OBJECT>\r
121 </TD></TR>\r
122 <TR><TD colspan="2">\r
123 <TABLE><TR>\r
124 <TD valign="top" width="550">\r
125 <!--\r
126 Insert Slider widget\r
127 -->\r
128 <DIV id="inputTrackerDiv"</DIV>\r
129 </TD><TD width="15%">\r
130 <DIV id="info" style="text-align:center">-:--:--/-:--:--</DIV>\r
131 <DIV id="state" style="text-align:center">Stopped...</DIV>\r
132 </TD></TR></TABLE>\r
133 </TD></TR>\r
134 <TR><TD>\r
135 <INPUT type=button id="PlayOrPause" value=" Play " onClick='doPlayOrPause();'>\r
136 <INPUT type=button value="Stop" onClick='doStop();'>\r
137 &nbsp;\r
138 <INPUT type=button value=" << " onClick='doPlaySlower();'>\r
139 <INPUT type=button value="Reverse" onClick='doReverse();'>\r
140 <INPUT type=button value=" >> " onClick='doPlayFaster();'>\r
141 &nbsp;\r
142 <INPUT type=button value="Fullscreen" onClick='getVLC("vlc").video.toggleFullscreen();'>\r
143 <INPUT type=button value="Version" onClick='alert("vlc " + getVLC("vlc").VersionInfo);'>\r
144 <INPUT type=button value=" State " onClick='alert("state: " + getVLC("vlc").input.state);'>\r
145 </TD><TD align="right">\r
146 <SPAN style="text-align:center">Volume:</SPAN>\r
147 <INPUT type=button value=" - " onClick='updateVolume(-10)'>\r
148 <SPAN id="volumeTextField" style="text-align:center">--</SPAN>\r
149 <INPUT type=button value=" + " onClick='updateVolume(+10)'>\r
150 <INPUT type=button value="Mute" onClick='getVLC("vlc").audio.toggleMute();'>\r
151 </TD>\r
152 </TR>\r
153 <TR><TD>Playlist:\r
154 <INPUT type=button value="Prev" onClick='getVLC("vlc").playlist.prev();'>\r
155 <INPUT type=button value="Next" onClick='getVLC("vlc").playlist.next();'>\r
156 <INPUT type=button value="Clear All" onClick='doPlaylistClearAll();'>\r
157     Aspect Ratio:\r
158     <SELECT readonly onChange='doAspectRatio(this.value)'>\r
159       <OPTION value="default">Default</OPTION>\r
160       <OPTION value="1:1">1:1</OPTION>\r
161       <OPTION value="4:3">4:3</OPTION>\r
162       <OPTION value="16:9">16:9</OPTION>\r
163       <OPTION value="221:100">221:100</OPTION>\r
164       <OPTION value="5:4">5:4</OPTION>\r
165     </SELECT>\r
166 </TD><TD align="right">\r
167 <INPUT type=button id="itemCount" value=" Items 0 " onClick='doItemCount();'>\r
168 <INPUT size=4 value="" id="removeid"><INPUT type=submit value="Delete" onClick="doRemoveItem(document.getElementById('removeid').value);">\r
169 </TD>\r
170 </TR>\r
171 <TR><TD>Audio Channel:\r
172   <SELECT readonly onClick='doAudioChannel(this.value);'>\r
173     <OPTION value=1>Stereo</OPTION>\r
174     <OPTION value=2>Reverse Stereo</OPTION>\r
175     <OPTION value=3>Left</OPTION>\r
176     <OPTION value=4>Right</OPTION>\r
177     <OPTION value=5>Dolby</OPTION>\r
178   </SELECT>\r
179 </TD>\r
180 <TD>\r
181 <INPUT type=button value="current channel" onClick='alert(getVLC("vlc").audio.channel);'>\r
182 </TD>\r
183 </TR>\r
184 <TR><TD> Audio Track:\r
185 <INPUT type=button value=" + " onClick='doAudioTrack(1);'>\r
186 <SPAN id="trackTextField" style="text-align:center">--</SPAN>\r
187 <INPUT type=button value=" - " onClick='doAudioTrack(-1);'>\r
188 <INPUT type=button value="current track" onClick='alert(getVLC("vlc").audio.description(vlc.audio.track));'>\r
189 <INPUT type=button value="number of track" onClick='alert(getVLC("vlc").audio.count);'>\r
190 </TD>\r
191 <TD>\r
192 <INPUT type=button value="set slider" onClick='doSetSlider();'>\r
193 <INPUT type=button value="get position" onClick='doGetPosition();'>\r
194 </TD>\r
195 </TR>\r
196 <TR>\r
197 <TD>Video Subtitle:\r
198     <INPUT type=button value=" + " onClick='doSubtitle(1);'>\r
199     <SPAN id="spuTextField" style="text-align:center">--</SPAN>\r
200     <INPUT type=button value=" - " onClick='doSubtitle(-1);'>\r
201     <INPUT type=button value="current subtitle" onClick='alert(getVLC("vlc").subtitle.description(vlc.subtitle.track));'>\r
202     <INPUT type=button value="number of subtitle" onClick='alert(getVLC("vlc").subtitle.count);'>\r
203 </TD>\r
204 </TR>\r
205 <TR>\r
206 <TD>\r
207     <INPUT type=button id="telx" value="Teletext off" onClick='doToggleTeletext();'>\r
208     Teletext page:\r
209     <INPUT size=4 value="100" id="telxPage" onClick='doTelxPage(document.getElementById("telxPage").value);'>\r
210 </TD>\r
211 </TR>\r
212 </TABLE>\r
213 <SCRIPT language="javascript">\r
214 <!--\r
215 \r
216 var rate = 0;\r
217 var prevState = 0;\r
218 var monitorTimerId = 0;\r
219 var inputTracker;\r
220 var inputTrackerScrolling = false;\r
221 var inputTrackerIgnoreChange = false;\r
222 var telxState = false;\r
223 \r
224 function doSetSlider()\r
225 {\r
226     var vlc = getVLC("vlc");\r
227 \r
228     // set slider to new position\r
229     if( vlc )\r
230         vlc.input.time = (vlc.input.length/2);\r
231 }\r
232 \r
233 function doGetPosition()\r
234 {\r
235     var vlc = getVLC("vlc");\r
236 \r
237     // set slider to new position\r
238     if (vlc)\r
239         alert( "position is " + vlc.input.time);\r
240 }\r
241 \r
242 function doReverse(rate)\r
243 {\r
244     var vlc = getVLC("vlc");\r
245     if( vlc )\r
246         vlc.input.rate = -1.0 * vlc.input.rate;\r
247 }\r
248 \r
249 function doAudioChannel(value)\r
250 {\r
251     var vlc = getVLC("vlc");\r
252     if( vlc )\r
253         vlc.audio.channel = parseInt(value);\r
254 }\r
255 \r
256 function doAudioTrack(value)\r
257 {\r
258     var vlc = getVLC("vlc");\r
259     if( vlc )\r
260     {\r
261         vlc.audio.track = vlc.audio.track + value;\r
262         document.getElementById("trackTextField").innerHTML = vlc.audio.track;\r
263     }\r
264 }\r
265 \r
266 function doAspectRatio(value)\r
267 {\r
268     var vlc = getVLC("vlc");\r
269     if( vlc )\r
270         vlc.video.aspectRatio = value;\r
271 }\r
272 \r
273 function doSubtitle(value)\r
274 {\r
275     var vlc = getVLC("vlc");\r
276     if( vlc )\r
277     {\r
278         vlc.subtitle.track = vlc.subtitle.track + value;\r
279         document.getElementById("spuTextField").innerHTML = vlc.subtitle.track;\r
280     }\r
281 }\r
282 \r
283 function doTelxPage(value)\r
284 {\r
285     var vlc = getVLC("vlc");\r
286     if( vlc )\r
287         vlc.video.teletext = parseInt(value);\r
288 }\r
289 \r
290 function doToggleTeletext()\r
291 {\r
292     var vlc = getVLC("vlc");\r
293 \r
294     if( vlc )\r
295     {\r
296         vlc.video.toggleTeletext();\r
297         if (telxState)\r
298         {\r
299             document.getElementById("telx").innerHTML = "Teletext on";\r
300             telxState = true;\r
301         }\r
302         else\r
303         {\r
304             document.getElementById("telx").innerHTML = "Teletext off";\r
305             telxState = false;\r
306         }\r
307     }\r
308 }\r
309 \r
310 function doItemCount()\r
311 {\r
312     var vlc = getVLC("vlc");\r
313     if( vlc )\r
314     {\r
315         var count = vlc.playlist.items.count;\r
316         document.getElementById("itemCount").value = " Items " + count + " ";\r
317     }\r
318 }\r
319 \r
320 function doRemoveItem(item)\r
321 {\r
322     var vlc = getVLC("vlc");\r
323     if( vlc )\r
324         vlc.playlist.items.remove(item);\r
325 }\r
326 \r
327 function doPlaylistClearAll()\r
328 {\r
329     var vlc = getVLC("vlc");\r
330     if( vlc )\r
331     {\r
332         vlc.playlist.items.clear();\r
333         while( vlc.playlist.items.count > 0)\r
334         {\r
335             // wait till playlist empties.\r
336         }\r
337         doItemCount();\r
338     }\r
339 }\r
340 \r
341 function updateVolume(deltaVol)\r
342 {\r
343     var vlc = getVLC("vlc");\r
344     if( vlc )\r
345     {\r
346         vlc.audio.volume += deltaVol;\r
347         document.getElementById("volumeTextField").innerHTML = vlc.audio.volume+"%";\r
348     }\r
349 }\r
350 \r
351 function formatTime(timeVal)\r
352 {\r
353     if( typeof timeVal != 'number' )\r
354         return "-:--:--";\r
355 \r
356     var timeHour = Math.round(timeVal / 1000);\r
357     var timeSec = timeHour % 60;\r
358     if( timeSec < 10 )\r
359         timeSec = '0'+timeSec;\r
360     timeHour = (timeHour - timeSec)/60;\r
361     var timeMin = timeHour % 60;\r
362     if( timeMin < 10 )\r
363         timeMin = '0'+timeMin;\r
364     timeHour = (timeHour - timeMin)/60;\r
365     if( timeHour > 0 )\r
366         return timeHour+":"+timeMin+":"+timeSec;\r
367     else\r
368         return timeMin+":"+timeSec;\r
369 }\r
370 \r
371 function doState()\r
372 {\r
373     var vlc = getVLC("vlc");\r
374     var newState = 0;\r
375 \r
376     if( vlc )\r
377         newState = vlc.input.state;\r
378 \r
379     if( newState == 0 )\r
380     {\r
381         // current media has stopped\r
382         onEnd();\r
383     }\r
384     else if( newState == 1 )\r
385     {\r
386         // current media is openning/connecting\r
387         onOpen();\r
388     }\r
389     else if( newState == 2 )\r
390     {\r
391         // current media is buffering data\r
392         onBuffer();\r
393     }\r
394     else if( newState == 3 )\r
395     {\r
396         // current media is now playing\r
397         onPlay();\r
398     }\r
399     else if( newState == 4 )\r
400     {\r
401         // current media is now paused\r
402         onPause();\r
403     }\r
404     else if( newState == 5 )\r
405     {\r
406         // current media has stopped\r
407         onStop();\r
408     }\r
409     else if( newState == 6 )\r
410     {\r
411         // current media has ended\r
412         onEnd();\r
413     }\r
414     else if( newState == 7 )\r
415     {\r
416         // current media encountered error\r
417         onError();\r
418     }\r
419 }\r
420 \r
421 function monitor()\r
422 {\r
423     var vlc = getVLC("vlc");\r
424     var newState = 0;\r
425 \r
426     if( vlc )\r
427     {\r
428         newState = vlc.input.state;\r
429     }\r
430 \r
431     if( prevState != newState )\r
432     {\r
433         if( newState == 0 )\r
434         {\r
435             // current media has stopped\r
436             onEnd();\r
437         }\r
438         else if( newState == 1 )\r
439         {\r
440             // current media is openning/connecting\r
441             onOpen();\r
442         }\r
443         else if( newState == 2 )\r
444         {\r
445             // current media is buffering data\r
446             onBuffer();\r
447         }\r
448         else if( newState == 3 )\r
449         {\r
450             // current media is now playing\r
451             onPlay();\r
452         }\r
453         else if( newState == 4 )\r
454         {\r
455             // current media is now paused\r
456             onPause();\r
457         }\r
458         else if( newState == 5 )\r
459         {\r
460             // current media has stopped\r
461                 onStop();\r
462         }\r
463         else if( newState == 6 )\r
464         {\r
465             // current media has ended\r
466             onEnd();\r
467         }\r
468         else if( newState == 7 )\r
469         {\r
470             // current media encountered error\r
471             onError();\r
472         }\r
473         prevState = newState;\r
474     }\r
475     else if( newState == 3 )\r
476     {\r
477         // current media is playing\r
478         onPlaying();\r
479     }\r
480     if( monitorTimerId == 0 )\r
481     {\r
482         monitorTimerId = setInterval("monitor()", 1000);\r
483     }\r
484 };\r
485 \r
486 /* actions */\r
487 \r
488 function doGo(targetURL)\r
489 {\r
490     var vlc = getVLC("vlc");\r
491 \r
492     if( vlc )\r
493     {\r
494         vlc.playlist.items.clear();\r
495         while( vlc.playlist.items.count > 0 )\r
496         {\r
497             // clear() may return before the playlist has actually been cleared\r
498             // just wait for it to finish its job\r
499         }\r
500         var options = new Array(":rtsp-tcp");\r
501         var itemId = vlc.playlist.add(targetURL,"",options);\r
502         if( itemId != -1 )\r
503         {\r
504             // play MRL\r
505             vlc.playlist.playItem(itemId);\r
506             if( monitorTimerId == 0 )\r
507             {\r
508                 monitor();\r
509             }\r
510         }\r
511         else\r
512         {\r
513             alert("cannot play at the moment !");\r
514         }\r
515         doItemCount();\r
516     }\r
517 }\r
518 \r
519 function doAdd(targetURL)\r
520 {\r
521     var vlc = getVLC("vlc");\r
522     var options = new Array(":vout-filter=deinterlace", ":deinterlace-mode=linear");\r
523     if( vlc )\r
524     {\r
525         vlc.playlist.add(targetURL, "", options);\r
526         doItemCount();\r
527     }\r
528 }\r
529 \r
530 function doPlayOrPause()\r
531 {\r
532     var vlc = getVLC("vlc");\r
533     if( vlc )\r
534     {\r
535         if( vlc.playlist.isPlaying )\r
536         {\r
537             vlc.playlist.togglePause();\r
538             monitor();\r
539         }\r
540         else if( vlc.playlist.items.count > 0 )\r
541         {\r
542             vlc.playlist.play();\r
543             monitor();\r
544         }\r
545         else\r
546         {\r
547             alert('nothing to play !');\r
548         }\r
549     }\r
550 }\r
551 \r
552 function doStop()\r
553 {\r
554     var vlc = getVLC("vlc");\r
555 \r
556     if( vlc )\r
557         vlc.playlist.stop();\r
558 \r
559     if( monitorTimerId != 0 )\r
560     {\r
561         clearInterval(monitorTimerId);\r
562         monitorTimerId = 0;\r
563     }\r
564     onStop();\r
565 }\r
566 \r
567 function doPlaySlower()\r
568 {\r
569     var vlc = getVLC("vlc");\r
570     if( vlc )\r
571         vlc.input.rate = vlc.input.rate / 2;\r
572 }\r
573 \r
574 function doPlayFaster()\r
575 {\r
576     var vlc = getVLC("vlc");\r
577     if( vlc )\r
578         vlc.input.rate = vlc.input.rate * 2;\r
579 }\r
580 \r
581 /* events */\r
582 \r
583 function onOpen()\r
584 {\r
585     document.getElementById("state").innerHTML = "Opening...";\r
586     document.getElementById("PlayOrPause").value = "Pause";\r
587 }\r
588 \r
589 function onBuffer()\r
590 {\r
591     document.getElementById("state").innerHTML = "Buffering...";\r
592     document.getElementById("PlayOrPause").value = "Pause";\r
593 }\r
594 \r
595 function onPlay()\r
596 {\r
597     document.getElementById("state").innerHTML = "Playing...";\r
598     document.getElementById("PlayOrPause").value = "Pause";\r
599     onPlaying();\r
600 }\r
601 \r
602 function onEnd()\r
603 {\r
604     document.getElementById("state").innerHTML = "End...";\r
605     doStop();\r
606 }\r
607 \r
608 var liveFeedText = new Array("Live", "((Live))", "(( Live ))", "((  Live  ))");\r
609 var liveFeedRoll = 0;\r
610 \r
611 function onPlaying()\r
612 {\r
613     if( !inputTrackerScrolling )\r
614     {\r
615         var vlc = getVLC("vlc");\r
616         var info = document.getElementById("info");\r
617         if( vlc )\r
618         {\r
619             var mediaLen = vlc.input.length;\r
620             inputTrackerIgnoreChange = true;\r
621             if( mediaLen > 0 )\r
622             {\r
623                 // seekable media\r
624                 if( inputTracker )\r
625                 {\r
626                     if( inputTracker.maxVal == 1.0 )\r
627                     {\r
628                         inputTracker.setDisabled(false);\r
629                         inputTracker.maxVal = 1.0;\r
630                     }\r
631                     inputTracker.setValue(vlc.input.position);\r
632                 }\r
633                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(mediaLen);\r
634             }\r
635             else\r
636             {\r
637                 // non-seekable "live" media\r
638                 if( inputTracker )\r
639                 {\r
640                     if( inputTracker.maxVal != 0.0 )\r
641                     {\r
642                         inputTracker.maxVal = 0.0;\r
643                         inputTracker.setValue(0.0);\r
644                         inputTracker.setDisabled(true);\r
645                     }\r
646                 }\r
647                 liveFeedRoll = liveFeedRoll & 3;\r
648                 info.innerHTML = liveFeedText[liveFeedRoll++];\r
649             }\r
650             inputTrackerIgnoreChange  = false;\r
651         }\r
652     }\r
653 }\r
654 \r
655 function onPause()\r
656 {\r
657     document.getElementById("state").innerHTML = "Paused...";\r
658     document.getElementById("PlayOrPause").value = " Play ";\r
659 }\r
660 \r
661 function onStop()\r
662 {\r
663     var vlc = getVLC("vlc");\r
664 \r
665     if( inputTracker )\r
666     {\r
667         if( !inputTracker.disabled )\r
668         {\r
669             inputTracker.setValue(inputTracker.minVal);\r
670             inputTracker.setDisabled(true);\r
671         }\r
672     }\r
673 \r
674     document.getElementById("info").innerHTML = "-:--:--/-:--:--";\r
675     document.getElementById("state").innerHTML = "Stopped...";\r
676     document.getElementById("PlayOrPause").value = " Play ";\r
677 }\r
678 \r
679 function onError()\r
680 {\r
681     var vlc = getVLC("vlc");\r
682 \r
683     document.getElementById("state").innerHTML = "Error...";\r
684 }\r
685 \r
686 function onInputTrackerScrollStart()\r
687 {\r
688     inputTrackerScrolling = true;\r
689 }\r
690 \r
691 function onInputTrackerScrollEnd(inputTracker, value, pos)\r
692 {\r
693     inputTrackerScrolling = false;\r
694 }\r
695 \r
696 function onInputTrackerChange(inputTracker, value, pos)\r
697 {\r
698     if( !inputTrackerIgnoreChange )\r
699     {\r
700         var vlc = getVLC("vlc");\r
701         if( vlc )\r
702         {\r
703             if( (vlc.input.state == 3) && (vlc.input.position != value) )\r
704             {\r
705                 var info = document.getElementById("info");\r
706                 vlc.input.position = value;\r
707                 info.innerHTML = formatTime(vlc.input.time)+"/"+formatTime(vlc.input.length);\r
708             }\r
709         }\r
710     }\r
711 }\r
712 \r
713 //-->\r
714 </SCRIPT>\r
715 </BODY>\r
716 </HTML>\r