////////////////declare some globals
var maintest=new Array();
var maintestlgth=maintest.length;
var maintestnum=0;
var metnum=1;
var layer8 ='';
var success=0;
var bonusnum=0;
var bonusletter='';
var bonusletter1='';
var bonusletter2='';
var bonusletterlgth='';
var sixletterlgth1=sixletter1.length;
var sixletterlgth2=sixletter2.length;
var fiveletterlgth=fiveletter.length;
var fourletterlgth=fourletter.length;
var Distri=new Array();
var Distrilgth=Distri.length;
var mainword="";
var mainwordlgth=mainword.length;
var wordlstlgth=words.length;
var Mixit="";
var allthere="false";
var timed="false";
var Distrinum=0;
var Foundarry=new Array();
var trackBonus=0;
var trackfound=0;
var fullarry=new Array();
/////////////this is the progress bar
function metbar(){
   if(metnum==1){
      var layermatstart = document.getElementById("met6");
      layermatstart.className="bar3";
   }
   var mettab="met"+metnum
   var layermat = document.getElementById(mettab);
   layermat.className="bar1";
   metnum++;
   return;
}
function methide(){
   for (i=1; i<=6; i++){
      var mettab="met"+i;
      var layermatend = document.getElementById(mettab);
      layermatend.className="bar2";
   }
   return;
}
///////////////////discourage cheating
var omitformtags=["input", "textarea", "select"]
omitformtags=omitformtags.join("|")
function disableselect(e){
   if (omitformtags.indexOf(e.target.tagName.toLowerCase())==-1)
      return false
}
function reEnable(){
   return true
}
if (typeof document.onselectstart!="undefined")
   document.onselectstart=new Function ("return false")
else{
   document.onmousedown=disableselect
   document.onmouseup=reEnable
}

function supply2(){/////////////the main code call
   metbar();
   setTimeout("main()",1);
}

function supply(){
   changegamegen();
   setTimeout("supply2()",1);
}
/////////////////////////
function mainreload(){
   
   document.location.reload()
   document.sw.beg1.value="0:00";
   document.sw.disp1.value="";
}

