///////////////////////
//Music-Player
///////////////////////
/*$(document).ready(function(){
	$("#jquery_jplayer").jPlayer({ // Instantiate the plugin
		ready: function () { // Executed when the plugin is ready
			this.element.jPlayer("setFile", "audio/mp3/03-the-signs.mp3", "audio/ogg/03-the-signs.ogg").jPlayer("play"); // Auto-play the audio
		},
		oggSupport: true,
		customCssIds: true
	});

	$("#jquery_jplayer").jPlayer("cssId", "play", "play_button"); // Associates play
	$("#jquery_jplayer").jPlayer("cssId", "pause", "pause_button"); // Associates pause
	$("#jquery_jplayer").jPlayer("cssId", "stop", "stop_button"); // Associates stop

	$("#jquery_jplayer").jPlayer("onSoundComplete", function() { // Executed when the mp3 ends
		this.element.jPlayer("play"); // Auto-repeat
	});
});*/

$(document).ready(function(){
    
        var Playlist = function(instance, playlist, options) {
            var self = this;
    
            this.instance = instance; // String: To associate specific HTML with this playlist
            this.playlist = playlist; // Array of Objects: The playlist
            this.options = options; // Object: The jPlayer constructor options for this playlist
    
            this.current = 0;
    
            this.cssId = {
                jPlayer: "jquery_jplayer_",
                interface: "jp_interface_",
                playlist: "jp_playlist_"
            };
            this.cssSelector = {};
    
            $.each(this.cssId, function(entity, id) {
                self.cssSelector[entity] = "#" + id + self.instance;
            });
    
            if(!this.options.cssSelectorAncestor) {
                this.options.cssSelectorAncestor = this.cssSelector.interface;
            }
    
            $(this.cssSelector.jPlayer).jPlayer(this.options);
    
            $(this.cssSelector.interface + " .jp-previous").click(function() {
                self.playlistPrev();
                $(this).blur();
                return false;
            });
    
            $(this.cssSelector.interface + " .jp-next").click(function() {
                self.playlistNext();
                $(this).blur();
                return false;
            });
        };
    
        Playlist.prototype = {
            displayPlaylist: function() {
                var self = this;
                $(this.cssSelector.playlist + " ul").empty();
                for (i=0; i < this.playlist.length; i++) {
                    var listItem = (i === this.playlist.length-1) ? "<li class='jp-playlist-last'>" : "<li>";
                    listItem += "<a href='#' id='" + this.cssId.playlist + this.instance + "_item_" + i +"' tabindex='1'>"+ this.playlist[i].name +"</a>";
    
                    // Create links to free media
                    if(this.playlist[i].free) {
                        var first = true;
                        listItem += "<div class='jp-free-media'>(";
                        $.each(this.playlist[i], function(property,value) {
                            if($.jPlayer.prototype.format[property]) { // Check property is a media format.
                                if(first) {
                                    first = false;
                                } else {
                                    listItem += " | ";
                                }
                                listItem += "<a id='" + self.cssId.playlist + self.instance + "_item_" + i + "_" + property + "' href='" + value + "' tabindex='1'>" + property + "</a>";
                            }
                        });
                        listItem += ")</span>";
                    }
    
                    listItem += "</li>";
    
                    // Associate playlist items with their media
                    $(this.cssSelector.playlist + " ul").append(listItem);
                    $(this.cssSelector.playlist + "_item_" + i).data("index", i).click(function() {
                        var index = $(this).data("index");
                        if(self.current !== index) {
                            self.playlistChange(index);
                        } else {
                            $(self.cssSelector.jPlayer).jPlayer("play");
                        }
                        $(this).blur();
                        return false;
                    });
    
                    // Disable free media links to force access via right click
                    if(this.playlist[i].free) {
                        $.each(this.playlist[i], function(property,value) {
                            if($.jPlayer.prototype.format[property]) { // Check property is a media format.
                                $(self.cssSelector.playlist + "_item_" + i + "_" + property).data("index", i).click(function() {
                                    var index = $(this).data("index");
                                    $(self.cssSelector.playlist + "_item_" + index).click();
                                    $(this).blur();
                                    return false;
                                });
                            }
                        });
                    }
                }
            },
            playlistInit: function(autoplay) {
                if(autoplay) {
                    this.playlistChange(this.current);
                } else {
                    this.playlistConfig(this.current);
                }
            },
            playlistConfig: function(index) {
                $(this.cssSelector.playlist + "_item_" + this.current).removeClass("jp-playlist-current").parent().removeClass("jp-playlist-current");
                $(this.cssSelector.playlist + "_item_" + index).addClass("jp-playlist-current").parent().addClass("jp-playlist-current");
                this.current = index;
                $(this.cssSelector.jPlayer).jPlayer("setMedia", this.playlist[this.current]);
            },
            playlistChange: function(index) {
                this.playlistConfig(index);
                $(this.cssSelector.jPlayer).jPlayer("play");
            },
            playlistNext: function() {
                var index = (this.current + 1 < this.playlist.length) ? this.current + 1 : 0;
                this.playlistChange(index);
            },
            playlistPrev: function() {
                var index = (this.current - 1 >= 0) ? this.current - 1 : this.playlist.length - 1;
                this.playlistChange(index);
            }
        };

        var audioPlaylist = new Playlist("2", [
											   
            {
                name:"Track 01",
                mp3:"audio/mp3/01.mp3",
                oga:"audio/ogg/01.ogg",
            },
            {
                name:"Runway Girls",
                mp3:"audio/mp3/02-runway-girls.mp3",
                oga:"audio/ogg/02-runway-girls.ogg"
            },
            {
                name:"The Signs",
                free:true,
                mp3:"audio/mp3/03-the-signs.mp3",
                oga:"audio/ogg/03-the-signs.ogg"
            },
            
            
        ], {
            ready: function() {
                audioPlaylist.displayPlaylist();
                audioPlaylist.playlistInit(true); // Parameter is a boolean for autoplay.
            },
            ended: function() {
                audioPlaylist.playlistNext();
            },
            play: function() {
                $(this).jPlayer("pauseOthers");
            },
			swfPath: "js",
            supplied: "oga, mp3",
			//solution: 'html, flash',
			solution: 'flash, html',
			preload: 'metadata',
			muted: false,
			wmode: "window"
        });
    });


