document.bgColor='#BBFF77';

carry=0;

flag=-1;

function start() {
setTimeout('rightwing(5)',400);
}

move=0;

app="I";if(navigator.appName=="Netscape") app="N";
mac=1;if(navigator.appVersion.indexOf("Macintosh")==-1) mac=0;

if (app=="N") {doc_ref="document.layers";style_ref="";}
else{doc_ref="document.all";style_ref=".style";}

function moveLayer(layerName,left,top){
eval(doc_ref+'["'+layerName+'"]'+style_ref+'.top=top');
eval(doc_ref+'["'+layerName+'"]'+style_ref+'.left=left');
}

function hideLayer(layerName){eval(doc_ref+'["'+layerName+'"]'+style_ref+'.visibility="hidden"');}
function showLayer(layerName){eval(doc_ref+'["'+layerName+'"]'+style_ref+'.visibility="visible"');}

// *****************

if (app=="I") {
window.document.onmousemove=mouseMoveIE;
window.document.onmousedown=mouseDown;
}
else {
document.captureEvents(Event.MOUSEMOVE | Event.MOUSEDOWN);
document.onmousemove=mouseMoveNS;
document.onmousedown=mouseDown;
}

function mouseMoveIE() {
lx=window.event.x+20;ly=window.event.y;
if(mac==1) {lx+=document.body.scrollLeft;ly+=document.body.scrollTop;}
move_eyes(lx,ly);
if(carry>0) moveLayer('block'+this_word,lx,ly-6);
}

function mouseMoveNS(e) {
lx=e.pageX+20;ly=e.pageY;
move_eyes(lx,ly);
if(carry>0) moveLayer('block'+this_word,lx,ly-6);
}

function mouseDown() {
if(carry==0) return;
eval(doc_ref+'["block'+this_word+'"]'+style_ref+'.zIndex-=100');
carry=0;
}


// *****************

function checklist() {
finished=0;
for(i=1;i<(total_items+1); i++) {
if(t_status[i]==i) finished++;
}
if(finished==total_items) {
write_items(0);
rightwing(5);
leftwing(5);
displayText(endmessage,0);
}
}

function write_items(lk) {
for(i=1;i<(total_items+1); i++) {
j=t_status[i];if(lk==1) j=i-1;
numb='<SPAN Class="numstyle">&nbsp;';
if(i<10) numb+='&nbsp; ';
numb=numb+i+'&nbsp; </SPAN>';
link=numb;if(lk==1) link='<a href="javascript:drop_word('+i+')" onmouseover="set_flag('+i+')" onmouseout="unset_flag()">'+numb+'</a>';
str='<table border="0" cellpadding="4" cellspacing="0" bgcolor="#804040"><tr><td>'+link+'</td></tr></table>';
write_to_layer('num'+i);
link=text_items[i-1];if(lk==1) link='<a href="javascript:get_word('+(j+1)+')"><p id="wordstyle">'+text_items[j]+'</a>';
str='<table border="0" cellpadding="4" cellspacing="0" bgcolor="#804040"><tr><td><p id="wordstyle">'+link+'</td></tr></table>'
write_to_layer('block'+i);
}
}

function do_check() {
finished=0;
for(i=1;i<(total_items+1); i++) {
if(t_status[i]==i) finished++;
else if(t_status[i]>0) moveLayer('block'+i,tpos+50,t_status[i]*35-5);
}
finitem=" items";
if(finished==1) finitem=" item";
rightwing(5);
displayText("You have put "+finished+finitem+" in the right order.",1);
}

function displayText(text,okbutton) {
str=messa+text+'</td></tr></table>';
if(okbutton==1)str='<form>'+messa+text+messb;
write_to_layer("textitem");
showLayer("textitem");
}

t_status=new Array(total_items+1);

helpmessage="Click on an item to pick it up.<br><br>Click on a number to drop it there.<br><br>Use the <B>check</B> button to see how well you are doing.";
eyex=127;eyey=318;

