var timeout1=0;
var timeout2=0;
var timeout3=0;
var timeout4=0;
var timeout0=0;
var timeoutw=0;
var timeoutx=0;
var timeoutl=0;
var timeoutr=0;
var timeoutlw=0;
var timeoutrw=0;
var blank=0;
var x=0;
var gc=0;
var rc=0;
var dc=0;
var rn=0;
var trials=0;
var tr=0;
var gtryes=0;
var gtrno=0;
var rtryes=0;
var rtrno=0;
var gtimeyes=0;
var gtimeno=0;
var rtimeyes=0;
var rtimeno=0;

var sumgs=0;
var sumgss=0;
var sumrs=0;
var sumrss=0;
var sumts=0;
var sumtss=0;
var sdevgs=0;
var sdevrs=0;
var sdevts=0;
var ssgs=0;
var ssgd=0;
var ssrs=0;
var ssrd=0;
var ssts=0;
var sstd=0;

var sumgd=0;
var sumrd=0;
var sumtd=0;
var sumgds=0;
var sumrds=0;
var sumtds=0;

var sdevgd=0;
var sdevrd=0;
var sdevtd=0;

var ttg=0;
var ttr=0;
var ttt=0;

//df=4
var ta05=2.776;
var ta01=4.604;
var ta001=8.61;

//df=10
var tb05=2.228;
var tb01=3.169;
var tb001=4.587;

//df=22
var tc05=2.074;
var tc01=2.819;
var tc001=3.792;

//df=46
var td05=2.013;
var td01=2.687;
var td001=3.515;

//df=94
var te05=1.986;
var te01=2.629;
var te001=3.397;

//df=190
var tf05=1.973;
var tf01=2.602;
var tf001=3.342;

//df=382
var tg05=1.966;
var tg01=2.589;
var tg001=3.316;

var objDate1=0;
var objDate2=0;
var lapsed = 0;
var greenp = new Image();
var redp = new Image();
var greenw = new Image();
var redw = new Image();
var back = new Image();
var five = new Image();
var four = new Image();
var three = new Image();
var two = new Image();
var one = new Image();
var start = new Image();
var nextt = new Image();
var resshow = new Image();
var gmatch = new Array(100);
var gnmatch = new Array(100);
var rmatch = new Array(100);
var rnmatch = new Array(100);

var meangs=0;
var meanrs=0;
var meants=0;
var meangd=0;
var meanrd=0;
var meantd=0;

back.src = "Images/Precog/blank.png";
greenp.src = "Images/Precog/green.png";
redp.src = "Images/Precog/red.png";
greenw.src = "Images/Precog/greenw.png";
redw.src = "Images/Precog/redw.png";
five.src = "Images/Precog/five.png";
four.src = "Images/Precog/four.png";
three.src = "Images/Precog/three.png";
two.src = "Images/Precog/two.png";
one.src = "Images/Precog/one.png";
start.src = "Images/Precog/start.png";
nextt.src = "Images/Precog/nextt.png";
resshow.src= "Images/Precog/results.png";

document.onkeydown = KeyCheck;       

function resetall(){
if(document.forms.prec.Reset.value==""){return;}
begin();
}

function nexttr(){
window.document.scren.src=nextt.src;
blank=1;
while(blank==1){rnd();}
}

function begin(){
cleartimes();
window.document.scren.src=start.src;
objDate1=0;
objDate2=0;
lapsed=0;
x=0;
tr=0;
gtryes=0;
gtrno=0;
gtimeyes=0;
gtimeno=0;
rtryes=0;
rtrno=0;
rtimeyes=0;
rtimeno=0;
gc=0;
rc=0;
dc=0;
meangs=0;
meanrs=0;
meants=0;
meangd=0;
meanrd=0;
meantd=0;
blank=0;
for (x=0;x<100;x++){
gmatch[x]=0;
rmatch[x]=0;
gnmatch[x]=0;
rnmatch[x]=0;
}
document.forms.prec.trialn.value="";
document.forms.prec.Reset.value="";
resetres();
}

