diff --git a/livesupport/modules/htmlUI/var/conf.php b/livesupport/modules/htmlUI/var/conf.php
index ec5b37f96..84899adb4 100644
--- a/livesupport/modules/htmlUI/var/conf.php
+++ b/livesupport/modules/htmlUI/var/conf.php
@@ -23,7 +23,7 @@
 
 
     Author   : $Author: sebastian $
-    Version  : $Revision: 1.18 $
+    Version  : $Revision: 1.19 $
     Location : $Source: /home/paul/cvs2svn-livesupport/newcvsrepo/livesupport/modules/htmlUI/var/Attic/conf.php,v $
 
 ------------------------------------------------------------------------------*/
@@ -143,6 +143,7 @@ define('UI_SCRATCHPAD_MAXLENGTH_KEY', 'djBagMaxlength');
 define('UI_SCRATCHPAD_SESSNAME',  'SCRATCHPAD');
 define('UI_STATIONINFO_SESSNAME', 'STATIONINFO');
 define('UI_SEARCH_SESSNAME',      'SEARCH');
+define('UI_PLAYLIST_SESSNAME',    'PLAYLIST');
 
 define('UI_MDATA_KEY_TITLE',      'dc:title');
 define('UI_MDATA_KEY_ARTIST',     'dc:creator');
diff --git a/livesupport/modules/htmlUI/var/html/ui_browser.php b/livesupport/modules/htmlUI/var/html/ui_browser.php
index 6d766b1e1..b911f5c1f 100644
--- a/livesupport/modules/htmlUI/var/html/ui_browser.php
+++ b/livesupport/modules/htmlUI/var/html/ui_browser.php
@@ -35,6 +35,11 @@ if (is_array($_REQUEST['popup'])){
                 $Smarty->assign('loginform', $uiBrowser->loginform($Smarty, $ui_fmask));
                 $Smarty->display('popup/login.tpl');
             break;
+
+            case "_2PL.simpleManagement":
+                $Smarty->assign('target', 'PL.simpleManagement');
+                $Smarty->display('popup/_redirector.tpl');
+            break;
         }
     }
     die();