tpos=304;if(app=="N") tpos=310;
if(mac==1) tpos=298;


messa='<table width="164" border="1" cellpadding="6" cellspacing="0" bgcolor="#FFFFFF"><tr><td align="center"><P>';
messb='<br><input type="button" value="ok" onclick="javascript:hidetext()"></td></tr></table></form>';

for(i=1;i<(total_items+1); i++) {t_status[i]=0;}

bit='<table border="0" cellpadding="0" cellspacing="0" width="240" bgcolor="#D9FFFF"><tr><td align="center"><H1>'+titlemessage+'</td></tr></table>';


makelayer('back','visible',0,0,screen.width,572,0);
w('<table border="0" cellpadding="0" cellspacing="0" background="../images/back.jpg" height="572" width="'+screen.width+'"><tr><td>&nbsp; </td></tr></table>');
endbit();

makelayer('owl','visible',55,278,138,172,60);
w('<img src="../images/owl.gif" WIDTH="138" HEIGHT="172">');
endbit();

makelayer('rwing','visible',154,278,95,154,50);
w('<img name="rwing" src="../images/rwing0.gif" WIDTH="95" HEIGHT="154">');
endbit();

makelayer('lwing','visible',0,278,95,154,50);
w('<img name="lwing" src="../images/lwing0.gif" WIDTH="95" HEIGHT="154">');
endbit();

makelayer('eye','visible',84,303,82,28,60);
w('<img name="eyes" src="../images/eyes4.gif" WIDTH="82" HEIGHT="28">');
endbit();

makelayer('tree','visible',176,0,219,562,40);
w('<img src="../images/trunk.gif" width="219" height="562">');
endbit();

makelayer('branch','visible',55,429,138,21,40);
w('<img src="../images/branch.gif" width="138" height="21">');
endbit();

makelayer('title','visible',0,10,240,20,35);
w(bit);
endbit();

makelayer('logo','visible',24,482,153,42,60);
w('<img src="../images/xemp50.gif" width="153" height="42">');
endbit();

//-------------------------

randomise();
loopl=-1;loopr=-1;

for(i=1;i<(total_items+1); i++) {
j=t_status[i];

numb='<SPAN Class="numstyle">&nbsp;';
if(i<10) numb+='&nbsp; ';
numb=numb+i+'&nbsp; </SPAN>';

ttop=i*35-25;
tleft=500+((i+1)%2)*100;

makelayer('num'+i,'visible',256,ttop,80,26,100);
w('<table border="0" cellpadding="4" cellspacing="0" bgcolor="#804040"><tr><td><a href="javascript:drop_word('+i+')" onmouseover="set_flag('+i+')" onmouseout="unset_flag()">'+numb+'</a></td></tr></table>');
endbit();

makelayer('block'+(j+1),'visible',tleft,ttop,54,26,110);
w('<table border="0" cellpadding="4" cellspacing="0" bgcolor="#804040"><tr><td><a href="javascript:get_word('+(j+1)+')"><p id="wordstyle">'+text_items[j]+'</a></td></tr></table>');
endbit();

t_status[i]=0;
}

sp6='<br><img src="../images/blank.gif" width="10" height="6"><br>';

sp50='<br><img src="../images/blank.gif" width="10" height="170"><br>';


makelayer('textitem','visible',46,70,164,100,155);
w('<form>'+messa+startmessage+messb);
endbit();

makelayer('buttons1','visible',0,70,20,20,150);
w('<form><a href="javascript:do_help()"><img src="../images/help.gif" width="64" height="42" border="0"></a>'+sp6+'<a href="javascript:do_check()"><img src="../images/check.gif" width="64" height="42" border="0"></a>'+sp6+'<a href="javascript:do_reset()"><img src="../images/reset.gif" width="64" height="42" border="0"></a>'+sp50+'<a href="javascript:window.close()"><img src="../images/quit.gif" width="64" height="42" border="0"></a></form>');
endbit();


//-------------------------

