	var blnHidePlayer = false;
	var arrClass	= new Array();
	var arrID		= ['WMP', 'RA', 'SWF', 'QT'];

	var strPlugin	= '';
	var strPluginList = '';
	var i;

	var strUA		= navigator.userAgent.toLowerCase();
	var blnIE		= (strUA.indexOf('msie') != -1);
	var blnFF		= (strUA.indexOf('firefox') != -1);
	var blnNS		= (strUA.indexOf('netscape') != -1);
	var blnChrome	= (strUA.indexOf('chrome') != -1);
	var blnOpera	= (strUA.indexOf('opera') != -1);

	var blnWin	= ((strUA.indexOf('win')!= -1) || (strUA.indexOf('32bit') != -1));

	if (blnIE) {
		var blnIEResult = false;
		arrClass = ['MediaPlayer.MediaPlayer.1', 'rmocx.RealPlayer G2 Control.1', 'ShockwaveFlash.ShockwaveFlash.1', 'QuickTimeCheckObject.QuickTimeCheck.1'];
	}
	else {
		var strNSP = '';
		arrClass = ['application/x-mplayer2','audio/x-pn-realaudio-plugin', 'application/x-shockwave-flash', 'video/quicktime'];

		for (i = 0; i < navigator.mimeTypes.length; i++)
			strNSP += navigator.mimeTypes[i].type.toLowerCase() + ',';
	}

	for (i = 0; i < arrID.length; i++) {
		strPlugin = '';
		
		if (blnIE && blnWin)
			IEPlugin(arrClass[i], arrID[i])
		else
			NSPlugin(arrClass[i], arrID[i]);

		strPluginList += strPlugin;
	}
	
	if (strPluginList.length > 0)
		strPluginList = strPluginList.substring(0, strPluginList.length - 1);

	var blnShowWMP	= HasWMP();
	var blnShowRA	= !blnShowWMP && HasRA();
	var blnShowSWF	= !(blnShowRA || blnShowWMP) && HasSWF();
	var blnShowQT	= !(blnShowRA || blnShowWMP || blnShowSWF) && HasQT();

	function IEPlugin(strClassID, strName) {
		blnIEResult = false;

		document.write('<scr' + 'ipt language=vbscript>\n' + 
						'On Error Resume Next\n' +
						'blnIEResult = IsObject(CreateObject("' + strClassID + '"))\n' +
						'</scr' + 'ipt>\n');

		if (blnIEResult)
			strPlugin = strName + ','
			
		return true;
	}

	function NSPlugin(strClassID, strName) {
		if ((strNSP.indexOf(strClassID) != -1) && (navigator.mimeTypes[strClassID].enabledPlugin != null))
			strPlugin = strName + ',';
			
		return true;
	}
	
	function HasWMP() {
		return (strPluginList.indexOf('WMP') != -1);
	}
	
	function HasRA() {
		return (strPluginList.indexOf('RA') != -1);
	}

	function HasSWF() {
		return (strPluginList.indexOf('SWF') != -1);
	}

	function HasQT() {
		return (strPluginList.indexOf('QT') != -1);
	}

function wmpCreate(url) { 
	if (blnShowWMP) {
		var wmpdiv = document.getElementById("playerDIV");
		var strHTML = ""; 
		var height = 45;

		var autostart;
		
		if (url)
			autostart = 1
		else
			autostart = 0;

   		if (blnWin)
   			strHTML += '<div style="padding:0px;width:300px;height:45px;border:1px solid #e0e0e0;">';
   			
   		strHTML += '<object width="300" height="' + height + '" id="wmplayer" ';

		if (blnIE && blnWin) 
		     strHTML += ' classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">'
		else {
		     strHTML += ' type="application/x-mplayer2"';

		     if (url) {
		         strHTML += ' data="' + url + '" src="' + url + '" url="' + url + '" autostart="' + autostart + '"';
		     }
		     strHTML += '>';
		}

		if (url) {
			strHTML += '<param name="URL" value="' + url + '" />'; 
			strHTML += '<param name="FileName" value="' + url + '">';
			strHTML += '<param name="autoStart" value="' + autostart + '">'; 
		}
		strHTML += '</object>';

   		if (blnWin)
			strHTML += '</div>'; 

   		wmpdiv.innerHTML = strHTML;
	}

   	return document.getElementById("wmplayer")
}

