var HM_Player_Cookie_playerType = "healthyMediaPlayer";
var HM_Player_Cookie_bandwidth = "healthyMediaBandwidth";
var HM_Player_SessCookie_init_movie = "healthyMediaInitialMovie";
var HM_Player_userOS;
var HM_Player_userBrowser;
var HM_Player_flVersion = FlashDetect.major;
var HM_Player_playerType = 'flv';
var HM_Player_bandwidth = '_256k';
var HM_Player_previousVideo;
var HM_Player_flvPlayState;
var HM_Player_currVolume = 90;
var HM_Player_currTime;
//var HM_Player_flv_Directory="http://test.qia.oxi.net";
//var HM_Player_wmv_Directory="mms://a711.v414670.c41467.g.vm.akamaistream.net/7/711/41467/1/www.test.qia.oxi.net/media/attachments/";
var HM_Player_wmv_Directory="mms://a1819.v414673.c41467.g.vm.akamaistream.net/7/1819/41467/v0004/www.excellencegateway.org.uk/media/attachments/";
//var HM_Player_flv_Directory; // Generated dynamically
var HM_Player_init_with_movie="";
var wmv56k="";
var wmv256k="";
var wmv512k="";
var flv56k="";
var flv256k="";
var flv512k="";


function FF_OR_IE(){
		if (navigator.appName=='Microsoft Internet Explorer')
				{
				
				}
				else
				{
				document.getElementById("player-bottom-id").className = "player-bottom-ff";
				}


}

function HM_FS_help()
{
	alert("Right-click in the player window, choose 'Zoom' from the menu, then click on 'Fullscreen'");
}

function HM_Player_CookieTest()
{
	if (testPersistentCookie())
	{
    	if (getCookieValue (HM_Player_Cookie_playerType))
    	{
			HM_Player_playerType=getCookieValue(HM_Player_Cookie_playerType);
			HM_Player_bandwidth=getCookieValue(HM_Player_Cookie_bandwidth);
			if (HM_Player_playerType=='wmv')
			{
				if (navigator.appName=='Microsoft Internet Explorer')
				{
					document.getElementById('fullscreen').innerHTML="<a href='#' onclick='javascript:TVClick();'>Fullscreen</a>";
				}
				else
				{
					document.getElementById('fullscreen').innerHTML="<a href='javascript:HM_FS_help();'>Fullscreen</a>";
				}
			}
			else
			{
				document.getElementById('fullscreen').innerHTML="&nbsp;";
			}
			if (getCookieValue(HM_Player_SessCookie_init_movie)) {
			HM_Player_init_with_movie=getCookieValue(HM_Player_SessCookie_init_movie);
			}
			HM_Player_initialisePlayer();  ////load player
  		}
  		else
  		{
			HM_Player_chooseSettings();
    	}
    }
	else
	{
		if (testSessionCookie())
		{
	    	if (getCookieValue (HM_Player_Cookie_playerType))
	    	{
	    		HM_Player_playerType=getCookieValue(HM_Player_Cookie_playerType);
				HM_Player_bandwidth=getCookieValue(HM_Player_Cookie_bandwidth);
				if (HM_Player_playerType=='wmv')
				{
					if (navigator.appName=='Microsoft Internet Explorer')
					{
						document.getElementById('fullscreen').innerHTML="<a href='#' onclick='javascript:TVClick();'>Fullscreen</a>";
					}
					else
					{
					document.getElementById('fullscreen').innerHTML="<a href='javascript:HM_FS_help();'>Fullscreen</a>";
					}
				}
				else
				{
					document.getElementById('fullscreen').innerHTML="&nbsp;";
				}

				if (getCookieValue(HM_Player_SessCookie_init_movie)) {
				HM_Player_init_with_movie=getCookieValue(HM_Player_SessCookie_init_movie);
				}
	    		HM_Player_initialisePlayer(); ////load player
	  		}
	  		else
	  		{
				HM_Player_chooseSettings();
	    	}
		}
		else
		{
			alert("You need to enable cookies");
   		}
	}
};

