
// (c) 2009 Addenda Records because we love you.

soundclips = {};

soundManager.onload = function() {
    
    var ns = soundclips;
    ns.sound_obs = {};
    
    ns.nextSound = function(current_snd_id) {
        var idnum = parseInt(current_snd_id.split("-")[1], 10);
        return ns.sound_obs["sound-" + (idnum + 1).toString()];
    };
    
    $("a.soundclip").each(function(i) {
        var id = "sound-"+i;
        $(this).attr("id", id);
        var sound = soundManager.createSound({
            id: id,
            url: $(this).attr("href"),
            autoLoad: false,
            autoPlay: false,
            stream: true,
            onplay: function() {
                var a = $("#"+this.sID);
                a.removeClass("soundclip-paused").addClass("soundclip-playing");
                // queue up next sound:
                var next_snd = ns.nextSound(this.sID);
                if (typeof next_snd !== 'undefined') {
                    next_snd.load();
                }
            },
            onfinish: function() {
                var a = $("#"+this.sID);
                a.removeClass("soundclip-playing").addClass("soundclip-paused");
                var next_snd = ns.nextSound(this.sID);
                if (typeof next_snd !== 'undefined') {
                    next_snd.play();
                }
            },
            onstop: function() {
                var a = $("#"+this.sID);
                a.removeClass("soundclip-playing").addClass("soundclip-paused");
            },
            volume: 100,
            whileloading: function() {},
            onload: function(successful) {}
        });
        ns.sound_obs[id] = sound;
        
        // preload first sound:
        var first_snd = ns.sound_obs["sound-0"];
        if (typeof first_snd !== 'undefined') {
            first_snd.load();
        }
        
        $(this).click(function(event) {
            $(this).blur();
            event.preventDefault();
            var id = $(event.currentTarget).attr("id");
            var snd = ns.sound_obs[id];
            if (snd.playState === 1) {
                // already playing so stop it
                snd.stop();
            } else {
                soundManager.stopAll();
                snd.play();
            }
        });
    });
};