
//This code handles the user's preferences for playing audio files.

//Allow files to override the path construction settings.
var PathClimb = '../../';

//Calculate the audio path from the URL
var AudioPath = document.location.toString();
var i = AudioPath.length;
var Slashes = 0;
while (Slashes < 3){
	i--;
	if (AudioPath.charAt(i) == '/'){Slashes++;}
}
AudioPath = AudioPath.substring(0, i+1) + 'audio/';
var WMP = '&nbsp;<object style="vertical-align: bottom;" id="strID" classid="CLSID:6BF52A52-394A-11D3-B153-00C04F79FAA6" width="1" height="1"><param name="url" value="strFilePath" /><param name="autostart" value="true" /><param name="showcontrols" value="true" /><param name="uiMode" value="invisible" /><a href="strFilePath" title="strFilePath">strFileName</a></object><button class="AudioButton" title="Play" onclick="document.getElementById(\'strID\').controls.play()"><img src="strPathClimbimages/btn-play.gif" alt="Play" width="16" height="16" /></button><button class="AudioButton" title="Pause" onclick="document.getElementById(\'strID\').controls.pause()"><img src="strPathClimbimages/btn-pause.gif" alt="Pause" width="16" height="16" /></button><button class="AudioButton" title="Stop" onclick="document.getElementById(\'strID\').controls.stop()"><img src="strPathClimbimages/btn-stop.gif" alt="Stop" width="16" height="16" /></button>&nbsp;';

var QT = '&nbsp;<object style="vertical-align: bottom;" id="strID"';
if (navigator.userAgent.indexOf('MSIE') > 0){
	QT += ' classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab"';
}
QT += ' width="50" height="16" type="audio/quicktime" data="strFilePath"><param name="type" value="audio/quicktime" /><param name="src" value="strFilePath" /><param name="qtsrc" value="strFilePath" /><param name="autoplay" value="true" /><param name="controller" value="true" /><a href="strFilePath" title="strFilePath">strFileName</a></object>&nbsp;';

var RP = '&nbsp;<object style="vertical-align: bottom;" id="strID" width="26" height="26"';
if (navigator.userAgent.indexOf('MSIE') > 0){
	RP += ' classid="clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA"';
}
RP += ' type="application/x-pn-realaudio"><param name="type" value="application/x-pn-realaudio" /><param name="src" value="strFilePath" /><param name="autostart" value="true" /><param name="controls" value="PlayButton" /><a href="strFilePath" title="strFilePath">strFileName</a></object>&nbsp;';

var FP='&nbsp;<object style="vertical-align: bottom;" id="strID" width="24" height="17" type="application/x-shockwave-flash"  data="strPathClimbhbs_mp3_player_autostart.swf"><param name="type" value="application/x-shockwave-flash" /><param name="src" value="strPathClimbhbs_mp3_player_autostart.swf" /><param name="data" value="' + PathClimb +'audio_player_1.swf" /><param name="codebase" value="strPathClimbhbs_mp3_player_autostart.swf" /><param name="FlashVars" value="TheSound=strFilePath" /><param name="wmode" value="transparent" /><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="strPathClimbhbs_mp3_player_autostart.swf" /><param name="loop" value="false" /><param name="quality" value="high" /></object>&nbsp;';

var Ext = '';
var P=2;
var E=2;

function SetPlayer(ChosenPlayer, ChosenExtension){
	P = parseInt(ChosenPlayer);
	E = parseInt(ChosenExtension);
  switch (P){
  	case 0:
  		PlayerSource = WMP;
  		break;
  	case 1:
  		PlayerSource = RP;
  		break;
  	case 2:
  		PlayerSource = FP;
  		break;
  	case 3:
  		PlayerSource = QT;
  }
  switch (E){
  	case 0:
  		Ext = 'wma'; 
  		break;
  	case 1:
  		Ext = 'ra';
  		break;
  	case 2:
  		Ext = 'mp3';
			break;
		case 3:
			Ext = 'aif';
			break;
		case 4:
			Ext = 'ogg';
			break;
  }
}

