// Synthetix smartAgent V4.16f
// This computer source code is Copyright 2001-2008, Synthetix Ltd.

// Preload interface components

pre1 		 = new Image(0,0);
pre1.src = "images/bullet.gif";

pre2 		 = new Image(0,0);
pre2.src = "images/back_bullet.gif";
 
pre3 		 = new Image(0,0);
pre3.src = "images/loading.gif";

pre4 		 = new Image(0,0);
pre4.src = "images/exc.gif";

star_on	    = new Image(0,0)
star_on.src = "images/star_on.gif";

star_off	   = new Image(0,0)
star_off.src = "images/star_off.gif";

// Preload character graphics

smiling     = new Image(0,0);
smiling.src = "images/smiling.gif";  

neutral1     = new Image(0,0);
neutral1.src = "images/neutral1.gif";  

neutral2     = new Image(0,0);
neutral2.src = "images/neutral2.gif";

neutral3     = new Image(0,0);
neutral3.src = "images/neutral3.gif";

confused     = new Image(0,0);
confused.src = "images/confused.gif";

angry     	 = new Image(0,0);
angry.src    = "images/angry.gif";

behind     	 = new Image(0,0);
behind.src   = "images/point-behind.gif";

pointn       = new Image(0,0);
pointn.src   = "images/point-n.gif";

pointnw      = new Image(0,0);
pointnw.src  = "images/point-nw.gif";

pointw       = new Image(0,0);
pointw.src   = "images/point-w.gif";

pointsw      = new Image(0,0);
pointsw.src  = "images/point-sw.gif";

map          = new Image(0,0);
map.src      = "images/map.gif";

dancing      = new Image(0,0);
dancing.src  = "images/dancing.gif";

checkwatch      = new Image(0,0);
checkwatch.src  = "images/check-watch.gif";

// Diagnostic

var trace_on=false;
var trace_text="TRACE:<BR><BR>";

// Escalation of specific queries

var escalation_detection=true;
var escalation_word_limit=16;

// Configuration

var clientname="Butlins";
var hosted_interface=false; // Client hosts smartAgent interface. Form filling and smart page changes won't work unless set to true.
var log_mode=true;
var agent_id="4P00-BUTLINS-LIVE";
var datafile_url="butlins.html";
var max_pop_num=3; // How many example questions to display
var max_search_num=5; // Max limit on search results
var faq_text_smaller_by=1;
var faq_visible=true;
var characterOn=true;
var youasked="on"; 
var neutral_num=3; // How many neutral character images are there
var default_input_string="<Your questions/answers...>";
var save_cookies=true;
var show_qs_categories=false; // Show categories in quicksearch view
var dd_max_length=50;
var select_faq_from="list" // "dropdown" or "list"
var get_username=false;
var pop_allowed=true;

// FAQ rating

rate_text="<BR><table class=rating cellspacing=0 cellpadding=0><tr><td valign=center>Rate this answer:&nbsp;&nbsp;</td><td valign=center><a href='javascript:rating(1)' onMouseOver=imgOn('1') onMouseOut=imgOff('1')><img name='s1' src='images/star_off.gif' border=0></a><a href='javascript:rating(2)' onMouseOver=imgOn('2') onMouseOut=imgOff('2')><img name='s2' src='images/star_off.gif' border=0></a><a href='javascript:rating(3)' onMouseOver=imgOn('3') onMouseOut=imgOff('3')><img name='s3' src='images/star_off.gif' border=0></a><a href='javascript:rating(4)' onMouseOver=imgOn('4') onMouseOut=imgOff('4')><img name='s4' src='images/star_off.gif' border=0></a><a href='javascript:rating(5)' onMouseOver=imgOn('5') onMouseOut=imgOff('5')><img name='s5' src='images/star_off.gif' border=0></a></td></tr></table>";

// Global Arrays

var vrA=new Array(); // Variable stack
var q=new Array();
var qt=new Array();
var jabberwock=new Array();
var keywordA=new Array();
var nA=new Array();
var asA=new Array();
var comA=new Array();
var kwArray=new Array();
var kwNeg=new Array();
var vars=new Array();
var backIndex=0;
var backA=new Array();
var backAanswer=new Array();
var search_results=false;
var kyX=new Array();
var corpusA=new Array();
var corpusI=new Array();

// Journey

var querylength=0;
var jnyA=new Array();
var inJny=false;

// Text Effects

var mvisibility=0;
var visTimer;
var faq_mvisibility=0;
var faq_visTimer;

// Server quicksearch

var searchTimer;
var lockTimer;
var lock_count=0;
var runTimer;
var global_usrInp;

// Date Selector

var start_year=2007;
var end_year=2010;
var start_date=new Array("1","January","1970");
var end_date=new Array("1","January","1970");

