var basepath = basepath || '';

soundManager.flashVersion = 9;
soundManager.url = basepath + '/lib/vendor/soundmanager2/';
soundManager.debugMode = false;
soundManager.waitForWindowLoad = true;
soundManager.onerror = function () {
    $('#player').fadeOut();
};
soundManager.defaultOptions.volume = 100;
$nowplaying_id = null;
$tout = null;
soundManager.onload = function () {
    $(function () {
        var $plr = $('#player');
        var $ctrl = $('#controls #playtoggle');
        var $lbl = $('#label');
        var $pls = $('#playlist');
        var $pls_starttop = $pls.outerHeight();
        $plr.hover(function () {
            $tout = setTimeout(function () {
                $pls.fadeIn();
            }, 200);
        }, function () {
            clearTimeout($tout);
            $pls.fadeOut();
        });
        var $mp3s = $('#player a.mp3');
        $mp3s.click(function () {
            soundManager.stopAll();
            $mp3s.removeClass('now-playing');
            $(this).addClass('now-playing');
            var t = this;
            var _song = $(this).html();
            $lbl.html(_song);
            var _id = escape(_song);
            soundManager.createSound({
                id: _id,
                url: $(this).attr('href'),
                onplay: function () {
                    $nowplaying_id = true;
                    $ctrl.addClass('play');
                    $ctrl.addClass('buffering');
                },
                onload: function () {
                    $ctrl.removeClass('buffering');
                    $nowplaying_id = _id;
                },
                onstop: function () {
                    soundManager.unload(this.sID);
                    $nowplaying_id = null;
                    $ctrl.removeClass('play');
                },
                onfinish: function () {
                    $ctrl.removeClass('play');
                    $nowplaying_id = null;
                    var $p = $(t).parent();
                    if ($p.is(':last-child')) {
                        $n = $p.prevAll(':first-child');
                    } else {
                        $n = $p.next();
                    }
                    $n.find('a.mp3').click();
                }
            });
            soundManager.play(_id);
            return false;
        });
        $ctrl.click(function () {
            if (null === $nowplaying_id) {
                $('a.mp3:first').click();
            } else {
                var snd = soundManager.getSoundById($nowplaying_id);
                if (snd.playState === 0) {
                    snd.play();
                } else {
                    $ctrl.toggleClass('pause');
                    snd.togglePause();
                }
            }
        });
    });
};