function resetres(){
document.forms.prec.Finres.value="";
document.forms.prec.Wdsam.value="";
document.forms.prec.Wddif.value="";
document.forms.prec.Statan.value="";
document.forms.prec.Evfor.value="";
document.forms.prec.Evfor1.value="";
document.forms.prec.Collab.value="";
document.forms.prec.Grlab.style.backgroundColor="#E6E6E6";
document.forms.prec.Rdlab.style.backgroundColor="#E6E6E6";
document.forms.prec.Totlab.value="";
document.forms.prec.Nlab1.value="";
document.forms.prec.Nlab2.value="";
document.forms.prec.Mlab1.value="";
document.forms.prec.Mlab2.value="";
document.forms.prec.SDlab1.value="";
document.forms.prec.SDlab2.value="";
document.forms.prec.Tlab.value="";
document.forms.prec.DFlab.value="";
document.forms.prec.Plab.value="";
document.forms.prec.ngs.value="";
document.forms.prec.mgs.value="";
document.forms.prec.sgs.value="";
document.forms.prec.nrs.value="";
document.forms.prec.mrs.value="";
document.forms.prec.srs.value="";
document.forms.prec.nts.value="";
document.forms.prec.mts.value="";
document.forms.prec.sts.value="";
document.forms.prec.ngd.value="";
document.forms.prec.mgd.value="";
document.forms.prec.sgd.value="";
document.forms.prec.nrd.value="";
document.forms.prec.mrd.value="";
document.forms.prec.srd.value="";
document.forms.prec.ntd.value="";
document.forms.prec.mtd.value="";
document.forms.prec.std.value="";
document.forms.prec.tgreen.value="";
document.forms.prec.tred.value="";
document.forms.prec.ttot.value="";
document.forms.prec.dfgreen.value="";
document.forms.prec.dfred.value="";
document.forms.prec.dftot.value="";
document.forms.prec.pgreen.value="";
document.forms.prec.pred.value="";
document.forms.prec.ptot.value="";
document.forms.prec.evgreen.value="";
document.forms.prec.evred.value="";
document.forms.prec.evtot.value="";
}

function cleartimes(){
clearTimeout(timeout0);
clearTimeout(timeout1);
clearTimeout(timeout2);
clearTimeout(timeout3);
clearTimeout(timeout4);
clearTimeout(timeoutw);
clearTimeout(timeoutx);
clearTimeout(timeoutl);
clearTimeout(timeoutr);
clearTimeout(timeoutlw);
clearTimeout(timeoutrw);
}

function clicked(){
if(window.document.forms.prec.scren.src==resshow.src){return;}
if((dc==1)&&((window.document.scren.src==five.src)||window.document.scren.src==four.src)||(window.document.scren.src==three.src)||(window.document.scren.src==two.src)||(window.document.scren.src==one.src)){return;}

if(document.forms.prec.radtr[0].checked==true){trials=3;}
if(document.forms.prec.radtr[1].checked==true){trials=12;}
if(document.forms.prec.radtr[2].checked==true){trials=24;}
if(document.forms.prec.radtr[3].checked==true){trials=48;}
if(document.forms.prec.radtr[4].checked==true){trials=96;}

if((window.document.scren.src==greenp.src)&&(gc!=1)){return;}
if((window.document.scren.src==redp.src)&&(rc!=1)){return;}
if((window.document.scren.src==greenw.src)&&(gc!=1)){return;}
if((window.document.scren.src==redw.src)&&(rc!=1)){return;}

if((window.document.scren.src==start.src)&&(dc!=1)){return;}
if((window.document.scren.src==nextt.src)&&(dc!=1)){return;}

if(window.document.scren.src==greenp.src){clearTimeout(timeoutl);}
if(window.document.scren.src==redp.src){clearTimeout(timeoutr);}

if(window.document.scren.src==greenw.src){clearTimeout(timeoutlw);}
if(window.document.scren.src==redw.src){clearTimeout(timeoutrw);}

if (window.document.scren.src==start.src){blank=1;document.forms.prec.Reset.value="Reset";document.forms.prec.trialn.value=trials*4+1;rnd();}
if ((window.document.scren.src==start.src)||(window.document.scren.src==nextt.src)){window.document.scren.src=five.src;timers();return;}
if ((window.document.scren.src==greenp.src)||(window.document.scren.src==redp.src)){time2();data();sword();return;}
if ((window.document.scren.src==greenw.src)||(window.document.scren.src==redw.src)){time2();gc=0;rc=0;dc=0;checkend();}
}