function raCreate(url) {
   	if (blnShowRA) {
		var radiv = document.getElementById("playerDIV");
		var strHTML = ""; 
		var height = 32;
		var autostart;
		
		if (url)
			autostart = 'true'
		else
			autostart = 'false';

		if (blnOpera) {
			strHTML = '<EMBED name="raplayer" type="audio/x-pn-realaudio-plugin" width="300" height="' + height + '" nojava="true" src="' + url + '" autostart="' + autostart + '" controls="controlpanel" console="_master"/>';
		}
		else {
			strHTML = '<object width="300" height="' + height + '" id="raplayer"';

			if (blnIE && blnWin) 
			     strHTML += ' classid="CLSID:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA">'
			else {
				strHTML += ' type="audio/x-pn-realaudio-plugin" src="' + url + '" nojava="true" console="_master" autostart="' + autostart + '"';

				if (blnWin)
					strHTML += ' controls="controlpanel"'; 

				strHTML += '>';
			}
		
			if (blnWin)
				strHTML += '<param name="controls" value="controlpanel">';

			strHTML += '<param name="console" value="_master">';
			strHTML += '<param name="nojava" value="true">';
			strHTML += '<param name="src" value="' + url + '">';
			strHTML += '<param name="autostart" value="' + autostart + '">';
					
			strHTML += '</object>'; 
		}

 		radiv.innerHTML = strHTML;
	}

   	return document.getElementById("raplayer");
}

function qtCreate(url) {
   	if (blnShowQT) {
		var qtdiv = document.getElementById("playerDIV");
		var strHTML = ""; 
		var height = 32;

		strHTML += '<object width="300" height="' + height + '" id="qtplayer" ';

		if (blnIE && blnWin) 
		     strHTML += ' classid="CLSID:clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B">'
		else 
		     strHTML += ' type="audio/mpeg" src="' + url + '" autoplay="true" controller="false">'; 

		strHTML += '<param name="src" value="' + url + '">'
		strHTML += '<param name="autoplay" value="true">'
		strHTML += '<param name="controller" value="false">'
		strHTML += '</object>'; 

   		qtdiv.innerHTML = strHTML;
	}

   	return document.getElementById("qtplayer");
}

function swfCreate(url) {
   	if (blnShowSWF) {
   		var objPlayer = document.getElementById("swfplayer");
   		
   		if (!objPlayer) {
			var swfdiv = document.getElementById("playerDIV");
			var strHTML = ""; 
			var height = 24; 

			strHTML += '<object width="300" height="' + height + '" id="swfplayer" ';
			if (blnIE && blnWin) {
				strHTML += ' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
				strHTML += ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"';
			}
			strHTML += ' type="application/x-shockwave-flash" data="/mp3player.swf">';
			strHTML += '<param name="movie" value="/mp3player.swf" />';
			strHTML += '<param name="wmode" value="transparent" />';
			strHTML += '<param name="bgcolor" value="#ffffff" />';
			strHTML += '<param name="FlashVars" value="showvolume=1&amp;showstop=1&amp;volume=128&amp;bgcolor1=ADC5DF&amp;bgcolor2=00528C&amp;buttoncolor=f0f0f0&amp;buttonovercolor=F9A400&amp;slidercolor1=f0f0f0&amp;sliderovercolor=F9A400" />';

//			if (blnIE && blnWin) {
//				strHTML += '<embed name="swfplayer" src="/mp3player.swf"';
//				strHTML += ' width="300" height="' + height + '"';
//				strHTML += ' pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"';
//				strHTML += ' type="application/x-shockwave-flash></embed>"';
//			}

			strHTML += '</object>'; 

			swfdiv.innerHTML = strHTML;

			objPlayer = document.getElementById("swfplayer");
		}
		
		if ((objPlayer) && (url)) {
			objPlayer.SetVariable('player:jsUrl', url);
		}
	}

   	return document.getElementById("swfplayer");
}

