/* Copyright 2003-2008 Emergent Music LLC  All rights reserved.
$Id$
*/

FLYFI.TrackCarouselCell = function(trackDict, onSoundFinishedCallback) {
    // the class for a single track display in a carousel, including playing
    
    var self = this;

    self.trackDict = trackDict;
    self.trackCell = new FLYFI.TrackCell(trackDict);
       
    this.html = function () {
        return self.trackCell.html(self.widgetCallback, null, self.playerControlsCallback);
    };

    this.widgetCallback = function(trackDict) {
        // called by trackCell.html() to get the widget to use in the trackcell
        return FLYFI.buildTrackCellWidget(trackDict, false);
    };
    
    this.playerControlsCallback = function(widget) {
        self.playerControls = new FLYFI.PlayerControls(widget, (self.trackDict.free ? null : FLYFI.videoPlayerID(self.trackDict)), null, false, onSoundFinishedCallback); // no libraryID
        self.playerControls.selectTrack(self.trackDict, false);
        return self.playerControls;
    };
    
};
