﻿var curPos = 1; //track the current position of the playlists
var maxPos = 1; //How many pages of clips do we have?
var cVideos = 2; //How many video Clips do we have?

function get_mediainfo(mediainfoIndex) {
    switch (mediainfoIndex) {        

        case 0:
            return  { "mediaUrl": "mms://195.28.177.87:8000/bvbmedia/BVB1.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

        case 1:
            return  { "mediaUrl": "mms://195.28.177.87:8000/bvbmedia/Emisie Bursa_tenis.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

        case 2:
            return  { "mediaUrl": "mms://195.28.177.87/bvbmedia/picture010.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

         case 3:
            return  { "mediaUrl": "movie4.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

        case 4:
            return  { "mediaUrl": "Movie5.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

        case 5:
            return  { "mediaUrl": "Movie6.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

        case 6:
            return  { "mediaUrl": "Movie7.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                                

        case 7:
            return  { "mediaUrl": "Movie8.wmv",
                      "placeholderImage": "",
                      "chapters": [               
                                  ] };                                                              
                          
        default:
             throw Error.invalidOperation("No such mediainfo");
     }
}

function StartWithParent(parentId, appId) {
    new StartPlayer_0(parentId);
}

function StartPlayer_0(parentId) {
    this._hostname = EePlayer.Player._getUniqueName("xamlHost");
    Silverlight.createObjectEx( {   source: 'player.xaml', 
                                        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 = 0;      
}
StartPlayer_0.prototype= {
    _handleLoad: function(plugIn) {
        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)  ); 
		
		//wire up the rollover and click events for each of our play buttons		
		for (var i = 0; i < cVideos; i++)
		{
			var element = plugIn.Content.findName('play' + i);
			element.addEventListener("MouseEnter", Function.createDelegate(this,this._rollOver));
			element.addEventListener("MouseLeave", Function.createDelegate(this,this._rollOut));
			element.addEventListener("MouseLeftButtonUp", Function.createDelegate(this,this._playX));
		}
		
		plugIn.Content.findName('LeftArrow').addEventListener("MouseEnter", Function.createDelegate(this,this._rollOver));
		plugIn.Content.findName('LeftArrow').addEventListener("MouseLeave", Function.createDelegate(this,this._rollOut));
		plugIn.Content.findName('LeftArrow').addEventListener("MouseLeftButtonUp", Function.createDelegate(this,this._slideLeft));
		plugIn.Content.findName('RightArrow').addEventListener("MouseEnter", Function.createDelegate(this,this._rollOver));
		plugIn.Content.findName('RightArrow').addEventListener("MouseLeave", Function.createDelegate(this,this._rollOut));
		plugIn.Content.findName('RightArrow').addEventListener("MouseLeftButtonUp", Function.createDelegate(this,this._slideRight));

        this._playNextVideo();     
    },

	_rollOver: function(sender, eventArgs) {
		sender.opacity=1;
   },
   
    _rollOut: function(sender, eventArgs) {
		sender.opacity=0.74;
   },
   
   _playX: function(sender, eventArgs) {
		var X = Number(sender.Name.substring(4));
		this._currentMediainfo = X;
		this._player.set_mediainfo( get_mediainfo( X ));
		sender.opacity=1;
   },
   
   _slideLeft: function(sender, eventArgs) {
        switch(curPos)
        {
            case 1:
                //sender.findName("LeftArrow").opacity = 0.85;
                break;
            default:
                sender.findName("MoveRight0" + curPos).Begin();
                curPos--;   
        }
   },  
   
   _slideRight: function(sender, eventArgs) {
		switch(curPos)
        {               
            case maxPos:
                //sender.findName("RightArrow").opacity = 0.85;  
				break;				
            default:
				sender.findName("MoveLeft0" + curPos).Begin();
                curPos++;
                //sender.findName("LeftArrow").opacity = 1;      
        }
   },
    
    _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() {
        if (this._currentMediainfo<cVideos)
            this._player.set_mediainfo( get_mediainfo( this._currentMediainfo++ ) );    
    }        
}