var acknowledge ="JavaScript version of Eliza written 02/22/97, Jim Allenspach (jima@mcs.com). Public domain, and all that stuff."
var popwin;
kwd = new Array(36); conjug = new Array(14); reply = new Array(112);
start = new Array(36);  leng = new Array(36);
ctr = new Array(36);


kwd[0] = 'CAN YOU';
kwd[1] = 'CAN I';
kwd[2] = 'YOU ARE';
kwd[3] = 'YOURE';
kwd[4] = 'I DONT';
kwd[5] = 'I FEEL';
kwd[6] = 'WHY DONT YOU';
kwd[7] = 'WHY CANT I';
kwd[8] = 'ARE YOU';
kwd[9] = 'I CANT';
kwd[10] = 'I AM';
kwd[11] = 'IM ';
kwd[12] = 'YOU ';
kwd[13] = 'I WANT';
kwd[14] = 'WHAT';
kwd[15] = 'HOW';
kwd[16] = 'WHO';
kwd[17] = 'WHERE';
kwd[18] = 'WHEN';
kwd[19] = 'WHY';
kwd[20] = 'NAME';
kwd[21] = 'CAUSE';
kwd[22] = 'SORRY';
kwd[23] = 'DREAM';
kwd[24] = 'HELLO';
kwd[25] = 'HI ';
kwd[26] = 'MAYBE';
kwd[27] = 'NO';
kwd[28] = 'YOUR';
kwd[29] = 'ALWAYS';
kwd[30] = 'THINK';
kwd[31] = 'ALIKE';
kwd[32] = 'YES';
kwd[33] = 'FRIEND';
kwd[34] = 'COMPUTER';
kwd[35] = 'NOKEYFOUND';

conjug[0] = ' ARE '; conjug[1] = ' AM ';
conjug[2] = 'WERE '; conjug[3] = 'WAS ';
conjug[4] = ' YOU '; conjug[5] = ' I ';
conjug[6] = 'YOUR '; conjug[7] = 'MY ';
conjug[8] = 'IVE '; conjug[9] = 'YOUVE ';
conjug[10] = 'IM '; conjug[11] = 'YOURE ';
conjug[12] = ' ME '; conjug[13] = ' !YOU ';