function SetPlayerTest(Sender){
//Delete any previous player
	if ((LastPlayer != null)&&(LastPlayer.parentNode != null)){
		LastPlayer.parentNode.removeChild(LastPlayer);
	}
	LinkArray.length = 0;
	if (document.getElementById('ThePlayer') != null){
		if (document.getElementById('TheFileType') != null){
			SetPlayer(document.getElementById('ThePlayer').value, document.getElementById('TheFileType').value);
		}
	}
}

SetPlayer(2, 2); //Default is Flash with MP3s
var LinkArray = new Array();
var LastPlayer = null;

function PlayMedia(Sender, FName){
//Check to see whether a player has already been created for this link
/*
	for (var i=0; i<LinkArray.length; i++){
		if ((Sender == LinkArray[i])&&(LastPlayer != null)){
			return;
		}
	}
*/
//Destroy the previous player
	if ((LastPlayer != null)&&(LastPlayer.parentNode != null)){
		LastPlayer.parentNode.removeChild(LastPlayer);
		LastPlayer = null;
	}
	
//Add this sender to the array
	LinkArray.push(Sender);

	var ID = new Date().getTime().toString();
	var FileName = AudioPath + Ext + '/' + FName + '.' + Ext;
	var Player = PlayerSource.replace(/strFilePath/g, FileName);
	Player = Player.replace(/strFileName/g, FName + '.' + Ext);
	Player = Player.replace(/strPathClimb/g, PathClimb);
	Player = Player.replace(/strContent/g, FileName);
	Player = Player.replace(/strID/g, ID);
//alert(Player);
	var El = document.createElement('span');
	El.innerHTML = Player;
	var refChild = Sender.nextSibling;
	if (refChild != null){
		refChild.parentNode.insertBefore(El, refChild);
	}
	else{
		Sender.parentNode.appendChild(El);
	}
	LastPlayer = El;
}

function SaveSettings(){
	var D = new Date(); 
 	D.setTime(D.getTime() + 365 * 24 * 60 * 60 * 1000);
	document.cookie = 'HulqAudio=P:'+P+'&E:'+E+';path=/;expires='+D.toGMTString();
}

//Load settings from cookies automatically
LoadSettings();

function LoadSettings(){
	var CookieText = document.cookie.substring(document.cookie.indexOf('HulqAudio'), document.cookie.length);
	if (CookieText.length < 4){return;}
	var Settings = CookieText.split(';')[0];
	if (Settings.length < 4){return;}
	Settings = Settings.split('=')[1];
	if (Settings.length < 4){return;}
	Settings = Settings.split('&');
	var Pair;
	for (var i=0; i<Settings.length; i++){
		Pair = Settings[i].split(':');
		switch (Pair[0]){
			case 'P': 
				P=Pair[1];
				break;
			case 'E':
				E=Pair[1];
				break;
		}
	}
	SetPlayer(P,E);
}

function SetAudioSetup(){
	if (document.getElementById('ThePlayer') != null){
		document.getElementById('ThePlayer').selectedIndex = P;
	}
	if (document.getElementById('TheFileType') != null){
		document.getElementById('TheFileType').selectedIndex = E;
	}
}

function PlayerDropdownChange(){
	var PD = document.getElementById('ThePlayer');
	var FD = document.getElementById('TheFileType');
	switch (PD.selectedIndex){
		case 0:
			FD.selectedIndex = 0;
			break;
		case 1:
			FD.selectedIndex = 1;
			break;
		case 2:
			FD.selectedIndex = 2;
			break;
		case 3:
			FD.selectedIndex = 3;
			break;
	}
}

window.onunload = function(){if ((LastPlayer != null)&&(LastPlayer.parentNode != null)){LastPlayer.parentNode.removeChild(LastPlayer);}}
	
	
	