function rnd() {
rn=(Math.floor(Math.random()*4)+1);
closchk();
}

function closchk() {
if ((rn==1)&&(gtryes>=trials)) {return;}
if ((rn==2)&&(gtrno>=trials)) {return;}
if ((rn==3)&&(rtryes>=trials)) {return;}
if ((rn==4)&&(rtrno>=trials)) {return;}
blank=0;
document.forms.prec.trialn.value--;
}

function timers(){
gc=0;rc=0;dc=0;
cleartimes();
timeout4=setTimeout('sfour()',800);
timeout3=setTimeout('sthree()',1600);
timeout2=setTimeout('stwo()',2400);
timeout1=setTimeout('sone()',3200);
timeout0=setTimeout('spatch()',4000);
}

function sfour(){
window.document.scren.src=four.src;
}

function sthree(){
window.document.scren.src=three.src;
}

function stwo(){
window.document.scren.src=two.src;
}

function sone(){
window.document.scren.src=one.src;
}

function spatch(){
if ((rn==1)||(rn==2)){window.document.scren.src=greenp.src;gc=1;timeoutl=setTimeout('alleft()',5000);}else{window.document.scren.src=redp.src;rc=1;timeoutr=setTimeout('alright()',5000);}
time1();
}

function alleft(){
alert("PRESS LEFT ARROW");
clearTimeout(timeoutl);
clearTimeout(timeoutlw);
}

function alright(){
alert("PRESS RIGHT ARROW");
clearTimeout(timeoutr);
clearTimeout(timeoutrw);
}

function sword(){
if((rn==1)||(rn==4)){window.document.scren.src=greenw.src;gc=1;timeoutlw=setTimeout('alleft()',5000);}
if((rn==2)||(rn==3)){window.document.scren.src=redw.src;rc=1;timeoutrw=setTimeout('alright()',5000);}
}

function data(){
if (rn==1){gaddyes();}
if (rn==2){gaddno();}
if (rn==3){raddyes();}
if (rn==4){raddno();}
}

function checkend(){
if((gtryes<trials)||(gtrno<trials)||(rtryes<trials)||(rtrno<trials)){tr++;nexttr();return;}
display();
document.forms.prec.Reset.value="Reset";
}

function calcsd(){
sumgs=0;sumrs=0;sumts=0;sumgss=0;sumrss=0;sumtss=0;
sumgd=0;sumrd=0;sumtd=0;sumgds=0;sumrds=0;sumtds=0;

for(x=0;x<=trials-1;x++){
sumgs=sumgs+gmatch[x];
sumgss=sumgss+(gmatch[x]*gmatch[x]);
sumrs=sumrs+rmatch[x];
sumrss=sumrss+(rmatch[x]*rmatch[x]);
sumts=sumgs+sumrs;
sumtss=sumgss+sumrss;
sumgd=sumgd+gnmatch[x];
sumgds=sumgds+(gnmatch[x]*gnmatch[x]);
sumrd=sumrd+rnmatch[x];
sumrds=sumrds+(rnmatch[x]*rnmatch[x]);
sumtd=sumgd+sumrd;
sumtds=sumgds+sumrds;
}

ssgs=sumgss-(sumgs*sumgs)/trials;
ssgd=sumgds-(sumgd*sumgd)/trials;
ssrs=sumrss-(sumrs*sumrs)/trials;
ssrd=sumrds-(sumrd*sumrd)/trials;
ssts=sumtss-(sumts*sumts)/(trials*2);
sstd=sumtds-(sumtd*sumtd)/(trials*2);

sdevgs=Math.sqrt(ssgs/(trials-1));
sdevrs=Math.sqrt(ssrs/(trials-1));
sdevts=Math.sqrt(ssts/(trials*2-1));
sdevgd=Math.sqrt(ssgd/(trials-1));
sdevrd=Math.sqrt(ssrd/(trials-1));
sdevtd=Math.sqrt(sstd/(trials*2-1));
}

function calct(){
ttg=(meangd-meangs)/Math.sqrt((ssgd+ssgs)/(trials*(trials-1)));
ttr=(meanrd-meanrs)/Math.sqrt((ssrd+ssrs)/(trials*(trials-1)));
ttt=(meantd-meants)/Math.sqrt((sstd+ssts)/((trials*2)*((trials*2)-1)));
}

