//===========================================================//
// SLAMFM Media Player                                       // 
// Developed by Dave Smits (Email: dave@familie-smits.com)   //
//===========================================================//

if (!window.SlamFM_SlamTV)
	SlamFM_SlamTV = {};

SlamFM_SlamTV.Home = function() 
{
}

SlamFM_SlamTV.Home.prototype =
{
	handleLoad: function(control, userContext, rootElement) 
	{
		this.control = control;
		this.rootElement = rootElement;
		this.counter = 0;
		//Event HookUp
		rootElement.findName("btnPlay").addEventListener("MouseLeftButtonDown", Silverlight.createDelegate(this, this.handleMouseDown));
		rootElement.findName("btnPlay").addEventListener("MouseEnter", Silverlight.createDelegate(this, this.handleMouseEnter));
		rootElement.findName("btnPlay").addEventListener("MouseLeave", Silverlight.createDelegate(this, this.handleMouseOut));
		
		//Media Events
		rootElement.findName("player").addEventListener("MediaEnded", Silverlight.createDelegate(this, this.handleMediaEnded));
		rootElement.findName("player").addEventListener("MediaFailed", Silverlight.createDelegate(this, this.handleMediaEnded));
		rootElement.findName("player").addEventListener("CurrentStateChanged", Silverlight.createDelegate(this, this.handleCurrentStateChanged));
		rootElement.findName("player").AddEventListener("BufferingProgressChanged",  Silverlight.createDelegate(this, this.handleBufferingProgressChanged));
	},
	
	// Buttonclick event handler
	handleMouseDown: function(sender, eventArgs) 
	{
		//PLACE HERE CODE FOR PLAY BUTTON HANDLE
		NewWindow=window.open('http://www.slamfm.nl/slamplayer/tv.php','newWin','width=640,height=390,left=0,top=0,toolbar=No,location=No,scrollbars=No,status=No,resizable=No,fullscreen=No');  
		NewWindow.focus();
	},
	
	// Button Enter event handler
	handleMouseEnter: function(sender, eventArgs) 
	{
		elm = this.control.content.findName("btnPlay");
		elm.Source = "http://www.slamfm.nl/slamplayer/tvhome/play_over.png";
		elm.Cursor = "Hand";
		
	},
	
	// Button Leave event handler
	handleMouseOut: function(sender, eventArgs) 
	{
		elm = this.control.content.findName("btnPlay");
		elm.Source = "http://www.slamfm.nl/slamplayer/tvhome/play.png";
		elm.Cursor = "Arrow";
	},
	
	// MediaEnded en restart player
	handleMediaEnded: function(sender, eventArgs) 
	{
		// Restart media player
		this.control.content.findName("player").Source = 'http://true.nl/streams/dynamic/slamtv.asx';
		this.control.content.findName("player").play();
	},
	
	handleCurrentStateChanged: function(sender, eventArgs) 
	{
		//Get player and ready to do something
		player = this.control.content.findName("player")
	},
	
	// Handle buffer change
	handleBufferingProgressChanged: function(sender, eventArgs) 
	{
		var process = this.control.content.findName("player").bufferingProgress;
		elm =  this.control.content.findName("bufferTxt");
		elm.Visibility = "Collapsed";
		if (process < 1)
		{
			elm.Visibility = "Visible";
			
			bufferTxt =  ""+ ((process * 1000) / 10);
			if (bufferTxt.length > 2) bufferTxt = bufferTxt.substring(0, 2);
			if (bufferTxt.indexOf('.') > 0) bufferTxt = bufferTxt.substring(0, bufferTxt.indexOf('.') - 1);
			elm.Text = "LOADING: "+bufferTxt + '%';
		}
	}
}
