var ctrunflag;
var agent;
var Merlin;
var ctspeeklist = new Array();
var ctspeek = false;
var ctworking = false;
var wantshowtime = 5;
var exttxt = "";
for(var i = 0; i < wantshowtime; i ++)
{
	exttxt += "\\PAU=1000\\ ";
}

function ctrun()
{
    try
    {
    	if(ctspeeklist.length != 0)
    	{
    		if(!Merlin.Visible)
				Merlin.show();
			Merlin.play("Announce");
			
    		while(ctspeeklist.length != 0)
    		{
    			Merlin.Speak(ctspeeklist.shift() + exttxt);	
    		}
    	}
    }
    catch(e)
    {
    	//alert("ct:" + e.message);
    }
    ctrunflag = setTimeout("ctrun()",100);
}
function ctcloserun()
{
	if(ctrunflag)
		clearTimeout(ctrunflag);
}
function closect()
{
	if(Merlin)
	{
		Merlin.play("Wave");
		Merlin.speak(sayGoodbye);
		Merlin.Hide();
		agent = null;
		Merlin = null;
		ctworking = false;
		ctcloserun();
	}
}
function initct()
{
	var chName = "Merlin";
	try
	{
		agent = new ActiveXObject("Agent.Control.2");
		agent.Connected = true; 
		agent.Characters.Load(chName,chName + ".acs");
		Merlin = agent.Characters(chName);
		Merlin.LanguageID = Langid;
		Merlin.moveto(event.x,event.y);
		Merlin.Show();
		Merlin.Play("Wave");
		Merlin.speak(sayHello + exttxt);
		ctworking = true;
		ctrun();
	}
	catch(e)
	{
		Merlin = null;
		agent = null;
		ctworking = false;			
		ctcloserun();
		alert(tiptxt);
	}
}