function calcp(){

if(trials==3){

if(Math.abs(ttg)<ta05){document.forms.prec.pgreen.value="ns";document.forms.prec.evgreen.value="None";}
if(Math.abs(ttg)>=ta05){document.forms.prec.pgreen.value=0.05;document.forms.prec.evgreen.value="Fair";}
if(Math.abs(ttg)>=ta01){document.forms.prec.pgreen.value=0.01;document.forms.prec.evgreen.value="Good";}
if(Math.abs(ttg)>=ta001){document.forms.prec.pgreen.value=0.001;document.forms.prec.evgreen.value="Excellent";}

if(Math.abs(ttr)<ta05){document.forms.prec.pred.value="ns";document.forms.prec.evred.value="None";}
if(Math.abs(ttr)>=ta05){document.forms.prec.pred.value=0.05;document.forms.prec.evred.value="Fair";}
if(Math.abs(ttr)>=ta01){document.forms.prec.pred.value=0.01;document.forms.prec.evred.value="Good";}
if(Math.abs(ttr)>=ta001){document.forms.prec.pred.value=0.001;document.forms.prec.evred.value="Excellent";}

if(Math.abs(ttt)<tb05){document.forms.prec.ptot.value="ns";document.forms.prec.evtot.value="None";}
if(Math.abs(ttt)>=tb05){document.forms.prec.ptot.value=0.05;document.forms.prec.evtot.value="Fair";}
if(Math.abs(ttt)>=tb01){document.forms.prec.ptot.value=0.01;document.forms.prec.evtot.value="Good";}
if(Math.abs(ttt)>=tb001){document.forms.prec.ptot.value=0.001;document.forms.prec.evtot.value="Excellent";}
}

if(trials==12){

if(Math.abs(ttg)<tc05){document.forms.prec.pgreen.value="ns";document.forms.prec.evgreen.value="None";}
if(Math.abs(ttg)>=tc05){document.forms.prec.pgreen.value=0.05;document.forms.prec.evgreen.value="Fair";}
if(Math.abs(ttg)>=tc01){document.forms.prec.pgreen.value=0.01;document.forms.prec.evgreen.value="Good";}
if(Math.abs(ttg)>=tc001){document.forms.prec.pgreen.value=0.001;document.forms.prec.evgreen.value="Excellent";}

if(Math.abs(ttr)<tc05){document.forms.prec.pred.value="ns";document.forms.prec.evred.value="None";}
if(Math.abs(ttr)>=tc05){document.forms.prec.pred.value=0.05;document.forms.prec.evred.value="Fair";}
if(Math.abs(ttr)>=tc01){document.forms.prec.pred.value=0.01;document.forms.prec.evred.value="Good";}
if(Math.abs(ttr)>=tc001){document.forms.prec.pred.value=0.001;document.forms.prec.evred.value="Excellent";}

if(Math.abs(ttt)<td05){document.forms.prec.ptot.value="ns";document.forms.prec.evtot.value="None";}
if(Math.abs(ttt)>=td05){document.forms.prec.ptot.value=0.05;document.forms.prec.evtot.value="Fair";}
if(Math.abs(ttt)>=td01){document.forms.prec.ptot.value=0.01;document.forms.prec.evtot.value="Good";}
if(Math.abs(ttt)>=td001){document.forms.prec.ptot.value=0.001;document.forms.prec.evtot.value="Excellent";}
}

if(trials==24){

if(Math.abs(ttg)<td05){document.forms.prec.pgreen.value="ns";document.forms.prec.evgreen.value="None";}
if(Math.abs(ttg)>=td05){document.forms.prec.pgreen.value=0.05;document.forms.prec.evgreen.value="Fair";}
if(Math.abs(ttg)>=td01){document.forms.prec.pgreen.value=0.01;document.forms.prec.evgreen.value="Good";}
if(Math.abs(ttg)>=td001){document.forms.prec.pgreen.value=0.001;document.forms.prec.evgreen.value="Excellent";}

if(Math.abs(ttr)<td05){document.forms.prec.pred.value="ns";document.forms.prec.evred.value="None";}
if(Math.abs(ttr)>=td05){document.forms.prec.pred.value=0.05;document.forms.prec.evred.value="Fair";}
if(Math.abs(ttr)>=td01){document.forms.prec.pred.value=0.01;document.forms.prec.evred.value="Good";}
if(Math.abs(ttr)>=td001){document.forms.prec.pred.value=0.001;document.forms.prec.evred.value="Excellent";}

if(Math.abs(ttt)<te05){document.forms.prec.ptot.value="ns";document.forms.prec.evtot.value="None";}
if(Math.abs(ttt)>=te05){document.forms.prec.ptot.value=0.05;document.forms.prec.evtot.value="Fair";}
if(Math.abs(ttt)>=te01){document.forms.prec.ptot.value=0.01;document.forms.prec.evtot.value="Good";}
if(Math.abs(ttt)>=te001){document.forms.prec.ptot.value=0.001;document.forms.prec.evtot.value="Excellent";}
}


if(trials==48){

if(Math.abs(ttg)<te05){document.forms.prec.pgreen.value="ns";document.forms.prec.evgreen.value="None";}
if(Math.abs(ttg)>=te05){document.forms.prec.pgreen.value=0.05;document.forms.prec.evgreen.value="Fair";}
if(Math.abs(ttg)>=te01){document.forms.prec.pgreen.value=0.01;document.forms.prec.evgreen.value="Good";}
if(Math.abs(ttg)>=te001){document.forms.prec.pgreen.value=0.001;document.forms.prec.evgreen.value="Excellent";}

if(Math.abs(ttr)<te05){document.forms.prec.pred.value="ns";document.forms.prec.evred.value="None";}
if(Math.abs(ttr)>=te05){document.forms.prec.pred.value=0.05;document.forms.prec.evred.value="Fair";}
if(Math.abs(ttr)>=te01){document.forms.prec.pred.value=0.01;document.forms.prec.evred.value="Good";}
if(Math.abs(ttr)>=te001){document.forms.prec.pred.value=0.001;document.forms.prec.evred.value="Excellent";}

if(Math.abs(ttt)<tf05){document.forms.prec.ptot.value="ns";document.forms.prec.evtot.value="None";}
if(Math.abs(ttt)>=tf05){document.forms.prec.ptot.value=0.05;document.forms.prec.evtot.value="Fair";}
if(Math.abs(ttt)>=tf01){document.forms.prec.ptot.value=0.01;document.forms.prec.evtot.value="Good";}
if(Math.abs(ttt)>=tf001){document.forms.prec.ptot.value=0.001;document.forms.prec.evtot.value="Excellent";}

}

if(trials==96){

if(Math.abs(ttg)<tf05){document.forms.prec.pgreen.value="ns";document.forms.prec.evgreen.value="None";}
if(Math.abs(ttg)>=tf05){document.forms.prec.pgreen.value=0.05;document.forms.prec.evgreen.value="Fair";}
if(Math.abs(ttg)>=tf01){document.forms.prec.pgreen.value=0.01;document.forms.prec.evgreen.value="Good";}
if(Math.abs(ttg)>=tf001){document.forms.prec.pgreen.value=0.001;document.forms.prec.evgreen.value="Excellent";}

if(Math.abs(ttr)<tf05){document.forms.prec.pred.value="ns";document.forms.prec.evred.value="None";}
if(Math.abs(ttr)>=tf05){document.forms.prec.pred.value=0.05;document.forms.prec.evred.value="Fair";}
if(Math.abs(ttr)>=tf01){document.forms.prec.pred.value=0.01;document.forms.prec.evred.value="Good";}
if(Math.abs(ttr)>=tf001){document.forms.prec.pred.value=0.001;document.forms.prec.evred.value="Excellent";}

if(Math.abs(ttt)<tg05){document.forms.prec.ptot.value="ns";document.forms.prec.evtot.value="None";}
if(Math.abs(ttt)>=tg05){document.forms.prec.ptot.value=0.05;document.forms.prec.evtot.value="Fair";}
if(Math.abs(ttt)>=tg01){document.forms.prec.ptot.value=0.01;document.forms.prec.evtot.value="Good";}
if(Math.abs(ttt)>=tg001){document.forms.prec.ptot.value=0.001;document.forms.prec.evtot.value="Excellent";}

}
}