function HM_Player_chooseSettings()
{
	try {
	HM_Player_Stop();
	}
	catch(err)
	{}
	HM_Player_userOS = BrowserDetect.OS;
	HM_Player_userBrowser = BrowserDetect.browser;
	document.getElementById('HM-Player-Settings').innerHTML="<p><strong>Operating System:</strong> " + HM_Player_userOS+"</p> <p><strong>Web browser:</strong> "+HM_Player_userBrowser+" <p/><p><strong>Flash version:</strong> "+HM_Player_flVersion+"<p/><span><p style='padding-left:0'>Choose Player:</p><div id='HMChoosePlayerWMV'><label><input name='choosePlayer' type='radio' value='wmv' "+((HM_Player_playerType=='wmv')?'checked':'')+"/>Windows Media Player<label/></div><div id='HMChoosePlayerFLV'><label><input name='choosePlayer' type='radio' value='flv' "+((HM_Player_playerType=='flv')?'checked':'')+"/>Flash Player<label/></div><hr/><p style='padding-left:0'>Choose Speed:</p><div id='HMChooseBand56k'><label><input name='chooseBandwidth' type='radio' value='_56k' "+((HM_Player_bandwidth=='_56k')?'checked':'')+"/>Modem (56k)<label/></div><div id='HMChooseBand256k'><label><input name='chooseBandwidth' type='radio' value='_256k' "+((HM_Player_bandwidth=='_256k')?'checked':'')+"/>Broadband (256k)<label/></div><div id='HMChooseBand512k'><label><input name='chooseBandwidth' type='radio' value='_512k' "+((HM_Player_bandwidth=='_512k')?'checked':'')+"/>HD (512k+)<label/></div><input class='btn-save' name='Button1' type='image' value='Choose Player' src='images/btn-save-settings.gif' onclick='return HM_Player_set_player_type()'/></span>";
	document.getElementById('HM-Player-Settings').style.display="block";
	document.getElementById('HM-Player').style.visibility="hidden";
};

function HM_Player_set_player_type()
{
    if (document.getElementById('HMChoosePlayerWMV').firstChild.firstChild.checked)
    {
        HM_Player_playerType = 'wmv';
    }
    if (document.getElementById('HMChoosePlayerFLV').firstChild.firstChild.checked)
    {
        HM_Player_playerType = 'flv';
    }
    if (document.getElementById('HMChooseBand56k').firstChild.firstChild.checked)
    {
        HM_Player_bandwidth = '_56k';
    }
    if (document.getElementById('HMChooseBand256k').firstChild.firstChild.checked)
    {
        HM_Player_bandwidth = '_256k';
    }
    if (document.getElementById('HMChooseBand512k').firstChild.firstChild.checked)
    {
        HM_Player_bandwidth = '_512k';
    }

	if (testPersistentCookie())
	{	    
		writePersistentCookie(HM_Player_Cookie_playerType,HM_Player_playerType,'months','12');
		writePersistentCookie(HM_Player_Cookie_bandwidth,HM_Player_bandwidth,'months','12');
		window.location = onChooseSettingsURL;
	}
	else if (testSessionCookie())
	{
		writeSessionCookie(HM_Player_Cookie_playerType,HM_Player_playerType);
		writeSessionCookie(HM_Player_Cookie_bandwidth,HM_Player_bandwidth);
        window.location = onChooseSettingsURL;
	}
	else 
	{
		alert("You need to enable cookies");
	}
	return false;
};
/////////////////init player
function HM_Player_initialisePlayer()
{
    
//	HM_Player_LoadVideo(HM_Player_init_with_movie,461,288,1,0);
};