// Goals

var goal_index=1;
var goalNum=0;
var goalA=new Array();
var goaltext="";
var goaltextA=new Array();

// Global Variables. Don't touch.

var unanswered_question=false;
var escalation_question=false;
var automated_question=false;
var designed_question=false;
var answer_id="";
var optiontext="";
var log_data="";
var answer_heading="";
var fav_faq_cat="";
var change_pop_cat=false;
var form_buffer="";
var no_pop_flag=false;
var page_change_url="";
var page_change_desc="";
var http_search_lock=false;
var http_search_queue=new Array();
var server_search_results=new Array();
var passed_args="";
var log_username="";
var log_allowed=true;
var page_change=false;
var searchresults="";
var print_format_dialogue="You had a conversation with Synthetix smartAgent at <b>&date</b>. Here is the dialogue:<BR>";
var faqlist="";
var clarifier="";
var catchall=false;
var catchall_label="";
var passed_value="";
var interaction_count;
var profanity=false;
var face="neutral";
var sid=0;
var cid=0;
var agenttype="HTML client";
var firstclick=false;
var mastercategory="";
var subcat="";
var category_changed=1;
var clickmode="";
var IE=document.all;
var OPERA=navigator.userAgent.match("Opera");
var message='';
var screenA=new Array();
var secondlastindex=0;
var lastindex=0;
var globalOptions="";
var globAnswer="";
var startTime=0;
var username="user";
var _scripts = [];
var answer="NULL";
var lastanswer="NULL";
var date="NULL";
var age=0;
var buf=new Array();
var patQu=new Array();
var loadmessage="<table width=100% height=80% cellpadding=0 cellspacing=0 border=0><tr><td valign=middle><center><img src='images/loading.gif'></center></td></tr></table>";
var logurl="http://www.synthetix.net/sa_submit.php";
var agentname="";

var qspelA=new Array(
"WHAT","#A","WAHT","#A","WHT","#A","WOT","#A","WT","#A","WHATS","#A","WHATZ","#A","WAT","#A","WHOT","#A",
"WHO","#B","WOH","#B","HOO","#B","WHOO","#B",
"HOW","#C","HWO","#C","HOU","#C","HW","#C","HOWA","#C","HOWS","#C",
"WHY","#D","WHI","#D","WY","#D","WI","#D",
"WHICH","#E","WHIHC","#E","WICH","#E","WIHC","#E","WHECH","#E",
"WHERE","#F","WHR","#F","WAIR","#F","WHEER","#F","WARE","#F","WAIRE","#F","WHARE","#F",
"WERE","#G","WER","#G","WEER","#G","WIR","#G","WERENT","#G","WERNT","#G",
"WHEN","#H","WEN","#H","WHIN","#H","WEHN","#H",
"ISNT","#I","ISINT","#I","AINT","#I","INT","#I",
"COULD","#J","COOD","#J","COUD","#J",
"SHOULD","#K","SHOOD","#K","SHOOED","#K","SHOUD","#K","SHUD","#K",
"CAN","#L","CANN","#L","CUN","#L","CEN","#L","ACN","#L","CNA","#L",
"CANT","#M","CANNT","#M",
"SHOULDNT","#N","SHOULDINT","#N","SHOULDENT","#N","SHOODNT","#N","SHOUDNT","#N",
"IS","#O","SI","#O","IZ","#O",
"ARE","#P","AR","#P","R","#P","ARR","#P","AHR","#P","AER","#P","RE","#P",
"HAVE","#Q","HAV","#Q",
"DO","#R","OD","#R","DOO","#R","SDO","#R",
"ARENT","#S","ARNT","#S","AERNT","#S","ARRENT","#S","ARENNT","#S",
"DOES","#T","DEOS","#T","DOS","#T","DUS","#T","DUZ","#T","DUS","#T",
"DOESNT","#U","DOSNT","#U","DOESINT","#U","DISNT","#U",
"WILL","#V","WIL","#V",
"WONT","#W","WNT","#W",
"DONT","#X","DNT","#X",
"WAS","#Y","WSA","#Y",
"WASNT","#Z","WASINT","#Z",
"SHALL","#AA","SHAL","#AA","SHL","#AA","SAHLL","#AA","SAHL","#AA",
"WOULD","#AB","WOLD","#AB","WOOD","#AB",
"WOULDNT","#AC","WOUDINT","#AC","WOUDNT","#AC",
"COULDNT","#AD","COULDNT","#AD","COULDNT","#AD",
"HAVENT","#AE","HAVENT","#AE","HAVENT","#AE",
"TELL","#AF","TILL","#AF","TEEL","#AF","RELATE","#AF","ADVISE","#AF","ADVSE","#AF","REVEAL","#AF");

