function PlayBar()
{
	    mss.AddAnimationMouseEventListeners("PlayButton",Event.createDelegate(this, this.handlePlayMouseUp));
	    mss.AddAnimationMouseEventListeners("StopButton",Event.createDelegate(this, this.handleStopMouseUp));
	    mss.AddAnimationMouseEventListeners("SkipBackButton",Event.createDelegate(this, this.handleSkipBackMouseUp));
	    mss.AddAnimationMouseEventListeners("PreviousSlideButton",Event.createDelegate(this, this.handlePreviousSlideMouseUp));
	    mss.AddAnimationMouseEventListeners("NextSlideButton",Event.createDelegate(this, this.handleNextSlideMouseUp));
	    mss.AddAnimationMouseEventListeners("FullScreenButton",Event.createDelegate(this, this.handleFullScreenMouseUp));
        mss.AddAnimationMouseEventListeners("MuteButton",Event.createDelegate(this, this.handleMuteMouseUp));
        mss.AddAnimationMouseEventListeners(ClosedCaptionPanel.Names.CaptionButton,Event.createDelegate(this, this.handleCaptionMouseUp));
}


PlayBar.prototype=
{


    handlePlayMouseUp:function(sender, eventArgs) 
	{
		mss.AnimateMouseUp(sender);

		if (window.mplayer.GetState()==MediaPlayer.States.Playing)
		{
		    window.mplayer.Pause();
		}
		else
		{
		    window.mplayer.Play();
		}
			
	},
	
    handleStopMouseUp:function(sender, eventArgs) 
    {
	    mss.AnimateMouseUp(sender);
    	
	    window.mplayer.Stop();
    },
    
    handleSkipBackMouseUp:function(sender, eventArgs) 
    {
	    mss.AnimateMouseUp(sender);
    	
    	var seekToTime = window.mplayer.GetPosition();
    	
    	seekToTime -= 3000;
    	
    	if (seekToTime<0)
    	{
    	    seekToTime=0;
    	}
    	
	    window.mplayer.SeekTime(seekToTime);
    },
	
    handlePreviousSlideMouseUp:function(sender, eventArgs) 
    {
	    mss.AnimateMouseUp(sender);
    	
	    var currentSlide = window.mplayer.CurrentSlide;
    	
        currentSlide-=2;
        
        if (currentSlide<0)
        {
            currentSlide=0;
        }

        if (currentSlide<Manifest.Slides.length)
        {
            window.mplayer.SeekTime(Manifest.Slides[currentSlide].Time);
        }
    },
	
    handleNextSlideMouseUp:function(sender, eventArgs) 
    {
	    mss.AnimateMouseUp(sender);
    	
	    var currentSlide = window.mplayer.CurrentSlide;
    	
//	    currentSlide++;
        
        if (currentSlide<Manifest.Slides.length)
        {
            window.mplayer.SeekTime(Manifest.Slides[currentSlide].Time);
        }
    },

    handleFullScreenMouseUp:function(sender, eventArgs) 
    {
	    mss.AnimateMouseUp(sender);
	    window.mplayer.fullScreenBar.handleFullScreenMouseUp(sender,eventArgs);
    },

    handleMuteMouseUp:function(sender, eventArgs) 
    {
        window.mplayer.SetMute(!window.mplayer.IsMuted());
	    mss.AnimateMouseUp(sender);
    },
	
    handleCaptionMouseUp:function(sender, eventArgs) 
    {
	    mss.AnimateMouseUp(sender);
        Transcript.IsShowing = !Transcript.IsShowing;
        
        if (Transcript.IsShowing)
        {
            mss.SetVisible(ClosedCaptionPanel.Names.Main,true);
            mss.Animate(MediasitePlayer.AnimationEvent.ClosedCaptioningShow);
        }
        else
        {
            mss.Animate(MediasitePlayer.AnimationEvent.ClosedCaptioningHide);
        }
    }
}

handleCaptionHideCompleted=function(sender, eventArgs) 
{
    mss.SetVisible(ClosedCaptionPanel.Names.Main,false);
}
    
///////////////////////////////////////////////////////////////////
// this code allows a pop up type transport bar.. 
function PopupPanel()
{
    var panel = mss.FindName(PopupPanel.Names.HitArea);
    
    if (panel!=null)
    {
        panel.addEventListener("MouseEnter", Event.createDelegate(this, this.handlePopupPanelMouseEnter));
	    panel.addEventListener("MouseLeave", Event.createDelegate(this, this.handlePopupPanelMouseLeave));
    }
}

PopupPanel.Names={};
PopupPanel.Names.HitArea="PopupPanel_HitArea";
PopupPanel.Names.Show="PopupPanel_Show";
PopupPanel.Names.Hide="PopupPanel_Hide";

PopupPanel.prototype=
{
    handlePopupPanelMouseEnter:function(sender, eventArgs) 
    {
	    mss.Animate(PopupPanel.Names.Show);
    },
    handlePopupPanelMouseLeave:function(sender, eventArgs) 
    {
	    mss.Animate(PopupPanel.Names.Hide);
    }
}