reply[0] = "DON'T YOU BELIVE THAT I CAN*";
reply[1] = "PERHAPS YOU WOULD LIKE TO BE ABLE TO*";
reply[2] = "YOU WANT ME TO BE ABLE TO*";
reply[3] = "PERHAPS YOU DON'T WANT TO*";
reply[4] = "DO YOU WANT TO BE ABLE TO*";
reply[5] = "WHAT MAKES YOU THINK I AM*";
reply[6] = "DOES IT PLEASE YOU TO BELIEVE I AM*";
reply[7] = "PERHAPS YOU WOULD LIKE TO BE*";
reply[8] = "DO YOU SOMETIMES WISH YOU WERE*";
reply[9] = "DON'T YOU REALLY*";
reply[10] = "WHY DON'T YOU*";
reply[11] = "DO YOU WISH TO BE ABLE TO*";
reply[12] = "DOES THAT TROUBLE YOU?";
reply[13] = "TELL ME MORE ABOUT SUCH FEELINGS.";
reply[14] = "DO YOU OFTEN FEEL*";
reply[15] = "DO YOU ENJOY FEELING*";
reply[16] = "DO YOU REALLY BELIVE I DON'T*";
reply[17] = "PERHAPS IN GOOD TIME I WILL*";
reply[18] = "DO YOU WANT ME TO*";
reply[19] = "DO YOU THINK YOU SHOULD BE ABLE TO*";
reply[20] = "WHY CAN'T YOU*";
reply[21] = "WHY ARE YOU INTERESTED IN WHETHER OR NOT I AM*";
reply[22] = "WOULD YOU PREFER IF I WERE NOT*";
reply[23] = "PERHAPS IN YOUR FANTASIES I AM*";
reply[24] = "HOW DO YOU KNOW YOU CAN'T*";
reply[25] = "HAVE YOU TRIED?";
reply[26] = "PERHAPS YOU CAN NOW*";
reply[27] = "DID YOU COME TO ME BECAUSE YOU ARE*";
reply[28] = "HOW LONG HAVE YOU BEEN*";
reply[29] = "DO YOU BELIEVE IT IS NORMAL TO BE*";
reply[30] = "DO YOU ENJOY BEING*";
reply[31] = "WE WERE DISUSSING YOU--NOT ME.";
reply[32] = "OH, I*";
reply[33] = "YOU'RE NOT REALLY TALKING ABOUT ME, ARE YOU?";
reply[34] = "WHAT WOULD IT MEAN TO YOU IF YOU GOT*";
reply[35] = "WHY DO YOU WANT*";
reply[36] = "SUPOOSE YOU SOON GOT*";
reply[37] = "WHAT IF YOU NEVER GOT*";
reply[38] = "I SOMETIMES ALSO WANT*";
reply[39] = "WHY DO YOU ASK?";
reply[40] = "DOES THAT QUESTION INTERST YOU?";
reply[41] = "WHAT ANSWER WOULD PLEASE YOU THE MOST?";
reply[42] = "WHAT DO YOU THINK?";
reply[43] = "ARE SUCH QUESTIONS ON YOUR MIND OFTEN?";
reply[44] = "WHAT IS IT THAT YOU REALLY WANT TO KNOW?";
reply[45] = "HAVE YOU ASKED ANYONE ELSE?";
reply[46] = "HAVE YOU ASKED SUCH QUESTIONS BEFORE?";
reply[47] = "WHAT ELSE COMES TO MIND WHEN YOU ASK THAT?";
reply[48] = "NAMES DON'T INTEREST ME.";
reply[49] = "I DON'T CARE ABOUT NAMES-- PLEASE GO ON.";
reply[50] = "IS THAT THE REAL REASON?";
reply[51] = "DON'T ANY OTHER REASONS COME TO MIND?";
reply[52] = "DOES THAT REASON EXPLAIN ANYTHING ELSE?";
reply[53] = "WHAT OTHER REASONS MIGHT THERE BE?";
reply[54] = "PLEASE DON'T APOLOGIZE!";
reply[55] = "APOLOGIES ARE NOT NECESSARY.";
reply[56] = "WHAT FEELINGS TDO YOU HAVE WHEN YOU APOLOGIZE?";
reply[57] = "DON'T BE SO DEFENSIVE!";
reply[58] = "WHAT DOES THAT DREAM SUGGEST TO YOU?";
reply[59] = "DO YOU DREAM OFTEN?";
reply[60] = "WHAT PERSONS APPEAR IN YOUR DREAMS?";
reply[61] = "ARE YOU DISTURBED BY YOUR DREAMS?";
reply[62] = "HOW DO YOU DO ... PLEASE STATE YOUR PROBLEM.";
reply[63] = "YOU DON'T SEEM QUITE CERTAIN.";
reply[64] = "WHY THE UNDERTAIN TONE?";
reply[65] = "CAN'T YOU BE MORE POSITIVE?";
reply[66] = "YOU AREN'T SURE?";
reply[67] = "DON'T YOU KNOW?";
reply[68] = "ARE YOU SAYING NO JUST TO BE NEGATIVE?";
reply[69] = "YOU ARE BEING A BIT NEGATIVE.";
reply[70] = "WHY NOT?";
reply[71] = "ARE YOU SURE?";
reply[72] = "WHY NO?";
reply[73] = "WHY ARE YOU CONCERNED ABOUT MY*";
reply[74] = "WHAT ABOUT YOUR OWN*";
reply[75] = "CAN YOU THINK OF A SPECIFIC EXAMPLE?";
reply[76] = "WHEN?";
reply[77] = "WHAT ARE YOU THINKING OF?";
reply[78] = "REALLY, ALWAYS?";
reply[79] = "DO YOU REALLY THINK SO?";
reply[80] = "BUT YOU ARE NOT SURE YOU*";
reply[81] = "DO YOU DOUBT YOU*";
reply[82] = "IN WHAT WAY?";
reply[83] = "WHAT RESEMBLANCE DO YOU SEE?";
reply[84] = "WHAT DOES THE SIMILARITY SUGGEST TO YOU?";
reply[85] = "WHAT OTHER CONNECTIONS DO YOU SEE?";
reply[86] = "COULD THERE REALLY BE SOME CONNECTION?";
reply[87] = "HOW?";
reply[88] = "YOU SEEM QUITE POSITIVE.";
reply[89] = "ARE YOU SURE?";
reply[90] = "I SEE.";
reply[91] = "I UNDERSTAND.";
reply[92] = "WHY DO YOU BRING UP THE TOPIC OF FRIENDS?";
reply[93] = "DO YOUR FRIENDS WORRY YOU?";
reply[94] = "DO YOUR FRIENDS PICK ON YOU?";
reply[95] = "ARE YOU SURE YOU HAVE ANY FRIENDS?";
reply[96] = "DO YOU IMPOSE ON YOUR FRIENDS?";
reply[97] = "PERHAPS YOUR LOVE FOR FRIENDS WORRIES YOU.";
reply[98] = "DO COMPUTERS WORRY YOU?";
reply[99] = "ARE YOU TALKING ABOUT ME IN PARTICULAR?";
reply[100] = "ARE YOU FRIGHTENED BY MACHINES?";
reply[101] = "WHY DO YOU MENTION COMPUTERS?";
reply[102] = "WHAT DO YOU THINK MACHINES HAVE TO DO WITH YOUR PROBLEM?";
reply[103] = "DON'T YOU THINK COMPUTERS CAN HELP PEOPLE?";
reply[104] = "WHAT IS IT ABOUT MACHINES THAT WORRIES YOU?";
reply[105] = "SAY, DO YOU HAVE ANY PSYCHOLOGICAL PROBLEMS?";
reply[106] = "WHAT DOES THAT SUGGEST TO YOU?";
reply[107] = "I SEE.";
reply[108] = "I'M NOT SURE I UNDERSTAND YOU FULLY.";
reply[109] = "COME COME ELUCIDATE YOUR THOUGHTS.";
reply[110] = "CAN YOU ELABORATE ON THAT?";
reply[111] = "THAT IS QUITE INTERESTING.";

