var directory = location.href.match(/html\//) ? '..' : '.'
var old_speaker = '';
var initialised = false;
var init_loop = 0;

function get_volume_from_cookie() {
	var volume = document.cookie.match(/vol=(\d+)/);
	if (volume) { volume = Number(volume[1]) } else { volume=5 }
//	volume = document.cookie;
	return(volume);
}
function get_sound_from_cookie() {
	var sound = document.cookie.match(/snd=([^&]*)/);
	if (sound) { sound = sound[1] }
	return(sound);

}
function get_speaker_from_cookie() {
	var speaker = document.cookie.match(/spk=([^&]*)/);
	if (speaker) { speaker = speaker[1] }
	return(speaker);
}
function set_cookie(volume, sound, speaker) {
	if (!volume) {volume = get_volume_from_cookie() }
	if (!sound) { sound = get_sound_from_cookie() }
	if (!speaker) { speaker = get_speaker_from_cookie() }
	sound = sound.replace(/^.*\//, '');
	document.cookie = 'vol='+volume+'&snd='+sound+'&spk='+speaker+'; path=/';
}

function init_sound(url, speaker, allow_cookie_override) {
	if (initialised || init_loop == 10) {
		var volume = get_volume_from_cookie();
		set_volume(volume);
		if (allow_cookie_override) {
			var c_url = get_sound_from_cookie();
			var c_speaker = get_speaker_from_cookie();
			if (c_url && c_speaker && document.images[c_speaker]) {
				url = directory + '/mp3/'+c_url;
				speaker = c_speaker;
			}
		}
		change_sound(url, speaker);
	} else {
		init_loop += 1;
		setTimeout('init_sound(\''+url+'\',\''+speaker+'\',\''+allow_cookie_override+'\')', 500);
	}
}

function get_sound_control() {
	var sc = window.document.sound_control;
	if (typeof(sc) == "undefined") {
		sc = document.embeds["sound_control"];
	}
	return(sc);
}
function sound_control_DoFSCommand(command, args) {
	switch (command) {	
	case "SetVolume":
		set_cookie(args,'','');
		break;
	case "SoundLoaded":
		break;
	case "PlaySound":
		if (old_speaker && document.images[old_speaker]) {
			document.images[old_speaker].src = directory+'/gifs/speaker_on.gif';
		}
		break;
	case "PauseSound":
		if (old_speaker && document.images[old_speaker]) {
			document.images[old_speaker].src = directory+'/gifs/speaker_off.gif';
		}
		break;
	case "Init":
		initialised = true;
		break;
	}
}
function change_sound(url, speaker) {
	if (old_speaker && document.images[old_speaker]) {
		document.images[old_speaker].src = directory+'/gifs/speaker_off.gif';
	}
	if (speaker && document.images[speaker]) {
		document.images[speaker].src = directory+'/gifs/speaker_on.gif';
	}
	old_speaker = speaker;
	var sc = get_sound_control();
	sc.SetVariable("mySoundURL", url);
	sc.TCallLabel("/", "UpdateSound");
	set_cookie('',url,speaker);
}
function set_volume(vol) {
	var sc = get_sound_control();
	sc.SetVariable("myVolume", vol);
	sc.TCallLabel("/", "UpdateVolume");
}
function get_volume(vol) {
	var sc = get_sound_control();
	return (sc.GetVariable("myVolume"));
}

function pause_sound() {
	var sc = get_sound_control();
	sc.TCallLabel("/", "PauseSound");
}
function play_sound() {
	var sc = get_sound_control();
	sc.TCallLabel("/", "PlaySound");
}