diff -Naur vlc-0.8.5-test1/share/http/js/functions.js vlc-0.8.5-test1-modif/share/http/js/functions.js
--- vlc-0.8.5-test1/share/http/js/functions.js	2006-03-15 15:39:16.000000000 +0100
+++ vlc-0.8.5-test1-modif/share/http/js/functions.js	2006-03-15 15:43:04.000000000 +0100
@@ -430,6 +430,19 @@
                 document.getElementById( 'btn_pause' ).setAttribute( 'title', 'Play' );
             }
 
+	    if( status.getElementsByTagName( 'random' )[0].firstChild.data == "1" )
+	    	document.getElementById( 'btn_shuffle').setAttribute( 'style', 'background: rgb( 170, 170, 170 );' );
+	    else
+	    	document.getElementById( 'btn_shuffle').setAttribute( 'style', '' );
+	    if( status.getElementsByTagName( 'loop' )[0].firstChild.data == "1" )
+	    	document.getElementById( 'btn_loop').setAttribute( 'style', 'background: rgb( 170, 170, 170 );' );
+	    else
+	    	document.getElementById( 'btn_loop').setAttribute( 'style', '' );
+	    if( status.getElementsByTagName( 'repeat' )[0].firstChild.data == "1" )
+	    	document.getElementById( 'btn_repeat').setAttribute( 'style', 'background: rgb( 170, 170, 170 );' );
+	    else
+	    	document.getElementById( 'btn_repeat').setAttribute( 'style', '' );
+
             var tree = document.createElement( "ul" );
             var categories = status.getElementsByTagName( 'category' );
             var i;
diff -Naur vlc-0.8.5-test1/share/http/requests/status.xml vlc-0.8.5-test1-modif/share/http/requests/status.xml
--- vlc-0.8.5-test1/share/http/requests/status.xml	2006-03-15 15:39:16.000000000 +0100
+++ vlc-0.8.5-test1-modif/share/http/requests/status.xml	2006-03-15 15:43:35.000000000 +0100
@@ -69,10 +69,10 @@
     <vlc id="rpn" param1="" /> <!-- FIXME -->
   <vlc id="end" />
   <vlc id="if" param1="command value 'pl_random' strcmp 0 =" />
-    <vlc id="rpn" param1="'random' 'VLC_OBJECT_PLAYLIST' vlc_var_get ! 'random' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
+    <vlc id="rpn" param1="'random' 'VLC_OBJECT_PLAYLIST' vlc_var_get 1 + 2 % 'random' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
   <vlc id="end" />
   <vlc id="if" param1="command value 'pl_loop' strcmp 0 =" />
-    <vlc id="rpn" param1="'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_get ! 'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
+    <vlc id="rpn" param1="'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_get 1 + 2 %  'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
   <vlc id="end" />
   <vlc id="if" param1="command value 'pl_repeat' strcmp 0 =" />
     <vlc id="rpn" param1="'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_get 1 + 2 % 'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_set" />
@@ -99,7 +99,8 @@
   <state><vlc id="value" param1="stream_state" /></state>
   <position><vlc id="value" param1="stream_position" /></position>
   <fullscreen><vlc id="if" param1="'VLC_OBJECT_VOUT' vlc_obj_exists" /><vlc id="value" param1="'fullscreen' 'VLC_OBJECT_VOUT' vlc_var_get" /><vlc id="end" /></fullscreen>
-  <loop><vlc id="value" param1="'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_get"/></loop>
+  <random><vlc id="value" param1="'random' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></random>
+  <loop><vlc id="value" param1="'loop' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></loop>
   <repeat><vlc id="value" param1="'repeat' 'VLC_OBJECT_PLAYLIST' vlc_var_get" /></repeat>
   <information>
     <vlc id="foreach" param1="inf" param2="information" />
