var Merlin;

var UsedChars;
var MerlinID;
var MerlinACS;
var MerlinLoaded;
var LoadReq;
var HideReq;
var helpWin;
UsedChars = "Merlin";

MerlinID = "Merlin";
MerlinACS = "merlin.acs";

function readText() {
	var strData;
	strData = document.getElementById('speechData').innerText;
	
				if (strData != "") {
				AgentControl.Connected = true;
				if (!MerlinLoaded) {
					MerlinLoaded = LoadLocalAgent(MerlinID, MerlinACS);
				}
				if (MerlinLoaded) {
					SetCharObj();
				}
				CheckLoadStatus(strData);
			}
  
}
function LoadLocalAgent(CharID, CharACS) {
	AgentControl.RaiseRequestErrors = false;
	LoadReq = AgentControl.Characters.Load(CharID, CharACS);
	AgentControl.RaiseRequestErrors = true;

	if (LoadReq.Status != 1) {
		return(true);
	}
	return(false);
}

function SetCharObj() {
	Merlin = AgentControl.Characters.Character(MerlinID);
	Merlin.LanguageID = 0x409;
}
function CheckLoadStatus(strString) {
	var strData;
	strData=strString;
	if (!MerlinLoaded) {
		LoadError(strData);
		return(false);
	}
	window.status = "";
	AgentIntro(strData);
	return(true);
}

function LoadError(strString) {
	var strMsg;
	var strData;
	strData=strString;
	window.status = "";
	helpWin = window.open("Includes/VoiceFaq.htm","myAgentPopup","top=150,left=100,height=480,width=430,toolbar=no,menubar=no,address=no,scrollbars=yes,resizable=yes")
	strMsg = "Error Loading Character: " + MerlinID + "\n";
	strMsg = strMsg + "This Microsoft Agent Script requires the character(s):\n";
	strMsg = strMsg + UsedChars;
	alert(strMsg);
}
function InitAgentCommands() {
	Merlin.Commands.RemoveAll();
	Merlin.Commands.Caption = "My Menu Name";
	Merlin.Commands.Add("ACO", "Advanced Character Options", "Advanced Character Options");
}

function AgentIntro(strString) {
	var strData;
	strData=strString;
	InitAgentCommands();
	if(Merlin.TTSModeID == "") {
		helpWin = window.open("Includes/VoiceFaq.htm","myAgentPopup","top=150,left=100,height=480,width=430,toolbar=no,menubar=no,address=no,scrollbars=yes,resizable=yes")
	} 
	Merlin.Show();
	Merlin.Speak(strData);
	HideReq = Merlin.Hide();
}
