isNS=(!document.all&&document.getElementById)?true:false;var curX,curY,oldX,oldY;var started=0,moving=0;var mazex=new Array(300,300,60,60,300,300,60,60,300,300,60,60);var mazey=new Array(20,60,60,115,115,170,170,225,225,280,280,330);var maxent=11;var boxX,boxY;var boxes=new Array("RImg","BImg");var boxstat=new Array("RT1","BT1","RT2","BT2");var boxgraph=new Array("BB1","BB2","BB3","BB4");var maxhisto=60;var starts=new Array(4);var ends=new Array(4);var now;var mazeCur=0;var mode=0;var active=0;var yOff=311;var xOff=new Array(73,513);var wid=20;if(isNS){document.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN|Event.MOUSEMOVE)}function calctime(c,a){var b=Math.round((a-c-0)/100)/10;return b}function getclock(){var a=new Date();return a.getTime()}function setposX(b,a){document.getElementById(b).style.left=a+"px"}function setposY(b,a){document.getElementById(b).style.top=a+"px"}function SetBoxPos(b,a){boxX=b;boxY=a;setposX(boxes[active],b-wid);setposY(boxes[active],a-wid)}function InitBoxes(a){active=1;yOff=document.getElementById("Table1").offsetHeight+document.getElementById("Table2").offsetHeight;SetBoxPos(mazex[maxent]+xOff[1],mazey[maxent]+yOff);active=0;SetBoxPos(mazex[a]+xOff[0],mazey[a]+yOff)}function startMaze(){var a;started=1;mode=0;mazeCur=0;InitBoxes(0);document.getElementById(boxes[0]).style.backgroundImage="url(images/redsmile.gif)";document.getElementById(boxes[1]).style.backgroundImage="url(images/blue.gif)";for(a=0;a<4;a++){starts[a]=0;document.getElementById(boxgraph[a]).width=1;document.getElementById(boxstat[a]).innerHTML=" "}document.getElementById("BB2a").width=1;document.getElementById("BB4a").width=1;document.getElementById("CYCLE").innerHTML=" ";document.getElementById("EFFIC").innerHTML=" ";document.getElementById("Result").innerHTML=" ";starts[0]=getclock();document.onmouseup=downMouse;document.onmousemove=checkLocation}function downMouse(a){if(started){curX=(isNS)?a.pageX:(window.event.x+document.body.parentNode.scrollLeft);curY=(isNS)?a.pageY:(window.event.y+document.body.parentNode.scrollTop);oldX=curX;oldY=curY;TestMouseOver()}}function TestMouseOver(){var c=boxX-20;var a=boxY-20;var b=boxX+20;var d=boxY+20;if(curX<=b&&curX>=c&&curY<=d&&curY>=a){moving=1;if(isNS){document.captureEvents(Event.MOUSEMOVE)}}else{moving=0}}function upMouse(a){if(started){moving=0;if(isNS){document.releaseEvents(Event.MOUSEMOVE)}}}function switchBox(c){now=getclock();var a=active+(mode==0?0:2);var b=starts[a]>0?calctime(starts[a],now):0;var d=starts[a]>0?String(b):"&nbsp;";if(c){document.getElementById(boxes[0]).style.backgroundImage="url(images/red.gif)";document.getElementById(boxes[1]).style.backgroundImage="url(images/blue.gif)";ends[3]=now}else{if(active){document.getElementById(boxes[0]).style.backgroundImage="url(images/redsmile.gif)";document.getElementById(boxes[1]).style.backgroundImage="url(images/blue.gif)"}else{document.getElementById(boxes[0]).style.backgroundImage="url(images/red.gif)";document.getElementById(boxes[1]).style.backgroundImage="url(images/bluesmile.gif)"}}var e=calctime(starts[(a&1)?a-1:a],now);if(e>maxhisto){b-=(e-maxhisto)}if(b<1){b=1}document.getElementById(boxstat[a]).innerHTML=d;document.getElementById(boxgraph[a]).width=4*b;if(!c){if(active==0){active=1;if(mazeCur==0){document.getElementById(mode?"BB4a":"BB2a").width=4*b}}else{active=0}}}function checkLocation(f){var g=false;oldX=curX;oldY=curY;curX=isNS?f.pageX:(window.event.x+document.body.parentNode.scrollLeft);curY=isNS?f.pageY:(window.event.y+document.body.parentNode.scrollTop);if(moving==1){var a=mazex[mazeCur]+xOff[active];var c=mazex[mazeCur+1]+xOff[active];var b=mazey[mazeCur]+yOff;var d=mazey[mazeCur+1]+yOff;if(a>c){if(oldX>curX){boxX=boxX-(oldX-curX);if(boxX<c){boxX=c}if(boxX==c){g=true}}}else{if(a<c){if(oldX<curX){boxX=boxX+(curX-oldX);if(boxX>c){boxX=c}if(boxX==c){g=true}}}else{if(b>d){if(oldY>curY){boxY=boxY-(oldY-curY);if(boxY<d){boxY=d}if(boxY==d){g=true}}}else{if(oldY<curY){boxY=boxY+(curY-oldY);if(boxY>d){boxY=d}if(boxY==d){g=true}}}}}SetBoxPos(boxX,boxY);if(g){if(mode==0){switchBox(false);if(active==0){mazeCur++;if(mazeCur>=maxent){mode=1;mazeCur=0;ends[1]=now}}else{if(mazeCur==maxent-1){ends[0]=now}}if(mazeCur==0){starts[2*mode+active]=now}SetBoxPos(mazex[mazeCur]+xOff[active],mazey[mazeCur]+yOff)}else{mazeCur++;if(mazeCur>=maxent){if(active==0){mazeCur=0;switchBox(false);SetBoxPos(mazex[0]+xOff[1],mazey[0]+yOff);starts[3]=now;ends[2]=now}else{finishup();return false}}}}TestMouseOver()}return false}function finishup(){moving=0;started=0;if(isNS){document.releaseEvents(Event.MOUSEMOVE)}switchBox(true);var b=100-Math.round(100*(calctime(starts[2],ends[3])/calctime(starts[0],ends[1])));var a=100-Math.round(100*(calctime(starts[2],ends[2])+calctime(starts[3],ends[3]))/(calctime(starts[0],ends[0])+calctime(starts[1],ends[1])));document.getElementById("CYCLE").innerHTML=String(a)+"%";document.getElementById("EFFIC").innerHTML=String(b)+"%";document.getElementById("Result").innerHTML=String(a)+"%"+(b>0?" !!":" ");if(b>0){alert("Efficiency improvement: "+b+"%, Cycle time: "+a+"% !!")}else{alert("No efficiency improvement. Did you focus? Press Start to try again.")}};