function randseven(){
   /////////////find a random seven letter word
   var kj=""
   var kjt=""
   var tabg=""
   var d=new Date()
   var ran=(d.getSeconds())
    if(ran==0){
     ran=1;
      }
   var rans=ran.toString()
   var lgthnumran=rans.charAt(0)
   var dm=new Date()
   var ranm=(dm.getMinutes())
    if(ranm==0){
     ranm=1;
      }
   var ranph=ran*ranm
   if(ran>=45){
   var numarry=new Array("1","2","3","4","5","6","7","8","9","0")
    }
else
   if(ran>=30&&ran<45){
   var numarry=new Array("9","8","7","6","5","4","3","2","1","0")
    }
else
   if(ran>=15&&ran<30){
   var numarry=new Array("7","9","5","2","0","4","1","3","8","6")
    }
else
   if(ran<=15){
   var numarry=new Array("2","1","4","3","6","5","8","7","0","9")
    }
   var numarrylgth=numarry.length
   var tempnumarry=numarry
   var tempnumarrylgth=tempnumarry.length
   ///first we determine if location in array will be 4,3,or 2 digit number at random using ran as random seed
   if(lgthnumran=="9"){kjt="4";}
   else
   if(lgthnumran=="8"){kjt="4";}
   else
   if(lgthnumran=="7"){kjt="2";}
   else
   if(lgthnumran=="6"){kjt="3";}
   else
   if(lgthnumran=="5"){kjt="4";}
   else
   if(lgthnumran=="6"){kjt="3";}
   else
   if(lgthnumran=="1"){kjt="4";}
   else{
      kjt=lgthnumran;/////////this is our limit on number of digits
   }

   var reachran=ranph

   for(i=0; i<=9; i++){ ////////////take the digits randomly from our number array
      for (ex=0; ex<=reachran; ex++){
         tempnuma=tempnumarry[lgthnumran]
         tempnumarry[lgthnumran]=tempnumarry[i]
         lgthnumran=tempnumarry[lgthnumran]
         tempnumarry[i]=tempnuma
      }
      kj=kj+tempnumarry[i]///////build our number
      var kjlgth=kj.length
      if(kjlgth==kjt){      //////we check if number eq our limit
         if(kj.charAt(0)=="0"){kj=kj.substring(1,kjlgth)}/////if begins with zero take it out
            break;
      }
   }
   mainword=sevenletter[kj];//////this is the location of our random sevenletter word in array
}
function main(){
   randseven()////get random sevenletter word
   var matchnum="";
   Mixit=mainword
   /////////////////////////////////build our array of words based on letters in random word
   Distrilgth=Distri.length
   if(Distrilgth<14){
      for(iv=fourletterlgth-1; iv>=0; iv--){
         var tempmainword=mainword;
         var tempmainwordlgth=tempmainword.length;
         var wordcomp=fourletter[iv];
         var wordcomplgth=wordcomp.length;
         matchnum=0;
         /////check each letter in wordcomp and get four matches
         for(jx=wordcomplgth-1; jx>=0; jx--){
            u=wordcomp.charAt(jx);
            /////we check the letter in wordcomp and if a match take that letter from mainword
            for(lx=tempmainwordlgth-1; lx>=0; lx--){
               if(u==tempmainword.charAt(lx)){
                  Ftempmainword=tempmainword.substring(0, lx)
                  Stempmainword=tempmainword.substring(lx+1, tempmainwordlgth)
                  tempmainword=Ftempmainword+Stempmainword
                  tempmainwordlgth=tempmainword.length;
                  matchnum++;
                  break;
               }
               
            } ///end search for letter in mainword lx
            if(jx<4&&matchnum<1){
               break;
            }
            if(jx<3&&matchnum<2){
               break;
            }
            if(jx<2&&matchnum<3){
               break;
            }
            if(matchnum==4){
               Distri[Distrinum]=wordcomp
               Distrilgth=Distri.length
               Distrinum++
               break;
            }
         } ///end search each letter in wordcomp jx we only need 14
         if(Distrilgth>=14){
            break;
         }
      }////end going thru 4 letter array iv
      
   }
   metbar();
   setTimeout("main2()",1);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
function main2(){
   Distrilgth=Distri.length
   if(Distrilgth<14){
      for(iv=fiveletterlgth-1; iv>=0; iv--){
         var tempmainword=mainword;
         var tempmainwordlgth=tempmainword.length;
         var wordcomp=fiveletter[iv];
         var wordcomplgth=wordcomp.length;
         matchnum=0;
         /////check each letter in wordcomp and get five matches
         for(jx=wordcomplgth-1; jx>=0; jx--){
            u=wordcomp.charAt(jx);
            /////we check the letter in wordcomp and if a match take that letter from mainword
            for(lx=tempmainwordlgth-1; lx>=0; lx--){
               if(u==tempmainword.charAt(lx)){
                  Ftempmainword=tempmainword.substring(0, lx)
                  Stempmainword=tempmainword.substring(lx+1, tempmainwordlgth)
                  tempmainword=Ftempmainword+Stempmainword
                  tempmainwordlgth=tempmainword.length;
                  matchnum++;
                  break;
               }
               
            } ///end search for letter in mainword lx
            if(jx<5&&matchnum<1){
               break;
            }
            if(jx<4&&matchnum<2){
               break;
            }
            if(jx<3&&matchnum<3){
               break;
            }
            if(jx<2&&matchnum<4){
               break;
            }
            if(matchnum==5){
               Distri[Distrinum]=wordcomp
               Distrilgth=Distri.length
               Distrinum++
               break;
            }
         } ///end search each letter in wordcomp jx
         if(Distrilgth>=14){
            break;
         }
      }////end going thru 5 letter array iv
     }
   metbar();
   setTimeout("main3()",1);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
function main3(){
   Distrilgth=Distri.length
   if(Distrilgth<14){
      for(iv=sixletterlgth1-1; iv>=0; iv--){
         var tempmainword=mainword;
         var tempmainwordlgth=tempmainword.length;
         var wordcomp=sixletter1[iv];
         var wordcomplgth=wordcomp.length;
         matchnum=0;
         /////check each letter in wordcomp and get 6 matches- we have 2 sixletter arrays
         for(jx=wordcomplgth-1; jx>=0; jx--){
            u=wordcomp.charAt(jx);
            /////we check the letter in wordcomp and if a match take that letter from mainword
            for(lx=tempmainwordlgth-1; lx>=0; lx--){
               if(u==tempmainword.charAt(lx)){
                  Ftempmainword=tempmainword.substring(0, lx)
                  Stempmainword=tempmainword.substring(lx+1, tempmainwordlgth)
                  tempmainword=Ftempmainword+Stempmainword
                  tempmainwordlgth=tempmainword.length;
                  matchnum++;
                  break;
               }
            } ///end search for letter in mainword lx
            if(jx<6&&matchnum<1){
               break;
            }
            if(jx<5&&matchnum<2){
               break;
            }
            if(jx<4&&matchnum<3){
               break;
            }
            if(jx<3&&matchnum<4){
               break;
            }
            if(jx<2&&matchnum<5){
               break;
            }
            if(matchnum==6){
               Distri[Distrinum]=wordcomp
               Distrilgth=Distri.length
               Distrinum++
               break;
            }
         } ///end search each letter in wordcomp jx
         if(Distrilgth>=14){
            break;
         }
      }////end going thru 6 letter array iv
      
   }
   metbar();
   setTimeout("main4()",1);
}
///////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
function main4(){
   Distrilgth=Distri.length
   if(Distrilgth<14){
      for(iv=sixletterlgth2-1; iv>=0; iv--){
         var tempmainword=mainword;
         var tempmainwordlgth=tempmainword.length;
         var wordcomp=sixletter2[iv];
         var wordcomplgth=wordcomp.length;
         matchnum=0;
         /////check each letter in wordcomp and get 6 matches- we have 2 sixletter arrays
         for(jx=wordcomplgth-1; jx>=0; jx--){
            u=wordcomp.charAt(jx);
            /////we check the letter in wordcomp and if a match take that letter from mainword
            for(lx=tempmainwordlgth-1; lx>=0; lx--){
               if(u==tempmainword.charAt(lx)){
                  Ftempmainword=tempmainword.substring(0, lx)
                  Stempmainword=tempmainword.substring(lx+1, tempmainwordlgth)
                  tempmainword=Ftempmainword+Stempmainword
                  tempmainwordlgth=tempmainword.length;
                  matchnum++;
                  break;
               }
            } ///end search for letter in mainword lx
            if(jx<6&&matchnum<1){
               break;
            }
            if(jx<5&&matchnum<2){
               break;
            }
            if(jx<4&&matchnum<3){
               break;
            }
            if(jx<3&&matchnum<4){
               break;
            }
            if(jx<2&&matchnum<5){
               break;
            }
            if(matchnum==6){
               Distri[Distrinum]=wordcomp
               Distrilgth=Distri.length
               Distrinum++
               break;
            }
         } ///end search each letter in wordcomp jx
         if(Distrilgth>=14){
            break;
         }
      }////end going thru 2nd 6 letter array iv
      
   }
   metbar();
   setTimeout("main5()",1);
}
////////////////////////////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////
function main5(){
   Distri[Distrinum]=mainword;
   Distrilgth=Distri.length;
   Distrinum++
   Distrilgth=Distri.length;
   fullarry=Distri;
   var layer5 = document.getElementById("maincore");
   var layer6 = document.getElementById("secondcore");
   var layer7 = document.getElementById("thirdcore");
   var layer9 = document.getElementById("fithcore");
   var layout="";
   var layout2="";
   var layout3="";
   var layout4="";
   var layout5="";
   tab=0;
   tube="lol";
   for (i=0; i<=Distrilgth-1; i++){  ////////we take the words in array and display blocks
      var innerlayout="";
      var Divw=Distri[i]
      var Divlgth=Divw.length
      for (tx=0; tx<=Divlgth-1; tx++){
         innerlayout=innerlayout+'<div id="'+Distri[i]+Divw.charAt(tx)+tx+'" class="spread">'+Divw.charAt(tx)+'</div>'
      }
      tab++
      if(tab>60){
         layout5=layout5+innerlayout+'</div><br/><br/>'
      }
      if(tab>45){
         layout4=layout4+innerlayout+'</div><br/><br/>'
      }
      else
      if(tab>30){
         layout3=layout3+'<div id="'+Distri[i]+'" class="spread2">'+innerlayout+'</div><br/><br/>'
      }
      else
      if(tab>15){
         layout2=layout2+'<div id="'+Distri[i]+'" class="spread2">'+innerlayout+'</div><br/><br/>'
      }
      else{
         layout=layout+'<div id="'+Distri[i]+'" class="spread2">'+innerlayout+'</div><br/><br/>'
      }
   }
   var CHa15=layout5;
   var CHa14=layout4;
   var CHa13=layout3;
   var CHa12=layout2;
   var CHa1=layout;
   layer5.innerHTML = CHa1;
   layer6.innerHTML = CHa12;
   layer7.innerHTML = CHa13;
   shakeit()
   document.inp.inp4.value="";
   document.inp.inp4.focus();
   var timervalSet=0;
   var clocTab=0;
   var timerVal="";
   for(iz=0; iz<=Distrilgth-1; iz++){
      timervalSet=timervalSet+20;
      if(timervalSet==60){
         timervalSet=0;
         clocTab=clocTab+1;
      }
      
   }
   if(timed=="true"){//////////if timed display clock
      if(timervalSet=="0"){
         timervalSet="00";
      }
      timerVal=clocTab+":"+timervalSet;
      document.sw.beg1.value=timerVal;
      Up();
   }
   changegamegen2();
}
function shakeit(){
   ///////////////////sceambles our word
 if(Distrilgth>1){
   var layer10 = document.getElementById("wordmain");
   for(ie=Distrilgth*20; ie>=0; ie--){
      Ta=Mixit.charAt(6)
      Tb=Mixit.charAt(3)
      Tc=Mixit.charAt(1)
      Td=Mixit.charAt(4)
      Te=Mixit.charAt(0)
      Tf=Mixit.charAt(2)
      Tg=Mixit.charAt(5)
      Mixit=Ta+Tg+Tb+Te+Tc+Tf+Td
      if(Mixit==mainword){
         ie++
      }
   }
   document.inp.inp4.value="";
   document.inp.inp4.focus();
   layer10.innerHTML =Mixit;
   return;
 }
}
function wordsub(){     /////////////////search for word
   var tempmainword=mainword;
   var tempmainwordlgth=tempmainword.length;
   var foundit="false";
   var wordsubmit=document.inp.inp4.value;
   var wordsubmitlgth=wordsubmit.length;
   var matchnum=0;
   for(jx=wordsubmitlgth-1; jx>=0; jx--){ /////////is each letter in submitted word
      u=wordsubmit.charAt(jx);
      for(lx=tempmainwordlgth-1; lx>=0; lx--){
         if(u==tempmainword.charAt(lx)){
            Ftempmainword=tempmainword.substring(0, lx)
            Stempmainword=tempmainword.substring(lx+1, tempmainwordlgth)
            tempmainword=Ftempmainword+Stempmainword
            tempmainwordlgth=tempmainword.length;
            matchnum++;
            break;
         }
      } ///end search for letter in submitted word      
   } ///end search for all letters
   if(matchnum==wordsubmitlgth){ ///////if all letters are there we keep going
      allthere="true";
      matchnum=0;
      var dupli="false";
     for(i=0; i<=trackfound; i++){
         if (Foundarry[i]==wordsubmit){ 
          dupli="true";
         }

          }
      for (i=0; i<=Distrilgth-1; i++){ ////check to see if word in in our array
         if (Distri[i]==wordsubmit){ 
             Foundarry[i]=wordsubmit
             foundit="true"
             trackfound++
         }
      }
   }
   else{ /////////////else we skip to end
      allthere="false";
      matchnum=0;
   }
   if(allthere=="false"){ 
      document.inp.inp4.value="";
      document.inp.inp4.focus();
      foundit="false"
   }
   
   if(foundit=="true"&&dupli=="false"){ /////////if word is in array we show it
      var selectlayercolor=document.getElementById(wordsubmit)
         selectlayercolor.className="spread3"
         success++
      document.inp.inp4.value="";
      document.inp.inp4.focus();
      foundit="false"
   }
   else
   if(allthere=="true"&&trackBonus<26&&dupli=="false"){///////if not in array is it in our master list for bonus word
      layer8 = document.getElementById("fourthcore");
      for (i=0; i<=wordlstlgth-1; i++){
         if(wordsubmit==words[i]){
            bonusletter=bonusletter+words[i]+'<br/>'
            bonusnum++
            layer8.innerHTML ='BONUS WORDS<br/>'+ bonusletter;
            delete words[i]
      trackBonus++  
         }
         allthere="false"
      }
      document.inp.inp4.value="";
      document.inp.inp4.focus();

   }

   if(trackBonus>25){
            layer8.innerHTML ='BONUS WORDS<br/>'+ bonusletter+'<br/>Max Bonus Words Reached';
     }
   if(success==Distrilgth){////////if all words in array are found we end
      bonusnum=bonusnum*10
      var timedBonus="";
      if(timed=="true"){
         success=success*10
         timedBonus=success*5;
      }
      else
      {
         success=success*5
      }
      
      var total = bonusnum+success+timedBonus
      var layersuccess = document.getElementById("maingo");
      layersuccess.innerHTML ='<center>Congradulations<br/>Your total score is:<br/>'+ total+'<br/>Word Completion score is '+success+'<br/>Bonus Score is '+bonusnum+'<br/>Timed Bonus is<br/>'+timedBonus+'<br/><div id="winimage"><img border="0" src="winner.gif" height="150" width="150" /></div></center>';
      success=0;
      bonusnum=0;
   }
   document.inp.inp4.value="";
   document.inp.inp4.focus();
   dupli="false"
   return;
}


function showall(){//////////////displays all words in array
   for(i=0; i<=Distrilgth-1; i++){
      var showMe=Distri[i];
      var selectlayercolor=document.getElementById(showMe)
      selectlayercolor.className="spread3"
   }
   return;
}
function clearOut(){
   var layer111 = document.getElementById("middletxt");
   layer111.innerHTML="";
   return;
}
function declaT(){
   timed="true";
   return;
}
function changegamegen() {
   
   var layer112 = document.getElementById("gamegen")
   layer112.innerHTML="Loading"
   
   return;
}
function changegamegen2(){
   var layer112 = document.getElementById("gamegen");
   layer112.innerHTML="Reload Words";
   methide();
   return;
}