function SetCurrentSong(sTitle) {
	document.getElementById("divCurrentSong").innerHTML = '<font color="#003366"><b>Now Playing: </b>' + sTitle + '</font>';
}

function PlayWMP(slink, sTitle)
{
	if (blnShowWMP) {
		if (slink) {
			SetCurrentSong(sTitle);

			var wmp = null;
			
			if (blnIE && blnWin) {
				wmp = document.getElementById("wmplayer");

				if (wmp)
					wmp.url = slink
			}
					
			if (!wmp)
				wmp = wmpCreate(slink)
			
			if (blnIE && blnWin)
				wmp.controls.play();
		}
	}
	else
		alert('The requested feature requires the Windows Media Player plugin');
}

function PlayRA(slink, sTitle)
{
	if (blnShowRA) {
		if (slink) {
			SetCurrentSong(sTitle);

			var ra = document.raplayer;
			
			if (ra && (!(blnOpera || blnChrome)) && (!(blnFF && !blnWin))) {
				ra.DoStop();
				ra.SetSource(slink);
				ra.DoPlay();
			}
			else
				ra = raCreate(slink);
		}
	}
	else
		alert('The requested feature requires the Real Player plugin');
}

function PlayQT(slink, sTitle)
{
	if (blnShowQT) {
		if (slink) {
			SetCurrentSong(sTitle);

			var qt = qtCreate(slink);
		}
	}
	else
		alert('The requested feature requires the Quicktime plugin');
}

function PlaySWF(slink, sTitle)
{
	if (blnHidePlayer) {
		ShowTable('tblSampleHead');
	}

	if (blnShowSWF) {
		if (slink) {
			SetCurrentSong(sTitle);

			var swf = swfCreate(slink);
		}
	}
	else
		alert('The requested feature requires the Adobe Flash plugin');
}

function ShowElement(objElement) {
	if (objElement) {
		objElement.style.visibility = 'visible';
		objElement.style.display = 'inline';
	}
}

function HideElement(objElement) {
	if (objElement) {
		objElement.style.visibility = 'hidden';
		objElement.style.display = 'none';
	}
}

function FixLink(objElement) {
	
	if (objElement.onclick) {
		var strOnClick = objElement.onclick.toString();
		var intPos = strOnClick.indexOf('http://');
		var strURL = strOnClick.substring(intPos, strOnClick.indexOf(',', intPos) - 1);

		objElement.href = strURL;
		objElement.onclick = null;
		objElement.target = '_blank';
	}

	ShowElement(objElement);
}

function ShowTable(strTableName) {
	var objTable = document.getElementById(strTableName);
	if (objTable) {
		objTable.style.visibility = 'visible';
		objTable.style.display = 'block';
	}
}

function ShowSamples() {
	var blnFixLinks = !(blnShowWMP || blnShowRA || blnShowSWF);
	var tbl;

	if (!blnFixLinks) {
		if (!blnHidePlayer) {
			ShowTable('tblSampleHead');
		}
		ShowTable('tblSampleFoot');
	}

	var className;
	var anchor;
	var anchors = document.getElementsByTagName('a');;

	if (blnFixLinks) {
		for (var i = 0; i < anchors.length; i++) {
			anchor = anchors[i];
			className = anchor.className;
			if (className.indexOf('ss') == 0) {
				HideElement(anchor);
			}
			else if (className.indexOf('ns') == 0) {
				ShowElement(anchor);
			}
		}
	}
	else {
		for (var i = 0; i < anchors.length; i++) {
			anchor = anchors[i];
			className = anchor.className;
			if (className.indexOf('ss') == 0) {
				if ((className.indexOf('WMP') != -1) && blnShowWMP)
					ShowElement(anchor);
				else if ((className.indexOf('RA') != -1) && blnShowRA)
					ShowElement(anchor);
				else if ((className.indexOf('SWF') != -1) && blnShowSWF)
					ShowElement(anchor);
			}
			else if (className.indexOf('ns') == 0) {
				HideElement(anchor);
			}
		}
	}
	return true;
}