msftUrlPrefix = "http://download.microsoft.com/download/c/e/5/ce5434ca-4f54-42b1-81ea-7f5a72f3b1dd"

function get_mediainfo(mediainfoIndex) {
    switch (mediainfoIndex) {

		case 0:
		   return { "mediaUrl": msftUrlPrefix + "/1-00 - Keynote - Jason Zander.wmv", "placeholderImage": "Videos/1-00 - Keynote - Jason Zander_Thumb.jpg", "chapters": [] };
		case 1:
		   return { "mediaUrl": msftUrlPrefix + "/1-01 - CSharp3 - Anders Hejlsberg.wmv", "placeholderImage": "Videos/1-01 - CSharp3 - Anders Hejlsberg_Thumb.jpg", "chapters": [] };
		case 2:
		   return { "mediaUrl": msftUrlPrefix + "/1-05 - Lively Kernel - Dan Ingalls - Sun.wmv", "placeholderImage": "Videos/1-05 - Lively Kernel - Dan Ingalls - Sun_Thumb.jpg", "chapters": [] };
		case 3:
		   return { "mediaUrl": msftUrlPrefix + "/1-06 - JScript - Pratap Lakshman.wmv", "placeholderImage": "Videos/1-06 - JScript - Pratap Lakshman_Thumb.jpg", "chapters": [] };
		case 4:
		   return { "mediaUrl": msftUrlPrefix + "/1-07 - Irony and ERP Language Challenges - Roman Ivantsov.wmv", "placeholderImage": "Videos/1-07 - Irony and ERP Language Challenges - Roman Ivantsov_Thumb.jpg", "chapters": [] };
		case 5:
		   return { "mediaUrl": msftUrlPrefix + "/2-00 - Democratizing the Cloud with Volta - Erik Meijer.wmv", "placeholderImage": "Videos/2-00 - Democratizing the Cloud with Volta - Erik Meijer_Thumb.jpg", "chapters": [] };
		case 6:
		   return { "mediaUrl": msftUrlPrefix + "/2-01 - Newspeak - Gilad Braha - Cadence.wmv", "placeholderImage": "Videos/2-01 - Newspeak - Gilad Braha - Cadence_Thumb.jpg", "chapters": [] };
		case 7:
		   return { "mediaUrl": msftUrlPrefix + "/2-02 - Resolver One - Giles Thomas - Resolver.wmv", "placeholderImage": "Videos/2-02 - Resolver One - Giles Thomas - Resolver_Thumb.jpg", "chapters": [] };
		case 8:
		   return { "mediaUrl": msftUrlPrefix + "/2-03 - Retargeting DLR - Seo Sanghyeon.wmv", "placeholderImage": "Videos/2-03 - Retargeting DLR - Seo Sanghyeon_Thumb.jpg", "chapters": [] };
		case 9:
		   return { "mediaUrl": msftUrlPrefix + "/2-04 - Visual Basic - Paul Vick.wmv", "placeholderImage": "Videos/2-04 - Visual Basic - Paul Vick_Thumb.jpg", "chapters": [] };
		case 10:
		   return { "mediaUrl": msftUrlPrefix + "/2-06 - PHP - Wez Furlong.wmv", "placeholderImage": "Videos/2-06 - PHP - Wez Furlong_Thumb.jpg", "chapters": [] };
		case 11:
		   return { "mediaUrl": msftUrlPrefix + "/2-07 - Phalanger - Tomas Petricek.wmv", "placeholderImage": "Videos/2-07 - Phalanger - Tomas Petricek_Thumb.jpg", "chapters": [] };
		case 12:
		   return { "mediaUrl": msftUrlPrefix + "/2-08 - Pex - Peli de Halleux.wmv", "placeholderImage": "Videos/2-08 - Pex - Peli de Halleux_Thumb.jpg", "chapters": [] };
		case 13:
		   return { "mediaUrl": msftUrlPrefix + "/2-09 - Numerical Computing with the CLR - Jeffrey Sax - Extreme Optimization.wmv", "placeholderImage": "Videos/2-09 - Numerical Computing with the CLR - Jeffrey Sax - Extreme Optimization_Thumb.jpg", "chapters": [] };
		case 14:
		   return { "mediaUrl": msftUrlPrefix + "/2-10 - remotion Mixins - Stefan Wenig and Fabian Schmied - rubicon.wmv", "placeholderImage": "Videos/2-10 - remotion Mixins - Stefan Wenig and Fabian Schmied - rubicon_Thumb.jpg", "chapters": [] };
		case 15:
		   return { "mediaUrl": msftUrlPrefix + "/2-11 - CodeIt - Serge Baranovsky - submain.wmv", "placeholderImage": "Videos/2-11 - CodeIt - Serge Baranovsky - submain_Thumb.jpg", "chapters": [] };
		case 16:
		   return { "mediaUrl": msftUrlPrefix + "/3-00 - IronRuby - John Lam.wmv", "placeholderImage": "Videos/3-00 - IronRuby - John Lam_Thumb.jpg", "chapters": [] };
		case 17:
		   return { "mediaUrl": msftUrlPrefix + "/3-01 - Ruby.NET - Wayne Kelly.wmv", "placeholderImage": "Videos/3-01 - Ruby.NET - Wayne Kelly_Thumb.jpg", "chapters": [] };
		case 18:
		   return { "mediaUrl": msftUrlPrefix + "/3-02 - FSharp - Luke Hoban.wmv", "placeholderImage": "Videos/3-02 - FSharp - Luke Hoban_Thumb.jpg", "chapters": [] };
		case 19:
		   return { "mediaUrl": msftUrlPrefix + "/3-03 - Parsing Expression Grammars in FSharp - Harry Pierson.wmv", "placeholderImage": "Videos/3-03 - Parsing Expression Grammars in FSharp - Harry Pierson_Thumb.jpg", "chapters": [] };
		case 20:
		   return { "mediaUrl": msftUrlPrefix + "/3-04 - NStatic - Wesner Moise - SoftPerson.wmv", "placeholderImage": "Videos/3-04 - NStatic - Wesner Moise - SoftPerson_Thumb.jpg", "chapters": [] };
		case 21:
		   return { "mediaUrl": msftUrlPrefix + "/3-05 - Moonlight and Mono - Miguel de Icaza.wmv", "placeholderImage": "Videos/3-05 - Moonlight and Mono - Miguel de Icaza_Thumb.jpg", "chapters": [] };
		case 22:
		   return { "mediaUrl": msftUrlPrefix + "/3-06 - Visual Studio Shell - Aaron Marten.wmv", "placeholderImage": "Videos/3-06 - Visual Studio Shell - Aaron Marten_Thumb.jpg", "chapters": [] };
		case 23:
		   return { "mediaUrl": msftUrlPrefix + "/3-07 - Modeling and Languages - Don Box.wmv", "placeholderImage": "Videos/3-07 - Modeling and Languages - Don Box_Thumb.jpg", "chapters": [] };
		case 24:
		   return { "mediaUrl": msftUrlPrefix + "/3-08 - Cobra - Chuck Esterbrook.wmv", "placeholderImage": "Videos/3-08 - Cobra - Chuck Esterbrook_Thumb.jpg", "chapters": [] };
		case 25:
		   return { "mediaUrl": msftUrlPrefix + "/3-09 - Intentional - Magnus Christerson.wmv", "placeholderImage": "Videos/3-09 - Intentional - Magnus Christerson_Thumb.jpg", "chapters": [] };
		case 26:
		   return { "mediaUrl": msftUrlPrefix + "/3-10ScalaTedNeward.wmv", "placeholderImage": "Videos/3-10 - Scala - Ted Neward_Thumb.jpg", "chapters": [] };


        default:
             throw Error.invalidOperation("No such mediainfo");
     }
}