start[0] = 1; leng[0] = 3;
start[1] = 4; leng[1] = 2;
start[2] = 6; leng[2] = 4;
start[3] = 6; leng[3] = 4;
start[4] = 10; leng[4] = 4;
start[5] = 14; leng[5] = 3;
start[6] = 17; leng[6] = 3;
start[7] = 20; leng[7] = 2;
start[8] = 22; leng[8] = 3;
start[9] = 25; leng[9] = 3;
start[10] = 28; leng[10] = 4;
start[11] = 28; leng[11] = 4;
start[12] = 32; leng[12] = 3;
start[13] = 35; leng[13] = 5;
start[14] = 40; leng[14] = 9;
start[15] = 40; leng[15] = 9;
start[16] = 40; leng[16] = 9;
start[17] = 40; leng[17] = 9;
start[18] = 40; leng[18] = 9;
start[19] = 40; leng[19] = 9;
start[20] = 49; leng[20] = 2;
start[21] = 51; leng[21] = 4;
start[22] = 55; leng[22] = 4;
start[23] = 59; leng[23] = 4;
start[24] = 63; leng[24] = 1;
start[25] = 63; leng[25] = 1;
start[26] = 64; leng[26] = 5;
start[27] = 69; leng[27] = 5;
start[28] = 74; leng[28] = 2;
start[29] = 76; leng[29] = 4;
start[30] = 80; leng[30] = 3;
start[31] = 83; leng[31] = 7;
start[32] = 90; leng[32] = 3;
start[33] = 93; leng[33] = 6;
start[34] = 99; leng[34] = 7;
start[35] = 106; leng[35] = 6;


function addline(x) {
        var t = '', s = '';


        x = x.toUpperCase(); x = ' ' + x + ' ';

        for (n=0; n<x.length; ++n) {
                if ((x.substring(n,n+1) >= 'A' && x.substring(n,n+1) <= 'Z')
                 || x.substring(n,n+1) == ' ')
                        t += x.substring(n,n+1);
        }

        flag = 35; // NOKEYFOUND
        zz = -1;

        for (n=0; n<36; ++n) {
                if (t.indexOf(kwd[n]) > -1) {
                        flag = n; zz = t.indexOf(kwd[n]) + kwd[n].length; break;
                }
        }

        s = reply[ ctr[flag] ];
        ++ctr[flag];
        if (ctr[flag] == start[flag] + leng[flag] - 1) ctr[flag] = start[flag] - 1;

        if (s.substring(s.length - 1, s.length) == '*') {
                q = t.substring(zz,t.length);

                for (n=0; n<14; n+=2) {
                        for (m=0; m<q.length; ++m) {
                                flag = 0;
                                if (m+conjug[n].length <= q.length) {
                                        if (q.substring(m,m+conjug[n].length) == conjug[n]) {
                                                q = q.substring(0,m) + conjug[n+1] +
                                                 q.substring(m+conjug[n+1].length+2, q.length);
                                                flag = 1;
                                        }
                                }
                                if (m+conjug[n+1].length <= q.length && !flag) {
                                        if (q.substring(m,m+conjug[n+1].length) == conjug[n+1]) {
                                                q = q.substring(0,m) + conjug[n] +
                                                 q.substring(m+conjug[n].length+2, q.length);
                                        }
                                }
                        }
                }


                s = s.substring(0, s.length - 1) + q;
        }

        document.forms[0].txt.value += s + "\n";
}

for (n=0; n<36; ++n)  ctr[n] = start[n] - 1;

function doit() {
        addline(document.forms[0].line.value);
        document.forms[0].line.value = '';
        document.forms[0].txt.select();
}

function animy() {
	 mywin = window;
	 popwin = window.open('http://www.ananova.com/video/launchpad.html?category=summary','pop_up_news',
'scrollbars=yes,width=500,height=400,left=0,top=0,title=Education_News');
    mywin.focus();
}

