// HanVoiceTTS.js
// Last revised: 2004-06-09
// This JavaScript are automatically included in pages translated by HanVoice

function getKeyValue(nKeyCode)
{
	switch (nKeyCode)
	{
		case 48:
		case 96:
			return "0";
		case 49:
		case 97:
			return "1";
		case 50:
		case 98:
			return "2";
		case 51:
		case 99:
			return "3";
		case 52:
		case 100:
			return "4";
		case 53:
		case 101:
			return "5";
		case 54:
		case 102:
			return "6";
		case 55:
		case 103:
			return "7";
		case 56:
		case 104:
			return "8";
		case 57:
		case 105:
			return "9";
		default:
			return null;
	}
}

// Detect Windows Media Player version
// Return 0 if no player found
function getWMPVersion()
{
	
	if (navigator.appName == "Netscape")
		return 0;

	if (new ActiveXObject("WMPlayer.OCX"));
			return "7";

	return "6";
}


function kList(ListNum)
{
	this.length = ListNum;
	for (i = 0; i < ListNum; ++i)
		this[i] = null;
	return this;
}

function targetLink(tget, clink)
{
	tget = tget.toLowerCase();
	switch(tget)
	{
	case "_top":
		window.top.location = clink;
		window.top.focus();
		break;
	case "_blank":
		window.open(clink);
		if (WMPVer == "7")
			WMPlayer7.controls.stop();
		else
			WMPlayer6.stop();
		break;
	case "_parent":
		window.parent.location = clink;
		window.parent.focus();
		break;
	case "_self":
	case "selftget":
		window.location = clink;
		break;
	default:
		findtget = "false";
		if (window.parent.frames.length > 0)
		{
			for (i=0; i<window.parent.frames.length; i++) {
				if (window.parent.frames[i].name.toLowerCase() == tget) {
					window.parent.frames[i].location = clink;
					if (WMPVer == "7")
						WMPlayer7.controls.stop();
					else
						WMPlayer6.stop();
					window.parent.frames[i].focus();
					findtget = "true";
					break;
				}
			}
			if (findtget == "false"){
				window.open(clink);
				if (WMPVer == "7")
					WMPlayer7.controls.stop();
				else
					WMPlayer6.stop();
			}
		}
		break;
	}
}

function getLink()
{
	if (keyList[1] != null) {
		currKey = keyList[1];
		keyList[1] = null;
		if (keyList[2] != null) {
			currKey = eval(currKey+keyList[2]);
			keyList[2] = null;
			if (keyList[3] != null) {
				currKey = eval(currKey+keyList[3]);
				keyList[3] = null;
			}
		}
		var actualLink;
		if ((currevent == "ALink") && (currKey <= document.links.length)) {
			currKey--;
			if (hasLinkArray == true) {
				if (LinkArray.length == 0) // 2004-03-08
					return;
				actualLink = LinkArray[currKey] - 1;
				currlink = eval("document.links("+actualLink+")");
			}
			else {
				currlink = eval("document.links("+currKey+")");
			}

			var currtget;
			if (currlink.target != "")
				currtget = currlink.target;
			else if ((document.all.tags('BASE').length > 0) && (document.all.tags('BASE')[0].target != ""))
				currtget = (document.all.tags('BASE')[0].target)
			else
				currtget = "selftget"
			targetLink(currtget, currlink);
		}
		else if ((currevent == "ALinkList") && (currKey < document.all.tags('select')[0].options.length)) {
			currKey--;
			curroption = eval("document.all.tags('select')[currsel].options["+currKey+"]");
			curroption.selected = true;
			document.all.tags('select')[currsel].fireEvent("onchange");
		}
		else
			location.reload();
	}
}

function getKeyPress()
{
	if (window.event.keyCode == 13) {
		getLink();
		keycount = 0;
		currKey = "";
		currevent = "ALink";
	}
	else if (window.event.keyCode == 18) {
		ALTkey = "1";
	}

	else if (ALTkey == "0" && (((window.event.keyCode >= 48) && (window.event.keyCode <= 57 )) || ((window.event.keyCode >= 96) && (window.event.keyCode <= 105 )))){
		temp = window.event.keyCode;
		if (keycount < 3) {
			keycount++;
			keyList[keycount] = getKeyValue(temp);
		}
		window.setTimeout(getLink, 1000);
		currKey = "";
	}

	else if (window.event.keyCode == 39) {
		if (WMPVer == "7") {
			WMPlayer7.controls.next();
			if (WMPlayer7.status == "Ready")
				WMPlayer7.controls.play();
		}
		else {
			WMPlayer6.next();
			if (WMPlayer6.status == "Ready")
				WMPlayer6.play();
		}

	}
	else if (window.event.keyCode == 37) {
		if (WMPVer == "7") {
	 		WMPlayer7.controls.previous();
	 		if (WMPlayer7.status == "Ready")
	 			WMPlayer7.controls.play();
		}
		else {
	 		WMPlayer6.previous();
	 		if (WMPlayer6.status == "Ready")
	 			WMPlayer6.play();
 		}
	}
	// Start ASR (119 = F8); 2004-02-17
	else if (window.event.keyCode == 119)
	{
		document.ASR.startVoiceReg();
	}
}