function HM_Player_LoadVideo(fileName, iWidth, iHeight, iAutoStart, iShowControls)
{
    var fullFileName;
	switch(HM_Player_playerType)
	{
		case "wmv":
		  fullFileName = HM_Player_wmv_Directory + fileName;
		  HM_Player_previousVideo = fullFileName;	
		  HM_Player_loadWMVFile(fullFileName,iWidth,iHeight, iAutoStart, iShowControls,0,(HM_Player_bandwidth=='_56k')?0:0);
		  if(isNaN(HM_Player_getVolume()))
  			{
  			}
  		  else
  		  {
			document.getElementById('HM-Player-Volume-Level').innerHTML=HM_Player_getVolume()+"%";
  		  }
		  break;    
		case "flv":
		  HM_Player_loadFLVFile(fileName,iWidth,iHeight,(iAutoStart==0)?'false':'true', (iShowControls==0)?'false':'true','images/p-logo.jpg',9);
		  break;
	}
	writeSessionCookie(HM_Player_SessCookie_init_movie,fullFileName);
};


/////////////////load player

function HM_Player_loadWMVFile(szFileName, iWidth, iHeight, bAutoStart, bShowControls, bShowStatusBar, bStretchToFit)
{
	document.getElementById('HM-Player').innerHTML = HM_Player_BuildPlayerString( szFileName, iWidth, iHeight, bAutoStart, bShowControls, bShowStatusBar, bStretchToFit);;
};
function HM_Player_BuildPlayerString( szFileName, iWidth, iHeight, bAutoStart, bShowControls, bShowStatusBar, bStretchToFit )
{
	var PlayerString;	
	PlayerString="<object id='Player' classid='CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95' width='" + iWidth.toString() + "' height='" + iHeight.toString() + "'>";
	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'autoStart', bAutoStart );
	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'FileName', szFileName );
	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'ShowControls', bShowControls);
//	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'ShowPositionControls', 0);
//	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'ShowAudioControls', 0);
//	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'ShowTracker', 1);

	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'ShowStatusBar', bShowStatusBar);
	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'DisplaySize', bStretchToFit );
	PlayerString = HM_Player_AddPlayerParam( PlayerString, 'TransparentAtStart', 1 );    //stopping video in IE freezes the video frame. Setting background as #000000 and making WMP transparent solves this issue.
	PlayerString = PlayerString + '<embed ';
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'type','video/x-ms-wmv');
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'pluginspage','http://www.microsoft.com/Windows/MediaPlayer/');
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'id','Player');
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'src',szFileName);
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'autoStart',bAutoStart);
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'height',iHeight);
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'width',iWidth);
	PlayerString = HM_Player_AddEmbedParam(PlayerString,'ShowControls',bShowControls);
//	PlayerString = HM_Player_AddEmbedParam(PlayerString,'ShowPositionControls',0);
//	PlayerString = HM_Player_AddEmbedParam(PlayerString,'ShowAudioControls',0);
//	PlayerString = HM_Player_AddEmbedParam(PlayerString,'ShowTracker',1);
	PlayerString = PlayerString + '></embed></object>';
	return PlayerString;
};
function HM_Player_AddEmbedParam( szSource, szParamName, szParamValue )
{
	var result;
	result = szSource + szParamName + "='" + escapeHTML(szParamValue).replace("'","&#39;") +"' ";
	return result;
};
function HM_Player_AddPlayerParam( szSource, szParamName, szParamValue )
{
	var result;
	result = szSource + "<param name='" + szParamName + "' value='" + escapeHTML(szParamValue).replace("'","&#39;") +"'> ";
	return result;
};

function escapeHTML(str)
{
   var div = document.createElement('div');
   var text = document.createTextNode(str);
   div.appendChild(text);
   return div.innerHTML;
}; 