function StartWithParent(mediainfoId, parentId, appId) {
    new StartPlayer(mediainfoId, parentId);
}

function StartPlayer(mediainfoId, parentId) {
    this._hostname = EePlayer.Player._getUniqueName("xamlHost");
    Silverlight.createObjectEx( {   source: 'Player/player.xml', 
                                        parentElement: $get(parentId ||"divPlayer_0"), 
                                        id:this._hostname, 
                                        properties:{ width:'100%', height:'100%', version:'1.0', 
					background:document.body.style.backgroundColor, isWindowless:'false' },                                        events:{ onLoad:Function.createDelegate(this, this._handleLoad) } } );
    this._currentMediainfo = mediainfoId;
}
StartPlayer.prototype= {
    _handleLoad: function() {
        this._player = $create(   ExtendedPlayer.Player, 
                                  { // properties
                                    autoPlay    : true, 
                                    volume      : 1.0,
                                    muted       : false
                                  }, 
                                  { // event handlers
                                    mediaEnded: Function.createDelegate(this, this._onMediaEnded),
                                    mediaFailed: Function.createDelegate(this, this._onMediaFailed)
                                  },
                                  null, $get(this._hostname)  ); 
        this._playNextVideo();     
    },    
    _onMediaEnded: function(sender, eventArgs) {
        window.setTimeout( Function.createDelegate(this, this._playNextVideo), 1000);
    },
    _onMediaFailed: function(sender, eventArgs) {
        alert(String.format( Ee.UI.Xaml.Media.Res.mediaFailed, this._player.get_mediaUrl() ) );
    },
    _playNextVideo: function() {
	// TODO: update this with the total videos!
        var cVideos = 27;
        if (this._currentMediainfo<cVideos)
            this._player.set_mediainfo( get_mediainfo( this._currentMediainfo++ ) );    
    }        
}