function checkReady()
{
	if (WMPVer == "7") {
		if (WMPlayer7.playState == 3) {
			Jingle.src = "file:///c:/EB91A35C/4EB7/49E4/9816/F99224673176/dummy.mid";
			window.clearInterval(TimerID);
		}
	}
	else {
		if (!(WMPlayer6.ReadyState < 3)) {
			Jingle.src = "file:///c:/EB91A35C/4EB7/49E4/9816/F99224673176/dummy.mid";
			WMPlayer6.play();
			window.clearInterval(TimerID);
		}
	}
}

function StartWMP()
{
	if (WMPVer == "7") {
		WMPlayer7.controls.play();
		TimerID = window.setInterval(checkReady, 500);
	}
	else
		TimerID = window.setInterval(checkReady, 500);
}


function StopAll()
{
	if (WMPVer == "7")
		window.parent.frames[window.parent.frames.length - 1].StartMsg7.controls.stop();
	else
		window.parent.frames[window.parent.frames.length - 1].StartMsg6.stop();
	DontPlay = true;

	for (i = 0; i < window.parent.frames.length; ++i) {
		window.parent.frames[i].Jingle.src = "file:///c:/EB91A35C/4EB7/49E4/9816/F99224673176/dummy.mid";
		if (WMPVer == "7")
			window.parent.frames[i].WMPlayer7.controls.stop();
		else
			window.parent.frames[i].WMPlayer6.stop();
	}
	StartWMP();
}


function isReady()
{
	i = 0;
	while (i < window.parent.frames.length) {
		if (WMPVer == "7") {
			if (!(window.parent.frames[i].WMPlayer7.playState == 3)) {
				break;
				return false;
			}
			else
				i++;
		}
		else {
			if (window.parent.frames[i].WMPlayer6.ReadyState < 3) {
				break;
				return false;
			}
			else
				i++;
		}
	}
	window.clearInterval(CheckerID);
	if (DontPlay == false) {
		for (i = 0; i < window.parent.frames.length; i++) {
			window.parent.frames[i].Jingle.src = "file:///c:/EB91A35C/4EB7/49E4/9816/F99224673176/dummy.mid";
		}
		if (WMPVer == "7") {
			StartMsg7.controls.play();
		}
		else {
			StartMsg6.play();
		}
	}
	return true;
}




////////// Execution begins here //////////

var WMPVer = getWMPVersion();
var DontPlay = false;
var keycount = 0;
var currKey;
var keyList = new kList(3);
var currevent = "ALink";
var ALTkey = "0";
var CheckerID = "";
var TimerID = "";


//alert("WMPver = " + WMPVer);
// Embed media player
if (WMPVer == "6")
{
	document.write('<object id="WMPlayer6" width="0" height="0" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"><param name="filename" value="' + playListURL + '"><param name="autoStart" value="false"></object>');
	document.write('<object id="StartMsg6" width="0" height="0" classid="CLSID:22D6F312-B0F6-11D0-94AB-0080C74C7E95"><param name="filename" value="/' + startMsg + '"><param name="autoStart" value="false"></object>');
}
else
{
	document.write('<object id="WMPlayer7" width="0" height="0" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><param name="URL" value="' + playListURL + '"><param name="autoStart" value="false"></object>');
	document.write('<object id="StartMsg7" width="0" height="0" classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6"><param name="URL" value="/' + startMsg + '"><param name="autoStart" value="false"></object>');
}

// Start playing
if (window.parent.frames.length > 0) {
	if (window.parent.frames[window.parent.frames.length - 1] == self) {
		if (!isReady())
			CheckerID = window.setInterval("isReady()", 500);
	}
	window.onfocus = StopAll;
}
else {
	StartWMP();
}

// Capture key-down event
document.onkeydown = getKeyPress;


// End of file
