/** The osmplayer namespace. */ var osmplayer = osmplayer || {}; /** The parser object. */ osmplayer.parser = osmplayer.parser || {}; /** * The youtube parser object. * * @return {object} The youtube parser. **/ osmplayer.parser.youtube = { // The priority for this parser. priority: 10, // Return if this is a valid youtube feed. valid: function(feed) { return (feed.search(/^http(s)?\:\/\/gdata\.youtube\.com/i) === 0); }, // Returns the type of request to make. getType: function(feed) { return 'jsonp'; }, // Returns the feed provided the start and numItems. getFeed: function(feed, start, numItems) { feed = feed.replace(/(.*)\??(.*)/i, '$1'); feed += '?start-index=' + (start + 1); feed += '&max-results=' + (numItems); feed += '&v=2&alt=jsonc'; return feed; }, // Parse the feed. parse: function(data) { data = data.data; var playlist = { total_rows: data.totalItems, nodes: [] }; // Iterate through the items and parse it. var node = null; for (var index in data.items) { if (data.items.hasOwnProperty(index)) { node = minplayer.players.youtube.parseNode(data.items[index]); playlist.nodes.push(node); } } return playlist; } };