// JScript Document
jscript_support = true;
var isStop = false;
var $playbtn = null;
var $pausebtn = null;
var $stopbtn = null;
var $soundopenbtn = null;
var $soundclosebtn = null;
var $slider = null;
var stopevent = function(){};
var pauseevent = function(){};
var playevent = function(){};
var dochecklogin = function(){};
var fnplayerbanner = null;
var _playstatus = -1;
function getplaystatus()
{

	if( isUnload == true )
		return;
	if( _playstatus != 3 )
	{
		onStateChange(Player.status);
		if( fnplayerbanner != null && typeof( fnplayerbanner ) == 'function' )
		{
			fnplayerbanner();
		}
	}
	else
	{
		if( fnplayerbanner == null )
		{
			onStateChange("<a href='http://www.ic975.com' target='_blank'>播放中...... IC之音廣播電台 FM97.5 http://www.ic975.com</a>");
		}
		else if( typeof( fnplayerbanner ) == 'function' )
		{
			fnplayerbanner();
		}
	}
	if( _playstatus == 3 || _playstatus != Player.PlayState )
	{
		if( Player.controls.currentPosition > 60 )
		{
			dochecklogin();
		}
		_playstatus = Player.PlayState;
		if( _playstatus == 3 )
		{
			setMedia();
		}
		if( Player.controls.isAvailable('Play') )
		{
			if( $playbtn != null )
			{
				$playbtn.style.display="";
			}
			if( $pausebtn != null )
			{
				$pausebtn.style.display="none";
			}
		}
		else
		{
			if( $playbtn != null )
			{
				$playbtn.style.display="none";
			}
			if( $pausebtn != null )
			{
				if( Player.controls.isAvailable('Pause') )
					$pausebtn.style.display="";
				else
					$pausebtn.style.display="none";
			}
		}
		if( Player.controls.isAvailable('Stop') )
		{
			if( $stopbtn != null )
			{
				$stopbtn.style.display="";
			}
		}
		else
		{
			if( $stopbtn != null )
			{
				$stopbtn.style.display="none";
			}
			if( isStop )
				setPlaying();
			else
				setStop();
		}
	}
}
function setSound(ojb, val, newPos)
{
	Player.settings.volume = val;
	if( val == 0 )
	{
		Player.settings.mute = true;
		checksoundbtn();
	}
	else
	{
		Player.settings.mute = false;
		checksoundbtn();
	}
	getplaystatus
}
function mute()
{
	Player.settings.mute = !Player.settings.mute;
	checksoundbtn();
	return false;
}
function play()
{
	setLoading();
	isStop = false;
	Player.controls.play();
	return false;
}
function _stop()
{
	setPlaying();
	isStop = true;
	Player.controls.stop();
	return false;
}
function pause()
{
	Player.controls.pause();
	return false;
}

function initMediaControls(_playbtn,_pausebtn,_stopbtn,_soundopenbtn,_soundclosebtn,_slider)
{
	var haveplayer = true;
	try
	{
		Player.settings.volume;
	}
	catch(e)
	{
		haveplayer = false;
	}

	$playbtn = _playbtn;
	$pausebtn = _pausebtn;
	$stopbtn = _stopbtn;
	$soundopenbtn = _soundopenbtn;
	$soundclosebtn = _soundclosebtn;
	$slider = _slider;
	if( $slider != null )
	{
		if( haveplayer )
		{
			$slider.maxVal = 100;
			$slider.attachOnChange(setSound);
			$slider.setValue(Player.settings.volume);
		}
		else
		{
			$slider.maxVal = 0;
			$slider.setValue(0);
		}
	}
	if( haveplayer )
	{
		checksoundbtn();
		setInterval(getplaystatus,1000);
	}
	else
	{
	}
}
function checksoundbtn()
{
	if( $soundopenbtn != null && $soundclosebtn != null )
	{
		if( Player.settings.mute )
		{
			$soundopenbtn.style.display="none";
			$soundclosebtn.style.display="";
		}
		else
		{
			$soundopenbtn.style.display="";
			$soundclosebtn.style.display="none";
		}
	}
}