function setlabels(){
document.forms.prec.Finres.value="Final Results - Reaction Times to Color Patches (sec)";
document.forms.prec.Wdsam.value="Word Same";
document.forms.prec.Wddif.value="Word Different";
document.forms.prec.Statan.value="Statistical Analysis";
document.forms.prec.Evfor.value="Evidence for";
document.forms.prec.Evfor1.value="Precognition";
document.forms.prec.Collab.value="Color";
document.forms.prec.Grlab.style.backgroundColor="#00FF00";
document.forms.prec.Rdlab.style.backgroundColor="red";
document.forms.prec.Totlab.value="Total";

document.forms.prec.Nlab1.value="N";
document.forms.prec.Nlab2.value="N";
document.forms.prec.Mlab1.value="M";
document.forms.prec.Mlab2.value="M";
document.forms.prec.SDlab1.value="SD";
document.forms.prec.SDlab2.value="SD";
document.forms.prec.Tlab.value="t";
document.forms.prec.DFlab.value="df";
document.forms.prec.Plab.value="p";

}

function display(){
setlabels();
meangs=gtimeyes/gtryes;
meanrs=rtimeyes/rtryes;
meants=(meangs+meanrs)/2;
meangd=gtimeno/gtrno;
meanrd=rtimeno/rtrno;
meantd=(meangd+meanrd)/2;
calcsd();
calct();
calcp();
document.forms.prec.trialn.value="";
document.forms.prec.ngs.value=gtryes;
document.forms.prec.mgs.value=meangs.toFixed(3);
document.forms.prec.sgs.value=sdevgs.toFixed(3);
document.forms.prec.nrs.value=rtryes;
document.forms.prec.mrs.value=meanrs.toFixed(3);
document.forms.prec.srs.value=sdevrs.toFixed(3);
document.forms.prec.nts.value=gtryes+rtryes;
document.forms.prec.mts.value=meants.toFixed(3);
document.forms.prec.sts.value=sdevts.toFixed(3);
document.forms.prec.ngd.value=gtrno;
document.forms.prec.mgd.value=meangd.toFixed(3);
document.forms.prec.sgd.value=sdevgd.toFixed(3);
document.forms.prec.nrd.value=rtrno;
document.forms.prec.mrd.value=meanrd.toFixed(3);
document.forms.prec.srd.value=sdevrd.toFixed(3);
document.forms.prec.ntd.value=gtrno+rtrno;
document.forms.prec.mtd.value=meantd.toFixed(3);
document.forms.prec.std.value=sdevtd.toFixed(3);
document.forms.prec.tgreen.value=ttg.toFixed(3);
document.forms.prec.tred.value=ttr.toFixed(3);
document.forms.prec.ttot.value=ttt.toFixed(3);
document.forms.prec.dfgreen.value=(trials*2)-2;
document.forms.prec.dfred.value=(trials*2)-2;
document.forms.prec.dftot.value=(trials*4)-2;
window.document.forms.prec.scren.src=resshow.src;
}

function gaddyes(){
gtimeyes=gtimeyes+lapsed;
gmatch[gtryes]=lapsed;
gtryes++;
}

function gaddno(){
gtimeno=gtimeno+lapsed;
gnmatch[gtrno]=lapsed;
gtrno++;
}

function raddyes(){
rtimeyes=rtimeyes+lapsed;
rmatch[rtryes]=lapsed;
rtryes++;
}

function raddno(){
rtimeno=rtimeno+lapsed;
rnmatch[rtrno]=lapsed;
rtrno++;
}

function time1(){
objDate1 = new Date();
}

function time2(){
objDate2 = new Date();
lapsed =((objDate2-objDate1))/1000;
}

function KeyCheck(e)
{
var KeyID = (window.event) ? event.keyCode : e.keyCode;

document.forms.prec.elements[5].focus();

   switch(KeyID)
   {
      case 37:
      //left
      gc=1;rc=0;dc=0;
      clicked();
      break;

      case 39:
      //right
      rc=1;gc=0;dc=0;
      clicked();
      break;
      
      case 32:
      //spacebar
      dc=1;gc=0;rc=0;
      clicked();
      break;
   }
}