function HM_Player_loadFLVFile(flvname,fpWidth,fpHeight,autoStart,showNav,staticImage,minFlashVersion){
	var so = new SWFObject('HMmediaplayer.swf','mpl',fpWidth,fpHeight,minFlashVersion);
	so.addParam('allowscriptaccess','always');
	so.addParam('allowfullscreen','true');
	so.addVariable('width',fpWidth);
	so.addVariable('height',fpHeight);
	so.addVariable('file',HM_Player_flv_Directory);
	so.addVariable('id',flvname);
	so.addVariable('image',staticImage);
	so.addVariable('displayheight',fpHeight);
	so.addVariable('javascriptid','mpl');
	so.addVariable('enablejs','true');
	so.addVariable('overstretch','false');
	so.addVariable('showicons','false');
	so.addVariable('shownavigation','true');
	so.addVariable('showstop','false');
	so.addVariable('showdigits','false');
	so.addVariable('showdownload','false');
	so.addVariable('showicons','false');	
	so.addVariable('autostart',autoStart);
	var writtenflash = so.write('HM-Player');
	if (!writtenflash)
		{
			document.getElementById('HM-Player').innerHTML = "<p>You have Flash player <b>"+ HM_Player_flVersion +
			"</b> -	<a href='http://www.adobe.com/flashplayer'>UPGRADE NOW</a>";
		}
};

function thisMovie(swf)
{
  if(navigator.appName.indexOf("Microsoft") != -1) 
  {
    return document.getElementById(swf);
  } 
  else 
  {
    return document[swf];
    
  }
};
function loadFile(swf,obj)
{ 
  thisMovie(swf).loadFile(obj); 
};

/////////////////Play movie
function sendEvent(swf,typ,prm) 
{ 
  thisMovie(swf).sendEvent(typ,prm); 
};

function getUpdate(typ,pr1,pr2,swf) 
{
	if(typ == 'volume') 
	{ 
		HM_Player_currVolume=pr1;
		document.getElementById("HM-Player-Volume-Level").innerHTML=(HM_Player_currVolume-1)+"%";
	}
	if(typ == 'time')
	{
		//document.getElementById("timeRemain").innerHTML="Time Remaining: "+pr2+" seconds";
		HM_Player_currTime=pr1;
	}
	if(typ == 'state')
	{
		HM_Player_flvPlayState=pr1;
	}
};


function HM_Player_Play()
{
	switch(HM_Player_playerType)
	{
		case "wmv":
			if (navigator.appName=='Microsoft Internet Explorer')
			{
				document.Player.Play();
			}
			else
			{
		  		HM_Player_loadWMVFile(HM_Player_previousVideo,461,288,1,0,0,0);
			}
		  break;    
		
		case "flv":
			if (HM_Player_flvPlayState==0)
			{
		  		sendEvent('mpl','playpause');
		  	}
		  	break;
	}
};


/////////////////Pause movie
function HM_Player_Pause()
{
	switch(HM_Player_playerType)
	{
		case "wmv":
			if (navigator.appName=='Microsoft Internet Explorer')
			{
				if (document.Player.playstate == 1)
				{
					document.Player.Play();
				}
				else
				{
					document.Player.Pause();
				}
			}
			else
			{
				alert('Pause button will only work in Internet Explorer');
			}
		  break;    
		
		case "flv":
			if (HM_Player_flvPlayState>0)
			{
		  		sendEvent('mpl','playpause');
			}
		  	break;
	}
};


	function TVClick()
	{
   		document.Player.DisplaySize=3;
	}


/////////////////Stop Movie
function HM_Player_Stop()
{
	switch(HM_Player_playerType)
	{
		case "wmv":
			if (navigator.appName=='Microsoft Internet Explorer')
			{
				document.Player.stop();
			}
			else
			{
	//	  		HM_Player_loadWMVFile('fakestop.wmv',461,288,0,0,0,0);
		  		document.getElementById('HM-Player').innerHTML = '';
			}
		  break;    
		
		case "flv":
		  sendEvent('mpl','stop');
		  break;
	}
};