document.write('<script language="JScript" for="Player" event="Buffering(bStart)">\
try{ onBuffering(Player,bStart); }catch(e){}\
</script>\
<SCRIPT LANGUAGE="JScript" FOR="Player" EVENT="PlayStateChange(NewState)">\
try{  onPlayStateChange(Player, NewState); }catch(e){}\
</SCRIPT>\
<SCRIPT LANGUAGE="JScript" FOR="Player" EVENT="StatusChange()">\
try{  onStateChange(Player.status); }catch(e){}\
</SCRIPT>\
<SCRIPT LANGUAGE="JScript" FOR="Player" EVENT="OpenStateChange(NewState)">\
try{  onOpenStateChange(Player, NewState); }catch(e){}\
</SCRIPT>\
<script language="JScript" for="Player" event="DoubleClick(nButton, nShiftState, fX, fY)">\
	setTimeout("nofullscreen()",10);\
</script>\
<SCRIPT LANGUAGE="JScript" FOR="Player" EVENT="Error()">\
try{\
var max = Player.error.errorCount;\
var err = Player.error.item(max-1);\
onMediaError(err.errorDescription);\
}catch(e){}\
</SCRIPT>');
function nofullscreen()
{
	try
	{
		Player.fullScreen = false;
	}
	catch(e)
	{
	}
}
function onBuffering(bStart)
{
	if( isUnload == true )
		return;
	if( bStart )
		setLoading();
	else
		setMedia();
}
function onStateChange(statusstr)
{
	if( isUnload == true )
		return;
	try
	{
		if ( (statusstr=="正在連線...") | (statusstr=="連線至媒體...") )
		{
		statusstr="正在連線...依網路負載情況約 10-50 秒，請耐心等候...";
		}
		document.getElementById("status").innerHTML = "<div style=\"overflow:hidden;height:20px;\">&nbsp;" + statusstr + "</div>";
	}
	catch(e)
	{
	}
}
function onOpenStateChange(Player, NewState)
{
	if( isUnload == true )
		return;
	$debug("Player.openState="+Player.openState);//onOpenStateChange
}
function onPlayStateChange(Player, NewState)
{
	if( isUnload == true )
	return;
/*
status;
0 Undefined Windows Media Player is in an undefined state. 
1 Stopped Playback of the current media item is stopped. 
2 Paused Playback of the current media item is paused. When a media item is paused, resuming playback begins from the same location. 
3 Playing The current media item is playing. 
4 ScanForward The current media item is fast forwarding. 
5 ScanReverse The current media item is fast rewinding. 
6 Buffering The current media item is getting additional data from the server. 
7 Waiting Connection is established, but the server is not sending data. Waiting for session to begin. 
8 MediaEnded Media item has completed playback.  
9 Transitioning Preparing new media item. 
10 Ready Ready to begin playing. 
11 Reconnecting Reconnecting to stream. 
*/
	$debug("Player.PlayState="+NewState);
	if( NewState == 1 )
	{
		stopevent();
		//setPlaying();	
	}
	else if( NewState == 3 )
	{
		setMedia();
		playevent();
	}
	else if( NewState == 10 )
	{
		setMedia();
		/*if( Player.controls.isAvailable('Play') )
		{
			setPlaying();
		}*/
	}
	else if( NewState != 2  )
	{
		setLoading();
	}
	else
	{
		pauseevent();
	}
}
function onMediaError(_errorStr)
{
	if( isUnload == true )
		return;
	var errorSplit = unescape('%u3002');
	alert(_errorStr.replace(new RegExp(errorSplit,'g'),errorSplit+"\n"));
		if (document.getElementById("RadioType").value=="hiChannel") {
			document.getElementById("ADSense").style.height = "260px";
			document.getElementById("NetRadioADSenseIFrame").setAttribute("src","hiChannel_DRM.php");
			CheckDRMStart();
		};

	setStop();
	stopevent();
}

function CheckDRMStart() {
   intval=window.setInterval("CheckDRMInstall()",1000);
};

function CheckDRMStop() {
      window.clearInterval(intval);
	  Install_Complete=confirm("若沒有安裝微軟 Media Player 的 DRM 元件\r\n或 DRM 元件有問題, 則無法播放\r\n\r\n(DRM 元件指媒體數位授權元件)\r\n\r\n請先點選「聆聽2」，並依照畫面指示安裝\r\n安裝完畢後若視窗呈現全白的畫面\r\n此時請按 [確定] 按鈕繼續收聽播放\r\n否則請按 [取消] 進行安裝或修正\r\n\r\n若按下確定後仍無法收聽, 可能是廣播伺服器出現問題\r\n敬請留言與我們連絡");
	  if (Install_Complete==true) {
			document.getElementById("ADSense").style.height = "100px";
			document.getElementById("NetRadioADSenseIFrame").setAttribute("src","ADIframe.php?ADType=hiChannel");
			play();
	  };
};

function CheckDRMInstall() {
	if (document.getElementById("NetRadioADSenseIFrame").readyState=="complete") {
		CheckDRMStop();
	};
};