// This script comes from http://rainbow.arch.scriptmania.com/merlin/

var Merlin;
var UsedChars;
var MerlinID;
var MerlinACS;
var MerlinLoaded;
var LoadReq;
var MerlinLeftX, MerlinCenterX, MerlinRightX;
var MerlinTopY, MerlinCenterY, MerlinBottomY;
UsedChars = "Merlin";
MerlinID = "Merlin";
MerlinACS = "Merlin.acs";
MerlinLoaded = false;

Window_OnLoad();

function Window_OnLoad(){
	AgentControl.Connected = true;
	MerlinLoaded = LoadLocalAgent(MerlinID, MerlinACS);
	if (!MerlinLoaded){
		MerlinLoaded = LoadLocalAgent(MerlinID, "");}
	if (MerlinLoaded){
		SetCharObj();}
	CheckLoadStatus();}
	   
function LoadLocalAgent(CharID, CharACS){
	AgentControl.RaiseRequestErrors = false;
	if (CharACS == ""){
		LoadReq = AgentControl.Characters.Load(CharID);}
	else {
		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(){
	if (!MerlinLoaded){
		return(false);}
	window.status = "";
	AgentIntro();
	return(true);}
	
function GetScreenPositions(){
	var ScreenWidth = window.screen.width;
	var ScreenHeight = window.screen.height;
	if ((ScreenWidth == 0) || (ScreenHeight == 0)){
		ScreenWidth = 800;
		ScreenHeight = 600;}
	MerlinCenterX = (parseInt(ScreenWidth / 2) - parseInt(Merlin.Width / 2));
	MerlinRightX = (ScreenWidth - Merlin.Width);
	MerlinCenterY = (parseInt(ScreenHeight / 2) - parseInt(Merlin.Height / 2));
	MerlinBottomY = (ScreenHeight - Merlin.Height);}
	
function AgentIntro(){
    GetScreenPositions();
    Merlin.Show();
    Merlin.Play("Wave"); 
    Merlin.Play("RestPose");}

function Say(words){
    Merlin.Speak(words);}

function Say2(words){
    Merlin.Balloon.Style=0;
    Merlin.Speak(words);
    Merlin.Balloon.Style=0;}

function Say3(){
for(i=0;i<Say3.arguments.length;i++){Merlin.Speak(Say3.arguments[i]);}
}

function ListenT(){var ant;var theTable=document.getElementById('Tb'+ListenT.arguments[0]);for(i=0;i<theTable.rows.length;i++){for(j=0;j<ListenT.arguments[1];j++){tx=theTable.rows[i].cells[j].innerHTML;if(tx.indexOf("color")==-1&&tx.indexOf("<IMG")==-1&&tx!=ant){ant=tx;tx=tx.replace("(GB)","");tx=tx.replace("(US)","");tx=tx.replace("<strong>","");tx=tx.replace("</strong>","");tx=tx.replace("<STRONG>","");tx=tx.replace("</STRONG>","");tx=tx.replace("<b>","");tx=tx.replace("</b>","");tx=tx.replace("<B>","");tx=tx.replace("</B>","");tx=tx.replace("<BR>",", ");tx=tx.replace("/",", ");tx=tx.replace("/",", ");tx=tx.replace("=",", ");tx=tx.replace("&amp;"," and ");tx=tx.replace("(adj)","");Say(tx);}}}}

function Read(){
    Merlin.MoveTo(80, 400);
    Merlin.Play("Read");
for(i=0;i<Read.arguments.length;i++){Merlin.Speak(Read.arguments[i]);}
    Merlin.Play("ReadReturn");
}