/////////////////Set & get volume
function HM_Player_setVolume(percent)
{
	switch(HM_Player_playerType)
	{
		case "wmv":
			if (navigator.appName=='Microsoft Internet Explorer')
			{
				if(percent<0)
				{
					document.Player.Volume= -4100;
				}
				else if (percent>100)
				{
					document.Player.Volume= 0;
				}
				else document.Player.Volume=Math.round(((percent-100)/100)*4100);
			}
			else
			{
				alert('Volume buttons will only work in Internet Explorer');
			}
		break;    
		
		case "flv":
			if (percent<1)
			{	
				sendEvent('mpl','volume',1);
			}
			else if (percent>100)
			{
				sendEvent('mpl','volume',100);
			}
			else
			{
				sendEvent('mpl','volume',percent);
			}				
		break;
	}

};


function HM_Player_getVolume()
{
	var result;
	switch(HM_Player_playerType)
	{
		case "wmv":
			if (navigator.appName=='Microsoft Internet Explorer')
				{
					result=Math.round(100-((document.Player.Volume/4100)*(-100)));
			  	}
		break;    
		
		case "flv":
			result=HM_Player_currVolume;
		break;
	}
	return result;
};



function HM_Player_stepVolume(step)
{	
	HM_Player_setVolume(HM_Player_getVolume()+step);
	if(isNaN(HM_Player_getVolume()))
	  {
	  }
	  else
	  {
		document.getElementById('HM-Player-Volume-Level').innerHTML=HM_Player_getVolume()+"%";
	  }
};


/////////////FFWD/RWD
function HM_Player_fwd()
{
	switch(HM_Player_playerType)
	{
		case "wmv":
			document.Player.currentPosition = document.Player.currentPosition + 15;
		break;    
		
		case "flv":
			sendEvent('mpl','scrub', ((HM_Player_currTime+15)+''));		
		break;
	}
};

function HM_Player_rwd()
{
	switch(HM_Player_playerType)
	{
		case "wmv":
			document.Player.currentPosition = document.Player.currentPosition - 15;
		break;    
		
		case "flv":
			sendEvent('mpl','scrub',((HM_Player_currTime-15)+''));		
		break;
	}
};

function HM_Player_FileToPlay()
{
    switch(HM_Player_playerType)
    {
        case "wmv":
        {
            switch (HM_Player_bandwidth)
            {
                case "_56k":
                {
                    if (wmv56k != "")
                        return wmv56k;
                    else
                    {
                        reselectSettings();
                   
                        return "";
                    }
                }
                break;
                case "_256k":
                {
                    if (wmv256k != "")
                        return wmv256k;
                    else if (wmv56k != "")
                        return wmv56k;
                    else
                    {
                        reselectSettings();
                        return "";
                    }
                }
                break;
                case "_512k":
                {
                    if (wmv512k != "")
                        return wmv512k;
                    else if (wmv256k != "")
                        return wmv256k;
                    else if (wmv56k != "")
                        return wmv56k;
                    else
                    {
                        reselectSettings();
                        return "";
                    }
                }
                break;
            }
        }
        break;
        case "flv":
        {
            switch (HM_Player_bandwidth)
            {
               case "_56k":
                {
                    if (flv56k != "")
                        return flv56k;
                    else
                    {
                        reselectSettings();
                        return "";
                    }
                }
                break;
                case "_256k":
                {
                    if (flv256k != "")
                        return flv256k;
                    else if (flv56k != "")
                        return flv56k;
                    else
                    {
                        reselectSettings();
                        return "";
                    }
                }
                break;
                case "_512k":
                {
                    if (flv512k != "")
                        return flv512k;
                    else if (flv256k != "")
                        return flv256k;
                    else if (flv56k != "")
                        return flv56k;
                    else
                    {
                        reselectSettings();
                        return "";
                    }
                }
                break;
            }
        }
        break;
    } 
};

function reselectSettings()
{
    if(confirm("The video can't play in your selected player and bandwidth. In order to play it you will need to change your settings. Would you like to open the settings box now?"))
    {
        HM_Player_chooseSettings();
    }
}

function PlayFile()
{
    HM_Player_init_with_movie = HM_Player_FileToPlay();
    if (HM_Player_init_with_movie != "")
         HM_Player_LoadVideo(HM_Player_init_with_movie,461,288,1,0);
};