var commA=new Array(
"EWE","U","YU","U","TYOU","U","TOU","U","YUO","U","OYU","U","YO","U","YTOU","U",
"UR","YOUR","YOOR","YOUR","YUR","YOUR","URE","YOUR","YTOUR","YOUR","YOR","YOUR",
"TI","IT",
"THSI","THIS","TIHS","THIS","THS","THIS",
"HTE","THE","THI","THE","TEH","THE",
"WIHT","WITH",
"YEAH","YES","YEP","YES","YEH","YES",
"NAE","NAME",
"THANKS","THANKYOU","THANK","THANKYOU","TAHNKS","THANKYOU",
"SWEARTYPE","#ST","HORNY","#ST","SEXY","#ST","CRAP","#ST","FUCK","#ST","SHIT","#ST","ARSEHOLE","#ST","WANKER","#ST","CUNT","#ST","SHIT","#ST","MOTHERFUCKER","#ST","BOLLOCKS","#ST","SHITE","#ST");

var ptSynA=new Array(
"you are","#I #am",
"your","#my",
"youve","#I've",
"our","#your",
"are you","#am #I",
"I am","#you are",
"is this","#is #this",
"this is","#this #is",
"I","#you",
"you","#I",
"am","#are",
"my","#your",
"me","#you",
"myself","#yourself",
"yourself","#myself",
"yourselves","#ourselves",
"ourselves","#yourselves",
"us","#you");

var stopA=new Array(
"ABOUT","","ALL","","AM","","AN","","AND","","ANY","","ARE","","AS","","AT","","ASK","",
"BAD","","BE","","BEEN","","BUT","","BY","","BYE","",
"CAN","","CANT","",
"DID","","DO","","DOES","","DOESNT","","DONT","",
"EITHER","",
"FOR","","FROM","",
"GET","","GO","","GOODBYE","","GOOD","","GOT","",
"HADNT","","HAD","","HAS","","HASNT","","HAVE","","HELLO","","HE","","HER","","HI","","HIS","","HOW","","HO","",
"I","","IE","","IN","","IF","","IM","","IS","","IT","","ITS","","IVE","",
"JUST","",
"KNOW","",
"LIKE","",
"MINE","","ME","","MY","",
"NEED","","NO","","NOT","","NOW","",
"OK","","OF","","ON","","ONLY","","OR","","OTHER","","OUR","","OUT","",
"PLEASE","",
"SAY","","SEE","","SHE","","SHOULD","","SHOULDNT","","SO","","SUCH","",
"TAKE","","TELL","","THAT","","THAT","","THE","","THEN","","THESE","","THEY","","THINK","","THIS","","THOSE","","TO","",
"US","",
"VERY","",
"WANT","","WAS","","WASNT","","WE","","WELL","","WHICH","","WHILE","","WILL","","WISH","","WITH","",
"YES","","YOU","","YOUR","","YOUVE","",
"A","","B","","C","","D","","E","","F","","G","","H","","I","","J","","K","","L","","M","","N","","O","","P","","Q","","R","","S","","T","","U","","V","","W","","X","","Y","","Z","");

var rules  = new Array(
"MN$","M$",
"DG","G",
"^GN","^N",
"IGN","IN",
"^GU","^G",
"^BUI","^BI",
"^GUI","^GI",
"GUE","GE",
"UIT","IT",
"^WHI","^WI",
"^WHO","^HO",
"^WHE","^WE",
"OULD","OUD",
"GH","G",
"^RHY","^RY",
"ITCH","ICH",
"ATC","AC",
"STM","SM",
"RTG","RG",
"^KN","^N",
"MB$","M$",
"EBT$","ET$",
"UBT$","UT$",
"MBE","ME",
"ALM","AM",
"OLK","OK",
"ALF","AF",
"ALK","AK",
"^WR","^R",
"^WH","^H",
"^PHY","FI",
"^PH","F",
"SC","S",
"ACK","AK",
"NSE","NS",
"ONE","1","WON","1","WUN","1",
"TOO","2","TWO","2","TO","2","TU","2",
"THREE","3","FREE","3",
"FOR","4","FOUR","4",
"FIVE","5",
"SIX","6",
"SEVEN","7",
"EIGHT","8","ATE","8","EAT","8",
"NINE","9",

"^ARE$","^R$","ING$","IN$","^ENS","^NS","ACE","ASE","^YOU$","^U$","RE$","ER$","ICE","ISE","EA","ee",

"EE","E","OO","O","RR","R","TT","T","BB","B","CC","C","DD","D","FF","F","GG","G","LL","L","MM","M","NN","N","PP","P","SS","S","ZZ","Z"
);