function set_flag(fl) {
if(carry==1) flag=fl;
}

function unset_flag() {
flag=-1;
}

function get_word(tw) {
if(carry==1) return;
carry=1;
this_word=tw;
eval(doc_ref+'["block'+this_word+'"]'+style_ref+'.zIndex+=100');
t_status[this_word]=0;
}

function drop_word(tn) {
if(flag==-1) return;
flag=-1;
moveLayer('block'+this_word,tpos,tn*35-25);
t_status[this_word]=tn;
checklist();
}

function do_help() {
displayText(helpmessage,1);
}

function do_reset() {

document.lwing.src='../images/lwing0.gif';
document.rwing.src='../images/rwing0.gif';
write_items(1);
randomise();
loopl=-1;loopr=-1;
rightwing(5);

for(i=1;i<(total_items+1); i++) {
ttop=i*35-25;
tleft=500+((i+1)%2)*100;
eval('moveLayer("block'+(t_status[i]+1)+'",tleft,ttop)');
t_status[i]=0;
}
displayText(startmessage,1);
}

function randomise() {
t_status[1]=get_random();
for(i=2;i<(total_items+1); i++) {
ok=false;
while(ok==false) {
t_status[i]=get_random();
ok2=true;
for(j=1;j<i; j++) {
if(t_status[i]==t_status[j]) ok2=false;
}
if(ok2==true) ok=true;
}
}
}

function get_random() {return parseInt(Math.random()*1000)%total_items;}

function leftwing(lw) {
if(loopl!=lw) {
lw_inc=-1;loopl=3;if(lw==5) {lw_inc=1;loopl=1;}
lw_end=lw;
lwing();
}
}

function lwing() {
eval('document.lwing.src="../images/lwing'+loopl+'.gif"');
loopl+=lw_inc;
if(loopl!=lw_end) setTimeout("lwing()",60);
}

function rightwing(rw) {
if(loopr!=rw) {
rw_inc=-1;loopr=3;if(rw==5) {rw_inc=1;loopr=1;}
rw_end=rw;
rwing();
}
}

function rwing() {
eval('document.rwing.src="../images/rwing'+loopr+'.gif"');
loopr+=rw_inc;
if(loopr!=rw_end) setTimeout("rwing()",60);
}


function hidetext() {
hideLayer('textitem');
rightwing(-1);
}

function move_eyes(mposx,mposy) {
mposx=mposx-eyex;
mposy=eyey-mposy;
mval=mposx/mposy;

if((mposx>-50)&&(mposx<50)&&(mposy>-20)&&(mposy<20)) seg=4;
else {
if((mval>=-0.414)&&(mval<=0.414)) {
if(mposy>=0) seg=7;
if(mposy<0) seg=1;
}
if((mval>=0.414)&&(mval<=2.414)) {
if(mposx>=0) seg=8;
if(mposx<=0) seg=0;
}
if((mval<=-0.414)&&(mval>=-2.414)) {
if(mposx<0) seg=6;
if(mposx>0) seg=2;
}
if((mval>=2.414)||(mval<=-2.414)) {
if(mposx>=0) seg=5;
if(mposx<=0) seg=3;
}
}
eval('document.eyes.src="../images/eyes'+seg+'.gif"');
}

// ---------------

function write_to_layer(layer) {
if (app=="N") {with (document.layers[layer].document) {open();write(str);close();}}
else document.all[layer].innerHTML=str;
}

function makelayer(name,vis,left,top,width,height,z) {
if (app=="I") w('<div id="'+name+'" STYLE="position:absolute;visibility:'+vis+';left:'+left+';top:'+top+';width:'+width+';height:'+height+';z-index:'+z+';">');
else w('<layer id="'+name+'" position=absolute visibility='+vis+' left='+left+' top='+top+' width='+width+' height='+height+' z-index='+z+';">');
}

function w(cont) {
document.write(cont);
}

function endbit() {
if (app=="I") w('</div>');
else w('</layer>');
}