diff --git a/livesupport/modules/htmlUI/var/html/ui_handler.php b/livesupport/modules/htmlUI/var/html/ui_handler.php
index b8bb321d6..bd413bd27 100644
--- a/livesupport/modules/htmlUI/var/html/ui_handler.php
+++ b/livesupport/modules/htmlUI/var/html/ui_handler.php
@@ -4,20 +4,19 @@ require dirname(__FILE__).'/../ui_handler_init.php';
 switch($_REQUEST['act']){
 
     case "login":
-        if (($ui_tmp_sessid = $uiHandler->login($_REQUEST, $ui_fmask["login"])) !== FALSE) {
-            $uiHandler->PLAYLIST->testForLooked();
-        }
+        if ($uiHandler->login($_REQUEST, $ui_fmask["login"]) === TRUE)
+            $uiHandler->PLAYLIST->loadLookedFromPref();
     break;
 
     case "logout":
         $uiHandler->SCRATCHPAD->save();
-        $uiHandler->PLAYLIST->testForLooked();
+        $uiHandler->PLAYLIST->release();
         $uiHandler->logout();
     break;
 
     case "signover":
         $uiHandler->SCRATCHPAD->save();
-        $uiHandler->PLAYLIST->testForLooked();
+        $uiHandler->PLAYLIST->release();
         $uiHandler->logout(TRUE);
     break;
 
diff --git a/livesupport/modules/htmlUI/var/templates/playlist/editor.tpl b/livesupport/modules/htmlUI/var/templates/playlist/editor.tpl
index f930108c4..868c20b5f 100755
--- a/livesupport/modules/htmlUI/var/templates/playlist/editor.tpl
+++ b/livesupport/modules/htmlUI/var/templates/playlist/editor.tpl
@@ -4,8 +4,8 @@
 {PL->getFlat assign='FLAT'}
 {foreach from=$FLAT item='i'}
     {* {uiBrowser->_niceTime p1=$i.playlength assign='nicelength'} *}
-    <tr onMouseOver="highlight()" onMouseOut="darklight()" onContextmenu="return menu('{$i.id}', 'PL.removeItem')" style="background-color: {cycle values='#eeeeee, #dadada'}">
-        <td><input type="checkbox" name="{$i.id}"></td>
+    <tr onMouseOver="highlight()" onMouseOut="darklight()" onContextmenu="return menu('{$i.attrs.id}', 'PL.removeItem')" style="background-color: {cycle values='#eeeeee, #dadada'}">
+        <td><input type="checkbox" name="{$i.attrs.id}"></td>
         <td>{$i.title}</td>
         <td>{$i.duration}</td>
         <td>{$i.type}</td>
diff --git a/livesupport/modules/htmlUI/var/templates/playlist/simpleManagement.tpl b/livesupport/modules/htmlUI/var/templates/playlist/simpleManagement.tpl
index 2c18e12fc..ba85d32a7 100755
--- a/livesupport/modules/htmlUI/var/templates/playlist/simpleManagement.tpl
+++ b/livesupport/modules/htmlUI/var/templates/playlist/simpleManagement.tpl
@@ -13,7 +13,7 @@
     {include file="playlist/editor.tpl"}
 {else}                      {* no active Playlist *}
     <tr><td colspan="4">No active Playlist!</td></tr>
-    <tr><td colspan="4"><input type="button" value="Make new Playlist" onClick="hpopup('{$UI_HANDLER}?act=PL.create')"></td></tr>
+    <tr><td colspan="4"><input type="button" value="Create empty Playlist" onClick="hpopup('{$UI_HANDLER}?act=PL.create')"></td></tr>
 {/if}
 
 </table>
diff --git a/livesupport/modules/htmlUI/var/ui_base.inc.php b/livesupport/modules/htmlUI/var/ui_base.inc.php
index 8db3f968d..a22a1b687 100644
--- a/livesupport/modules/htmlUI/var/ui_base.inc.php
+++ b/livesupport/modules/htmlUI/var/ui_base.inc.php
@@ -279,10 +279,11 @@ class uiBase
 
     function _twoDigits($num)
     {
-        if (strlen($num)<2)
-            return ("0$num");
-        else
-            return $num;
+        if (strlen($num) == 1)
+            return "0$num";
+        if (strlen($num) == 0)
+            return '00';
+        return $num;
     }
 
 
diff --git a/livesupport/modules/htmlUI/var/ui_handler.class.php b/livesupport/modules/htmlUI/var/ui_handler.class.php
index a76936aa9..99dece0f2 100644
--- a/livesupport/modules/htmlUI/var/ui_handler.class.php
+++ b/livesupport/modules/htmlUI/var/ui_handler.class.php
@@ -38,8 +38,7 @@ class uiHandler extends uiBase {
      */
     function login(&$formdata, &$mask)
     {
-        session_destroy();
-        session_start();
+        #$this->_cleanArray($_SESSION);
 
         if (!$this->_validateForm($formdata, $mask)) {
             $_SESSION['retransferFormData']['login']=$formdata['login'];
diff --git a/livesupport/modules/htmlUI/var/ui_playlist.class.php b/livesupport/modules/htmlUI/var/ui_playlist.class.php
index 796520331..2b2d20cf2 100755
--- a/livesupport/modules/htmlUI/var/ui_playlist.class.php
+++ b/livesupport/modules/htmlUI/var/ui_playlist.class.php
@@ -19,7 +19,7 @@ class uiPlaylist
         if (!$this->activeId) {
             return FALSE;
         }
-        #print_r( $this->Base->gb->getPlaylistArray($this->activeId, $this->Base->sessid));
+        print_r( $this->Base->gb->getPlaylistArray($this->activeId, $this->Base->sessid));
         return $this->Base->gb->getPlaylistArray($this->activeId, $this->Base->sessid);
     }
 
@@ -38,8 +38,7 @@ class uiPlaylist
             return FALSE;
         }
         $this->token = $this->Base->gb->lockPlaylistForEdit($plid, $this->Base->sessid);
-        $this->Base->gb->savePref($this->Base->sessid, UI_PL_ACCESSTOKEN_KEY, $this->token);
-        #$this->active = $this->Base->gb->getPlaylistArray($plid, $this->Base->sessid);
+        $this->Base->gb->savePref($this->Base->sessid, UI_PL_ACCESSTOKEN_KEY, $plid.':'.$this->token);
         $this->activeId = $plid;
         $this->Base->_retMsg('Playlist "$1" activated', $this->Base->_getMDataValue($plid, UI_MDATA_KEY_TITLE));
         return TRUE;
@@ -87,11 +86,14 @@ class uiPlaylist
     }
 
 
-    function testForLooked()
+    function loadLookedFromPref()
     {
-        if(is_string($this->token = $this->Base->gb->loadPref($this->Base->sessid, UI_PL_ACCESSTOKEN_KEY))) {
-            $this->Base->_retMsg('Playlist looked by You was released');
-            $this->release();
+        if(is_string($saved = $this->Base->gb->loadPref($this->Base->sessid, UI_PL_ACCESSTOKEN_KEY))) {
+            $this->Base->_retMsg('Found Playlist looked by you');
+            #$this->release();
+            list ($this->activeId, $this->token) = explode (':', $saved);
+
+            $this->Base->redirUrl = UI_BROWSER.'?popup[]=_2PL.simpleManagement&popup[]=_close';
             return TRUE;
         }
         return FALSE;
@@ -106,17 +108,17 @@ class uiPlaylist
         return TRUE;
     }
 
-    function removeItem($gunids)
+    function removeItem($elemIds)
     {
-        if (!$gunids) {
+        if (!$elemIds) {
             $this->Base->_retMsg('No Item(s) given');
             return FALSE;
         }
-        if (!is_array($gunids))
-            $gunids = array($gunids);
+        if (!is_array($elemIds))
+            $elemIds = array($elemIds);
 
-        foreach ($gunids as $gunid) {
-            if ($this->Base->gb->delAudioClipFromPlaylist($this->token, $this->Base->gb->_idFromGunid($gunid), $this->Base->sessid) !== TRUE) {
+        foreach ($elemIds as $elemId) {
+            if ($this->Base->gb->delAudioClipFromPlaylist($this->token, $elemId, $this->Base->sessid) !== TRUE) {
                 $this->Base->_retMsg('Cannot remove Item from Playlist');
                 return FALSE;
             }
@@ -153,21 +155,23 @@ class uiPlaylist
 
     function getFlat()
     {
-        $this->plwalk($this->get(), 0);
+        $this->plwalk($this->get());
+        #print_r($this->flat);
         return $this->flat;
     }
 
 
-    function plwalk($arr, $parent)
+    function plwalk($arr, $parent=0, $attrs=0)
     {
         foreach ($arr['children'] as $node=>$sub) {
             if ($sub['elementname']=='playlistelement') {
-                $this->plwalk($sub, $node);
+                $this->plwalk($sub, $node, $sub['attrs']);
             }
-            if ($sub['elementname']=='audioclip' || $sub['elementname']=='webstream') {
+            if ($sub['elementname']=='audioclip') {
                 #$this->flat["$parent.$node"] = $sub['attrs'];
                 #$this->flat["$parent.$node"]['type'] = $sub['elementname'];
                 $this->flat["$parent.$node"] = $this->Base->_getMetaInfo($this->Base->gb->_idFromGunid($sub['attrs']['id']));
+                $this->flat["$parent.$node"]['attrs'] = $attrs;
             }
         }
     }
diff --git a/livesupport/modules/htmlUI/var/ui_search.class.php b/livesupport/modules/htmlUI/var/ui_search.class.php
index a52a7856e..3c04701eb 100755
--- a/livesupport/modules/htmlUI/var/ui_search.class.php
+++ b/livesupport/modules/htmlUI/var/ui_search.class.php
@@ -20,8 +20,8 @@ class uiSearch
         $form = new HTML_QuickForm('search', UI_STANDARD_FORM_METHOD, UI_HANDLER);
         $form->setConstants(array('id'=>$id, 'counter'=>$this->criteria['counter'] ? $this->criteria['counter'] : UI_SEARCH_MIN_ROWS));
 
-        foreach ($mask['tabs']['group']['group'] as $k=>$v) {
-            foreach ($mask['pages'][$v] as $val){
+        foreach ($mask['pages'] as $k=>$v) {
+            foreach ($mask['pages'][$k] as $val){
                 $col1[$this->Base->_formElementEncode($val['element'])] = $val['label'];
                 if (isset($val['relation']))
                     $col2[$this->Base->_formElementEncode($val['element'])] = $mask2['relations'][$val['relation']];