var DM_Widget_Playlist = {
    rules : {
        'span#dm_widget_playlist_edit_name' : function(element)
        {
           if(DM_Widget_Playlist.editable == 1)
           {
               new Ajax.InPlaceEditor
               (
                $('dm_widget_playlist_edit_name'), 
                '/ajax/playlist?action=set_name&request=' + DM_Widget_Playlist.request,
                {
                    cancelText: DM_Widget_Playlist.cancel,
                    savingText: DM_Widget_Playlist.save,
                    clickToEditText: DM_Widget_Playlist.edit,
                    highlightcolor: '#' + DM_Widget_Playlist.background_12,
                    highlightendcolor: '#' +  DM_Widget_Playlist.background,
                    loadingText: DM_Widget_Playlist.loading
                }
               );
            }
        },
        'div#dm_widget_playlist_edit_description' : function(element)
        {
           if(DM_Widget_Playlist.editable == 1)
           {
                new Ajax.InPlaceEditor
                (
                $('dm_widget_playlist_edit_description'), 
                '/ajax/playlist?action=set_name&request=' + DM_Widget_Playlist.request,
                {
                    cancelText: DM_Widget_Playlist.cancel,
                    savingText: DM_Widget_Playlist.save,
                    clickToEditText: DM_Widget_Playlist.edit,
                    highlightcolor: '#' + DM_Widget_Playlist.background_12,
                    highlightendcolor: '#' +  DM_Widget_Playlist.background,
                    loadingText: DM_Widget_Playlist.loading
                }
                );
            }
        },
        'a.dm_delete_link' : function(element)
        {
            element.onclick = function()
            {
                DM_Widget_Playlist.toggleBox(element);
            };
        },
        '.dm_widget_playlist_add' : function(element){
            element.onclick = function(){
                DM_Widget_VideoTools.startLoading($('dm_playlist_link'));
                $('video_playlist_form').setStyle({visibility:'hidden'});
                DM_Widget_VideoTools.startBigLoading($('playlist_container'));
                DM_Widget_Playlist.getPlaylistAddForm(hex2str(findParamInClass('url', this)));
                return false;
            };
        },
        'div.playlist' : function(element){
            /*element.onclick = function(){
            Sortable.create("playlist", {
                    tag:'div',overlap:'horizontal',handle:'drag',constraint: false,
                    onUpdate:function(){
                        p = $("playlist");
                        p.moves = p.moves || 0;
                        p.moves++;
                    }
                })
            };*/
        }
    },
    prevPopup : null,
    initialize : function()
    {
        Event.onDOMReady(
            function() {
                EventSelectors.start(DM_Widget_Playlist.rules);
            }
        );
    },
    toggleBox : function(element, visibility)
    {
        var toToggle = element.nextSibling;
        
        if(DM_Widget_Playlist.prevPopup && DM_Widget_Playlist.prevPopup != toToggle)
        {
            DM_Widget_Playlist.prevPopup.style.display = 'none';
        }
        toggleElement(toToggle);
        DM_Widget_Playlist.prevPopup = toToggle;
    },    
    getPlaylistAddForm : function(requestURI)
    {
        params = {method:'post', onComplete : this.updatePlaylistAdd};
        if($('video_playlist_form'))
        {
            params.postBody = Form.serialize('video_playlist_form');
        }
        new Ajax.Request('/ajax/playlist?action=get_playlist_add_form&request=' + requestURI, params);
    },   
    updatePlaylistAdd : function(req)
    {
        DM_Widget_VideoTools.stopLoading($('dm_playlist_link'));
        DM_Widget_VideoTools.stopBigLoading($('playlist_container'));
        $('dm_widget_playlist_container').innerHTML = req.responseText;
        if(!DM_Widget_Playlist.playlistForm)
        {
            DM_Widget_Playlist.playlistForm = req.responseText;
        }
        EventSelectors.assign(DM_Widget_Playlist.rules);
        EventSelectors.assign(DM_Widget_VideoTools.rules);
    },
    playlistForm : null
};

//Delete playlist
function callbackDelete(urlback)
{
    return window.location.href = urlback;
}



//new Ajax.InPlaceEditor($(\'dm_widget_playlist_edit_description\'),\'/ajax/playlist?action=set_description&request=\' + \''.$this->getReq\
//uest()->getRequestURI().'\', {rows:2,cols:48,cancelText:"'.__('Cancel').'",savingText:"'.__('Saving').'",clickToEditText:"'.__('Click to edit').'",h\
//ighlightcolor:"#'.$background_12.'",highlightendcolor:"#'.$background.'",loadingText:"'.__('loading').'"});    

DM_Widget_Playlist.initialize();
